@kodaris/krubble-app-components 1.0.13 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/krubble-app.bundled.js +69 -15
- package/dist/krubble-app.bundled.js.map +1 -1
- package/dist/krubble-app.bundled.min.js +35 -41
- package/dist/krubble-app.bundled.min.js.map +1 -1
- package/dist/krubble-app.umd.js +69 -15
- package/dist/krubble-app.umd.js.map +1 -1
- package/dist/krubble-app.umd.min.js +38 -44
- package/dist/krubble-app.umd.min.js.map +1 -1
- package/dist/scaffold.d.ts +16 -0
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +40 -14
- package/dist/scaffold.js.map +1 -1
- package/dist/subbar.d.ts +15 -0
- package/dist/subbar.d.ts.map +1 -1
- package/dist/subbar.js +29 -1
- package/dist/subbar.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"krubble-app.bundled.js","sources":["../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-element/lit-element.js","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/state.js","../../../node_modules/lit-html/directive.js","../../../node_modules/lit-html/directives/class-map.js","../../../node_modules/lit-html/directives/unsafe-html.js","shell.js","scaffold/nav-item-edit.js","scaffold.js","screen-nav.js","screen-detail.js","subbar.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{notEqual as t,defaultConverter as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:e,reflect:!1,hasChanged:t},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,!0,r)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,!0,r)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter(s=>t[s]).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter(t=>\"\"!==t)));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{directive as r,Directive as s,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends s{constructor(i){if(super(i),this.it=t,i.type!==n.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=r(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\n/**\n * Global shell component with app bar for app switching.\n *\n * The shell provides a horizontal app bar across the top of the viewport containing:\n * - Logo/home link on the left\n * - App switcher icons in the middle\n * - User avatar/menu on the right\n *\n * This allows individual apps (using kr-scaffold) to utilize the full width\n * of the browser window while maintaining consistent global navigation.\n *\n * @slot - The main content (typically kr-scaffold with the app)\n *\n * @property {string} logo - URL for the logo image\n * @property {KRApp[]} apps - Available applications for the switcher\n * @property {string} activeAppId - ID of the currently active app\n * @property {KRShellUser} user - User profile data\n * @property {KRShellMenuItem[]} menuItems - Custom menu items for user menu\n *\n * @fires app-click - When an app icon is clicked. Detail: { app: KRApp }\n * @fires menu-item-click - When a menu item is clicked. Detail: { item: KRShellMenuItem }\n * @fires logout - When logout is clicked\n */\nlet KRShell = class KRShell extends LitElement {\n constructor() {\n super(...arguments);\n this.logo = 'https://s3.amazonaws.com/kodariscom/kodariscom/content/website/kodaris-logo-icon-light-53.png';\n this.apps = [];\n this.activeAppId = '';\n this.user = null;\n this.menuItems = [];\n this.isUserMenuOpen = false;\n this.isAppsMenuOpen = false;\n this.pendingRequests = 0;\n this.originalFetch = null;\n this.originalXhrOpen = null;\n // Default icons\n this.defaultLogoutIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17 7l-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5zM4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4V5z\"/></svg>';\n this.appsGridIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"/></svg>';\n this.closeIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>';\n }\n connectedCallback() {\n super.connectedCallback();\n this.installFetchInterceptor();\n // Hide the default Chatlio close button (we use our own custom button)\n if (!document.getElementById('chatlio-widget-styles')) {\n const style = document.createElement('style');\n style.id = 'chatlio-widget-styles';\n style.textContent = `\n .chatlio-title-bar {\n display: none !important;\n }\n \n .chatlio-widget-body {\n bottom: 36px !important;\n }\n `;\n document.head.appendChild(style);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.uninstallFetchInterceptor();\n }\n /**\n * Installs global interceptors for fetch and XMLHttpRequest to track pending HTTP requests.\n * Updates `pendingRequests` state when requests start/complete.\n */\n installFetchInterceptor() {\n if (this.originalFetch)\n return;\n const shell = this;\n // Intercept fetch\n this.originalFetch = window.fetch.bind(window);\n const originalFetch = this.originalFetch;\n window.fetch = function (...args) {\n shell.pendingRequests++;\n return originalFetch(...args).finally(() => {\n shell.pendingRequests--;\n });\n };\n // Intercept XMLHttpRequest\n this.originalXhrOpen = XMLHttpRequest.prototype.open;\n const originalXhrOpen = this.originalXhrOpen;\n XMLHttpRequest.prototype.open = function (method, url, async = true, username, password) {\n shell.pendingRequests++;\n this.addEventListener('loadend', () => {\n shell.pendingRequests--;\n }, { once: true });\n return originalXhrOpen.call(this, method, url, async, username, password);\n };\n }\n /**\n * Restores the original fetch and XMLHttpRequest functions.\n */\n uninstallFetchInterceptor() {\n if (this.originalFetch) {\n window.fetch = this.originalFetch;\n this.originalFetch = null;\n }\n if (this.originalXhrOpen) {\n XMLHttpRequest.prototype.open = this.originalXhrOpen;\n this.originalXhrOpen = null;\n }\n }\n handleLogoClick() {\n this.dispatchEvent(new CustomEvent('logo-click', {\n bubbles: true,\n composed: true,\n }));\n }\n toggleUserMenu() {\n this.isUserMenuOpen = !this.isUserMenuOpen;\n this.isAppsMenuOpen = false;\n }\n closeUserMenu() {\n this.isUserMenuOpen = false;\n }\n toggleAppsMenu() {\n this.isAppsMenuOpen = !this.isAppsMenuOpen;\n this.isUserMenuOpen = false;\n }\n closeAppsMenu() {\n this.isAppsMenuOpen = false;\n }\n handleMenuItemClick(item) {\n this.closeUserMenu();\n this.dispatchEvent(new CustomEvent('menu-item-click', {\n detail: { item },\n bubbles: true,\n composed: true,\n }));\n }\n handleLogout() {\n this.closeUserMenu();\n this.dispatchEvent(new CustomEvent('logout', {\n bubbles: true,\n composed: true,\n }));\n }\n handleChatClick() {\n // Toggle Chatlio widget\n if (typeof window._chatlio !== 'undefined') {\n window._chatlio.showOrHide();\n }\n }\n renderAppsMenu() {\n return html `\n <div class=\"appbar-apps\">\n ${this.isAppsMenuOpen ? html `\n <div class=\"menu-backdrop\" @click=${this.closeAppsMenu}></div>\n ` : nothing}\n\n <button\n class=${classMap({\n 'appbar-apps-btn': true,\n 'appbar-apps-btn--open': this.isAppsMenuOpen,\n })}\n @click=${this.toggleAppsMenu}\n >\n <span class=\"appbar-apps-btn__icon\">${unsafeHTML(this.appsGridIcon)}</span>\n </button>\n\n <div class=${classMap({\n 'appbar-apps-menu': true,\n 'appbar-apps-menu--open': this.isAppsMenuOpen,\n })}>\n <div class=\"appbar-apps-menu__header\">\n <h2 class=\"appbar-apps-menu__title\">Applications</h2>\n <button class=\"appbar-apps-menu__close\" @click=${this.closeAppsMenu}>\n ${unsafeHTML(this.closeIcon)}\n </button>\n </div>\n <div class=\"appbar-apps-menu__content\">\n <div class=\"appbar-apps-menu__list\">\n ${this.apps.map((app) => html `\n <a\n class=\"appbar-apps-menu__item\"\n href=${app.url}\n @click=${(e) => {\n this.closeAppsMenu();\n const event = new CustomEvent('app-click', {\n detail: { app },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(event);\n if (event.defaultPrevented) {\n e.preventDefault();\n }\n }}\n >\n ${app.name}\n </a>\n `)}\n </div>\n </div>\n </div>\n </div>\n `;\n }\n renderUserMenu() {\n if (!this.user)\n return nothing;\n const initials = this.user.name\n .split(' ')\n .map((part) => part[0])\n .join('')\n .toUpperCase()\n .slice(0, 2);\n return html `\n <div class=\"appbar-user\">\n ${this.isUserMenuOpen ? html `\n <div class=\"menu-backdrop\" @click=${this.closeUserMenu}></div>\n ` : nothing}\n\n <div\n class=\"appbar-user__avatar\"\n @click=${this.toggleUserMenu}\n >\n ${this.user.avatar\n ? html `<img src=${this.user.avatar} alt=${this.user.name} />`\n : initials}\n </div>\n\n <div class=${classMap({\n 'appbar-user__menu': true,\n 'appbar-user__menu--open': this.isUserMenuOpen,\n })}>\n <div class=\"appbar-user__header\">\n <p class=\"appbar-user__name\">${this.user.name}</p>\n ${this.user.email ? html `\n <p class=\"appbar-user__email\">${this.user.email}</p>\n ` : nothing}\n </div>\n\n ${this.menuItems.map((item) => item.divider\n ? html `<div class=\"appbar-user__menu-divider\"></div>`\n : html `\n <button\n class=\"appbar-user__menu-item\"\n @click=${() => this.handleMenuItemClick(item)}\n >\n ${item.icon ? html `\n <span class=\"appbar-user__menu-item__icon\">${unsafeHTML(item.icon)}</span>\n ` : nothing}\n ${item.label}\n </button>\n `)}\n\n ${this.menuItems.length > 0 ? html `\n <div class=\"appbar-user__menu-divider\"></div>\n ` : nothing}\n\n <button\n class=\"appbar-user__menu-item appbar-user__menu-item--danger\"\n @click=${this.handleLogout}\n >\n <span class=\"appbar-user__menu-item__icon\">${unsafeHTML(this.defaultLogoutIcon)}</span>\n Sign Out\n </button>\n </div>\n </div>\n `;\n }\n render() {\n return html `\n <div class=${classMap({\n 'progress': true,\n 'progress--loading': this.pendingRequests > 0,\n })}>\n <div class=\"progress__track\"></div>\n <div class=\"progress__bar progress__bar--primary\">\n <span class=\"progress__bar-inner\"></span>\n </div>\n <div class=\"progress__bar progress__bar--secondary\">\n <span class=\"progress__bar-inner\"></span>\n </div>\n </div>\n\n <header class=\"appbar\">\n <!-- Logo -->\n ${this.logo ? html `\n <div class=\"appbar-logo\" @click=${this.handleLogoClick}>\n <img src=${this.logo} alt=\"Home\" />\n </div>\n <div class=\"appbar-divider\"></div>\n ` : nothing}\n\n <!-- App Switcher -->\n ${this.renderAppsMenu()}\n\n <div class=\"appbar-spacer\"></div>\n\n <!-- User -->\n ${this.renderUserMenu()}\n </header>\n\n<!-- <div class=\"subbar\">-->\n<!-- <nav class=\"breadcrumbs\">-->\n<!-- <a href=\"#\">Home</a>-->\n<!-- <span class=\"breadcrumbs__separator\">/</span>-->\n<!-- <a href=\"#\">Companies</a>-->\n<!-- <span class=\"breadcrumbs__separator\">/</span>-->\n<!-- <span>Acme Corp</span>-->\n<!-- </nav>-->\n<!-- </div>-->\n\n <main class=\"main\">\n <slot></slot>\n </main>\n \n <footer class=\"footer\">\n <div class=\"footer-content\">\n <div class=\"footer-info\">\n <span>© ${new Date().getFullYear()} Kodaris. All Rights Reserved.</span>\n </div>\n <a class=\"footer-link\" target=\"_blank\" href=\"https://www.kodaris.com/content/privacy-policy\">Privacy</a>\n <a class=\"footer-link\" target=\"_blank\" href=\"https://www.kodaris.com/content/terms-use\">Terms</a>\n <button class=\"footer-chat\" data-chatlio-widget-button @click=${this.handleChatClick}>\n <span class=\"footer-chat__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-messages-square-icon lucide-messages-square\">\n <path d=\"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"/><path d=\"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1\"/>\n </svg>\n </span>\n Chat with us\n </button>\n </div>\n </footer>\n `;\n }\n};\nKRShell.styles = css `\n :host {\n display: flex;\n flex-direction: column;\n height: 100vh;\n width: 100vw;\n --kr-shell-bar-height: 48px;\n --kr-shell-bar-bg: #10172a; /* matches scaffold nav-bg */\n /* --kr-shell-bar-bg: #0a0f1a; */ /* original darker bg */\n --kr-shell-bar-border: rgba(255, 255, 255, 0.08);\n --kr-shell-icon-size: 36px;\n --kr-shell-icon-color: rgba(255, 255, 255, 0.7);\n --kr-shell-icon-color-hover: rgba(255, 255, 255, 1);\n --kr-shell-icon-color-active: #beea4e;\n --kr-shell-icon-bg-hover: rgba(255, 255, 255, 0.08);\n --kr-shell-icon-bg-active: rgba(190, 234, 78, 0.15);\n --kr-shell-tooltip-bg: #1a2332;\n --kr-shell-tooltip-color: #ffffff;\n --kr-shell-menu-bg: #1a2332;\n --kr-shell-menu-border: rgba(255, 255, 255, 0.1);\n --kr-shell-menu-hover: rgba(255, 255, 255, 0.08);\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n /* App Bar */\n .appbar {\n height: var(--kr-shell-bar-height);\n background: var(--kr-shell-bar-bg);\n border-bottom: 1px solid var(--kr-shell-bar-border);\n display: flex;\n align-items: center;\n padding: 0 16px;\n flex-shrink: 0;\n z-index: 100;\n }\n\n /* Logo */\n .appbar-logo {\n cursor: pointer;\n margin-right: 8px;\n }\n\n .appbar-logo img {\n display: block;\n max-width: 24px;\n max-height: 24px;\n object-fit: contain;\n }\n\n /* Divider */\n .appbar-divider {\n width: 1px;\n height: 24px;\n background: #ffffff4f;\n margin: 0 10px;\n }\n\n /* Apps Button */\n .appbar-apps {\n position: relative;\n }\n\n .appbar-apps-btn {\n width: var(--kr-shell-icon-size);\n height: var(--kr-shell-icon-size);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n cursor: pointer;\n color: var(--kr-shell-icon-color);\n background: transparent;\n border: none;\n padding: 0;\n transition: all 0.15s ease;\n }\n\n .appbar-apps-btn:hover {\n color: var(--kr-shell-icon-color-hover);\n background: var(--kr-shell-icon-bg-hover);\n }\n\n .appbar-apps-btn--open {\n color: var(--kr-shell-icon-color-hover);\n background: var(--kr-shell-icon-bg-hover);\n }\n\n .appbar-apps-btn__icon {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n }\n\n .appbar-apps-btn__icon svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n\n /* Apps Megamenu */\n .appbar-apps-menu {\n position: absolute;\n left: 0;\n top: 100%;\n margin-top: 6px;\n min-width: 320px;\n min-height: 90vh;\n max-height: calc(100vh - var(--kr-shell-bar-height));\n background: #10172a;\n border: 1px solid var(--kr-shell-menu-border);\n border-top: none;\n border-radius: 0 0 8px 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);\n z-index: 1000;\n opacity: 0;\n visibility: hidden;\n transform: translateY(-10px);\n transition: all 0.15s ease;\n overflow-y: auto;\n }\n\n .appbar-apps-menu--open {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n }\n\n .appbar-apps-menu__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 16px 16px 24px;\n border-bottom: 1px solid var(--kr-shell-menu-border);\n }\n\n .appbar-apps-menu__title {\n font-size: 16px;\n font-weight: 500;\n color: #ffffff;\n margin: 0;\n }\n\n .appbar-apps-menu__close {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n color: rgba(255, 255, 255, 0.6);\n cursor: pointer;\n border-radius: 6px;\n transition: all 0.15s ease;\n }\n\n .appbar-apps-menu__close:hover {\n background: var(--kr-shell-menu-hover);\n color: #ffffff;\n }\n\n .appbar-apps-menu__close svg {\n width: 24px;\n height: 24px;\n fill: #ffffff;\n }\n\n .appbar-apps-menu__content {\n padding: 16px 8px;\n }\n\n .appbar-apps-menu__list {\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-width: 320px;\n }\n\n .appbar-apps-menu__item {\n display: block;\n width: 100%;\n padding: 12px 16px;\n background: none;\n border: none;\n color: #ffffff;\n font-size: 14px;\n font-family: inherit;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n border-radius: 6px;\n transition: all 0.15s ease;\n }\n\n .appbar-apps-menu__item:hover {\n background: var(--kr-shell-menu-hover);\n }\n\n .appbar-apps-menu__item--active,\n .appbar-apps-menu__item--active:hover {\n color: var(--kr-shell-icon-color-active);\n }\n\n /* Spacer to push user to the right */\n .appbar-spacer {\n flex: 1;\n }\n\n /* User Section */\n .appbar-user {\n position: relative;\n margin-left: 8px;\n }\n\n .appbar-user__avatar {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: #beea4e;\n color: #0a0f1a;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n font-weight: 600;\n cursor: pointer;\n overflow: hidden;\n border: 2px solid transparent;\n transition: border-color 0.15s ease;\n }\n\n .appbar-user__avatar:hover {\n border-color: rgba(255, 255, 255, 0.3);\n }\n\n .appbar-user__avatar img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n /* User Menu */\n .appbar-user__menu {\n position: absolute;\n right: 0;\n top: calc(100% + 8px);\n min-width: 200px;\n background: var(--kr-shell-menu-bg);\n border: 1px solid var(--kr-shell-menu-border);\n border-radius: 8px;\n padding: 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);\n z-index: 1000;\n opacity: 0;\n visibility: hidden;\n transform: translateY(-8px);\n transition: all 0.15s ease;\n }\n\n .appbar-user__menu--open {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n }\n\n .appbar-user__header {\n padding: 8px 12px 12px;\n border-bottom: 1px solid var(--kr-shell-menu-border);\n margin-bottom: 8px;\n }\n\n .appbar-user__name {\n font-size: 14px;\n font-weight: 600;\n color: #ffffff;\n margin: 0 0 2px;\n }\n\n .appbar-user__email {\n font-size: 12px;\n color: rgba(255, 255, 255, 0.6);\n margin: 0;\n }\n\n .appbar-user__menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 12px;\n background: none;\n border: none;\n color: rgba(255, 255, 255, 0.8);\n font-size: 13px;\n font-family: inherit;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n transition: all 0.15s ease;\n }\n\n .appbar-user__menu-item:hover {\n background: var(--kr-shell-menu-hover);\n color: #ffffff;\n }\n\n .appbar-user__menu-item--danger {\n color: #f87171;\n }\n\n .appbar-user__menu-item--danger:hover {\n background: rgba(248, 113, 113, 0.1);\n color: #f87171;\n }\n\n .appbar-user__menu-item__icon {\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n\n .appbar-user__menu-item__icon svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n\n .appbar-user__menu-divider {\n height: 1px;\n background: var(--kr-shell-menu-border);\n margin: 8px 0;\n }\n\n /* Secondary App Bar */\n .subbar {\n height: 30px;\n background: #364365;\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n display: flex;\n align-items: center;\n padding: 0 16px;\n flex-shrink: 0;\n }\n\n .breadcrumbs {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n color: #ffffff;\n }\n\n .breadcrumbs a {\n color: #ffffff;\n text-decoration: none;\n }\n\n .breadcrumbs a:hover {\n text-decoration: underline;\n }\n\n .breadcrumbs__separator {\n color: #ffffff;\n }\n\n /* Main Content */\n .main {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n position: relative;\n }\n\n /* Click outside overlay */\n .menu-backdrop {\n position: fixed;\n inset: 0;\n z-index: 999;\n }\n\n /* Progress bar */\n .progress {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n overflow-x: hidden;\n z-index: 1000;\n display: none;\n }\n\n .progress--loading {\n display: block;\n }\n\n .progress__track {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 100%;\n background: rgb(190 234 78 / 50%); // rgba(190, 234, 78, 0.3);\n }\n\n .progress__bar {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 100%;\n transform-origin: left center;\n }\n\n .progress__bar-inner {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n background: #beea4e;\n }\n\n .progress__bar--primary {\n left: -145.166611%;\n }\n\n .progress--loading .progress__bar--primary {\n animation: progress-primary-translate 2s infinite linear;\n }\n\n .progress--loading .progress__bar--primary .progress__bar-inner {\n animation: progress-primary-scale 2s infinite linear;\n }\n\n .progress__bar--secondary {\n left: -54.888891%;\n }\n\n .progress--loading .progress__bar--secondary {\n animation: progress-secondary-translate 2s infinite linear;\n }\n\n .progress--loading .progress__bar--secondary .progress__bar-inner {\n animation: progress-secondary-scale 2s infinite linear;\n }\n\n @keyframes progress-primary-translate {\n 0% {\n transform: translateX(0);\n }\n 20% {\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n transform: translateX(0);\n }\n 59.15% {\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n transform: translateX(83.67142%);\n }\n 100% {\n transform: translateX(200.611057%);\n }\n }\n\n @keyframes progress-primary-scale {\n 0% {\n transform: scaleX(0.08);\n }\n 36.65% {\n animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n transform: scaleX(0.08);\n }\n 69.15% {\n animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n transform: scaleX(0.661479);\n }\n 100% {\n transform: scaleX(0.08);\n }\n }\n\n @keyframes progress-secondary-translate {\n 0% {\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n transform: translateX(0);\n }\n 25% {\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n transform: translateX(37.651913%);\n }\n 48.35% {\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n transform: translateX(84.386165%);\n }\n 100% {\n transform: translateX(160.277782%);\n }\n }\n\n @keyframes progress-secondary-scale {\n 0% {\n animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n transform: scaleX(0.08);\n }\n 19.15% {\n animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n transform: scaleX(0.457104);\n }\n 44.15% {\n animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n transform: scaleX(0.72796);\n }\n 100% {\n transform: scaleX(0.08);\n }\n }\n\n .footer {\n background: var(--kr-shell-bar-bg);\n border-top: 1px solid var(--kr-shell-bar-border);\n padding: 8px 16px;\n flex-shrink: 0;\n }\n\n .footer-content {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 36px;\n }\n\n .footer-info {\n font-size: 12px;\n color: rgba(255, 255, 255, 0.7);\n }\n \n .footer-link {\n color: rgba(255, 255, 255, 0.7);\n text-decoration: none;\n font-size: 12px;\n }\n\n .footer-link:hover {\n color: #ffffff;\n text-decoration: underline;\n }\n\n .footer-chat {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 14px;\n color: #beea4e;\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 4px;\n font-family: inherit;\n transition: background 0.15s ease;\n }\n\n .footer-chat:hover {\n background: rgba(255, 255, 255, 0.08);\n }\n\n .footer-chat__icon {\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .footer-chat__icon svg {\n width: 100%;\n height: 100%;\n stroke: currentColor;\n }\n `;\n__decorate([\n property({ type: String })\n], KRShell.prototype, \"logo\", void 0);\n__decorate([\n property({ type: Array })\n], KRShell.prototype, \"apps\", void 0);\n__decorate([\n property({ type: String, attribute: 'active-app-id' })\n], KRShell.prototype, \"activeAppId\", void 0);\n__decorate([\n property({ type: Object })\n], KRShell.prototype, \"user\", void 0);\n__decorate([\n property({ type: Array, attribute: 'menu-items' })\n], KRShell.prototype, \"menuItems\", void 0);\n__decorate([\n state()\n], KRShell.prototype, \"isUserMenuOpen\", void 0);\n__decorate([\n state()\n], KRShell.prototype, \"isAppsMenuOpen\", void 0);\n__decorate([\n state()\n], KRShell.prototype, \"pendingRequests\", void 0);\nKRShell = __decorate([\n customElement('kr-shell')\n], KRShell);\nexport { KRShell };\n//# sourceMappingURL=shell.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, state } from 'lit/decorators.js';\nimport '@kodaris/krubble-components';\nlet KRNavItemEdit = class KRNavItemEdit extends LitElement {\n constructor() {\n super(...arguments);\n this.label = '';\n this.icon = '';\n this.url = '';\n this.active = true;\n }\n connectedCallback() {\n super.connectedCallback();\n if (this.data) {\n this.label = this.data.label || '';\n this.icon = this.data.icon || '';\n this.url = this.data.url || '';\n this.active = this.data.active !== false;\n }\n }\n handleLabelInput(e) {\n const textField = e.target;\n this.label = textField.value;\n }\n handleIconInput(e) {\n const textField = e.target;\n this.icon = textField.value;\n }\n handleUrlInput(e) {\n const textField = e.target;\n this.url = textField.value;\n }\n handleActiveChange(e) {\n this.active = e.target.checked;\n }\n handleCancel() {\n this.dialogRef.close(undefined);\n }\n handleSave() {\n this.dialogRef.close({\n label: this.label,\n icon: this.icon || undefined,\n url: this.url || undefined,\n active: this.active,\n });\n }\n handleKeyDown(e) {\n if (e.key === 'Enter') {\n this.handleSave();\n }\n }\n render() {\n return html `\n <h2>Edit Navigation Item</h2>\n\n <div class=\"form-group\">\n <kr-text-field\n label=\"Label\"\n name=\"label\"\n .value=${this.label}\n @input=${this.handleLabelInput}\n @keydown=${this.handleKeyDown}\n placeholder=\"Enter label\"\n ></kr-text-field>\n </div>\n\n <div class=\"form-group\">\n <kr-text-field\n label=\"Icon (emoji or SVG)\"\n name=\"icon\"\n .value=${this.icon}\n @input=${this.handleIconInput}\n @keydown=${this.handleKeyDown}\n placeholder=\"e.g. 📊 or <svg>...</svg>\"\n ></kr-text-field>\n </div>\n\n <div class=\"form-group\">\n <kr-text-field\n label=\"URL\"\n name=\"url\"\n .value=${this.url}\n @input=${this.handleUrlInput}\n @keydown=${this.handleKeyDown}\n placeholder=\"e.g. /ci/my-page or https://...\"\n ></kr-text-field>\n </div>\n\n <div class=\"form-group\">\n <div class=\"checkbox-group\">\n <input\n type=\"checkbox\"\n id=\"active\"\n .checked=${this.active}\n @change=${this.handleActiveChange}\n />\n <label class=\"checkbox-label\" for=\"active\">Visible in navigation</label>\n </div>\n </div>\n\n <div class=\"actions\">\n <button class=\"btn-cancel\" @click=${this.handleCancel}>Cancel</button>\n <button class=\"btn-save\" @click=${this.handleSave}>Save</button>\n </div>\n `;\n }\n};\nKRNavItemEdit.styles = css `\n :host {\n display: block;\n width: 360px;\n padding: 24px;\n color: rgba(255, 255, 255, 0.9);\n\n /* Dark theme for kr-text-field */\n --kr-text-field-label-color: rgba(255, 255, 255, 0.7);\n --kr-text-field-border-color: rgba(255, 255, 255, 0.1);\n --kr-text-field-bg: rgba(255, 255, 255, 0.05);\n --kr-text-field-color: #ffffff;\n --kr-text-field-focus-border-color: #beea4e;\n --kr-text-field-focus-ring-color: rgba(190, 234, 78, 0.1);\n --kr-text-field-placeholder-color: rgba(255, 255, 255, 0.3);\n --kr-text-field-helper-color: rgba(255, 255, 255, 0.5);\n }\n\n h2 {\n margin: 0 0 24px 0;\n font-size: 18px;\n font-weight: 600;\n color: #ffffff;\n }\n\n .form-group {\n margin-bottom: 20px;\n }\n\n .checkbox-group {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n input[type=\"checkbox\"] {\n width: 18px;\n height: 18px;\n accent-color: #beea4e;\n cursor: pointer;\n }\n\n .checkbox-label {\n font-size: 14px;\n color: rgba(255, 255, 255, 0.9);\n cursor: pointer;\n }\n\n .actions {\n display: flex;\n gap: 12px;\n justify-content: flex-end;\n margin-top: 28px;\n }\n\n button {\n padding: 10px 20px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n font-family: inherit;\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .btn-cancel {\n background: rgba(255, 255, 255, 0.05);\n border: 1px solid rgba(255, 255, 255, 0.1);\n color: rgba(255, 255, 255, 0.8);\n }\n\n .btn-cancel:hover {\n background: rgba(255, 255, 255, 0.1);\n color: #ffffff;\n }\n\n .btn-save {\n background: #beea4e;\n border: none;\n color: #10172a;\n }\n\n .btn-save:hover {\n background: #d4f472;\n }\n `;\n__decorate([\n state()\n], KRNavItemEdit.prototype, \"label\", void 0);\n__decorate([\n state()\n], KRNavItemEdit.prototype, \"icon\", void 0);\n__decorate([\n state()\n], KRNavItemEdit.prototype, \"url\", void 0);\n__decorate([\n state()\n], KRNavItemEdit.prototype, \"active\", void 0);\nKRNavItemEdit = __decorate([\n customElement('kr-nav-item-edit')\n], KRNavItemEdit);\nexport { KRNavItemEdit };\n//# sourceMappingURL=nav-item-edit.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { KRContextMenu, KRDialog } from '@kodaris/krubble-components';\nimport { KRHttp } from '@kodaris/krubble-http';\nimport { KRNavItemEdit } from './scaffold/nav-item-edit.js';\n/**\n * Application shell component with nav drawer and main content area.\n *\n * ## Features\n * - Collapsible navigation drawer with hierarchical items (groups and items)\n * - User profile display in footer with customization menu\n * - Edit mode for customizing navigation (rename, reorder, hide items, add custom items)\n * - Drag and drop reordering in edit mode\n * - Persistence of customizations via preference API (global/organization level)\n *\n * ## Nav Customization\n * Users can customize the navigation by clicking their profile and selecting\n * \"Customize Navigation\". This enters edit mode where users can:\n * - Right-click items to edit label, icon, or visibility\n * - Right-click to add new items above/below existing items\n * - Drag and drop to reorder items or move them between groups\n *\n * Customizations are stored globally and apply to all users.\n *\n * ## Preference Storage\n * Preferences are stored as JSON with the following structure:\n * ```json\n * {\n * \"nav\": {\n * \"itemId\": { \"label\": \"Custom Label\", \"icon\": \"...\", \"active\": true, \"order\": 0 },\n * \"custom-123\": { \"type\": \"item\", \"label\": \"New Item\", \"url\": \"/path\", ... }\n * }\n * }\n * ```\n *\n * The `nav` object is a delta - it only contains overrides for existing items\n * or definitions for custom items (prefixed with \"custom-\").\n *\n * ## API Endpoints Used\n * - GET `/api/system/preference/json/scaffold?global=true` - load preferences\n * - POST `/api/system/preference/json/scaffold?global=true` - create new preference\n * - PUT `/api/system/preference/json/scaffold/{uuid}?global=true` - update existing preference\n *\n * @slot - The main content\n *\n * @property {string} logo - URL for the logo image\n * @property {string} title - Title text to display instead of logo\n * @property {'light'|'dark'} scheme - Color scheme: 'light' (default) or 'dark'\n * @property {KRNavItem[]} nav - Navigation items as JSON array\n * @property {KRUser} user - User profile data\n *\n *\n * TODO\n * - Don't hardcode breadcrumbs\n * - Look at renderNormalFooter and renderEditFooter and see if that is what we want to do\n */\nlet KRScaffold = class KRScaffold extends LitElement {\n constructor() {\n super();\n /**\n * Default icon for nav items without an icon (shown at top level)\n */\n this.defaultNavItemIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><circle cx=\"12\" cy=\"12\" r=\"10\"/></svg>';\n this.navItemsExpanded = new Set();\n this.navQuery = '';\n this.activeNavItemId = null;\n this.isNavScrolled = false;\n this.isNavOpened = true;\n this.isEditing = false;\n this.isUserMenuOpen = false;\n this.pref = { nav: {} };\n this.draggedNavItemId = null;\n this.navItemDropTargetId = null;\n this.navItemDropPosition = 'above';\n this.pendingRequests = 0;\n this.originalFetch = null;\n this.originalXhrOpen = null;\n this.navItemDragPreview = null;\n this.navItemDragStartY = 0;\n this.isNavItemDragging = false;\n this.navItemDragExpandTimeout = null;\n this.navInitialized = false;\n this.logo = '';\n this.title = '';\n /**\n * URL to navigate to when clicking the logo/title. Defaults to '/'.\n */\n this.homeUrl = '/';\n this.scheme = 'light';\n this.nav = [];\n this.navIconsDisplayed = false;\n this.navExpanded = false;\n this.user = null;\n /**\n * Whether to show the subbar with menu toggle\n */\n this.subbar = false;\n /**\n * Breadcrumbs to display in the subbar\n */\n this.breadcrumbs = [];\n this.boundHandleMouseMove = this.handleMouseMove.bind(this);\n this.boundHandleMouseUp = this.handleMouseUp.bind(this);\n }\n connectedCallback() {\n super.connectedCallback();\n this.loadPref();\n this.installFetchInterceptor();\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('nav') && this.nav.length > 0) {\n this.updateActiveNavItem();\n if (this.navExpanded && !this.navInitialized) {\n this.navInitialized = true;\n this.getComputedNav()\n .filter(item => item.type === 'group')\n .forEach(group => this.navItemsExpanded.add(group.id));\n }\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.uninstallFetchInterceptor();\n }\n /**\n * Installs global interceptors for fetch and XMLHttpRequest to track pending HTTP requests.\n * Updates `pendingRequests` state when requests start/complete.\n */\n installFetchInterceptor() {\n if (this.originalFetch)\n return;\n const scaffold = this;\n // Intercept fetch\n this.originalFetch = window.fetch.bind(window);\n const originalFetch = this.originalFetch; // Capture in local scope to avoid null reference after uninstall\n window.fetch = function (...args) {\n scaffold.pendingRequests++;\n return originalFetch(...args).finally(() => {\n scaffold.pendingRequests--;\n });\n };\n // Intercept XMLHttpRequest\n this.originalXhrOpen = XMLHttpRequest.prototype.open;\n const originalXhrOpen = this.originalXhrOpen; // Capture in local scope to avoid null reference after uninstall\n XMLHttpRequest.prototype.open = function (method, url, async = true, username, password) {\n scaffold.pendingRequests++;\n this.addEventListener('loadend', () => {\n scaffold.pendingRequests--;\n }, { once: true });\n return originalXhrOpen.call(this, method, url, async, username, password);\n };\n }\n /**\n * Restores the original fetch and XMLHttpRequest functions.\n */\n uninstallFetchInterceptor() {\n if (this.originalFetch) {\n window.fetch = this.originalFetch;\n this.originalFetch = null;\n }\n if (this.originalXhrOpen) {\n XMLHttpRequest.prototype.open = this.originalXhrOpen;\n this.originalXhrOpen = null;\n }\n }\n // =========================================================================\n // Navigation Data\n // =========================================================================\n /**\n * Returns the computed navigation as a flat array with preferences applied.\n *\n * Transforms the hierarchical `nav` property into a flat list where each item\n * has a `parentId` reference instead of nested `children`. Merges user\n * preference overrides (label, icon, url, active, order, parentId) and\n * includes any custom items added via the edit dialog.\n *\n * @returns Flat array of nav items with preferences applied\n */\n getComputedNav() {\n const result = [];\n this.nav.forEach((item, index) => {\n const override = this.pref.nav[item.id];\n result.push({\n ...item,\n ...override,\n order: override?.order ?? item.order ?? index,\n parentId: override?.parentId ?? null,\n });\n // Add children if group\n if (item.type === 'group' && item.children) {\n item.children.forEach((child, childIndex) => {\n const childOverride = this.pref.nav[child.id];\n result.push({\n ...child,\n ...childOverride,\n order: childOverride?.order ?? child.order ?? childIndex,\n parentId: childOverride?.parentId !== undefined ? childOverride.parentId : item.id,\n });\n });\n }\n });\n // Add custom items from pref\n Object.entries(this.pref.nav).forEach(([id, item]) => {\n if (id.startsWith('custom') && item.type && item.label) {\n result.push({\n id,\n type: item.type,\n label: item.label,\n icon: item.icon,\n url: item.url,\n active: item.active,\n order: item.order ?? result.length,\n parentId: item.parentId ?? null,\n });\n }\n });\n return result;\n }\n /**\n * Returns nav items for a given parent, filtered and sorted for rendering.\n *\n * Filters the computed nav to items matching the parentId, sorts by order,\n * hides inactive items in normal mode, and applies the search query filter.\n * Groups are shown if their label matches or if they have matching children.\n *\n * @param parentId - The parent ID to filter by (null for top-level items)\n * @returns Filtered and sorted nav items ready for rendering\n */\n getNavItemChildren(parentId) {\n let items = this.getComputedNav()\n .filter(item => item.parentId === parentId)\n .sort((a, b) => a.order - b.order);\n // In normal mode, filter out hidden items\n if (!this.isEditing) {\n items = items.filter(item => item.active !== false);\n }\n // Apply search filter\n if (this.navQuery) {\n const query = this.navQuery.toLowerCase();\n const allItems = this.getComputedNav();\n items = items.filter(item => {\n if (item.type === 'group') {\n // Show group if its label matches OR if it has matching children\n return item.label.toLowerCase().includes(query) || allItems.some(child => child.parentId === item.id &&\n child.active !== false &&\n child.label.toLowerCase().includes(query));\n }\n // Show item if its label matches\n return item.label.toLowerCase().includes(query);\n });\n }\n return items;\n }\n // =========================================================================\n // Navigation Search\n // =========================================================================\n /**\n * Handles search input changes for filtering nav items.\n *\n * When a search query is entered, automatically expands any groups that\n * contain matching children so users can see the results. When the search\n * is cleared, collapses all groups back to their default state.\n *\n * @param e - The input event from the search field\n */\n handleNavQueryChange(e) {\n this.navQuery = e.target.value;\n // Expand all groups when searching so matching children are visible\n // (groups without matching children won't be rendered anyway)\n if (this.navQuery) {\n this.getComputedNav().forEach(item => {\n if (item.type === 'group') {\n this.navItemsExpanded.add(item.id);\n }\n });\n }\n else {\n // Collapse all when search is cleared\n this.navItemsExpanded.clear();\n }\n }\n /**\n * Clears the search query.\n */\n handleNavQueryClear() {\n this.navQuery = '';\n this.navItemsExpanded.clear();\n }\n // =========================================================================\n // Navigation Interaction\n // =========================================================================\n handleMenuClick() {\n this.isNavOpened = !this.isNavOpened;\n }\n /**\n * Handles click on the nav header (logo/title) to navigate home.\n * Dispatches a nav-item-click event so Angular can intercept and route.\n */\n handleNavHeaderClick(_e) {\n // Clear active state since we're going home\n this.activeNavItemId = null;\n const navEvent = new CustomEvent('nav-item-click', {\n detail: { item: { url: this.homeUrl } },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(navEvent);\n // If no listener prevented default, navigate natively\n if (!navEvent.defaultPrevented) {\n window.location.href = this.homeUrl;\n }\n }\n /**\n * Handles scroll on nav content to show/hide header shadow.\n */\n handleNavScroll(e) {\n this.isNavScrolled = e.target.scrollTop > 0;\n }\n /**\n * Toggles the expanded/collapsed state of a nav group with animation.\n * Uses the Web Animations API to animate height transitions.\n * When collapsing, the `nav-group--expanded` class is removed after animation completes.\n * When expanding, the class is added immediately before animation starts.\n *\n * @param itemId - The unique identifier of the nav group to toggle\n */\n toggleNavItem(itemId) {\n const navItem = this.shadowRoot?.querySelector(`.nav-item[data-id=\"${itemId}\"]`);\n const groupEl = navItem?.nextElementSibling;\n if (!groupEl)\n return;\n if (this.navItemsExpanded.has(itemId)) {\n this.navItemsExpanded.delete(itemId);\n groupEl.animate([\n { height: `${groupEl.scrollHeight}px` },\n { height: '0px' }\n ], { duration: 300, easing: 'ease-in-out' }).onfinish = () => {\n groupEl.classList.remove('nav-group--expanded');\n };\n }\n else {\n this.navItemsExpanded.add(itemId);\n groupEl.classList.add('nav-group--expanded');\n groupEl.animate([\n { height: '0px' },\n { height: `${groupEl.scrollHeight}px` }\n ], { duration: 300, easing: 'ease-in-out' });\n }\n this.requestUpdate();\n }\n /**\n * Handles click events on navigation items.\n *\n * For groups, toggles the expanded/collapsed state.\n * For items, dispatches a cancelable `nav-item-click` custom event.\n *\n * If a listener calls `preventDefault()` on the custom event, native browser\n * navigation is prevented. Otherwise, the default `<a href>` navigation\n * proceeds normally.\n *\n * The `@krubble/angular` package provides `KRScaffoldDirective` which\n * automatically listens for this event and handles navigation using\n * Angular's router. Import `KrubbleModule` in your Angular app to enable\n * SPA navigation without page reloads.\n *\n * @param e - The original click event\n * @param item - The nav item that was clicked\n */\n handleNavItemClick(e, item) {\n if (item.type === 'group') {\n this.toggleNavItem(item.id);\n }\n else {\n // Set active item immediately on click for instant visual feedback\n this.activeNavItemId = item.id;\n const navEvent = new CustomEvent('nav-item-click', {\n detail: { item },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(navEvent);\n // If a listener called preventDefault(), prevent the native navigation\n // (e.g., SPA router handles navigation)\n if (navEvent.defaultPrevented) {\n e.preventDefault();\n }\n }\n }\n /**\n * Updates the active nav item highlight based on the current URL.\n *\n * Compares the first path segment of `window.location.pathname` with each\n * nav item's URL to find a match. When found, highlights that item and\n * expands its parent group if nested.\n *\n * Called automatically by `KRScaffoldDirective` on Angular route changes.\n */\n updateActiveNavItem() {\n const currentPath = window.location.pathname;\n const allItems = this.getComputedNav().filter(item => item.type === 'item' && item.url);\n // Find the best match - prefer longer/more specific URL matches\n let activeItem = null;\n let longestMatch = 0;\n for (const item of allItems) {\n const url = item.url; // We filtered for items with url above\n if (currentPath.startsWith(url) && url.length > longestMatch) {\n activeItem = item;\n longestMatch = url.length;\n }\n }\n if (activeItem) {\n this.activeNavItemId = activeItem.id;\n if (activeItem.parentId) {\n this.navItemsExpanded.add(activeItem.parentId);\n }\n }\n else {\n this.activeNavItemId = null;\n }\n }\n // =========================================================================\n // Navigation Customization\n // =========================================================================\n startEditing() {\n this.isEditing = true;\n }\n cancelEditing() {\n this.isEditing = false;\n // Reload to revert changes\n this.loadPref();\n }\n resetPref() {\n this.pref.nav = {};\n }\n savePref() {\n const url = this.pref.uuid\n ? `/api/system/preference/json/scaffold/${this.pref.uuid}?global=true`\n : `/api/system/preference/json/scaffold?global=true`;\n KRHttp.fetch({\n url,\n method: this.pref.uuid ? 'PUT' : 'POST',\n body: JSON.stringify({ nav: this.pref.nav }),\n })\n .then((response) => response.json())\n .then((data) => {\n this.pref = data.data;\n this.isEditing = false;\n })\n .catch((error) => {\n console.error('Failed to save nav customizations:', error);\n });\n }\n loadPref() {\n KRHttp.fetch({\n url: '/api/system/preference/json/scaffold?global=true',\n method: 'GET',\n })\n .then((response) => response.json())\n .then((data) => {\n const pref = data?.data?.[0];\n if (pref) {\n this.pref = pref;\n }\n })\n .catch(() => {\n // No preferences saved yet\n });\n }\n handleNavItemContextMenu(e, item) {\n if (!this.isEditing)\n return;\n e.preventDefault();\n KRContextMenu.open({\n x: e.clientX,\n y: e.clientY,\n items: [\n { id: 'edit', label: 'Edit Item' },\n { id: 'divider-1', label: '', divider: true },\n { id: 'add-above', label: 'Add Item Above' },\n { id: 'add-below', label: 'Add Item Below' },\n ],\n }).then((result) => {\n if (!result)\n return;\n switch (result.id) {\n case 'edit':\n this.openNavItemEdit(item);\n break;\n case 'add-above':\n this.addNavItem(item, 'above');\n break;\n case 'add-below':\n this.addNavItem(item, 'below');\n break;\n }\n });\n }\n /**\n * Opens the nav item edit dialog for customizing an item's properties.\n *\n * Opens `KRNavItemEdit` dialog pre-populated with the item's current values.\n * When the user saves, merges the result into the nav delta to persist\n * customizations like label, icon, URL, and visibility.\n *\n * @param item - The nav item to edit\n */\n openNavItemEdit(item) {\n KRDialog.open(KRNavItemEdit, { data: item }).afterClosed().then((res) => {\n const result = res;\n if (!result)\n return;\n if (!this.pref.nav[item.id]) {\n this.pref.nav[item.id] = {};\n }\n this.pref.nav[item.id] = {\n ...this.pref.nav[item.id],\n ...result\n };\n this.requestUpdate();\n });\n }\n /**\n * Adds a new custom nav item relative to an existing item.\n *\n * Creates a placeholder item in the nav delta, shifts existing siblings\n * to make room, then opens the edit dialog so the user can configure\n * the new item's label, icon, and URL.\n *\n * @param targetItem - The existing item to position relative to\n * @param position - Whether to insert 'above' or 'below' the target item\n */\n addNavItem(targetItem, position) {\n const customId = `custom-${Date.now()}`;\n const siblings = this.getComputedNav()\n .filter(i => i.parentId === targetItem.parentId)\n .sort((a, b) => a.order - b.order);\n const targetIndex = siblings.findIndex(i => i.id === targetItem.id);\n const newOrder = position === 'above' ? targetIndex : targetIndex + 1;\n // Shift existing items to make room for the new item\n siblings.forEach((sibling, index) => {\n if (index >= newOrder) {\n if (!this.pref.nav[sibling.id]) {\n this.pref.nav[sibling.id] = {};\n }\n this.pref.nav[sibling.id].order = index + 1;\n }\n });\n // Add the new item and open edit dialog\n const newItem = {\n id: customId,\n type: 'item',\n label: 'New Item',\n order: newOrder,\n parentId: targetItem.parentId,\n active: true,\n };\n this.pref.nav[customId] = newItem;\n this.requestUpdate();\n this.openNavItemEdit(newItem);\n }\n // =========================================================================\n // Navigation Drag & Drop\n // =========================================================================\n /**\n * Initiates a potential drag operation when mouse is pressed on a nav item.\n *\n * Only active in edit mode. Records the starting position and sets up\n * document-level listeners for mouse move and mouse up events. The actual\n * drag doesn't start until the mouse moves more than 5 pixels.\n *\n * @param e - The mouse event\n * @param item - The nav item being pressed\n */\n handleNavItemMouseDown(e, item) {\n if (!this.isEditing)\n return;\n e.preventDefault();\n this.draggedNavItemId = item.id;\n this.navItemDragStartY = e.clientY;\n this.isNavItemDragging = false;\n document.addEventListener('mousemove', this.boundHandleMouseMove);\n document.addEventListener('mouseup', this.boundHandleMouseUp);\n }\n /**\n * Handles mouse movement during a nav item drag operation.\n *\n * Initiates dragging after the mouse moves more than 5 pixels (to distinguish\n * from clicks), creates a floating preview element that follows the cursor,\n * and updates the drop target indicator based on mouse position.\n *\n * @param e - The mouse event\n */\n handleMouseMove(e) {\n if (!this.draggedNavItemId)\n return;\n // Start dragging after moving a few pixels (to distinguish from clicks)\n if (!this.isNavItemDragging && Math.abs(e.clientY - this.navItemDragStartY) > 5) {\n this.isNavItemDragging = true;\n this.classList.add('kr-scaffold--dragging');\n // Create drag preview\n const draggedItem = this.getComputedNav().find(i => i.id === this.draggedNavItemId);\n if (draggedItem) {\n this.navItemDragPreview = document.createElement('div');\n this.navItemDragPreview.className = 'nav-item-drag-preview';\n this.navItemDragPreview.textContent = draggedItem.label;\n this.navItemDragPreview.style.left = `${e.clientX + 10}px`;\n this.navItemDragPreview.style.top = `${e.clientY - 20}px`;\n this.shadowRoot?.appendChild(this.navItemDragPreview);\n }\n }\n if (!this.isNavItemDragging)\n return;\n // Update preview position\n if (this.navItemDragPreview) {\n this.navItemDragPreview.style.left = `${e.clientX + 10}px`;\n this.navItemDragPreview.style.top = `${e.clientY - 20}px`;\n }\n // Find drop target based on mouse position\n this.updateNavItemDropTarget(e);\n }\n /**\n * Handles the end of a nav item drag operation.\n *\n * Removes document-level mouse listeners, executes the drop if there's a valid\n * target, and cleans up all drag-related state.\n */\n handleMouseUp() {\n document.removeEventListener('mousemove', this.boundHandleMouseMove);\n document.removeEventListener('mouseup', this.boundHandleMouseUp);\n if (this.isNavItemDragging && this.navItemDropTargetId) {\n this.executeNavItemDrop();\n }\n // Reset all drag state\n this.draggedNavItemId = null;\n this.navItemDropTargetId = null;\n this.isNavItemDragging = false;\n this.classList.remove('kr-scaffold--dragging');\n if (this.navItemDragPreview) {\n this.navItemDragPreview.remove();\n this.navItemDragPreview = null;\n }\n this.clearNavItemDragExpandTimeout();\n this.requestUpdate();\n }\n /**\n * Determines where a dragged nav item would be dropped based on mouse position.\n *\n * Loops through all nav items and checks if the mouse is hovering over one.\n * For groups, the item is divided into thirds (above/center/below) where\n * \"center\" means drop into the group. For regular items, it's halves (above/below).\n *\n * Also handles auto-expanding collapsed groups when hovering over their center,\n * and validates drops (e.g., prevents dropping a group into another group).\n *\n * Updates `navItemDropTargetId` and `navItemDropPosition` state which are used to render\n * visual drop indicators in the UI.\n *\n * @param e - The mouse event from dragging\n */\n updateNavItemDropTarget(e) {\n // Get all nav items in shadow DOM\n const navItems = this.shadowRoot?.querySelectorAll('.nav-item[data-id]');\n if (!navItems)\n return;\n let foundTarget = false;\n navItems.forEach((el) => {\n const rect = el.getBoundingClientRect();\n const itemId = el.getAttribute('data-id');\n if (!itemId || itemId === this.draggedNavItemId)\n return;\n // Skip if mouse is outside this element\n if (e.clientX < rect.left || e.clientX > rect.right ||\n e.clientY < rect.top || e.clientY > rect.bottom) {\n return;\n }\n const item = this.getComputedNav().find(i => i.id === itemId);\n if (!item) {\n return;\n }\n const y = e.clientY - rect.top;\n let position;\n // Determine drop position based on mouse Y position within the item.\n // Groups are divided into thirds: top=above, middle=center (drop into), bottom=below.\n // Regular items are divided in half: top=above, bottom=below.\n if (item.type === 'group') {\n if (y < rect.height / 3) {\n // Top third - drop above the group\n position = 'above';\n this.clearNavItemDragExpandTimeout();\n }\n else if (y > (rect.height * 2) / 3) {\n // Bottom third - drop below the group\n position = 'below';\n this.clearNavItemDragExpandTimeout();\n }\n else {\n // Middle third - drop into the group (as a child)\n position = 'center';\n // Auto-expand collapsed groups after a delay\n if (!this.navItemsExpanded.has(item.id) && !this.navItemDragExpandTimeout) {\n this.expandNavGroupOnDrag(item.id);\n }\n }\n }\n else {\n // Regular items only support above/below, not center\n position = y < rect.height / 2 ? 'above' : 'below';\n this.clearNavItemDragExpandTimeout();\n }\n // Determine what the new parent would be\n const newParentId = position === 'center' ? item.id : item.parentId;\n const draggedItem = this.getComputedNav().find(i => i.id === this.draggedNavItemId);\n // Don't show drop indicator if invalid drop:\n // 1. Can't drop an item into itself (newParentId === draggedNavItemId)\n // 2. Groups can only exist at the top level, so prevent dropping a group into another group (newParentId !== null means it would be nested)\n if (newParentId === this.draggedNavItemId || (draggedItem?.type === 'group' && newParentId !== null)) {\n this.navItemDropTargetId = null;\n this.clearNavItemDragExpandTimeout();\n return;\n }\n // Valid drop target found - store the target item and position (above/below/center)\n // so the UI can render the drop indicator in the correct location\n this.navItemDropTargetId = item.id;\n this.navItemDropPosition = position;\n foundTarget = true;\n });\n // Mouse is not over any valid nav item - clear the drop indicator\n // (e.g., user dragged outside the nav area or over empty space)\n if (!foundTarget) {\n this.navItemDropTargetId = null;\n this.clearNavItemDragExpandTimeout();\n }\n this.requestUpdate();\n }\n /**\n * Cancels the pending auto-expand timeout for nav groups during drag.\n * Called when the user moves away from a group's center or stops dragging.\n */\n clearNavItemDragExpandTimeout() {\n if (this.navItemDragExpandTimeout) {\n clearTimeout(this.navItemDragExpandTimeout);\n this.navItemDragExpandTimeout = null;\n }\n }\n /**\n * Auto-expands a collapsed nav group after a delay while dragging over it.\n *\n * Uses a 500ms timeout to prevent groups from expanding too eagerly when the\n * user is just passing over them. Only expands if the user is still hovering\n * over the group's center when the timeout fires.\n *\n * @param itemId - The ID of the group to expand\n */\n expandNavGroupOnDrag(itemId) {\n this.navItemDragExpandTimeout = window.setTimeout(() => {\n if (this.navItemDropTargetId === itemId && this.navItemDropPosition === 'center') {\n this.navItemsExpanded.add(itemId);\n this.requestUpdate();\n }\n this.navItemDragExpandTimeout = null;\n }, 500);\n }\n /**\n * Executes the drop operation after a nav item drag completes.\n *\n * Calculates the new position and parent for the dragged item based on\n * the drop target and position (above/below/center). Updates the navDelta\n * with new order values for the dragged item and shifts siblings as needed.\n */\n executeNavItemDrop() {\n if (!this.draggedNavItemId || !this.navItemDropTargetId)\n return;\n const allItems = this.getComputedNav();\n const draggedItem = allItems.find(i => i.id === this.draggedNavItemId);\n const targetItem = allItems.find(i => i.id === this.navItemDropTargetId);\n if (!draggedItem || !targetItem)\n return;\n // Determine the new parentId for the dragged item\n let newParentId;\n if (this.navItemDropPosition === 'center' && targetItem.type === 'group') {\n if (targetItem.id === this.draggedNavItemId) {\n return;\n }\n newParentId = targetItem.id;\n }\n else {\n newParentId = targetItem.parentId;\n }\n if (newParentId === this.draggedNavItemId)\n return;\n // Get siblings in the destination parent\n const siblings = allItems\n .filter(i => i.parentId === newParentId && i.id !== this.draggedNavItemId)\n .sort((a, b) => a.order - b.order);\n const navDelta = this.pref.nav;\n // Calculate the new order\n let newOrder;\n if (this.navItemDropPosition === 'center') {\n // Dropping into a group - place at the end of its children\n if (siblings.length > 0) {\n newOrder = Math.max(...siblings.map(s => s.order)) + 1;\n }\n else {\n newOrder = 0;\n }\n }\n else {\n // Find where the target item is in the sorted siblings list\n const targetIndex = siblings.findIndex(i => i.id === targetItem.id);\n // Determine insert position based on drop position (above/below target)\n if (targetIndex === -1) {\n newOrder = 0;\n }\n else if (this.navItemDropPosition === 'above') {\n newOrder = targetIndex;\n }\n else {\n newOrder = targetIndex + 1;\n }\n // Shift existing siblings to make room for the dropped item.\n // Items at or after the insert position get their order bumped up by 1.\n siblings.forEach((sibling, index) => {\n if (!navDelta[sibling.id]) {\n navDelta[sibling.id] = {};\n }\n if (index >= newOrder) {\n navDelta[sibling.id].order = index + 1;\n }\n else {\n navDelta[sibling.id].order = index;\n }\n });\n }\n // Update the dragged item's position and parent in the delta\n if (!navDelta[this.draggedNavItemId]) {\n navDelta[this.draggedNavItemId] = {};\n }\n navDelta[this.draggedNavItemId].order = newOrder;\n navDelta[this.draggedNavItemId].parentId = newParentId;\n // Persist changes and trigger re-render\n this.pref.nav = navDelta;\n this.requestUpdate();\n }\n // =========================================================================\n // User Menu\n // =========================================================================\n toggleUserMenu() {\n this.isUserMenuOpen = !this.isUserMenuOpen;\n }\n closeUserMenu() {\n this.isUserMenuOpen = false;\n }\n handleCustomize() {\n this.closeUserMenu();\n this.startEditing();\n }\n // =========================================================================\n // Rendering\n // =========================================================================\n renderNormalFooter() {\n if (!this.user)\n return nothing;\n const initials = this.user.name\n .split(' ')\n .map((part) => part[0])\n .join('')\n .toUpperCase()\n .slice(0, 2);\n // todo - use a reusable menu component\n return html `\n <div class=\"user-menu-container\">\n ${this.isUserMenuOpen ? html `\n <div class=\"user-menu\">\n <button class=\"user-menu__item\" @click=${this.handleCustomize}>\n Customize Navigation\n </button>\n </div>\n ` : nothing}\n <div class=\"user\" @click=${this.toggleUserMenu}>\n <div class=\"user__avatar\">\n ${this.user.avatar\n ? html `<img src=${this.user.avatar} alt=${this.user.name} />`\n : initials}\n </div>\n <div class=\"user__info\">\n <div class=\"user__name\">${this.user.name}</div>\n ${this.user.email ? html `<div class=\"user__email\">${this.user.email}</div>` : nothing}\n </div>\n </div>\n </div>\n `;\n }\n // todo - review\n renderEditFooter() {\n return html `\n <div class=\"edit-actions\">\n <button class=\"edit-actions__btn edit-actions__btn--primary\" @click=${this.savePref}>\n Save\n </button>\n <div class=\"edit-actions__secondary\">\n <button class=\"edit-actions__btn\" @click=${this.resetPref}>\n Reset\n </button>\n <button class=\"edit-actions__btn\" @click=${this.cancelEditing}>\n Cancel\n </button>\n </div>\n </div>\n `;\n }\n /**\n * Renders a navigation item as either a group or a link.\n *\n * Groups render as expandable `<button>` elements with a chevron indicator and\n * nested children. Items render as `<a>` anchor links with href navigation.\n *\n * Both types support drag-and-drop reordering in edit mode, context menus for\n * customization, and visual indicators for active/hidden/drop-target states.\n *\n * Icons use SVG strings and fall back to `defaultNavItemIcon` when not provided.\n * Icons are only rendered for top-level items, not for children nested within groups.\n *\n * @param item - The flat nav item data to render\n * @param isChild - Whether this item is nested within a group (affects icon rendering)\n * @returns Lit HTML template for the nav item\n */\n renderNavItem(item, isChild = false) {\n if (item.type === 'section') {\n return html `\n <div class=\"nav-section\">${item.label}</div>\n `;\n }\n if (item.type === 'group') {\n const children = this.getNavItemChildren(item.id);\n return html `\n <button\n class=${classMap({\n 'nav-item': true,\n 'nav-item--expanded': this.navItemsExpanded.has(item.id),\n 'nav-item--hidden': this.isEditing && item.active === false,\n 'nav-item--drop-above': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'above',\n 'nav-item--drop-below': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'below',\n 'nav-item--drop-center': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'center',\n })}\n data-id=\"${item.id}\"\n @mousedown=${(e) => this.handleNavItemMouseDown(e, item)}\n @click=${(e) => this.handleNavItemClick(e, item)}\n @contextmenu=${(e) => this.handleNavItemContextMenu(e, item)}\n >\n ${this.navIconsDisplayed ? html `<span class=\"nav-item__icon\">${unsafeHTML(item.icon || this.defaultNavItemIcon)}</span>` : nothing}\n <span class=\"nav-item__label\">${item.label}</span>\n <svg\n class=\"nav-item__chevron\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <path d=\"M6 9l6 6 6-6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n <div class=${classMap({\n 'nav-group': true,\n 'nav-group--expanded': this.navItemsExpanded.has(item.id),\n })}>\n ${children.map((child) => this.renderNavItem(child, true))}\n </div>\n `;\n }\n return html `\n <a\n class=${classMap({\n 'nav-item': true,\n 'nav-item--active': this.activeNavItemId === item.id,\n 'nav-item--hidden': this.isEditing && item.active === false,\n 'nav-item--drop-above': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'above',\n 'nav-item--drop-below': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'below',\n })}\n data-id=\"${item.id}\"\n href=${item.url || '#'}\n target=${item.external ? '_blank' : nothing}\n @mousedown=${(e) => this.handleNavItemMouseDown(e, item)}\n @click=${(e) => this.handleNavItemClick(e, item)}\n @contextmenu=${(e) => this.handleNavItemContextMenu(e, item)}\n >\n ${this.navIconsDisplayed && !isChild ? html `<span class=\"nav-item__icon\">${unsafeHTML(item.icon || this.defaultNavItemIcon)}</span>` : nothing}\n <span class=\"nav-item__label\">${item.label}</span>\n </a>\n `;\n }\n // todo - don't hardcode breadcrumbs\n render() {\n const topLevelItems = this.getNavItemChildren(null);\n // Use unfiltered count to determine if search should show (so it doesn't disappear while typing)\n const totalTopLevelItems = this.getComputedNav().filter(item => item.parentId === null).length;\n return html `\n <div class=${classMap({\n 'progress': true,\n 'progress--loading': this.pendingRequests > 0,\n })}>\n <div class=\"progress__track\"></div>\n <div class=\"progress__bar progress__bar--primary\">\n <span class=\"progress__bar-inner\"></span>\n </div>\n <div class=\"progress__bar progress__bar--secondary\">\n <span class=\"progress__bar-inner\"></span>\n </div>\n </div>\n \n ${this.subbar ? html `\n <kr-subbar menu .breadcrumbs=${this.breadcrumbs} @menu-click=${this.handleMenuClick}>\n <slot name=\"subbar\"></slot>\n </kr-subbar>\n ` : nothing}\n\n <div class=\"wrapper\">\n <nav class=${classMap({\n 'nav': true,\n 'nav--scrolled': this.isNavScrolled,\n 'nav--opened': !this.subbar || this.isNavOpened,\n })}>\n <div class=\"nav-header\" @click=${this.handleNavHeaderClick}>\n ${this.title\n ? html `<span class=\"nav-title\">${this.title}</span>`\n : this.logo\n ? html `<img class=\"nav-logo\" src=${this.logo} alt=\"Logo\" />`\n : nothing}\n </div>\n <div class=\"nav-content\" @scroll=${this.handleNavScroll}>\n ${totalTopLevelItems > 20 ? html `\n <div class=\"nav-search\">\n <div class=\"nav-search__wrapper\">\n <span class=\"nav-search__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"/>\n </svg>\n </span>\n <input\n class=\"nav-search__input\"\n type=\"text\"\n placeholder=\"Search...\"\n .value=${this.navQuery}\n @input=${this.handleNavQueryChange}\n />\n ${this.navQuery ? html `\n <button class=\"nav-search__clear\" @click=${this.handleNavQueryClear}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/>\n </svg>\n </button>\n ` : nothing}\n </div>\n </div>\n ` : nothing}\n <div class=\"nav-items\">\n ${topLevelItems.map((item) => this.renderNavItem(item))}\n </div>\n </div>\n <!-- <div class=\"nav-footer\">\n ${this.isEditing ? this.renderEditFooter() : this.renderNormalFooter()}\n </div> -->\n </nav>\n\n <main class=\"main\">\n <slot></slot>\n </main>\n </div>\n \n `;\n }\n};\nKRScaffold.styles = css `\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n font-size: 14px;\n --kr-scaffold-nav-width: 250px;\n\n /* Default to light scheme */\n --kr-scaffold-nav-bg: #F3F7FC;\n --kr-scaffold-nav-text: #000000;\n --kr-scaffold-nav-text-active: #000000;\n --kr-scaffold-nav-hover: #f3f4f6;\n --kr-scaffold-nav-active-bg: #e5e7eb;\n --kr-scaffold-nav-border: rgb(229, 229, 228);\n --kr-scaffold-nav-divider: #e5e7eb;\n --kr-scaffold-nav-search-bg: #f3f4f6;\n --kr-scaffold-nav-search-focus-bg: #ffffff;\n --kr-scaffold-nav-search-focus-border: #d1d5db;\n }\n\n /* Dark scheme */\n :host([scheme=\"dark\"]) {\n --kr-scaffold-nav-bg: #10172a;\n --kr-scaffold-nav-text: rgb(255 255 255 / 80%);\n --kr-scaffold-nav-text-active: #ffffff;\n --kr-scaffold-nav-hover: rgba(255, 255, 255, 0.05);\n --kr-scaffold-nav-active-bg: rgb(255 255 255 / 12%);\n --kr-scaffold-nav-border: transparent;\n --kr-scaffold-nav-divider: rgba(255, 255, 255, 0.06);\n --kr-scaffold-nav-search-bg: rgba(255, 255, 255, 0.15);\n --kr-scaffold-nav-search-focus-bg: rgba(255, 255, 255, 0.2);\n --kr-scaffold-nav-search-focus-border: rgba(255, 255, 255, 0.3);\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n /* Nav */\n .nav {\n width: var(--kr-scaffold-nav-width);\n background: var(--kr-scaffold-nav-bg);\n color: var(--kr-scaffold-nav-text);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border-right: 1px solid var(--kr-scaffold-nav-border);\n transition: margin-left 0.3s ease;\n margin-left: calc(-1 * var(--kr-scaffold-nav-width));\n flex: 1;\n max-width: var(--kr-scaffold-nav-width);\n }\n\n .nav--opened {\n margin-left: 0;\n }\n\n .wrapper {\n display: flex;\n flex: 1;\n min-height: 0;\n max-height: 100%;\n height: 100%;\n }\n\n .nav-header {\n height: 64px;\n padding: 0 20px;\n display: flex;\n align-items: center;\n position: relative;\n z-index: 1;\n transition: box-shadow 0.2s ease;\n cursor: pointer;\n }\n\n .nav--scrolled .nav-header {\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);\n }\n\n .nav-logo {\n max-width: 100%;\n height: 32px;\n }\n\n .nav-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--kr-scaffold-nav-text-active);\n letter-spacing: .2px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .nav-search {\n padding: 4px 0 8px;\n }\n\n .nav-search__wrapper {\n display: flex;\n align-items: center;\n background: var(--kr-scaffold-nav-search-bg);\n border-radius: 8px;\n padding: 0 12px;\n height: 40px;\n gap: 8px;\n border: 1px solid transparent;\n transition: all 0.15s ease;\n }\n\n .nav-search__wrapper:focus-within {\n background: var(--kr-scaffold-nav-search-focus-bg);\n border-color: var(--kr-scaffold-nav-search-focus-border);\n }\n\n .nav-search__icon {\n width: 18px;\n height: 18px;\n flex-shrink: 0;\n opacity: 0.6;\n }\n\n .nav-search__icon svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n\n .nav-search__input {\n flex: 1;\n background: none;\n border: none;\n outline: none;\n color: var(--kr-scaffold-nav-text-active);\n font-size: 13px;\n font-family: inherit;\n min-width: 0;\n }\n\n .nav-search__input::placeholder {\n color: var(--kr-scaffold-nav-text);\n opacity: 0.7;\n }\n\n .nav-search__clear {\n width: 18px;\n height: 18px;\n padding: 0;\n background: none;\n border: none;\n color: var(--kr-scaffold-nav-text);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0.6;\n transition: opacity 0.15s ease;\n }\n\n .nav-search__clear:hover {\n opacity: 1;\n }\n\n .nav-search__clear svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n\n .nav-content {\n flex: 1;\n overflow-y: auto;\n padding: 0 9px 0.75rem 8px;\n }\n\n .nav-footer {\n padding: 12px;\n border-top: 1px solid var(--kr-scaffold-nav-divider);\n }\n\n .user {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n transition: background 0.15s ease;\n }\n\n .user:hover {\n background: var(--kr-scaffold-nav-hover);\n }\n\n .user__avatar {\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: var(--kr-scaffold-avatar-bg, #beea4e);\n color: var(--kr-scaffold-avatar-text, #10172a);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n font-weight: 600;\n flex-shrink: 0;\n overflow: hidden;\n }\n\n .user__avatar img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .user__info {\n flex: 1;\n min-width: 0;\n }\n\n .user__name {\n font-size: 13px;\n font-weight: 500;\n color: var(--kr-scaffold-nav-text-active);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .user__email {\n font-size: 12px;\n color: var(--kr-scaffold-nav-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .user-menu-container {\n position: relative;\n }\n\n .user-menu {\n position: absolute;\n bottom: 100%;\n left: 0;\n right: 0;\n margin-bottom: 8px;\n background: var(--kr-scaffold-nav-bg);\n border: 1px solid var(--kr-scaffold-nav-divider);\n border-radius: 8px;\n padding: 4px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);\n }\n\n .user-menu__item {\n display: block;\n width: 100%;\n padding: 10px 12px;\n background: none;\n border: none;\n color: var(--kr-scaffold-nav-text);\n font-size: 13px;\n font-family: inherit;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n }\n\n .user-menu__item:hover {\n background: var(--kr-scaffold-nav-hover);\n color: var(--kr-scaffold-nav-text-active);\n }\n\n .user-menu__divider {\n height: 1px;\n background: var(--kr-scaffold-nav-divider);\n margin: 4px 0;\n }\n\n /* Main */\n .main {\n flex: 1;\n min-width: 0;\n overflow-y: auto;\n background: #FCFCFD;\n display: flex;\n flex-direction: column;\n }\n\n .breadcrumbs {\n height: 32px;\n padding: 0 1rem;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6b7280;\n background: #f9fafb;\n border-bottom: 1px solid #e5e7eb;\n flex-shrink: 0;\n }\n\n .breadcrumbs a {\n color: #6b7280;\n text-decoration: none;\n }\n\n .breadcrumbs a:hover {\n color: #111827;\n text-decoration: underline;\n }\n\n .breadcrumbs__separator {\n color: #d1d5db;\n }\n\n .breadcrumbs__current {\n color: #111827;\n font-weight: 500;\n }\n\n .main__content {\n flex: 1;\n overflow-y: auto;\n }\n\n /* Nav Items */\n .nav-items {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .nav-item {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 0 12px;\n height: 32px;\n border-radius: 8px;\n color: var(--kr-scaffold-nav-text);\n text-decoration: none;\n cursor: pointer;\n border: none;\n background: none;\n width: 100%;\n text-align: left;\n font-size: 13px;\n font-weight: 400;\n font-family: inherit;\n transition: all 0.15s ease;\n }\n\n .nav-item:hover {\n background: #F3F7FC;\n color: var(--kr-scaffold-nav-text-active);\n }\n\n .nav-item--active,\n .nav-item--active:hover {\n background: #e1e9f6;\n color: #1a2332;\n font-weight: 700;\n }\n\n .nav-item__icon {\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n\n .nav-item__icon svg {\n width: 16px;\n height: 16px;\n fill: currentColor;\n }\n\n .nav-item__label {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n letter-spacing: 0.01em;\n }\n\n .nav-item__chevron {\n width: 16px;\n height: 16px;\n transition: transform 0.2s ease;\n transform: rotate(-90deg);\n stroke: currentColor;\n }\n\n .nav-item--expanded .nav-item__chevron {\n transform: rotate(0deg);\n }\n\n .nav-group {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 0;\n }\n\n .nav-group--expanded {\n height: auto;\n }\n\n .nav-group .nav-item {\n padding: 0 12px 0 44px;\n height: 32px;\n font-size: 13px;\n font-weight: 400;\n margin-top: 2px;\n flex-shrink: 0;\n }\n\n .nav-group .nav-item--active,\n .nav-group .nav-item--active:hover {\n font-weight: 700;\n }\n\n .nav-group .nav-item:first-child {\n margin-top: 0;\n }\n\n /* Nav items in groups when icons are hidden */\n :host(:not([nav-icons-displayed])) .nav-group .nav-item {\n padding-left: 24px;\n }\n\n /* Sections */\n .nav-section {\n padding: 16px 12px 8px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--kr-scaffold-nav-text);\n opacity: 0.6;\n }\n\n .nav-section:first-child {\n padding-top: 0;\n }\n\n /* Edit mode actions */\n .edit-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .edit-actions__btn {\n display: block;\n width: 100%;\n padding: 10px 12px;\n background: var(--kr-scaffold-nav-hover);\n border: none;\n color: var(--kr-scaffold-nav-text);\n font-size: 13px;\n font-weight: 500;\n font-family: inherit;\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n }\n\n .edit-actions__btn:hover {\n background: var(--kr-scaffold-nav-active-bg);\n color: var(--kr-scaffold-nav-text-active);\n }\n\n .edit-actions__btn--primary {\n background: #beea4e;\n color: #10172a;\n }\n\n .edit-actions__btn--primary:hover {\n background: #d4f472;\n color: #10172a;\n }\n\n .edit-actions__secondary {\n display: flex;\n gap: 8px;\n }\n\n .edit-actions__secondary .edit-actions__btn {\n flex: 1;\n }\n\n /* Hidden/inactive items in edit mode */\n .nav-item--hidden {\n opacity: 0.4;\n font-style: italic;\n }\n\n .nav-item--hidden:hover {\n opacity: 0.6;\n }\n\n /* Dragging state */\n :host(.kr-scaffold--dragging),\n :host(.kr-scaffold--dragging) * {\n cursor: grabbing;\n user-select: none;\n }\n\n .nav-item-drag-preview {\n position: fixed;\n pointer-events: none;\n z-index: 1000;\n opacity: 0.9;\n background: var(--kr-scaffold-nav-bg);\n border: 1px solid var(--kr-scaffold-nav-divider);\n border-radius: 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);\n padding: 0 12px;\n height: 40px;\n min-width: 200px;\n display: flex;\n align-items: center;\n gap: 16px;\n color: var(--kr-scaffold-nav-text-active);\n font-size: 13px;\n font-weight: 500;\n }\n\n /* Drop indicator */\n .nav-item--drop-above,\n .nav-item--drop-below,\n .nav-item--drop-center {\n position: relative;\n }\n\n .nav-item--drop-above::before,\n .nav-item--drop-below::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n background: #beea4e;\n }\n\n .nav-item--drop-above::before {\n top: 0;\n }\n\n .nav-item--drop-below::after {\n bottom: 0;\n }\n\n .nav-item--drop-center {\n background: var(--kr-scaffold-nav-active-bg);\n }\n\n .breadcrumbs {\n height: 32px;\n padding: 0 1rem;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6b7280;\n //background: #f9fafb;\n background: #beea4e;\n border-top: 1px solid #e5e7eb;\n flex-shrink: 0;\n }\n\n .breadcrumbs a {\n //color: #6b7280;\n color: #10172a;\n font-size: 13px;\n font-weight: 600;\n text-decoration: none;\n }\n\n .breadcrumbs a:hover {\n color: #111827;\n text-decoration: underline;\n }\n\n .breadcrumbs__separator {\n color: #d1d5db;\n }\n\n .breadcrumbs__current {\n color: #111827;\n font-weight: 500;\n }\n\n /* Progress bar */\n .progress {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n overflow-x: hidden;\n z-index: 1000;\n display: none;\n }\n\n .progress--loading {\n display: block;\n }\n\n .progress__track {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 100%;\n background: rgba(190, 234, 78, 0.3);\n }\n\n .progress__bar {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 100%;\n transform-origin: left center;\n }\n\n .progress__bar-inner {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n background: #beea4e;\n }\n\n .progress__bar--primary {\n left: -145.166611%;\n }\n\n .progress--loading .progress__bar--primary {\n animation: progress-primary-translate 2s infinite linear;\n }\n\n .progress--loading .progress__bar--primary .progress__bar-inner {\n animation: progress-primary-scale 2s infinite linear;\n }\n\n .progress__bar--secondary {\n left: -54.888891%;\n }\n\n .progress--loading .progress__bar--secondary {\n animation: progress-secondary-translate 2s infinite linear;\n }\n\n .progress--loading .progress__bar--secondary .progress__bar-inner {\n animation: progress-secondary-scale 2s infinite linear;\n }\n\n @keyframes progress-primary-translate {\n 0% {\n transform: translateX(0);\n }\n 20% {\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n transform: translateX(0);\n }\n 59.15% {\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n transform: translateX(83.67142%);\n }\n 100% {\n transform: translateX(200.611057%);\n }\n }\n\n @keyframes progress-primary-scale {\n 0% {\n transform: scaleX(0.08);\n }\n 36.65% {\n animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n transform: scaleX(0.08);\n }\n 69.15% {\n animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n transform: scaleX(0.661479);\n }\n 100% {\n transform: scaleX(0.08);\n }\n }\n\n @keyframes progress-secondary-translate {\n 0% {\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n transform: translateX(0);\n }\n 25% {\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n transform: translateX(37.651913%);\n }\n 48.35% {\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n transform: translateX(84.386165%);\n }\n 100% {\n transform: translateX(160.277782%);\n }\n }\n\n @keyframes progress-secondary-scale {\n 0% {\n animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n transform: scaleX(0.08);\n }\n 19.15% {\n animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n transform: scaleX(0.457104);\n }\n 44.15% {\n animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n transform: scaleX(0.72796);\n }\n 100% {\n transform: scaleX(0.08);\n }\n }\n `;\n__decorate([\n state()\n], KRScaffold.prototype, \"navItemsExpanded\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"navQuery\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"activeNavItemId\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"isNavScrolled\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"isNavOpened\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"isEditing\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"isUserMenuOpen\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"pref\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"draggedNavItemId\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"navItemDropTargetId\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"navItemDropPosition\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"pendingRequests\", void 0);\n__decorate([\n property({ type: String })\n], KRScaffold.prototype, \"logo\", void 0);\n__decorate([\n property({ type: String })\n], KRScaffold.prototype, \"title\", void 0);\n__decorate([\n property({ type: String, attribute: 'home-url' })\n], KRScaffold.prototype, \"homeUrl\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRScaffold.prototype, \"scheme\", void 0);\n__decorate([\n property({ type: Array })\n], KRScaffold.prototype, \"nav\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'nav-icons-displayed', reflect: true })\n], KRScaffold.prototype, \"navIconsDisplayed\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'nav-expanded' })\n], KRScaffold.prototype, \"navExpanded\", void 0);\n__decorate([\n property({ type: Object })\n], KRScaffold.prototype, \"user\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRScaffold.prototype, \"subbar\", void 0);\n__decorate([\n property({ type: Array })\n], KRScaffold.prototype, \"breadcrumbs\", void 0);\nKRScaffold = __decorate([\n customElement('kr-scaffold')\n], KRScaffold);\nexport { KRScaffold };\n//# sourceMappingURL=scaffold.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * Secondary navigation component for screens within the scaffold.\n * Provides a simple nav drawer for sub-navigation within a page/screen.\n * Typically used when viewing details of a specific entity (e.g., Company, Contact).\n *\n * ## Usage\n * ```html\n * <kr-screen-nav\n * title=\"Acme Corporation\"\n * subtitle=\"Company\"\n * backUrl=\"/crm/companies\"\n * .navItems=${[\n * { id: 'overview', label: 'Overview', url: '/companies/123/overview' },\n * { id: 'contacts', label: 'Contacts', url: '/companies/123/contacts' },\n * { id: 'activity', label: 'Activity', url: '/companies/123/activity' },\n * ]}\n * activeId=\"overview\"\n * >\n * <div>Screen content here</div>\n * </kr-screen-nav>\n * ```\n *\n * @slot - The main screen content\n *\n * @property {string} title - Main title (e.g., entity name like \"Acme Corporation\")\n * @property {string} subtitle - Subtitle/label (e.g., entity type like \"Company\")\n * @property {string} backUrl - URL to navigate back to (e.g., the table/list view)\n * @property {KRScreenNavItem[]} navItems - Navigation items as JSON array\n * @property {string} activeId - Currently active item ID\n */\nlet KRScreenNav = class KRScreenNav extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Main title (e.g., entity name like \"Acme Corporation\")\n */\n this.title = '';\n /**\n * Subtitle/label (e.g., entity type like \"Company\")\n */\n this.subtitle = '';\n /**\n * URL to navigate back to (e.g., the table/list view)\n */\n this.backUrl = '';\n /**\n * Navigation items\n */\n this.navItems = [];\n /**\n * Currently active item ID\n */\n this.activeId = '';\n }\n /**\n * Handles click events on navigation items.\n *\n * Dispatches a cancelable `nav-item-click` custom event.\n * If a listener calls `preventDefault()` on the custom event, native browser\n * navigation is prevented. Otherwise, the default `<a href>` navigation\n * proceeds normally.\n *\n * The `@krubble/angular` package provides `KRScreenNavDirective` which\n * automatically listens for this event and handles navigation using\n * Angular's router.\n *\n * @param e - The original click event\n * @param item - The nav item that was clicked\n */\n handleNavItemClick(e, item) {\n const navEvent = new CustomEvent('nav-item-click', {\n detail: { item },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(navEvent);\n // If a listener called preventDefault(), prevent the native navigation\n if (navEvent.defaultPrevented) {\n e.preventDefault();\n }\n }\n /**\n * Updates the active nav item based on the current URL.\n * Called automatically by `KRScreenNavDirective` on Angular route changes.\n */\n updateActiveNavItem() {\n const currentPath = window.location.pathname;\n const activeItem = this.navItems.find(item => {\n if (!item.url)\n return false;\n // Handle both absolute and relative URLs\n if (item.url.startsWith('./')) {\n const segment = item.url.replace(/^\\.\\//, '');\n return currentPath.endsWith('/' + segment);\n }\n return currentPath === item.url || currentPath.startsWith(item.url + '/');\n });\n if (activeItem) {\n this.activeId = activeItem.id;\n }\n }\n render() {\n return html `\n <nav class=\"nav\">\n ${this.title ? html `\n <div class=\"nav-header\">\n <div class=\"nav-header__text\">\n ${this.subtitle ? html `<div class=\"nav-header__subtitle\">${this.subtitle}</div>` : nothing}\n <div class=\"nav-header__title\">${this.title}</div>\n </div>\n </div>\n ` : nothing}\n <div class=\"nav-content\">\n <div class=\"nav-items\">\n ${this.navItems.map((item) => html `\n <a\n class=\"nav-item ${item.id === this.activeId ? 'nav-item--active' : ''}\"\n href=${item.url || '#'}\n @click=${(e) => this.handleNavItemClick(e, item)}\n >\n ${item.label}\n </a>\n `)}\n </div>\n </div>\n </nav>\n <main class=\"content\">\n <div class=\"content__main\">\n <slot></slot>\n </div>\n <!--<div class=\"breadcrumbs\">\n <a href=\"/crm\">CRM</a>\n <span class=\"breadcrumbs__separator\">/</span>\n <a href=\"/crm/companies\">Companies</a>\n <span class=\"breadcrumbs__separator\">/</span>\n <span class=\"breadcrumbs__current\">Acme Corporation</span>\n </div>-->\n </main>\n `;\n }\n};\nKRScreenNav.styles = css `\n :host {\n display: flex;\n height: 100%;\n }\n\n .nav {\n width: 200px;\n background: #F3F7FC;\n //border-right: 1px solid #000000;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n }\n\n .nav-header {\n padding: 20px 16px 16px;\n }\n\n .nav-header__text {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .nav-header__title {\n font-size: 16px;\n font-weight: 600;\n color: #111827;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.3;\n }\n\n .nav-header__subtitle {\n font-size: 12px;\n font-weight: 400;\n color: rgb(0 0 0 / 70%);\n line-height: 1;\n }\n\n .nav-content {\n flex: 1;\n overflow-y: auto;\n padding: 0 0 0.75rem;\n }\n\n .nav-items {\n display: flex;\n flex-direction: column;\n padding: 0 8px;\n }\n\n .nav-item {\n display: block;\n padding: 0 12px;\n height: 40px;\n line-height: 40px;\n letter-spacing: 0.13px;\n color: rgb(32, 33, 36);\n text-decoration: none;\n font-size: 13px;\n font-weight: 500;\n border-radius: 8px;\n transition: all 0.15s ease;\n }\n\n .nav-item:hover {\n background: rgba(0, 0, 0, 0.04);\n color: #163052;\n }\n\n .nav-item--active {\n background: rgba(22, 48, 82, 0.08);\n color: #163052;\n font-weight: 600;\n }\n\n .content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n }\n\n .breadcrumbs {\n height: 32px;\n padding: 0 1rem;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6b7280;\n //background: #f9fafb;\n background: #beea4e;\n border-top: 1px solid #e5e7eb;\n flex-shrink: 0;\n }\n\n .breadcrumbs a {\n //color: #6b7280;\n color: #10172a;\n font-size: 13px;\n font-weight: 600;\n text-decoration: none;\n }\n\n .breadcrumbs a:hover {\n color: #111827;\n text-decoration: underline;\n }\n\n .breadcrumbs__separator {\n color: #d1d5db;\n }\n\n .breadcrumbs__current {\n color: #111827;\n font-weight: 500;\n }\n\n .content__main {\n flex: 1;\n overflow-y: auto;\n }\n `;\n__decorate([\n property({ type: String })\n], KRScreenNav.prototype, \"title\", void 0);\n__decorate([\n property({ type: String })\n], KRScreenNav.prototype, \"subtitle\", void 0);\n__decorate([\n property({ type: String })\n], KRScreenNav.prototype, \"backUrl\", void 0);\n__decorate([\n property({ type: Array })\n], KRScreenNav.prototype, \"navItems\", void 0);\n__decorate([\n property({ type: String })\n], KRScreenNav.prototype, \"activeId\", void 0);\nKRScreenNav = __decorate([\n customElement('kr-screen-nav')\n], KRScreenNav);\nexport { KRScreenNav };\n//# sourceMappingURL=screen-nav.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * Detail screen component for viewing/editing entity details.\n * Displays a form-like layout with labeled fields centered in a single column.\n *\n * ## Usage\n * ```html\n * <kr-screen-detail title=\"Company Details\">\n * <kr-button slot=\"actions\">Save</kr-button>\n * <kr-text-field label=\"Company Name\" value=\"Acme Corporation\"></kr-text-field>\n * <kr-text-field label=\"Industry\" value=\"Technology\"></kr-text-field>\n * <kr-text-field label=\"Website\" value=\"https://acme.com\"></kr-text-field>\n * </kr-screen-detail>\n * ```\n *\n * @slot - Form fields and content (centered, max-width 480px)\n * @slot actions - Action buttons displayed in the header on the right\n *\n * @property {string} title - Section title (e.g., \"Company Details\")\n */\nlet KRScreenDetail = class KRScreenDetail extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Section title\n */\n this.title = '';\n }\n render() {\n return html `\n <div class=\"header\">\n <h2 class=\"header__title\">${this.title}</h2>\n <div class=\"header__actions\">\n <slot name=\"actions\"></slot>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"content__inner\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n};\nKRScreenDetail.styles = css `\n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n\n .header {\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 1.5rem;\n background: #ffffff;\n border-bottom: 1px solid #e5e7eb;\n flex-shrink: 0;\n }\n\n .header__title {\n font-size: 18px;\n font-weight: 600;\n color: #111827;\n margin: 0;\n }\n\n .header__actions {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .content {\n flex: 1;\n overflow-y: auto;\n padding: 1.5rem;\n display: flex;\n justify-content: center;\n }\n\n .content__inner {\n width: 100%;\n max-width: 700px;\n }\n `;\n__decorate([\n property({ type: String })\n], KRScreenDetail.prototype, \"title\", void 0);\nKRScreenDetail = __decorate([\n customElement('kr-screen-detail')\n], KRScreenDetail);\nexport { KRScreenDetail };\n//# sourceMappingURL=screen-detail.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n/**\n * Secondary bar component that sits below the main app bar.\n *\n * @slot - Content to display in the subbar (right side)\n */\nlet KRSubbar = class KRSubbar extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Array of breadcrumb items to display\n */\n this.breadcrumbs = [];\n /**\n * Whether to show the menu icon\n */\n this.menu = false;\n }\n _handleMenuClick() {\n this.dispatchEvent(new CustomEvent('menu-click', { bubbles: true, composed: true }));\n }\n /**\n * Handles click on a breadcrumb link.\n * Dispatches a cancelable event so SPA routers can intercept.\n */\n _handleBreadcrumbClick(e, crumb, isCurrent) {\n // Don't navigate if it's the current/last breadcrumb\n if (isCurrent || !crumb.url) {\n e.preventDefault();\n return;\n }\n const breadcrumbEvent = new CustomEvent('breadcrumb-click', {\n detail: { breadcrumb: crumb },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(breadcrumbEvent);\n // If a listener called preventDefault(), prevent the native navigation\n if (breadcrumbEvent.defaultPrevented) {\n e.preventDefault();\n }\n }\n render() {\n return html `\n ${this.menu ? html `\n <div class=\"menu\" @click=${this._handleMenuClick}>\n <svg class=\"menu__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"></line>\n <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"></line>\n <line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\"></line>\n </svg>\n </div>\n ` : nothing}\n <div class=\"breadcrumbs\">\n ${this.breadcrumbs.map((crumb, index) => {\n const isCurrent = index === this.breadcrumbs.length - 1;\n return html `\n ${index > 0 ? html `<span class=\"breadcrumb-separator\">/</span>` : ''}\n <a\n class=${classMap({ 'breadcrumb': true, 'breadcrumb--current': isCurrent })}\n href=${crumb.url || ''}\n @click=${(e) => this._handleBreadcrumbClick(e, crumb, isCurrent)}\n >${crumb.label}</a>\n `;\n })}\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n\n `;\n }\n};\nKRSubbar.styles = css `\n :host {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n height: 40px;\n background: #E2E9F6;\n border-bottom: 1px solid rgb(229, 229, 228);\n align-items: center;\n padding: 0 16px;\n width: 100%;\n }\n\n .breadcrumbs {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n flex: 1;\n }\n\n .breadcrumb {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n font-size: 13px;\n }\n\n .breadcrumb:hover {\n text-decoration: underline;\n }\n\n .breadcrumb--current {\n cursor: default;\n }\n\n .breadcrumb--current:hover {\n text-decoration: none;\n }\n\n .breadcrumb-separator {\n color: #9ca3af;\n font-size: 12px;\n }\n\n .content {\n display: flex;\n align-items: center;\n margin-left: auto;\n }\n\n .menu {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n cursor: pointer;\n }\n\n .menu__icon {\n width: 18px;\n height: 18px;\n }\n `;\n__decorate([\n property({ type: Array })\n], KRSubbar.prototype, \"breadcrumbs\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSubbar.prototype, \"menu\", void 0);\nKRSubbar = __decorate([\n customElement('kr-subbar')\n], KRSubbar);\nexport { KRSubbar };\n//# sourceMappingURL=subbar.js.map"],"names":["t","e","s","o","r","n","i","S","c","h","a","l","p","d","u","f","b","y","__decorate","this","LitElement","html","nothing","classMap","unsafeHTML","css","property","state","customElement"],"mappings":"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AAC;AACjE,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC;AACjC;AACA;AACA,QAAQ,CAAC,GAAGC,CAAO;;AAEnB;AACA,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;;AAE/B;;AAEA;AACA,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC/C;AACA;AACA;AACA,wEAAwE,EAAE,IAAI,CAAC,eAAe,CAAC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC;AACL,IAAI;AACJ;AACA,OAAO,CAAC,MAAM,GAAGG,GAAG,CAAC;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACHP,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrCR,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;AAC5B,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrCR,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE;AACzD,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AAC5CR,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,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AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACHP,YAAU,CAAC;AACX,IAAIS,CAAK;AACT,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;AACpDT,YAAU,CAAC;AACX,IAAIS,CAAK;AACT,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AAC5CT,YAAU,CAAC;AACX,IAAIS,CAAK;AACT,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;AACnDT,YAAU,CAAC;AACX,IAAIS,CAAK;AACT,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;AACjDT,YAAU,CAAC;AACX,IAAIS,CAAK;AACT,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AAC/CT,YAAU,CAAC;AACX,IAAIS,CAAK;AACT,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;AAC7CT,YAAU,CAAC;AACX,IAAIS,CAAK;AACT,CAAC,EAA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GAAG;AACxC,yBAAyB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC;AAClE;AACA,kBAAkB,EAAE,IAAI,CAAC,KAAK;AAC9B;AACA,cAAc,CAAC,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC;AACL,IAAI;AACJ;AACA,WAAW,CAAC,MAAM,GAAGI,GAAG,CAAC;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACHP,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AAC1CR,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AAC7CR,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
|
|
1
|
+
{"version":3,"file":"krubble-app.bundled.js","sources":["../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-element/lit-element.js","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/state.js","../../../node_modules/lit-html/directive.js","../../../node_modules/lit-html/directives/class-map.js","../../../node_modules/lit-html/directives/unsafe-html.js","shell.js","scaffold/nav-item-edit.js","scaffold.js","screen-nav.js","screen-detail.js","subbar.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{notEqual as t,defaultConverter as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:e,reflect:!1,hasChanged:t},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,!0,r)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,!0,r)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter(s=>t[s]).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter(t=>\"\"!==t)));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{directive as r,Directive as s,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends s{constructor(i){if(super(i),this.it=t,i.type!==n.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=r(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\n/**\n * Global shell component with app bar for app switching.\n *\n * The shell provides a horizontal app bar across the top of the viewport containing:\n * - Logo/home link on the left\n * - App switcher icons in the middle\n * - User avatar/menu on the right\n *\n * This allows individual apps (using kr-scaffold) to utilize the full width\n * of the browser window while maintaining consistent global navigation.\n *\n * @slot - The main content (typically kr-scaffold with the app)\n *\n * @property {string} logo - URL for the logo image\n * @property {KRApp[]} apps - Available applications for the switcher\n * @property {string} activeAppId - ID of the currently active app\n * @property {KRShellUser} user - User profile data\n * @property {KRShellMenuItem[]} menuItems - Custom menu items for user menu\n *\n * @fires app-click - When an app icon is clicked. Detail: { app: KRApp }\n * @fires menu-item-click - When a menu item is clicked. Detail: { item: KRShellMenuItem }\n * @fires logout - When logout is clicked\n */\nlet KRShell = class KRShell extends LitElement {\n constructor() {\n super(...arguments);\n this.logo = 'https://s3.amazonaws.com/kodariscom/kodariscom/content/website/kodaris-logo-icon-light-53.png';\n this.apps = [];\n this.activeAppId = '';\n this.user = null;\n this.menuItems = [];\n this.isUserMenuOpen = false;\n this.isAppsMenuOpen = false;\n this.pendingRequests = 0;\n this.originalFetch = null;\n this.originalXhrOpen = null;\n // Default icons\n this.defaultLogoutIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17 7l-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5zM4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4V5z\"/></svg>';\n this.appsGridIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"/></svg>';\n this.closeIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>';\n }\n connectedCallback() {\n super.connectedCallback();\n this.installFetchInterceptor();\n // Hide the default Chatlio close button (we use our own custom button)\n if (!document.getElementById('chatlio-widget-styles')) {\n const style = document.createElement('style');\n style.id = 'chatlio-widget-styles';\n style.textContent = `\n .chatlio-title-bar {\n display: none !important;\n }\n \n .chatlio-widget-body {\n bottom: 36px !important;\n }\n `;\n document.head.appendChild(style);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.uninstallFetchInterceptor();\n }\n /**\n * Installs global interceptors for fetch and XMLHttpRequest to track pending HTTP requests.\n * Updates `pendingRequests` state when requests start/complete.\n */\n installFetchInterceptor() {\n if (this.originalFetch)\n return;\n const shell = this;\n // Intercept fetch\n this.originalFetch = window.fetch.bind(window);\n const originalFetch = this.originalFetch;\n window.fetch = function (...args) {\n shell.pendingRequests++;\n return originalFetch(...args).finally(() => {\n shell.pendingRequests--;\n });\n };\n // Intercept XMLHttpRequest\n this.originalXhrOpen = XMLHttpRequest.prototype.open;\n const originalXhrOpen = this.originalXhrOpen;\n XMLHttpRequest.prototype.open = function (method, url, async = true, username, password) {\n shell.pendingRequests++;\n this.addEventListener('loadend', () => {\n shell.pendingRequests--;\n }, { once: true });\n return originalXhrOpen.call(this, method, url, async, username, password);\n };\n }\n /**\n * Restores the original fetch and XMLHttpRequest functions.\n */\n uninstallFetchInterceptor() {\n if (this.originalFetch) {\n window.fetch = this.originalFetch;\n this.originalFetch = null;\n }\n if (this.originalXhrOpen) {\n XMLHttpRequest.prototype.open = this.originalXhrOpen;\n this.originalXhrOpen = null;\n }\n }\n handleLogoClick() {\n this.dispatchEvent(new CustomEvent('logo-click', {\n bubbles: true,\n composed: true,\n }));\n }\n toggleUserMenu() {\n this.isUserMenuOpen = !this.isUserMenuOpen;\n this.isAppsMenuOpen = false;\n }\n closeUserMenu() {\n this.isUserMenuOpen = false;\n }\n toggleAppsMenu() {\n this.isAppsMenuOpen = !this.isAppsMenuOpen;\n this.isUserMenuOpen = false;\n }\n closeAppsMenu() {\n this.isAppsMenuOpen = false;\n }\n handleMenuItemClick(item) {\n this.closeUserMenu();\n this.dispatchEvent(new CustomEvent('menu-item-click', {\n detail: { item },\n bubbles: true,\n composed: true,\n }));\n }\n handleLogout() {\n this.closeUserMenu();\n this.dispatchEvent(new CustomEvent('logout', {\n bubbles: true,\n composed: true,\n }));\n }\n handleChatClick() {\n // Toggle Chatlio widget\n if (typeof window._chatlio !== 'undefined') {\n window._chatlio.showOrHide();\n }\n }\n renderAppsMenu() {\n return html `\n <div class=\"appbar-apps\">\n ${this.isAppsMenuOpen ? html `\n <div class=\"menu-backdrop\" @click=${this.closeAppsMenu}></div>\n ` : nothing}\n\n <button\n class=${classMap({\n 'appbar-apps-btn': true,\n 'appbar-apps-btn--open': this.isAppsMenuOpen,\n })}\n @click=${this.toggleAppsMenu}\n >\n <span class=\"appbar-apps-btn__icon\">${unsafeHTML(this.appsGridIcon)}</span>\n </button>\n\n <div class=${classMap({\n 'appbar-apps-menu': true,\n 'appbar-apps-menu--open': this.isAppsMenuOpen,\n })}>\n <div class=\"appbar-apps-menu__header\">\n <h2 class=\"appbar-apps-menu__title\">Applications</h2>\n <button class=\"appbar-apps-menu__close\" @click=${this.closeAppsMenu}>\n ${unsafeHTML(this.closeIcon)}\n </button>\n </div>\n <div class=\"appbar-apps-menu__content\">\n <div class=\"appbar-apps-menu__list\">\n ${this.apps.map((app) => html `\n <a\n class=\"appbar-apps-menu__item\"\n href=${app.url}\n @click=${(e) => {\n this.closeAppsMenu();\n const event = new CustomEvent('app-click', {\n detail: { app },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(event);\n if (event.defaultPrevented) {\n e.preventDefault();\n }\n }}\n >\n ${app.name}\n </a>\n `)}\n </div>\n </div>\n </div>\n </div>\n `;\n }\n renderUserMenu() {\n if (!this.user)\n return nothing;\n const initials = this.user.name\n .split(' ')\n .map((part) => part[0])\n .join('')\n .toUpperCase()\n .slice(0, 2);\n return html `\n <div class=\"appbar-user\">\n ${this.isUserMenuOpen ? html `\n <div class=\"menu-backdrop\" @click=${this.closeUserMenu}></div>\n ` : nothing}\n\n <div\n class=\"appbar-user__avatar\"\n @click=${this.toggleUserMenu}\n >\n ${this.user.avatar\n ? html `<img src=${this.user.avatar} alt=${this.user.name} />`\n : initials}\n </div>\n\n <div class=${classMap({\n 'appbar-user__menu': true,\n 'appbar-user__menu--open': this.isUserMenuOpen,\n })}>\n <div class=\"appbar-user__header\">\n <p class=\"appbar-user__name\">${this.user.name}</p>\n ${this.user.email ? html `\n <p class=\"appbar-user__email\">${this.user.email}</p>\n ` : nothing}\n </div>\n\n ${this.menuItems.map((item) => item.divider\n ? html `<div class=\"appbar-user__menu-divider\"></div>`\n : html `\n <button\n class=\"appbar-user__menu-item\"\n @click=${() => this.handleMenuItemClick(item)}\n >\n ${item.icon ? html `\n <span class=\"appbar-user__menu-item__icon\">${unsafeHTML(item.icon)}</span>\n ` : nothing}\n ${item.label}\n </button>\n `)}\n\n ${this.menuItems.length > 0 ? html `\n <div class=\"appbar-user__menu-divider\"></div>\n ` : nothing}\n\n <button\n class=\"appbar-user__menu-item appbar-user__menu-item--danger\"\n @click=${this.handleLogout}\n >\n <span class=\"appbar-user__menu-item__icon\">${unsafeHTML(this.defaultLogoutIcon)}</span>\n Sign Out\n </button>\n </div>\n </div>\n `;\n }\n render() {\n return html `\n <div class=${classMap({\n 'progress': true,\n 'progress--loading': this.pendingRequests > 0,\n })}>\n <div class=\"progress__track\"></div>\n <div class=\"progress__bar progress__bar--primary\">\n <span class=\"progress__bar-inner\"></span>\n </div>\n <div class=\"progress__bar progress__bar--secondary\">\n <span class=\"progress__bar-inner\"></span>\n </div>\n </div>\n\n <header class=\"appbar\">\n <!-- Logo -->\n ${this.logo ? html `\n <div class=\"appbar-logo\" @click=${this.handleLogoClick}>\n <img src=${this.logo} alt=\"Home\" />\n </div>\n <div class=\"appbar-divider\"></div>\n ` : nothing}\n\n <!-- App Switcher -->\n ${this.renderAppsMenu()}\n\n <div class=\"appbar-spacer\"></div>\n\n <!-- User -->\n ${this.renderUserMenu()}\n </header>\n\n<!-- <div class=\"subbar\">-->\n<!-- <nav class=\"breadcrumbs\">-->\n<!-- <a href=\"#\">Home</a>-->\n<!-- <span class=\"breadcrumbs__separator\">/</span>-->\n<!-- <a href=\"#\">Companies</a>-->\n<!-- <span class=\"breadcrumbs__separator\">/</span>-->\n<!-- <span>Acme Corp</span>-->\n<!-- </nav>-->\n<!-- </div>-->\n\n <main class=\"main\">\n <slot></slot>\n </main>\n \n <footer class=\"footer\">\n <div class=\"footer-content\">\n <div class=\"footer-info\">\n <span>© ${new Date().getFullYear()} Kodaris. All Rights Reserved.</span>\n </div>\n <a class=\"footer-link\" target=\"_blank\" href=\"https://www.kodaris.com/content/privacy-policy\">Privacy</a>\n <a class=\"footer-link\" target=\"_blank\" href=\"https://www.kodaris.com/content/terms-use\">Terms</a>\n <button class=\"footer-chat\" data-chatlio-widget-button @click=${this.handleChatClick}>\n <span class=\"footer-chat__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-messages-square-icon lucide-messages-square\">\n <path d=\"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"/><path d=\"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1\"/>\n </svg>\n </span>\n Chat with us\n </button>\n </div>\n </footer>\n `;\n }\n};\nKRShell.styles = css `\n :host {\n display: flex;\n flex-direction: column;\n height: 100vh;\n width: 100vw;\n --kr-shell-bar-height: 48px;\n --kr-shell-bar-bg: #10172a; /* matches scaffold nav-bg */\n /* --kr-shell-bar-bg: #0a0f1a; */ /* original darker bg */\n --kr-shell-bar-border: rgba(255, 255, 255, 0.08);\n --kr-shell-icon-size: 36px;\n --kr-shell-icon-color: rgba(255, 255, 255, 0.7);\n --kr-shell-icon-color-hover: rgba(255, 255, 255, 1);\n --kr-shell-icon-color-active: #beea4e;\n --kr-shell-icon-bg-hover: rgba(255, 255, 255, 0.08);\n --kr-shell-icon-bg-active: rgba(190, 234, 78, 0.15);\n --kr-shell-tooltip-bg: #1a2332;\n --kr-shell-tooltip-color: #ffffff;\n --kr-shell-menu-bg: #1a2332;\n --kr-shell-menu-border: rgba(255, 255, 255, 0.1);\n --kr-shell-menu-hover: rgba(255, 255, 255, 0.08);\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n /* App Bar */\n .appbar {\n height: var(--kr-shell-bar-height);\n background: var(--kr-shell-bar-bg);\n border-bottom: 1px solid var(--kr-shell-bar-border);\n display: flex;\n align-items: center;\n padding: 0 16px;\n flex-shrink: 0;\n z-index: 100;\n }\n\n /* Logo */\n .appbar-logo {\n cursor: pointer;\n margin-right: 8px;\n }\n\n .appbar-logo img {\n display: block;\n max-width: 24px;\n max-height: 24px;\n object-fit: contain;\n }\n\n /* Divider */\n .appbar-divider {\n width: 1px;\n height: 24px;\n background: #ffffff4f;\n margin: 0 10px;\n }\n\n /* Apps Button */\n .appbar-apps {\n position: relative;\n }\n\n .appbar-apps-btn {\n width: var(--kr-shell-icon-size);\n height: var(--kr-shell-icon-size);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n cursor: pointer;\n color: var(--kr-shell-icon-color);\n background: transparent;\n border: none;\n padding: 0;\n transition: all 0.15s ease;\n }\n\n .appbar-apps-btn:hover {\n color: var(--kr-shell-icon-color-hover);\n background: var(--kr-shell-icon-bg-hover);\n }\n\n .appbar-apps-btn--open {\n color: var(--kr-shell-icon-color-hover);\n background: var(--kr-shell-icon-bg-hover);\n }\n\n .appbar-apps-btn__icon {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n }\n\n .appbar-apps-btn__icon svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n\n /* Apps Megamenu */\n .appbar-apps-menu {\n position: absolute;\n left: 0;\n top: 100%;\n margin-top: 6px;\n min-width: 320px;\n min-height: 90vh;\n max-height: calc(100vh - var(--kr-shell-bar-height));\n background: #10172a;\n border: 1px solid var(--kr-shell-menu-border);\n border-top: none;\n border-radius: 0 0 8px 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);\n z-index: 1000;\n opacity: 0;\n visibility: hidden;\n transform: translateY(-10px);\n transition: all 0.15s ease;\n overflow-y: auto;\n }\n\n .appbar-apps-menu--open {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n }\n\n .appbar-apps-menu__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 16px 16px 24px;\n border-bottom: 1px solid var(--kr-shell-menu-border);\n }\n\n .appbar-apps-menu__title {\n font-size: 16px;\n font-weight: 500;\n color: #ffffff;\n margin: 0;\n }\n\n .appbar-apps-menu__close {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n color: rgba(255, 255, 255, 0.6);\n cursor: pointer;\n border-radius: 6px;\n transition: all 0.15s ease;\n }\n\n .appbar-apps-menu__close:hover {\n background: var(--kr-shell-menu-hover);\n color: #ffffff;\n }\n\n .appbar-apps-menu__close svg {\n width: 24px;\n height: 24px;\n fill: #ffffff;\n }\n\n .appbar-apps-menu__content {\n padding: 16px 8px;\n }\n\n .appbar-apps-menu__list {\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-width: 320px;\n }\n\n .appbar-apps-menu__item {\n display: block;\n width: 100%;\n padding: 12px 16px;\n background: none;\n border: none;\n color: #ffffff;\n font-size: 14px;\n font-family: inherit;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n border-radius: 6px;\n transition: all 0.15s ease;\n }\n\n .appbar-apps-menu__item:hover {\n background: var(--kr-shell-menu-hover);\n }\n\n .appbar-apps-menu__item--active,\n .appbar-apps-menu__item--active:hover {\n color: var(--kr-shell-icon-color-active);\n }\n\n /* Spacer to push user to the right */\n .appbar-spacer {\n flex: 1;\n }\n\n /* User Section */\n .appbar-user {\n position: relative;\n margin-left: 8px;\n }\n\n .appbar-user__avatar {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: #beea4e;\n color: #0a0f1a;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n font-weight: 600;\n cursor: pointer;\n overflow: hidden;\n border: 2px solid transparent;\n transition: border-color 0.15s ease;\n }\n\n .appbar-user__avatar:hover {\n border-color: rgba(255, 255, 255, 0.3);\n }\n\n .appbar-user__avatar img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n /* User Menu */\n .appbar-user__menu {\n position: absolute;\n right: 0;\n top: calc(100% + 8px);\n min-width: 200px;\n background: var(--kr-shell-menu-bg);\n border: 1px solid var(--kr-shell-menu-border);\n border-radius: 8px;\n padding: 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);\n z-index: 1000;\n opacity: 0;\n visibility: hidden;\n transform: translateY(-8px);\n transition: all 0.15s ease;\n }\n\n .appbar-user__menu--open {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n }\n\n .appbar-user__header {\n padding: 8px 12px 12px;\n border-bottom: 1px solid var(--kr-shell-menu-border);\n margin-bottom: 8px;\n }\n\n .appbar-user__name {\n font-size: 14px;\n font-weight: 600;\n color: #ffffff;\n margin: 0 0 2px;\n }\n\n .appbar-user__email {\n font-size: 12px;\n color: rgba(255, 255, 255, 0.6);\n margin: 0;\n }\n\n .appbar-user__menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 12px;\n background: none;\n border: none;\n color: rgba(255, 255, 255, 0.8);\n font-size: 13px;\n font-family: inherit;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n transition: all 0.15s ease;\n }\n\n .appbar-user__menu-item:hover {\n background: var(--kr-shell-menu-hover);\n color: #ffffff;\n }\n\n .appbar-user__menu-item--danger {\n color: #f87171;\n }\n\n .appbar-user__menu-item--danger:hover {\n background: rgba(248, 113, 113, 0.1);\n color: #f87171;\n }\n\n .appbar-user__menu-item__icon {\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n\n .appbar-user__menu-item__icon svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n\n .appbar-user__menu-divider {\n height: 1px;\n background: var(--kr-shell-menu-border);\n margin: 8px 0;\n }\n\n /* Secondary App Bar */\n .subbar {\n height: 30px;\n background: #364365;\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n display: flex;\n align-items: center;\n padding: 0 16px;\n flex-shrink: 0;\n }\n\n .breadcrumbs {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n color: #ffffff;\n }\n\n .breadcrumbs a {\n color: #ffffff;\n text-decoration: none;\n }\n\n .breadcrumbs a:hover {\n text-decoration: underline;\n }\n\n .breadcrumbs__separator {\n color: #ffffff;\n }\n\n /* Main Content */\n .main {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n position: relative;\n }\n\n /* Click outside overlay */\n .menu-backdrop {\n position: fixed;\n inset: 0;\n z-index: 999;\n }\n\n /* Progress bar */\n .progress {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n overflow-x: hidden;\n z-index: 1000;\n display: none;\n }\n\n .progress--loading {\n display: block;\n }\n\n .progress__track {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 100%;\n background: rgb(190 234 78 / 50%); // rgba(190, 234, 78, 0.3);\n }\n\n .progress__bar {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 100%;\n transform-origin: left center;\n }\n\n .progress__bar-inner {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n background: #beea4e;\n }\n\n .progress__bar--primary {\n left: -145.166611%;\n }\n\n .progress--loading .progress__bar--primary {\n animation: progress-primary-translate 2s infinite linear;\n }\n\n .progress--loading .progress__bar--primary .progress__bar-inner {\n animation: progress-primary-scale 2s infinite linear;\n }\n\n .progress__bar--secondary {\n left: -54.888891%;\n }\n\n .progress--loading .progress__bar--secondary {\n animation: progress-secondary-translate 2s infinite linear;\n }\n\n .progress--loading .progress__bar--secondary .progress__bar-inner {\n animation: progress-secondary-scale 2s infinite linear;\n }\n\n @keyframes progress-primary-translate {\n 0% {\n transform: translateX(0);\n }\n 20% {\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n transform: translateX(0);\n }\n 59.15% {\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n transform: translateX(83.67142%);\n }\n 100% {\n transform: translateX(200.611057%);\n }\n }\n\n @keyframes progress-primary-scale {\n 0% {\n transform: scaleX(0.08);\n }\n 36.65% {\n animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n transform: scaleX(0.08);\n }\n 69.15% {\n animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n transform: scaleX(0.661479);\n }\n 100% {\n transform: scaleX(0.08);\n }\n }\n\n @keyframes progress-secondary-translate {\n 0% {\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n transform: translateX(0);\n }\n 25% {\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n transform: translateX(37.651913%);\n }\n 48.35% {\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n transform: translateX(84.386165%);\n }\n 100% {\n transform: translateX(160.277782%);\n }\n }\n\n @keyframes progress-secondary-scale {\n 0% {\n animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n transform: scaleX(0.08);\n }\n 19.15% {\n animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n transform: scaleX(0.457104);\n }\n 44.15% {\n animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n transform: scaleX(0.72796);\n }\n 100% {\n transform: scaleX(0.08);\n }\n }\n\n .footer {\n background: var(--kr-shell-bar-bg);\n border-top: 1px solid var(--kr-shell-bar-border);\n padding: 8px 16px;\n flex-shrink: 0;\n }\n\n .footer-content {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 36px;\n }\n\n .footer-info {\n font-size: 12px;\n color: rgba(255, 255, 255, 0.7);\n }\n \n .footer-link {\n color: rgba(255, 255, 255, 0.7);\n text-decoration: none;\n font-size: 12px;\n }\n\n .footer-link:hover {\n color: #ffffff;\n text-decoration: underline;\n }\n\n .footer-chat {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 14px;\n color: #beea4e;\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 4px;\n font-family: inherit;\n transition: background 0.15s ease;\n }\n\n .footer-chat:hover {\n background: rgba(255, 255, 255, 0.08);\n }\n\n .footer-chat__icon {\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .footer-chat__icon svg {\n width: 100%;\n height: 100%;\n stroke: currentColor;\n }\n `;\n__decorate([\n property({ type: String })\n], KRShell.prototype, \"logo\", void 0);\n__decorate([\n property({ type: Array })\n], KRShell.prototype, \"apps\", void 0);\n__decorate([\n property({ type: String, attribute: 'active-app-id' })\n], KRShell.prototype, \"activeAppId\", void 0);\n__decorate([\n property({ type: Object })\n], KRShell.prototype, \"user\", void 0);\n__decorate([\n property({ type: Array, attribute: 'menu-items' })\n], KRShell.prototype, \"menuItems\", void 0);\n__decorate([\n state()\n], KRShell.prototype, \"isUserMenuOpen\", void 0);\n__decorate([\n state()\n], KRShell.prototype, \"isAppsMenuOpen\", void 0);\n__decorate([\n state()\n], KRShell.prototype, \"pendingRequests\", void 0);\nKRShell = __decorate([\n customElement('kr-shell')\n], KRShell);\nexport { KRShell };\n//# sourceMappingURL=shell.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, state } from 'lit/decorators.js';\nimport '@kodaris/krubble-components';\nlet KRNavItemEdit = class KRNavItemEdit extends LitElement {\n constructor() {\n super(...arguments);\n this.label = '';\n this.icon = '';\n this.url = '';\n this.active = true;\n }\n connectedCallback() {\n super.connectedCallback();\n if (this.data) {\n this.label = this.data.label || '';\n this.icon = this.data.icon || '';\n this.url = this.data.url || '';\n this.active = this.data.active !== false;\n }\n }\n handleLabelInput(e) {\n const textField = e.target;\n this.label = textField.value;\n }\n handleIconInput(e) {\n const textField = e.target;\n this.icon = textField.value;\n }\n handleUrlInput(e) {\n const textField = e.target;\n this.url = textField.value;\n }\n handleActiveChange(e) {\n this.active = e.target.checked;\n }\n handleCancel() {\n this.dialogRef.close(undefined);\n }\n handleSave() {\n this.dialogRef.close({\n label: this.label,\n icon: this.icon || undefined,\n url: this.url || undefined,\n active: this.active,\n });\n }\n handleKeyDown(e) {\n if (e.key === 'Enter') {\n this.handleSave();\n }\n }\n render() {\n return html `\n <h2>Edit Navigation Item</h2>\n\n <div class=\"form-group\">\n <kr-text-field\n label=\"Label\"\n name=\"label\"\n .value=${this.label}\n @input=${this.handleLabelInput}\n @keydown=${this.handleKeyDown}\n placeholder=\"Enter label\"\n ></kr-text-field>\n </div>\n\n <div class=\"form-group\">\n <kr-text-field\n label=\"Icon (emoji or SVG)\"\n name=\"icon\"\n .value=${this.icon}\n @input=${this.handleIconInput}\n @keydown=${this.handleKeyDown}\n placeholder=\"e.g. 📊 or <svg>...</svg>\"\n ></kr-text-field>\n </div>\n\n <div class=\"form-group\">\n <kr-text-field\n label=\"URL\"\n name=\"url\"\n .value=${this.url}\n @input=${this.handleUrlInput}\n @keydown=${this.handleKeyDown}\n placeholder=\"e.g. /ci/my-page or https://...\"\n ></kr-text-field>\n </div>\n\n <div class=\"form-group\">\n <div class=\"checkbox-group\">\n <input\n type=\"checkbox\"\n id=\"active\"\n .checked=${this.active}\n @change=${this.handleActiveChange}\n />\n <label class=\"checkbox-label\" for=\"active\">Visible in navigation</label>\n </div>\n </div>\n\n <div class=\"actions\">\n <button class=\"btn-cancel\" @click=${this.handleCancel}>Cancel</button>\n <button class=\"btn-save\" @click=${this.handleSave}>Save</button>\n </div>\n `;\n }\n};\nKRNavItemEdit.styles = css `\n :host {\n display: block;\n width: 360px;\n padding: 24px;\n color: rgba(255, 255, 255, 0.9);\n\n /* Dark theme for kr-text-field */\n --kr-text-field-label-color: rgba(255, 255, 255, 0.7);\n --kr-text-field-border-color: rgba(255, 255, 255, 0.1);\n --kr-text-field-bg: rgba(255, 255, 255, 0.05);\n --kr-text-field-color: #ffffff;\n --kr-text-field-focus-border-color: #beea4e;\n --kr-text-field-focus-ring-color: rgba(190, 234, 78, 0.1);\n --kr-text-field-placeholder-color: rgba(255, 255, 255, 0.3);\n --kr-text-field-helper-color: rgba(255, 255, 255, 0.5);\n }\n\n h2 {\n margin: 0 0 24px 0;\n font-size: 18px;\n font-weight: 600;\n color: #ffffff;\n }\n\n .form-group {\n margin-bottom: 20px;\n }\n\n .checkbox-group {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n input[type=\"checkbox\"] {\n width: 18px;\n height: 18px;\n accent-color: #beea4e;\n cursor: pointer;\n }\n\n .checkbox-label {\n font-size: 14px;\n color: rgba(255, 255, 255, 0.9);\n cursor: pointer;\n }\n\n .actions {\n display: flex;\n gap: 12px;\n justify-content: flex-end;\n margin-top: 28px;\n }\n\n button {\n padding: 10px 20px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n font-family: inherit;\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .btn-cancel {\n background: rgba(255, 255, 255, 0.05);\n border: 1px solid rgba(255, 255, 255, 0.1);\n color: rgba(255, 255, 255, 0.8);\n }\n\n .btn-cancel:hover {\n background: rgba(255, 255, 255, 0.1);\n color: #ffffff;\n }\n\n .btn-save {\n background: #beea4e;\n border: none;\n color: #10172a;\n }\n\n .btn-save:hover {\n background: #d4f472;\n }\n `;\n__decorate([\n state()\n], KRNavItemEdit.prototype, \"label\", void 0);\n__decorate([\n state()\n], KRNavItemEdit.prototype, \"icon\", void 0);\n__decorate([\n state()\n], KRNavItemEdit.prototype, \"url\", void 0);\n__decorate([\n state()\n], KRNavItemEdit.prototype, \"active\", void 0);\nKRNavItemEdit = __decorate([\n customElement('kr-nav-item-edit')\n], KRNavItemEdit);\nexport { KRNavItemEdit };\n//# sourceMappingURL=nav-item-edit.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { KRContextMenu, KRDialog } from '@kodaris/krubble-components';\nimport { KRHttp } from '@kodaris/krubble-http';\nimport { KRNavItemEdit } from './scaffold/nav-item-edit.js';\n/**\n * Application shell component with nav drawer and main content area.\n *\n * ## Features\n * - Collapsible navigation drawer with hierarchical items (groups and items)\n * - User profile display in footer with customization menu\n * - Edit mode for customizing navigation (rename, reorder, hide items, add custom items)\n * - Drag and drop reordering in edit mode\n * - Persistence of customizations via preference API (global/organization level)\n *\n * ## Nav Customization\n * Users can customize the navigation by clicking their profile and selecting\n * \"Customize Navigation\". This enters edit mode where users can:\n * - Right-click items to edit label, icon, or visibility\n * - Right-click to add new items above/below existing items\n * - Drag and drop to reorder items or move them between groups\n *\n * Customizations are stored globally and apply to all users.\n *\n * ## Preference Storage\n * Preferences are stored as JSON with the following structure:\n * ```json\n * {\n * \"nav\": {\n * \"itemId\": { \"label\": \"Custom Label\", \"icon\": \"...\", \"active\": true, \"order\": 0 },\n * \"custom-123\": { \"type\": \"item\", \"label\": \"New Item\", \"url\": \"/path\", ... }\n * }\n * }\n * ```\n *\n * The `nav` object is a delta - it only contains overrides for existing items\n * or definitions for custom items (prefixed with \"custom-\").\n *\n * ## API Endpoints Used\n * - GET `/api/system/preference/json/scaffold?global=true` - load preferences\n * - POST `/api/system/preference/json/scaffold?global=true` - create new preference\n * - PUT `/api/system/preference/json/scaffold/{uuid}?global=true` - update existing preference\n *\n * @slot - The main content\n *\n * @property {string} logo - URL for the logo image\n * @property {string} title - Title text to display instead of logo\n * @property {'light'|'dark'} scheme - Color scheme: 'light' (default) or 'dark'\n * @property {KRNavItem[]} nav - Navigation items as JSON array\n * @property {KRUser} user - User profile data\n *\n *\n * TODO\n * - Don't hardcode breadcrumbs\n * - Look at renderNormalFooter and renderEditFooter and see if that is what we want to do\n */\nlet KRScaffold = class KRScaffold extends LitElement {\n constructor() {\n super();\n /**\n * Default icon for nav items without an icon (shown at top level)\n */\n this.defaultNavItemIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><circle cx=\"12\" cy=\"12\" r=\"10\"/></svg>';\n this.navItemsExpanded = new Set();\n this.navQuery = '';\n this.activeNavItemId = null;\n this.isNavScrolled = false;\n this.isNavOpened = true;\n this.isEditing = false;\n this.isUserMenuOpen = false;\n this.pref = { nav: {} };\n this.draggedNavItemId = null;\n this.navItemDropTargetId = null;\n this.navItemDropPosition = 'above';\n this.pendingRequests = 0;\n this.originalFetch = null;\n this.originalXhrOpen = null;\n this.navItemDragPreview = null;\n this.navItemDragStartY = 0;\n this.isNavItemDragging = false;\n this.navItemDragExpandTimeout = null;\n this.navInitialized = false;\n this.logo = '';\n this.title = '';\n /**\n * URL to navigate to when clicking the logo/title. Defaults to '/'.\n */\n this.homeUrl = '/';\n this.scheme = 'light';\n this.nav = [];\n this.navIconsDisplayed = false;\n this.navExpanded = false;\n this.user = null;\n /**\n * Whether to show the subbar with menu toggle\n */\n this.subbar = false;\n /**\n * Breadcrumbs to display in the subbar\n */\n this.breadcrumbs = [];\n this.boundHandleMouseMove = this.handleMouseMove.bind(this);\n this.boundHandleMouseUp = this.handleMouseUp.bind(this);\n }\n connectedCallback() {\n super.connectedCallback();\n this.loadPref();\n this.installFetchInterceptor();\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('nav') && this.nav.length > 0) {\n this.updateActiveNavItem();\n if (this.navExpanded && !this.navInitialized) {\n this.navInitialized = true;\n this.getComputedNav()\n .filter(item => item.type === 'group')\n .forEach(group => this.navItemsExpanded.add(group.id));\n }\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.uninstallFetchInterceptor();\n }\n /**\n * Installs global interceptors for fetch and XMLHttpRequest to track pending HTTP requests.\n * Updates `pendingRequests` state when requests start/complete.\n */\n installFetchInterceptor() {\n if (this.originalFetch)\n return;\n const scaffold = this;\n // Intercept fetch\n this.originalFetch = window.fetch.bind(window);\n const originalFetch = this.originalFetch; // Capture in local scope to avoid null reference after uninstall\n window.fetch = function (...args) {\n scaffold.pendingRequests++;\n return originalFetch(...args).finally(() => {\n scaffold.pendingRequests--;\n });\n };\n // Intercept XMLHttpRequest\n this.originalXhrOpen = XMLHttpRequest.prototype.open;\n const originalXhrOpen = this.originalXhrOpen; // Capture in local scope to avoid null reference after uninstall\n XMLHttpRequest.prototype.open = function (method, url, async = true, username, password) {\n scaffold.pendingRequests++;\n this.addEventListener('loadend', () => {\n scaffold.pendingRequests--;\n }, { once: true });\n return originalXhrOpen.call(this, method, url, async, username, password);\n };\n }\n /**\n * Restores the original fetch and XMLHttpRequest functions.\n */\n uninstallFetchInterceptor() {\n if (this.originalFetch) {\n window.fetch = this.originalFetch;\n this.originalFetch = null;\n }\n if (this.originalXhrOpen) {\n XMLHttpRequest.prototype.open = this.originalXhrOpen;\n this.originalXhrOpen = null;\n }\n }\n /**\n * Resolves a navigation URL by prepending the base href.\n *\n * This method is used for:\n * 1. Setting href attributes on anchor elements (so Cmd/Ctrl+click opens correct URL in new tab)\n * 2. Comparing URLs with window.location.pathname in updateActiveNavItem()\n *\n * The original item.url is kept intact (without base href) and passed to Angular\n * via the nav-item-click event. Angular Router expects paths relative to base,\n * so it handles the base href internally.\n *\n * Example with base href \"/operations/\":\n * - item.url = \"/settings\" (used for Angular routing)\n * - resolveUrl(item) = \"/operations/settings\" (used for href and URL comparison)\n */\n resolveUrl(item) {\n if (!item.url)\n return '#';\n // External URLs - return as-is\n if (item.external) {\n return item.url;\n }\n // Remove leading slash from url if present, then combine with base\n const path = item.url.startsWith('/') ? item.url.slice(1) : item.url;\n const baseHref = document.querySelector('base')?.getAttribute('href') || '/';\n const base = baseHref.endsWith('/') ? baseHref : (baseHref + '/');\n return base + path;\n }\n // =========================================================================\n // Navigation Data\n // =========================================================================\n /**\n * Returns the computed navigation as a flat array with preferences applied.\n *\n * Transforms the hierarchical `nav` property into a flat list where each item\n * has a `parentId` reference instead of nested `children`. Merges user\n * preference overrides (label, icon, url, active, order, parentId) and\n * includes any custom items added via the edit dialog.\n *\n * @returns Flat array of nav items with preferences applied\n */\n getComputedNav() {\n const result = [];\n this.nav.forEach((item, index) => {\n const override = this.pref.nav[item.id];\n result.push({\n ...item,\n ...override,\n order: override?.order ?? item.order ?? index,\n parentId: override?.parentId ?? null,\n });\n // Add children if group\n if (item.type === 'group' && item.children) {\n item.children.forEach((child, childIndex) => {\n const childOverride = this.pref.nav[child.id];\n result.push({\n ...child,\n ...childOverride,\n order: childOverride?.order ?? child.order ?? childIndex,\n parentId: childOverride?.parentId !== undefined ? childOverride.parentId : item.id,\n });\n });\n }\n });\n // Add custom items from pref\n Object.entries(this.pref.nav).forEach(([id, item]) => {\n if (id.startsWith('custom') && item.type && item.label) {\n result.push({\n id,\n type: item.type,\n label: item.label,\n icon: item.icon,\n url: item.url,\n active: item.active,\n order: item.order ?? result.length,\n parentId: item.parentId ?? null,\n });\n }\n });\n return result;\n }\n /**\n * Returns nav items for a given parent, filtered and sorted for rendering.\n *\n * Filters the computed nav to items matching the parentId, sorts by order,\n * hides inactive items in normal mode, and applies the search query filter.\n * Groups are shown if their label matches or if they have matching children.\n *\n * @param parentId - The parent ID to filter by (null for top-level items)\n * @returns Filtered and sorted nav items ready for rendering\n */\n getNavItemChildren(parentId) {\n let items = this.getComputedNav()\n .filter(item => item.parentId === parentId)\n .sort((a, b) => a.order - b.order);\n // In normal mode, filter out hidden items\n if (!this.isEditing) {\n items = items.filter(item => item.active !== false);\n }\n // Apply search filter\n if (this.navQuery) {\n const query = this.navQuery.toLowerCase();\n const allItems = this.getComputedNav();\n items = items.filter(item => {\n if (item.type === 'group') {\n // Show group if its label matches OR if it has matching children\n return item.label.toLowerCase().includes(query) || allItems.some(child => child.parentId === item.id &&\n child.active !== false &&\n child.label.toLowerCase().includes(query));\n }\n // Show item if its label matches\n return item.label.toLowerCase().includes(query);\n });\n }\n return items;\n }\n // =========================================================================\n // Navigation Search\n // =========================================================================\n /**\n * Handles search input changes for filtering nav items.\n *\n * When a search query is entered, automatically expands any groups that\n * contain matching children so users can see the results. When the search\n * is cleared, collapses all groups back to their default state.\n *\n * @param e - The input event from the search field\n */\n handleNavQueryChange(e) {\n this.navQuery = e.target.value;\n // Expand all groups when searching so matching children are visible\n // (groups without matching children won't be rendered anyway)\n if (this.navQuery) {\n this.getComputedNav().forEach(item => {\n if (item.type === 'group') {\n this.navItemsExpanded.add(item.id);\n }\n });\n }\n else {\n // Collapse all when search is cleared\n this.navItemsExpanded.clear();\n }\n }\n /**\n * Clears the search query.\n */\n handleNavQueryClear() {\n this.navQuery = '';\n this.navItemsExpanded.clear();\n }\n // =========================================================================\n // Navigation Interaction\n // =========================================================================\n handleMenuClick() {\n this.isNavOpened = !this.isNavOpened;\n }\n /**\n * Handles click on the nav header (logo/title) to navigate home.\n * Dispatches a nav-item-click event so Angular can intercept and route.\n */\n handleNavHeaderClick() {\n // Clear active state since we're going home\n this.activeNavItemId = null;\n const navEvent = new CustomEvent('nav-item-click', {\n detail: { item: { url: this.homeUrl } },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(navEvent);\n // If no listener prevented default, navigate natively\n if (!navEvent.defaultPrevented) {\n window.location.href = this.homeUrl;\n }\n }\n /**\n * Handles scroll on nav content to show/hide header shadow.\n */\n handleNavScroll(e) {\n this.isNavScrolled = e.target.scrollTop > 0;\n }\n /**\n * Toggles the expanded/collapsed state of a nav group with animation.\n * Uses the Web Animations API to animate height transitions.\n * When collapsing, the `nav-group--expanded` class is removed after animation completes.\n * When expanding, the class is added immediately before animation starts.\n *\n * @param itemId - The unique identifier of the nav group to toggle\n */\n toggleNavItem(itemId) {\n const navItem = this.shadowRoot?.querySelector(`.nav-item[data-id=\"${itemId}\"]`);\n const groupEl = navItem?.nextElementSibling;\n if (!groupEl)\n return;\n if (this.navItemsExpanded.has(itemId)) {\n this.navItemsExpanded.delete(itemId);\n groupEl.animate([\n { height: `${groupEl.scrollHeight}px` },\n { height: '0px' }\n ], { duration: 300, easing: 'ease-in-out' }).onfinish = () => {\n groupEl.classList.remove('nav-group--expanded');\n };\n }\n else {\n this.navItemsExpanded.add(itemId);\n groupEl.classList.add('nav-group--expanded');\n groupEl.animate([\n { height: '0px' },\n { height: `${groupEl.scrollHeight}px` }\n ], { duration: 300, easing: 'ease-in-out' });\n }\n this.requestUpdate();\n }\n /**\n * Handles click events on navigation items.\n *\n * For groups, toggles the expanded/collapsed state.\n * For items, dispatches a cancelable `nav-item-click` custom event.\n *\n * If a listener calls `preventDefault()` on the custom event, native browser\n * navigation is prevented. Otherwise, the default `<a href>` navigation\n * proceeds normally.\n *\n * The `@krubble/angular` package provides `KRScaffoldDirective` which\n * automatically listens for this event and handles navigation using\n * Angular's router. Import `KrubbleModule` in your Angular app to enable\n * SPA navigation without page reloads.\n *\n * @param e - The original click event\n * @param item - The nav item that was clicked\n */\n handleNavItemClick(e, item) {\n if (item.type === 'group') {\n this.toggleNavItem(item.id);\n }\n else {\n // Allow Ctrl/Cmd+click and middle-click to open in new tab without SPA navigation\n if (e.ctrlKey || e.metaKey || e.button === 1) {\n return;\n }\n // Set active item immediately on click for instant visual feedback\n this.activeNavItemId = item.id;\n const navEvent = new CustomEvent('nav-item-click', {\n detail: { item },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(navEvent);\n // If a listener called preventDefault(), prevent the native navigation\n // (e.g., SPA router handles navigation)\n if (navEvent.defaultPrevented) {\n e.preventDefault();\n }\n }\n }\n /**\n * Updates the active nav item highlight based on the current URL.\n *\n * Compares the first path segment of `window.location.pathname` with each\n * nav item's URL to find a match. When found, highlights that item and\n * expands its parent group if nested.\n *\n * Called automatically by `KRScaffoldDirective` on Angular route changes.\n */\n updateActiveNavItem() {\n const currentPath = window.location.pathname;\n const allItems = this.getComputedNav().filter(item => item.type === 'item' && item.url);\n // Find the best match - prefer longer/more specific URL matches\n let activeItem = null;\n let longestMatch = 0;\n for (const item of allItems) {\n // Use resolveUrl because currentPath includes base href\n const url = this.resolveUrl(item);\n if (currentPath.startsWith(url) && url.length > longestMatch) {\n activeItem = item;\n longestMatch = url.length;\n }\n }\n if (activeItem) {\n this.activeNavItemId = activeItem.id;\n if (activeItem.parentId) {\n this.navItemsExpanded.add(activeItem.parentId);\n }\n }\n else {\n this.activeNavItemId = null;\n }\n }\n // =========================================================================\n // Navigation Customization\n // =========================================================================\n startEditing() {\n this.isEditing = true;\n }\n cancelEditing() {\n this.isEditing = false;\n // Reload to revert changes\n this.loadPref();\n }\n resetPref() {\n this.pref.nav = {};\n }\n savePref() {\n const url = this.pref.uuid\n ? `/api/system/preference/json/scaffold/${this.pref.uuid}?global=true`\n : `/api/system/preference/json/scaffold?global=true`;\n KRHttp.fetch({\n url,\n method: this.pref.uuid ? 'PUT' : 'POST',\n body: JSON.stringify({ nav: this.pref.nav }),\n })\n .then((response) => response.json())\n .then((data) => {\n this.pref = data.data;\n this.isEditing = false;\n })\n .catch((error) => {\n console.error('Failed to save nav customizations:', error);\n });\n }\n loadPref() {\n KRHttp.fetch({\n url: '/api/system/preference/json/scaffold?global=true',\n method: 'GET',\n })\n .then((response) => response.json())\n .then((data) => {\n const pref = data?.data?.[0];\n if (pref) {\n this.pref = pref;\n }\n })\n .catch(() => {\n // No preferences saved yet\n });\n }\n handleNavItemContextMenu(e, item) {\n if (!this.isEditing)\n return;\n e.preventDefault();\n KRContextMenu.open({\n x: e.clientX,\n y: e.clientY,\n items: [\n { id: 'edit', label: 'Edit Item' },\n { id: 'divider-1', label: '', divider: true },\n { id: 'add-above', label: 'Add Item Above' },\n { id: 'add-below', label: 'Add Item Below' },\n ],\n }).then((result) => {\n if (!result)\n return;\n switch (result.id) {\n case 'edit':\n this.openNavItemEdit(item);\n break;\n case 'add-above':\n this.addNavItem(item, 'above');\n break;\n case 'add-below':\n this.addNavItem(item, 'below');\n break;\n }\n });\n }\n /**\n * Opens the nav item edit dialog for customizing an item's properties.\n *\n * Opens `KRNavItemEdit` dialog pre-populated with the item's current values.\n * When the user saves, merges the result into the nav delta to persist\n * customizations like label, icon, URL, and visibility.\n *\n * @param item - The nav item to edit\n */\n openNavItemEdit(item) {\n KRDialog.open(KRNavItemEdit, { data: item }).afterClosed().then((res) => {\n const result = res;\n if (!result)\n return;\n if (!this.pref.nav[item.id]) {\n this.pref.nav[item.id] = {};\n }\n this.pref.nav[item.id] = {\n ...this.pref.nav[item.id],\n ...result\n };\n this.requestUpdate();\n });\n }\n /**\n * Adds a new custom nav item relative to an existing item.\n *\n * Creates a placeholder item in the nav delta, shifts existing siblings\n * to make room, then opens the edit dialog so the user can configure\n * the new item's label, icon, and URL.\n *\n * @param targetItem - The existing item to position relative to\n * @param position - Whether to insert 'above' or 'below' the target item\n */\n addNavItem(targetItem, position) {\n const customId = `custom-${Date.now()}`;\n const siblings = this.getComputedNav()\n .filter(i => i.parentId === targetItem.parentId)\n .sort((a, b) => a.order - b.order);\n const targetIndex = siblings.findIndex(i => i.id === targetItem.id);\n const newOrder = position === 'above' ? targetIndex : targetIndex + 1;\n // Shift existing items to make room for the new item\n siblings.forEach((sibling, index) => {\n if (index >= newOrder) {\n if (!this.pref.nav[sibling.id]) {\n this.pref.nav[sibling.id] = {};\n }\n this.pref.nav[sibling.id].order = index + 1;\n }\n });\n // Add the new item and open edit dialog\n const newItem = {\n id: customId,\n type: 'item',\n label: 'New Item',\n order: newOrder,\n parentId: targetItem.parentId,\n active: true,\n };\n this.pref.nav[customId] = newItem;\n this.requestUpdate();\n this.openNavItemEdit(newItem);\n }\n // =========================================================================\n // Navigation Drag & Drop\n // =========================================================================\n /**\n * Initiates a potential drag operation when mouse is pressed on a nav item.\n *\n * Only active in edit mode. Records the starting position and sets up\n * document-level listeners for mouse move and mouse up events. The actual\n * drag doesn't start until the mouse moves more than 5 pixels.\n *\n * @param e - The mouse event\n * @param item - The nav item being pressed\n */\n handleNavItemMouseDown(e, item) {\n if (!this.isEditing)\n return;\n e.preventDefault();\n this.draggedNavItemId = item.id;\n this.navItemDragStartY = e.clientY;\n this.isNavItemDragging = false;\n document.addEventListener('mousemove', this.boundHandleMouseMove);\n document.addEventListener('mouseup', this.boundHandleMouseUp);\n }\n /**\n * Handles mouse movement during a nav item drag operation.\n *\n * Initiates dragging after the mouse moves more than 5 pixels (to distinguish\n * from clicks), creates a floating preview element that follows the cursor,\n * and updates the drop target indicator based on mouse position.\n *\n * @param e - The mouse event\n */\n handleMouseMove(e) {\n if (!this.draggedNavItemId)\n return;\n // Start dragging after moving a few pixels (to distinguish from clicks)\n if (!this.isNavItemDragging && Math.abs(e.clientY - this.navItemDragStartY) > 5) {\n this.isNavItemDragging = true;\n this.classList.add('kr-scaffold--dragging');\n // Create drag preview\n const draggedItem = this.getComputedNav().find(i => i.id === this.draggedNavItemId);\n if (draggedItem) {\n this.navItemDragPreview = document.createElement('div');\n this.navItemDragPreview.className = 'nav-item-drag-preview';\n this.navItemDragPreview.textContent = draggedItem.label;\n this.navItemDragPreview.style.left = `${e.clientX + 10}px`;\n this.navItemDragPreview.style.top = `${e.clientY - 20}px`;\n this.shadowRoot?.appendChild(this.navItemDragPreview);\n }\n }\n if (!this.isNavItemDragging)\n return;\n // Update preview position\n if (this.navItemDragPreview) {\n this.navItemDragPreview.style.left = `${e.clientX + 10}px`;\n this.navItemDragPreview.style.top = `${e.clientY - 20}px`;\n }\n // Find drop target based on mouse position\n this.updateNavItemDropTarget(e);\n }\n /**\n * Handles the end of a nav item drag operation.\n *\n * Removes document-level mouse listeners, executes the drop if there's a valid\n * target, and cleans up all drag-related state.\n */\n handleMouseUp() {\n document.removeEventListener('mousemove', this.boundHandleMouseMove);\n document.removeEventListener('mouseup', this.boundHandleMouseUp);\n if (this.isNavItemDragging && this.navItemDropTargetId) {\n this.executeNavItemDrop();\n }\n // Reset all drag state\n this.draggedNavItemId = null;\n this.navItemDropTargetId = null;\n this.isNavItemDragging = false;\n this.classList.remove('kr-scaffold--dragging');\n if (this.navItemDragPreview) {\n this.navItemDragPreview.remove();\n this.navItemDragPreview = null;\n }\n this.clearNavItemDragExpandTimeout();\n this.requestUpdate();\n }\n /**\n * Determines where a dragged nav item would be dropped based on mouse position.\n *\n * Loops through all nav items and checks if the mouse is hovering over one.\n * For groups, the item is divided into thirds (above/center/below) where\n * \"center\" means drop into the group. For regular items, it's halves (above/below).\n *\n * Also handles auto-expanding collapsed groups when hovering over their center,\n * and validates drops (e.g., prevents dropping a group into another group).\n *\n * Updates `navItemDropTargetId` and `navItemDropPosition` state which are used to render\n * visual drop indicators in the UI.\n *\n * @param e - The mouse event from dragging\n */\n updateNavItemDropTarget(e) {\n // Get all nav items in shadow DOM\n const navItems = this.shadowRoot?.querySelectorAll('.nav-item[data-id]');\n if (!navItems)\n return;\n let foundTarget = false;\n navItems.forEach((el) => {\n const rect = el.getBoundingClientRect();\n const itemId = el.getAttribute('data-id');\n if (!itemId || itemId === this.draggedNavItemId)\n return;\n // Skip if mouse is outside this element\n if (e.clientX < rect.left || e.clientX > rect.right ||\n e.clientY < rect.top || e.clientY > rect.bottom) {\n return;\n }\n const item = this.getComputedNav().find(i => i.id === itemId);\n if (!item) {\n return;\n }\n const y = e.clientY - rect.top;\n let position;\n // Determine drop position based on mouse Y position within the item.\n // Groups are divided into thirds: top=above, middle=center (drop into), bottom=below.\n // Regular items are divided in half: top=above, bottom=below.\n if (item.type === 'group') {\n if (y < rect.height / 3) {\n // Top third - drop above the group\n position = 'above';\n this.clearNavItemDragExpandTimeout();\n }\n else if (y > (rect.height * 2) / 3) {\n // Bottom third - drop below the group\n position = 'below';\n this.clearNavItemDragExpandTimeout();\n }\n else {\n // Middle third - drop into the group (as a child)\n position = 'center';\n // Auto-expand collapsed groups after a delay\n if (!this.navItemsExpanded.has(item.id) && !this.navItemDragExpandTimeout) {\n this.expandNavGroupOnDrag(item.id);\n }\n }\n }\n else {\n // Regular items only support above/below, not center\n position = y < rect.height / 2 ? 'above' : 'below';\n this.clearNavItemDragExpandTimeout();\n }\n // Determine what the new parent would be\n const newParentId = position === 'center' ? item.id : item.parentId;\n const draggedItem = this.getComputedNav().find(i => i.id === this.draggedNavItemId);\n // Don't show drop indicator if invalid drop:\n // 1. Can't drop an item into itself (newParentId === draggedNavItemId)\n // 2. Groups can only exist at the top level, so prevent dropping a group into another group (newParentId !== null means it would be nested)\n if (newParentId === this.draggedNavItemId || (draggedItem?.type === 'group' && newParentId !== null)) {\n this.navItemDropTargetId = null;\n this.clearNavItemDragExpandTimeout();\n return;\n }\n // Valid drop target found - store the target item and position (above/below/center)\n // so the UI can render the drop indicator in the correct location\n this.navItemDropTargetId = item.id;\n this.navItemDropPosition = position;\n foundTarget = true;\n });\n // Mouse is not over any valid nav item - clear the drop indicator\n // (e.g., user dragged outside the nav area or over empty space)\n if (!foundTarget) {\n this.navItemDropTargetId = null;\n this.clearNavItemDragExpandTimeout();\n }\n this.requestUpdate();\n }\n /**\n * Cancels the pending auto-expand timeout for nav groups during drag.\n * Called when the user moves away from a group's center or stops dragging.\n */\n clearNavItemDragExpandTimeout() {\n if (this.navItemDragExpandTimeout) {\n clearTimeout(this.navItemDragExpandTimeout);\n this.navItemDragExpandTimeout = null;\n }\n }\n /**\n * Auto-expands a collapsed nav group after a delay while dragging over it.\n *\n * Uses a 500ms timeout to prevent groups from expanding too eagerly when the\n * user is just passing over them. Only expands if the user is still hovering\n * over the group's center when the timeout fires.\n *\n * @param itemId - The ID of the group to expand\n */\n expandNavGroupOnDrag(itemId) {\n this.navItemDragExpandTimeout = window.setTimeout(() => {\n if (this.navItemDropTargetId === itemId && this.navItemDropPosition === 'center') {\n this.navItemsExpanded.add(itemId);\n this.requestUpdate();\n }\n this.navItemDragExpandTimeout = null;\n }, 500);\n }\n /**\n * Executes the drop operation after a nav item drag completes.\n *\n * Calculates the new position and parent for the dragged item based on\n * the drop target and position (above/below/center). Updates the navDelta\n * with new order values for the dragged item and shifts siblings as needed.\n */\n executeNavItemDrop() {\n if (!this.draggedNavItemId || !this.navItemDropTargetId)\n return;\n const allItems = this.getComputedNav();\n const draggedItem = allItems.find(i => i.id === this.draggedNavItemId);\n const targetItem = allItems.find(i => i.id === this.navItemDropTargetId);\n if (!draggedItem || !targetItem)\n return;\n // Determine the new parentId for the dragged item\n let newParentId;\n if (this.navItemDropPosition === 'center' && targetItem.type === 'group') {\n if (targetItem.id === this.draggedNavItemId) {\n return;\n }\n newParentId = targetItem.id;\n }\n else {\n newParentId = targetItem.parentId;\n }\n if (newParentId === this.draggedNavItemId)\n return;\n // Get siblings in the destination parent\n const siblings = allItems\n .filter(i => i.parentId === newParentId && i.id !== this.draggedNavItemId)\n .sort((a, b) => a.order - b.order);\n const navDelta = this.pref.nav;\n // Calculate the new order\n let newOrder;\n if (this.navItemDropPosition === 'center') {\n // Dropping into a group - place at the end of its children\n if (siblings.length > 0) {\n newOrder = Math.max(...siblings.map(s => s.order)) + 1;\n }\n else {\n newOrder = 0;\n }\n }\n else {\n // Find where the target item is in the sorted siblings list\n const targetIndex = siblings.findIndex(i => i.id === targetItem.id);\n // Determine insert position based on drop position (above/below target)\n if (targetIndex === -1) {\n newOrder = 0;\n }\n else if (this.navItemDropPosition === 'above') {\n newOrder = targetIndex;\n }\n else {\n newOrder = targetIndex + 1;\n }\n // Shift existing siblings to make room for the dropped item.\n // Items at or after the insert position get their order bumped up by 1.\n siblings.forEach((sibling, index) => {\n if (!navDelta[sibling.id]) {\n navDelta[sibling.id] = {};\n }\n if (index >= newOrder) {\n navDelta[sibling.id].order = index + 1;\n }\n else {\n navDelta[sibling.id].order = index;\n }\n });\n }\n // Update the dragged item's position and parent in the delta\n if (!navDelta[this.draggedNavItemId]) {\n navDelta[this.draggedNavItemId] = {};\n }\n navDelta[this.draggedNavItemId].order = newOrder;\n navDelta[this.draggedNavItemId].parentId = newParentId;\n // Persist changes and trigger re-render\n this.pref.nav = navDelta;\n this.requestUpdate();\n }\n // =========================================================================\n // User Menu\n // =========================================================================\n toggleUserMenu() {\n this.isUserMenuOpen = !this.isUserMenuOpen;\n }\n closeUserMenu() {\n this.isUserMenuOpen = false;\n }\n handleCustomize() {\n this.closeUserMenu();\n this.startEditing();\n }\n // =========================================================================\n // Rendering\n // =========================================================================\n renderNormalFooter() {\n if (!this.user)\n return nothing;\n const initials = this.user.name\n .split(' ')\n .map((part) => part[0])\n .join('')\n .toUpperCase()\n .slice(0, 2);\n // todo - use a reusable menu component\n return html `\n <div class=\"user-menu-container\">\n ${this.isUserMenuOpen ? html `\n <div class=\"user-menu\">\n <button class=\"user-menu__item\" @click=${this.handleCustomize}>\n Customize Navigation\n </button>\n </div>\n ` : nothing}\n <div class=\"user\" @click=${this.toggleUserMenu}>\n <div class=\"user__avatar\">\n ${this.user.avatar\n ? html `<img src=${this.user.avatar} alt=${this.user.name} />`\n : initials}\n </div>\n <div class=\"user__info\">\n <div class=\"user__name\">${this.user.name}</div>\n ${this.user.email ? html `<div class=\"user__email\">${this.user.email}</div>` : nothing}\n </div>\n </div>\n </div>\n `;\n }\n // todo - review\n renderEditFooter() {\n return html `\n <div class=\"edit-actions\">\n <button class=\"edit-actions__btn edit-actions__btn--primary\" @click=${this.savePref}>\n Save\n </button>\n <div class=\"edit-actions__secondary\">\n <button class=\"edit-actions__btn\" @click=${this.resetPref}>\n Reset\n </button>\n <button class=\"edit-actions__btn\" @click=${this.cancelEditing}>\n Cancel\n </button>\n </div>\n </div>\n `;\n }\n /**\n * Renders a navigation item as either a group or a link.\n *\n * Groups render as expandable `<button>` elements with a chevron indicator and\n * nested children. Items render as `<a>` anchor links with href navigation.\n *\n * Both types support drag-and-drop reordering in edit mode, context menus for\n * customization, and visual indicators for active/hidden/drop-target states.\n *\n * Icons use SVG strings and fall back to `defaultNavItemIcon` when not provided.\n * Icons are only rendered for top-level items, not for children nested within groups.\n *\n * @param item - The flat nav item data to render\n * @param isChild - Whether this item is nested within a group (affects icon rendering)\n * @returns Lit HTML template for the nav item\n */\n renderNavItem(item, isChild = false) {\n if (item.type === 'section') {\n return html `\n <div class=\"nav-section\">${item.label}</div>\n `;\n }\n if (item.type === 'group') {\n const children = this.getNavItemChildren(item.id);\n return html `\n <button\n class=${classMap({\n 'nav-item': true,\n 'nav-item--expanded': this.navItemsExpanded.has(item.id),\n 'nav-item--hidden': this.isEditing && item.active === false,\n 'nav-item--drop-above': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'above',\n 'nav-item--drop-below': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'below',\n 'nav-item--drop-center': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'center',\n })}\n data-id=\"${item.id}\"\n @mousedown=${(e) => this.handleNavItemMouseDown(e, item)}\n @click=${(e) => this.handleNavItemClick(e, item)}\n @contextmenu=${(e) => this.handleNavItemContextMenu(e, item)}\n >\n ${this.navIconsDisplayed ? html `<span class=\"nav-item__icon\">${unsafeHTML(item.icon || this.defaultNavItemIcon)}</span>` : nothing}\n <span class=\"nav-item__label\">${item.label}</span>\n <svg\n class=\"nav-item__chevron\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <path d=\"M6 9l6 6 6-6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n <div class=${classMap({\n 'nav-group': true,\n 'nav-group--expanded': this.navItemsExpanded.has(item.id),\n })}>\n ${children.map((child) => this.renderNavItem(child, true))}\n </div>\n `;\n }\n return html `\n <a\n class=${classMap({\n 'nav-item': true,\n 'nav-item--active': this.activeNavItemId === item.id,\n 'nav-item--hidden': this.isEditing && item.active === false,\n 'nav-item--drop-above': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'above',\n 'nav-item--drop-below': this.navItemDropTargetId === item.id && this.navItemDropPosition === 'below',\n })}\n data-id=\"${item.id}\"\n href=${this.resolveUrl(item)}\n target=${item.external ? '_blank' : nothing}\n @mousedown=${(e) => this.handleNavItemMouseDown(e, item)}\n @click=${(e) => this.handleNavItemClick(e, item)}\n @contextmenu=${(e) => this.handleNavItemContextMenu(e, item)}\n >\n ${this.navIconsDisplayed && !isChild ? html `<span class=\"nav-item__icon\">${unsafeHTML(item.icon || this.defaultNavItemIcon)}</span>` : nothing}\n <span class=\"nav-item__label\">${item.label}</span>\n </a>\n `;\n }\n // todo - don't hardcode breadcrumbs\n render() {\n const topLevelItems = this.getNavItemChildren(null);\n // Use unfiltered count to determine if search should show (so it doesn't disappear while typing)\n const totalTopLevelItems = this.getComputedNav().filter(item => item.parentId === null).length;\n return html `\n <div class=${classMap({\n 'progress': true,\n 'progress--loading': this.pendingRequests > 0,\n })}>\n <div class=\"progress__track\"></div>\n <div class=\"progress__bar progress__bar--primary\">\n <span class=\"progress__bar-inner\"></span>\n </div>\n <div class=\"progress__bar progress__bar--secondary\">\n <span class=\"progress__bar-inner\"></span>\n </div>\n </div>\n \n ${this.subbar ? html `\n <kr-subbar menu .breadcrumbs=${this.breadcrumbs} @menu-click=${this.handleMenuClick}>\n <slot name=\"subbar\"></slot>\n </kr-subbar>\n ` : nothing}\n\n <div class=\"wrapper\">\n <nav class=${classMap({\n 'nav': true,\n 'nav--scrolled': this.isNavScrolled,\n 'nav--opened': !this.subbar || this.isNavOpened,\n })}>\n <div class=\"nav-header\" @click=${this.handleNavHeaderClick}>\n ${this.title\n ? html `<span class=\"nav-title\">${this.title}</span>`\n : this.logo\n ? html `<img class=\"nav-logo\" src=${this.logo} alt=\"Logo\" />`\n : nothing}\n </div>\n <div class=\"nav-content\" @scroll=${this.handleNavScroll}>\n ${totalTopLevelItems > 20 ? html `\n <div class=\"nav-search\">\n <div class=\"nav-search__wrapper\">\n <span class=\"nav-search__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"/>\n </svg>\n </span>\n <input\n class=\"nav-search__input\"\n type=\"text\"\n placeholder=\"Search...\"\n .value=${this.navQuery}\n @input=${this.handleNavQueryChange}\n />\n ${this.navQuery ? html `\n <button class=\"nav-search__clear\" @click=${this.handleNavQueryClear}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/>\n </svg>\n </button>\n ` : nothing}\n </div>\n </div>\n ` : nothing}\n <div class=\"nav-items\">\n ${topLevelItems.map((item) => this.renderNavItem(item))}\n </div>\n </div>\n <!-- <div class=\"nav-footer\">\n ${this.isEditing ? this.renderEditFooter() : this.renderNormalFooter()}\n </div> -->\n </nav>\n\n <main class=\"main\">\n <slot></slot>\n </main>\n </div>\n \n `;\n }\n};\nKRScaffold.styles = css `\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n font-size: 14px;\n --kr-scaffold-nav-width: 250px;\n\n /* Default to light scheme */\n --kr-scaffold-nav-bg: #F3F7FC;\n --kr-scaffold-nav-text: #000000;\n --kr-scaffold-nav-text-active: #000000;\n --kr-scaffold-nav-hover: #f3f4f6;\n --kr-scaffold-nav-active-bg: #e5e7eb;\n --kr-scaffold-nav-border: rgb(229, 229, 228);\n --kr-scaffold-nav-divider: #e5e7eb;\n --kr-scaffold-nav-search-bg: #ffffff;\n --kr-scaffold-nav-search-border: #d1d5db;\n }\n\n /* Dark scheme */\n :host([scheme=\"dark\"]) {\n --kr-scaffold-nav-bg: #10172a;\n --kr-scaffold-nav-text: rgb(255 255 255 / 80%);\n --kr-scaffold-nav-text-active: #ffffff;\n --kr-scaffold-nav-hover: rgba(255, 255, 255, 0.05);\n --kr-scaffold-nav-active-bg: rgb(255 255 255 / 12%);\n --kr-scaffold-nav-border: transparent;\n --kr-scaffold-nav-divider: rgba(255, 255, 255, 0.06);\n --kr-scaffold-nav-search-bg: rgba(255, 255, 255, 0.15);\n --kr-scaffold-nav-search-border: rgba(255, 255, 255, 0.3);\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n /* Nav */\n .nav {\n width: var(--kr-scaffold-nav-width);\n background: var(--kr-scaffold-nav-bg);\n color: var(--kr-scaffold-nav-text);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border-right: 1px solid var(--kr-scaffold-nav-border);\n transition: margin-left 0.3s ease;\n margin-left: calc(-1 * var(--kr-scaffold-nav-width));\n flex: 1;\n max-width: var(--kr-scaffold-nav-width);\n }\n\n .nav--opened {\n margin-left: 0;\n }\n\n .wrapper {\n display: flex;\n flex: 1;\n min-height: 0;\n max-height: 100%;\n height: 100%;\n }\n\n .nav-header {\n height: 64px;\n padding: 0 20px;\n display: flex;\n align-items: center;\n position: relative;\n z-index: 1;\n transition: box-shadow 0.2s ease;\n cursor: pointer;\n }\n\n .nav--scrolled .nav-header {\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);\n }\n\n .nav-logo {\n max-width: 100%;\n height: 32px;\n }\n\n .nav-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--kr-scaffold-nav-text-active);\n letter-spacing: .2px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .nav-search {\n padding: 4px 0 8px;\n }\n\n .nav-search__wrapper {\n display: flex;\n align-items: center;\n background: var(--kr-scaffold-nav-search-bg);\n border-radius: 8px;\n padding: 0 12px;\n height: 40px;\n gap: 8px;\n border: 1px solid var(--kr-scaffold-nav-search-border);\n transition: all 0.15s ease;\n }\n\n .nav-search__icon {\n width: 18px;\n height: 18px;\n flex-shrink: 0;\n opacity: 0.6;\n }\n\n .nav-search__icon svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n\n .nav-search__input {\n flex: 1;\n background: none;\n border: none;\n outline: none;\n color: var(--kr-scaffold-nav-text-active);\n font-size: 13px;\n font-family: inherit;\n min-width: 0;\n }\n\n .nav-search__input::placeholder {\n color: var(--kr-scaffold-nav-text);\n opacity: 0.7;\n }\n\n .nav-search__clear {\n width: 18px;\n height: 18px;\n padding: 0;\n background: none;\n border: none;\n color: var(--kr-scaffold-nav-text);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0.6;\n transition: opacity 0.15s ease;\n }\n\n .nav-search__clear:hover {\n opacity: 1;\n }\n\n .nav-search__clear svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n\n .nav-content {\n flex: 1;\n overflow-y: auto;\n padding: 0 9px 0.75rem 8px;\n }\n\n .nav-footer {\n padding: 12px;\n border-top: 1px solid var(--kr-scaffold-nav-divider);\n }\n\n .user {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n transition: background 0.15s ease;\n }\n\n .user:hover {\n background: var(--kr-scaffold-nav-hover);\n }\n\n .user__avatar {\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: var(--kr-scaffold-avatar-bg, #beea4e);\n color: var(--kr-scaffold-avatar-text, #10172a);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n font-weight: 600;\n flex-shrink: 0;\n overflow: hidden;\n }\n\n .user__avatar img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .user__info {\n flex: 1;\n min-width: 0;\n }\n\n .user__name {\n font-size: 13px;\n font-weight: 500;\n color: var(--kr-scaffold-nav-text-active);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .user__email {\n font-size: 12px;\n color: var(--kr-scaffold-nav-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .user-menu-container {\n position: relative;\n }\n\n .user-menu {\n position: absolute;\n bottom: 100%;\n left: 0;\n right: 0;\n margin-bottom: 8px;\n background: var(--kr-scaffold-nav-bg);\n border: 1px solid var(--kr-scaffold-nav-divider);\n border-radius: 8px;\n padding: 4px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);\n }\n\n .user-menu__item {\n display: block;\n width: 100%;\n padding: 10px 12px;\n background: none;\n border: none;\n color: var(--kr-scaffold-nav-text);\n font-size: 13px;\n font-family: inherit;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n }\n\n .user-menu__item:hover {\n background: var(--kr-scaffold-nav-hover);\n color: var(--kr-scaffold-nav-text-active);\n }\n\n .user-menu__divider {\n height: 1px;\n background: var(--kr-scaffold-nav-divider);\n margin: 4px 0;\n }\n\n /* Main */\n .main {\n flex: 1;\n min-width: 0;\n overflow-y: auto;\n background: #FCFCFD;\n display: flex;\n flex-direction: column;\n }\n\n .breadcrumbs {\n height: 32px;\n padding: 0 1rem;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6b7280;\n background: #f9fafb;\n border-bottom: 1px solid #e5e7eb;\n flex-shrink: 0;\n }\n\n .breadcrumbs a {\n color: #6b7280;\n text-decoration: none;\n }\n\n .breadcrumbs a:hover {\n color: #111827;\n text-decoration: underline;\n }\n\n .breadcrumbs__separator {\n color: #d1d5db;\n }\n\n .breadcrumbs__current {\n color: #111827;\n font-weight: 500;\n }\n\n .main__content {\n flex: 1;\n overflow-y: auto;\n }\n\n /* Nav Items */\n .nav-items {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .nav-item {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 0 12px;\n height: 32px;\n border-radius: 8px;\n color: var(--kr-scaffold-nav-text);\n text-decoration: none;\n cursor: pointer;\n border: none;\n background: none;\n width: 100%;\n text-align: left;\n font-size: 13px;\n font-weight: 400;\n font-family: inherit;\n transition: all 0.15s ease;\n }\n\n .nav-item:hover {\n background: #F3F7FC;\n color: var(--kr-scaffold-nav-text-active);\n }\n\n .nav-item--active,\n .nav-item--active:hover {\n background: #e1e9f6;\n color: #1a2332;\n font-weight: 700;\n }\n\n .nav-item__icon {\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n\n .nav-item__icon svg {\n width: 16px;\n height: 16px;\n fill: currentColor;\n }\n\n .nav-item__label {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n letter-spacing: 0.01em;\n }\n\n .nav-item__chevron {\n width: 16px;\n height: 16px;\n transition: transform 0.2s ease;\n transform: rotate(-90deg);\n stroke: currentColor;\n }\n\n .nav-item--expanded .nav-item__chevron {\n transform: rotate(0deg);\n }\n\n .nav-group {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 0;\n }\n\n .nav-group--expanded {\n height: auto;\n }\n\n .nav-group .nav-item {\n padding: 0 12px 0 44px;\n height: 32px;\n font-size: 13px;\n font-weight: 400;\n margin-top: 2px;\n flex-shrink: 0;\n }\n\n .nav-group .nav-item--active,\n .nav-group .nav-item--active:hover {\n font-weight: 700;\n }\n\n .nav-group .nav-item:first-child {\n margin-top: 0;\n }\n\n /* Nav items in groups when icons are hidden */\n :host(:not([nav-icons-displayed])) .nav-group .nav-item {\n padding-left: 24px;\n }\n\n /* Sections */\n .nav-section {\n padding: 16px 12px 8px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--kr-scaffold-nav-text);\n opacity: 0.6;\n }\n\n .nav-section:first-child {\n padding-top: 0;\n }\n\n /* Edit mode actions */\n .edit-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .edit-actions__btn {\n display: block;\n width: 100%;\n padding: 10px 12px;\n background: var(--kr-scaffold-nav-hover);\n border: none;\n color: var(--kr-scaffold-nav-text);\n font-size: 13px;\n font-weight: 500;\n font-family: inherit;\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n }\n\n .edit-actions__btn:hover {\n background: var(--kr-scaffold-nav-active-bg);\n color: var(--kr-scaffold-nav-text-active);\n }\n\n .edit-actions__btn--primary {\n background: #beea4e;\n color: #10172a;\n }\n\n .edit-actions__btn--primary:hover {\n background: #d4f472;\n color: #10172a;\n }\n\n .edit-actions__secondary {\n display: flex;\n gap: 8px;\n }\n\n .edit-actions__secondary .edit-actions__btn {\n flex: 1;\n }\n\n /* Hidden/inactive items in edit mode */\n .nav-item--hidden {\n opacity: 0.4;\n font-style: italic;\n }\n\n .nav-item--hidden:hover {\n opacity: 0.6;\n }\n\n /* Dragging state */\n :host(.kr-scaffold--dragging),\n :host(.kr-scaffold--dragging) * {\n cursor: grabbing;\n user-select: none;\n }\n\n .nav-item-drag-preview {\n position: fixed;\n pointer-events: none;\n z-index: 1000;\n opacity: 0.9;\n background: var(--kr-scaffold-nav-bg);\n border: 1px solid var(--kr-scaffold-nav-divider);\n border-radius: 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);\n padding: 0 12px;\n height: 40px;\n min-width: 200px;\n display: flex;\n align-items: center;\n gap: 16px;\n color: var(--kr-scaffold-nav-text-active);\n font-size: 13px;\n font-weight: 500;\n }\n\n /* Drop indicator */\n .nav-item--drop-above,\n .nav-item--drop-below,\n .nav-item--drop-center {\n position: relative;\n }\n\n .nav-item--drop-above::before,\n .nav-item--drop-below::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n background: #beea4e;\n }\n\n .nav-item--drop-above::before {\n top: 0;\n }\n\n .nav-item--drop-below::after {\n bottom: 0;\n }\n\n .nav-item--drop-center {\n background: var(--kr-scaffold-nav-active-bg);\n }\n\n .breadcrumbs {\n height: 32px;\n padding: 0 1rem;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6b7280;\n //background: #f9fafb;\n background: #beea4e;\n border-top: 1px solid #e5e7eb;\n flex-shrink: 0;\n }\n\n .breadcrumbs a {\n //color: #6b7280;\n color: #10172a;\n font-size: 13px;\n font-weight: 600;\n text-decoration: none;\n }\n\n .breadcrumbs a:hover {\n color: #111827;\n text-decoration: underline;\n }\n\n .breadcrumbs__separator {\n color: #d1d5db;\n }\n\n .breadcrumbs__current {\n color: #111827;\n font-weight: 500;\n }\n\n /* Progress bar */\n .progress {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n overflow-x: hidden;\n z-index: 1000;\n display: none;\n }\n\n .progress--loading {\n display: block;\n }\n\n .progress__track {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 100%;\n background: rgba(190, 234, 78, 0.3);\n }\n\n .progress__bar {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 100%;\n transform-origin: left center;\n }\n\n .progress__bar-inner {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n background: #beea4e;\n }\n\n .progress__bar--primary {\n left: -145.166611%;\n }\n\n .progress--loading .progress__bar--primary {\n animation: progress-primary-translate 2s infinite linear;\n }\n\n .progress--loading .progress__bar--primary .progress__bar-inner {\n animation: progress-primary-scale 2s infinite linear;\n }\n\n .progress__bar--secondary {\n left: -54.888891%;\n }\n\n .progress--loading .progress__bar--secondary {\n animation: progress-secondary-translate 2s infinite linear;\n }\n\n .progress--loading .progress__bar--secondary .progress__bar-inner {\n animation: progress-secondary-scale 2s infinite linear;\n }\n\n @keyframes progress-primary-translate {\n 0% {\n transform: translateX(0);\n }\n 20% {\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n transform: translateX(0);\n }\n 59.15% {\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n transform: translateX(83.67142%);\n }\n 100% {\n transform: translateX(200.611057%);\n }\n }\n\n @keyframes progress-primary-scale {\n 0% {\n transform: scaleX(0.08);\n }\n 36.65% {\n animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n transform: scaleX(0.08);\n }\n 69.15% {\n animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n transform: scaleX(0.661479);\n }\n 100% {\n transform: scaleX(0.08);\n }\n }\n\n @keyframes progress-secondary-translate {\n 0% {\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n transform: translateX(0);\n }\n 25% {\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n transform: translateX(37.651913%);\n }\n 48.35% {\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n transform: translateX(84.386165%);\n }\n 100% {\n transform: translateX(160.277782%);\n }\n }\n\n @keyframes progress-secondary-scale {\n 0% {\n animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n transform: scaleX(0.08);\n }\n 19.15% {\n animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n transform: scaleX(0.457104);\n }\n 44.15% {\n animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n transform: scaleX(0.72796);\n }\n 100% {\n transform: scaleX(0.08);\n }\n }\n `;\n__decorate([\n state()\n], KRScaffold.prototype, \"navItemsExpanded\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"navQuery\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"activeNavItemId\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"isNavScrolled\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"isNavOpened\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"isEditing\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"isUserMenuOpen\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"pref\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"draggedNavItemId\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"navItemDropTargetId\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"navItemDropPosition\", void 0);\n__decorate([\n state()\n], KRScaffold.prototype, \"pendingRequests\", void 0);\n__decorate([\n property({ type: String })\n], KRScaffold.prototype, \"logo\", void 0);\n__decorate([\n property({ type: String })\n], KRScaffold.prototype, \"title\", void 0);\n__decorate([\n property({ type: String, attribute: 'home-url' })\n], KRScaffold.prototype, \"homeUrl\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRScaffold.prototype, \"scheme\", void 0);\n__decorate([\n property({ type: Array })\n], KRScaffold.prototype, \"nav\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'nav-icons-displayed', reflect: true })\n], KRScaffold.prototype, \"navIconsDisplayed\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'nav-expanded' })\n], KRScaffold.prototype, \"navExpanded\", void 0);\n__decorate([\n property({ type: Object })\n], KRScaffold.prototype, \"user\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRScaffold.prototype, \"subbar\", void 0);\n__decorate([\n property({ type: Array })\n], KRScaffold.prototype, \"breadcrumbs\", void 0);\nKRScaffold = __decorate([\n customElement('kr-scaffold')\n], KRScaffold);\nexport { KRScaffold };\n//# sourceMappingURL=scaffold.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * Secondary navigation component for screens within the scaffold.\n * Provides a simple nav drawer for sub-navigation within a page/screen.\n * Typically used when viewing details of a specific entity (e.g., Company, Contact).\n *\n * ## Usage\n * ```html\n * <kr-screen-nav\n * title=\"Acme Corporation\"\n * subtitle=\"Company\"\n * backUrl=\"/crm/companies\"\n * .navItems=${[\n * { id: 'overview', label: 'Overview', url: '/companies/123/overview' },\n * { id: 'contacts', label: 'Contacts', url: '/companies/123/contacts' },\n * { id: 'activity', label: 'Activity', url: '/companies/123/activity' },\n * ]}\n * activeId=\"overview\"\n * >\n * <div>Screen content here</div>\n * </kr-screen-nav>\n * ```\n *\n * @slot - The main screen content\n *\n * @property {string} title - Main title (e.g., entity name like \"Acme Corporation\")\n * @property {string} subtitle - Subtitle/label (e.g., entity type like \"Company\")\n * @property {string} backUrl - URL to navigate back to (e.g., the table/list view)\n * @property {KRScreenNavItem[]} navItems - Navigation items as JSON array\n * @property {string} activeId - Currently active item ID\n */\nlet KRScreenNav = class KRScreenNav extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Main title (e.g., entity name like \"Acme Corporation\")\n */\n this.title = '';\n /**\n * Subtitle/label (e.g., entity type like \"Company\")\n */\n this.subtitle = '';\n /**\n * URL to navigate back to (e.g., the table/list view)\n */\n this.backUrl = '';\n /**\n * Navigation items\n */\n this.navItems = [];\n /**\n * Currently active item ID\n */\n this.activeId = '';\n }\n /**\n * Handles click events on navigation items.\n *\n * Dispatches a cancelable `nav-item-click` custom event.\n * If a listener calls `preventDefault()` on the custom event, native browser\n * navigation is prevented. Otherwise, the default `<a href>` navigation\n * proceeds normally.\n *\n * The `@krubble/angular` package provides `KRScreenNavDirective` which\n * automatically listens for this event and handles navigation using\n * Angular's router.\n *\n * @param e - The original click event\n * @param item - The nav item that was clicked\n */\n handleNavItemClick(e, item) {\n const navEvent = new CustomEvent('nav-item-click', {\n detail: { item },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(navEvent);\n // If a listener called preventDefault(), prevent the native navigation\n if (navEvent.defaultPrevented) {\n e.preventDefault();\n }\n }\n /**\n * Updates the active nav item based on the current URL.\n * Called automatically by `KRScreenNavDirective` on Angular route changes.\n */\n updateActiveNavItem() {\n const currentPath = window.location.pathname;\n const activeItem = this.navItems.find(item => {\n if (!item.url)\n return false;\n // Handle both absolute and relative URLs\n if (item.url.startsWith('./')) {\n const segment = item.url.replace(/^\\.\\//, '');\n return currentPath.endsWith('/' + segment);\n }\n return currentPath === item.url || currentPath.startsWith(item.url + '/');\n });\n if (activeItem) {\n this.activeId = activeItem.id;\n }\n }\n render() {\n return html `\n <nav class=\"nav\">\n ${this.title ? html `\n <div class=\"nav-header\">\n <div class=\"nav-header__text\">\n ${this.subtitle ? html `<div class=\"nav-header__subtitle\">${this.subtitle}</div>` : nothing}\n <div class=\"nav-header__title\">${this.title}</div>\n </div>\n </div>\n ` : nothing}\n <div class=\"nav-content\">\n <div class=\"nav-items\">\n ${this.navItems.map((item) => html `\n <a\n class=\"nav-item ${item.id === this.activeId ? 'nav-item--active' : ''}\"\n href=${item.url || '#'}\n @click=${(e) => this.handleNavItemClick(e, item)}\n >\n ${item.label}\n </a>\n `)}\n </div>\n </div>\n </nav>\n <main class=\"content\">\n <div class=\"content__main\">\n <slot></slot>\n </div>\n <!--<div class=\"breadcrumbs\">\n <a href=\"/crm\">CRM</a>\n <span class=\"breadcrumbs__separator\">/</span>\n <a href=\"/crm/companies\">Companies</a>\n <span class=\"breadcrumbs__separator\">/</span>\n <span class=\"breadcrumbs__current\">Acme Corporation</span>\n </div>-->\n </main>\n `;\n }\n};\nKRScreenNav.styles = css `\n :host {\n display: flex;\n height: 100%;\n }\n\n .nav {\n width: 200px;\n background: #F3F7FC;\n //border-right: 1px solid #000000;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n }\n\n .nav-header {\n padding: 20px 16px 16px;\n }\n\n .nav-header__text {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .nav-header__title {\n font-size: 16px;\n font-weight: 600;\n color: #111827;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.3;\n }\n\n .nav-header__subtitle {\n font-size: 12px;\n font-weight: 400;\n color: rgb(0 0 0 / 70%);\n line-height: 1;\n }\n\n .nav-content {\n flex: 1;\n overflow-y: auto;\n padding: 0 0 0.75rem;\n }\n\n .nav-items {\n display: flex;\n flex-direction: column;\n padding: 0 8px;\n }\n\n .nav-item {\n display: block;\n padding: 0 12px;\n height: 40px;\n line-height: 40px;\n letter-spacing: 0.13px;\n color: rgb(32, 33, 36);\n text-decoration: none;\n font-size: 13px;\n font-weight: 500;\n border-radius: 8px;\n transition: all 0.15s ease;\n }\n\n .nav-item:hover {\n background: rgba(0, 0, 0, 0.04);\n color: #163052;\n }\n\n .nav-item--active {\n background: rgba(22, 48, 82, 0.08);\n color: #163052;\n font-weight: 600;\n }\n\n .content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n }\n\n .breadcrumbs {\n height: 32px;\n padding: 0 1rem;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6b7280;\n //background: #f9fafb;\n background: #beea4e;\n border-top: 1px solid #e5e7eb;\n flex-shrink: 0;\n }\n\n .breadcrumbs a {\n //color: #6b7280;\n color: #10172a;\n font-size: 13px;\n font-weight: 600;\n text-decoration: none;\n }\n\n .breadcrumbs a:hover {\n color: #111827;\n text-decoration: underline;\n }\n\n .breadcrumbs__separator {\n color: #d1d5db;\n }\n\n .breadcrumbs__current {\n color: #111827;\n font-weight: 500;\n }\n\n .content__main {\n flex: 1;\n overflow-y: auto;\n }\n `;\n__decorate([\n property({ type: String })\n], KRScreenNav.prototype, \"title\", void 0);\n__decorate([\n property({ type: String })\n], KRScreenNav.prototype, \"subtitle\", void 0);\n__decorate([\n property({ type: String })\n], KRScreenNav.prototype, \"backUrl\", void 0);\n__decorate([\n property({ type: Array })\n], KRScreenNav.prototype, \"navItems\", void 0);\n__decorate([\n property({ type: String })\n], KRScreenNav.prototype, \"activeId\", void 0);\nKRScreenNav = __decorate([\n customElement('kr-screen-nav')\n], KRScreenNav);\nexport { KRScreenNav };\n//# sourceMappingURL=screen-nav.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * Detail screen component for viewing/editing entity details.\n * Displays a form-like layout with labeled fields centered in a single column.\n *\n * ## Usage\n * ```html\n * <kr-screen-detail title=\"Company Details\">\n * <kr-button slot=\"actions\">Save</kr-button>\n * <kr-text-field label=\"Company Name\" value=\"Acme Corporation\"></kr-text-field>\n * <kr-text-field label=\"Industry\" value=\"Technology\"></kr-text-field>\n * <kr-text-field label=\"Website\" value=\"https://acme.com\"></kr-text-field>\n * </kr-screen-detail>\n * ```\n *\n * @slot - Form fields and content (centered, max-width 480px)\n * @slot actions - Action buttons displayed in the header on the right\n *\n * @property {string} title - Section title (e.g., \"Company Details\")\n */\nlet KRScreenDetail = class KRScreenDetail extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Section title\n */\n this.title = '';\n }\n render() {\n return html `\n <div class=\"header\">\n <h2 class=\"header__title\">${this.title}</h2>\n <div class=\"header__actions\">\n <slot name=\"actions\"></slot>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"content__inner\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n};\nKRScreenDetail.styles = css `\n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n\n .header {\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 1.5rem;\n background: #ffffff;\n border-bottom: 1px solid #e5e7eb;\n flex-shrink: 0;\n }\n\n .header__title {\n font-size: 18px;\n font-weight: 600;\n color: #111827;\n margin: 0;\n }\n\n .header__actions {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .content {\n flex: 1;\n overflow-y: auto;\n padding: 1.5rem;\n display: flex;\n justify-content: center;\n }\n\n .content__inner {\n width: 100%;\n max-width: 700px;\n }\n `;\n__decorate([\n property({ type: String })\n], KRScreenDetail.prototype, \"title\", void 0);\nKRScreenDetail = __decorate([\n customElement('kr-screen-detail')\n], KRScreenDetail);\nexport { KRScreenDetail };\n//# sourceMappingURL=screen-detail.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n/**\n * Secondary bar component that sits below the main app bar.\n *\n * @slot - Content to display in the subbar (right side)\n */\nlet KRSubbar = class KRSubbar extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Array of breadcrumb items to display\n */\n this.breadcrumbs = [];\n /**\n * Whether to show the menu icon\n */\n this.menu = false;\n }\n _handleMenuClick() {\n this.dispatchEvent(new CustomEvent('menu-click', { bubbles: true, composed: true }));\n }\n /**\n * Resolves a breadcrumb URL by prepending the base href.\n *\n * This method is used for setting href attributes on anchor elements\n * (so Cmd/Ctrl+click opens correct URL in new tab).\n *\n * The original crumb.url is kept intact (without base href) and passed to Angular\n * via the breadcrumb-click event. Angular Router expects paths relative to base,\n * so it handles the base href internally.\n *\n * Example with base href \"/operations/\":\n * - crumb.url = \"/settings\" (used for Angular routing)\n * - resolveUrl(crumb) = \"/operations/settings\" (used for href)\n */\n resolveUrl(crumb) {\n if (!crumb.url)\n return '#';\n // Remove leading slash from url if present, then combine with base\n const path = crumb.url.startsWith('/') ? crumb.url.slice(1) : crumb.url;\n const baseHref = document.querySelector('base')?.getAttribute('href') || '/';\n const base = baseHref.endsWith('/') ? baseHref : (baseHref + '/');\n return base + path;\n }\n /**\n * Handles click on a breadcrumb link.\n * Dispatches a cancelable event so SPA routers can intercept.\n */\n _handleBreadcrumbClick(e, crumb, isCurrent) {\n // Don't navigate if it's the current/last breadcrumb\n if (isCurrent || !crumb.url) {\n e.preventDefault();\n return;\n }\n // Allow Ctrl/Cmd+click and middle-click to open in new tab without SPA navigation\n if (e.ctrlKey || e.metaKey || e.button === 1) {\n return;\n }\n const breadcrumbEvent = new CustomEvent('breadcrumb-click', {\n detail: { breadcrumb: crumb },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(breadcrumbEvent);\n // If a listener called preventDefault(), prevent the native navigation\n if (breadcrumbEvent.defaultPrevented) {\n e.preventDefault();\n }\n }\n render() {\n return html `\n ${this.menu ? html `\n <div class=\"menu\" @click=${this._handleMenuClick}>\n <svg class=\"menu__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"></line>\n <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"></line>\n <line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\"></line>\n </svg>\n </div>\n ` : nothing}\n <div class=\"breadcrumbs\">\n ${this.breadcrumbs.map((crumb, index) => {\n const isCurrent = index === this.breadcrumbs.length - 1;\n return html `\n ${index > 0 ? html `<span class=\"breadcrumb-separator\">/</span>` : ''}\n <a\n class=${classMap({ 'breadcrumb': true, 'breadcrumb--current': isCurrent })}\n href=${this.resolveUrl(crumb)}\n @click=${(e) => this._handleBreadcrumbClick(e, crumb, isCurrent)}\n >${crumb.label}</a>\n `;\n })}\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n\n `;\n }\n};\nKRSubbar.styles = css `\n :host {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n height: 40px;\n background: #E2E9F6;\n border-bottom: 1px solid rgb(229, 229, 228);\n align-items: center;\n padding: 0 16px;\n width: 100%;\n flex-shrink: 0;\n }\n\n .breadcrumbs {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n flex: 1;\n }\n\n .breadcrumb {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n font-size: 13px;\n }\n\n .breadcrumb:hover {\n text-decoration: underline;\n }\n\n .breadcrumb--current {\n cursor: default;\n }\n\n .breadcrumb--current:hover {\n text-decoration: none;\n }\n\n .breadcrumb-separator {\n color: #9ca3af;\n font-size: 12px;\n }\n\n .content {\n display: flex;\n align-items: center;\n margin-left: auto;\n }\n\n .menu {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n cursor: pointer;\n }\n\n .menu__icon {\n width: 18px;\n height: 18px;\n }\n `;\n__decorate([\n property({ type: Array })\n], KRSubbar.prototype, \"breadcrumbs\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSubbar.prototype, \"menu\", void 0);\nKRSubbar = __decorate([\n customElement('kr-subbar')\n], KRSubbar);\nexport { KRSubbar };\n//# sourceMappingURL=subbar.js.map"],"names":["t","e","s","o","r","n","i","S","c","h","a","l","p","d","u","f","b","y","__decorate","this","LitElement","html","nothing","classMap","unsafeHTML","css","property","state","customElement"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA,MAAMA,GAAC,CAAC,UAAU,CAACC,GAAC,CAACD,GAAC,CAAC,UAAU,GAAG,MAAM,GAAGA,GAAC,CAAC,QAAQ,EAAEA,GAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,CAAC,SAAS,CAACE,GAAC,CAAC,MAAM,EAAE,CAACC,GAAC,CAAC,IAAI,OAAO,WAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAE,CAAC,CAAC,GAAGD,GAAC,CAAC,MAAM,KAAK,CAAC,mEAAmE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAGD,GAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAACE,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAEA,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAC,MAAMC,GAAC,CAAC,CAAC,EAAE,IAAIC,GAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAACH,GAAC,CAAC,CAACI,GAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAE,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,kEAAkE,CAAC,CAAC,CAAC,sFAAsF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAID,GAAC,CAAC,CAAC,CAAC,CAAC,CAACH,GAAC,CAAC,CAAC,CAACK,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGN,GAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAACD,GAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,CAACQ,GAAC,CAACP,GAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAOG,GAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;;ACJxzC;AACA;AACA;AACA;AACA,GAAG,KAAK,CAAC,EAAE,CAACE,GAAC,CAAC,cAAc,CAACL,GAAC,CAAC,wBAAwB,CAACQ,GAAC,CAAC,mBAAmB,CAACL,GAAC,CAAC,qBAAqB,CAACD,GAAC,CAAC,cAAc,CAACE,GAAC,CAAC,CAAC,MAAM,CAACK,GAAC,CAAC,UAAU,CAACF,GAAC,CAACE,GAAC,CAAC,YAAY,CAACC,GAAC,CAACH,GAAC,CAACA,GAAC,CAAC,WAAW,CAAC,EAAE,CAACI,GAAC,CAACF,GAAC,CAAC,8BAA8B,CAACG,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAACC,GAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAACH,GAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAACI,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAACT,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACU,GAAC,CAAC,CAAC,SAAS,CAAC,IAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAACF,GAAC,CAAC,OAAO,CAAC,KAAE,CAAC,UAAU,CAAC,KAAE,CAAC,UAAU,CAACC,GAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAACL,GAAC,CAAC,mBAAmB,GAAG,IAAI,OAAO,WAAC,MAAM,CAAC,SAAS,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,EAAC,CAAC,WAAW,kBAAkB,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAACM,GAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,KAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAEf,GAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAACQ,GAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,OAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,UAAU,CAAC,IAAE,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEO,GAAC,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAACH,GAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAACR,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAC,CAAC,OAAO,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAACQ,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,cAAc,CAACA,GAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAGT,GAAC,CAAC,CAAC,CAAC,CAAC,GAAGD,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAACH,GAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAM,MAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,OAAOE,GAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,IAAI,EAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,IAAI,EAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,IAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAACY,GAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAACA,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,KAAE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAEC,GAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,MAAE,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAE,CAAC,IAAI,cAAc,EAAE,CAAC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAM,KAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAACE,GAAC,CAAC,aAAa,CAAC,EAAE,CAACA,GAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAACA,GAAC,CAACJ,GAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,GAAG,CAACI,GAAC,CAACJ,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAACD,GAAC,GAAG,CAAC,eAAe,CAACK,GAAC,CAAC,CAAC,CAAC,CAACP,GAAC,CAAC,uBAAuB,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;;ACLjyL;AACA;AACA;AACA;AACA;AACK,MAACV,GAAC,CAAC,UAAU,CAACM,GAAC,CAAC,CAAC,EAAE,CAAC,CAACJ,GAAC,CAACF,GAAC,CAAC,YAAY,CAACC,GAAC,CAACC,GAAC,CAACA,GAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAACC,GAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACE,GAAC,CAAC,GAAG,CAACF,GAAC,CAACC,GAAC,CAAC,CAAC,CAAC,EAAEC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAe,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC,OAAO,MAAM,GAAGJ,GAAC,CAACA,GAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAACG,GAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAACD,GAAC,CAAC,CAAC,EAAE,CAAC,CAACA,GAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAACA,GAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAACD,GAAC,CAACA,GAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,GAAGG,GAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAACF,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEA,GAAC,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,GAAE,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,UAAU,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,KAAE,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,KAAE,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAACG,GAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAM,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAM,MAAyD,CAAC,CAACN,GAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAACA,GAAC,CAAC,eAAe,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;ACJp7N;AACA;AACA;AACA;AACA,GAAG,MAAM,CAAC,CAAC,UAAU,WAAC,MAAM,CAAC,SAASA,GAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAACC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAC,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAE,EAAC,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,KAAE,EAAC,CAAC,MAAM,EAAE,CAAC,OAAOG,CAAC,CAAC,EAACE,GAAC,CAAC,aAAa,CAAC,IAAE,CAACA,GAAC,CAAC,WAAW,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,wBAAwB,GAAG,CAAC,UAAU,CAACA,GAAC,CAAC,CAAC,CAAC,MAAMH,GAAC,CAAC,CAAC,CAAC,yBAAyB,CAACA,GAAC,GAAG,CAAC,UAAU,CAACG,GAAC,CAAC,CAAC,CAAsD,CAAC,CAAC,CAAC,kBAAkB,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;;ACLhyB;AACA;AACA;AACA;AACA;AACA,MAAMN,GAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;;ACJ5G;AACA;AACA;AACA;AACA,GAAG,MAAMG,GAAC,CAAC,CAAC,SAAS,CAAC,IAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAACF,GAAC,CAAC,OAAO,CAAC,KAAE,CAAC,UAAU,CAACD,GAAC,CAAC,CAACI,GAAC,CAAC,CAAC,CAAC,CAACD,GAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAACC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;ACJ/yB;AACA;AACA;AACA;AACA,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOJ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAE,CAAC,SAAS,CAAC,KAAE,CAAC,CAAC;;ACLvD;AACA;AACA;AACA;AACA;AACA,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAkD,CAAC,CAACC,GAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;;ACJ3S;AACA;AACA;AACA;AACA,GAAG,MAAMA,GAAC,CAACC,GAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAACF,GAAC,CAAC,CAAC,GAAG,KAAK,CAACA,GAAC,CAAC,CAACA,GAAC,CAAC,IAAI,GAAGI,CAAC,CAAC,SAAS,EAAE,OAAO,GAAGJ,GAAC,CAAC,IAAI,EAAEA,GAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,oGAAoG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,OAAOA,CAAC,CAAC,CAAC,CAAC;;ACJ3uB;AACA;AACA;AACA;AACA,GAAG,MAAM,CAAC,SAASE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAACF,CAAC,CAAC,CAAC,CAAC,IAAI,GAAGK,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGL,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAACF,GAAC,CAAC,CAAC,CAAC;;ACLphB,IAAIc,YAAU,GAAG,CAACC,SAAI,IAAIA,SAAI,CAAC,UAAU,KAAK,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACvF,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;AAChI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;AAClI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AACrJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,OAAO,GAAG,MAAM,OAAO,SAASC,GAAU,CAAC;AAC/C,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,IAAI,GAAG,+FAA+F;AACnH,QAAQ,IAAI,CAAC,IAAI,GAAG,EAAE;AACtB,QAAQ,IAAI,CAAC,WAAW,GAAG,EAAE;AAC7B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,CAAC,SAAS,GAAG,EAAE;AAC3B,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK;AACnC,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK;AACnC,QAAQ,IAAI,CAAC,eAAe,GAAG,CAAC;AAChC,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;AACjC,QAAQ,IAAI,CAAC,eAAe,GAAG,IAAI;AACnC;AACA,QAAQ,IAAI,CAAC,iBAAiB,GAAG,kNAAkN;AACnP,QAAQ,IAAI,CAAC,YAAY,GAAG,yOAAyO;AACrQ,QAAQ,IAAI,CAAC,SAAS,GAAG,yMAAyM;AAClO,IAAI;AACJ,IAAI,iBAAiB,GAAG;AACxB,QAAQ,KAAK,CAAC,iBAAiB,EAAE;AACjC,QAAQ,IAAI,CAAC,uBAAuB,EAAE;AACtC;AACA,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE;AAC/D,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AACzD,YAAY,KAAK,CAAC,EAAE,GAAG,uBAAuB;AAC9C,YAAY,KAAK,CAAC,WAAW,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,CAAC;AACP,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAC5C,QAAQ;AACR,IAAI;AACJ,IAAI,oBAAoB,GAAG;AAC3B,QAAQ,KAAK,CAAC,oBAAoB,EAAE;AACpC,QAAQ,IAAI,CAAC,yBAAyB,EAAE;AACxC,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,uBAAuB,GAAG;AAC9B,QAAQ,IAAI,IAAI,CAAC,aAAa;AAC9B,YAAY;AACZ,QAAQ,MAAM,KAAK,GAAG,IAAI;AAC1B;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AACtD,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa;AAChD,QAAQ,MAAM,CAAC,KAAK,GAAG,UAAU,GAAG,IAAI,EAAE;AAC1C,YAAY,KAAK,CAAC,eAAe,EAAE;AACnC,YAAY,OAAO,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM;AACxD,gBAAgB,KAAK,CAAC,eAAe,EAAE;AACvC,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC;AACT;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI;AAC5D,QAAQ,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe;AACpD,QAAQ,cAAc,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACjG,YAAY,KAAK,CAAC,eAAe,EAAE;AACnC,YAAY,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM;AACnD,gBAAgB,KAAK,CAAC,eAAe,EAAE;AACvC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC9B,YAAY,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACrF,QAAQ,CAAC;AACT,IAAI;AACJ;AACA;AACA;AACA,IAAI,yBAAyB,GAAG;AAChC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa;AAC7C,YAAY,IAAI,CAAC,aAAa,GAAG,IAAI;AACrC,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;AAClC,YAAY,cAAc,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe;AAChE,YAAY,IAAI,CAAC,eAAe,GAAG,IAAI;AACvC,QAAQ;AACR,IAAI;AACJ,IAAI,eAAe,GAAG;AACtB,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,YAAY,EAAE;AACzD,YAAY,OAAO,EAAE,IAAI;AACzB,YAAY,QAAQ,EAAE,IAAI;AAC1B,SAAS,CAAC,CAAC;AACX,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;AAClD,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK;AACnC,IAAI;AACJ,IAAI,aAAa,GAAG;AACpB,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK;AACnC,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;AAClD,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK;AACnC,IAAI;AACJ,IAAI,aAAa,GAAG;AACpB,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK;AACnC,IAAI;AACJ,IAAI,mBAAmB,CAAC,IAAI,EAAE;AAC9B,QAAQ,IAAI,CAAC,aAAa,EAAE;AAC5B,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE;AAC9D,YAAY,MAAM,EAAE,EAAE,IAAI,EAAE;AAC5B,YAAY,OAAO,EAAE,IAAI;AACzB,YAAY,QAAQ,EAAE,IAAI;AAC1B,SAAS,CAAC,CAAC;AACX,IAAI;AACJ,IAAI,YAAY,GAAG;AACnB,QAAQ,IAAI,CAAC,aAAa,EAAE;AAC5B,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE;AACrD,YAAY,OAAO,EAAE,IAAI;AACzB,YAAY,QAAQ,EAAE,IAAI;AAC1B,SAAS,CAAC,CAAC;AACX,IAAI;AACJ,IAAI,eAAe,GAAG;AACtB;AACA,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;AACpD,YAAY,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE;AACxC,QAAQ;AACR,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,OAAOC,CAAI,CAAC;AACpB;AACA,QAAQ,EAAE,IAAI,CAAC,cAAc,GAAGA,CAAI,CAAC;AACrC,4CAA4C,EAAE,IAAI,CAAC,aAAa,CAAC;AACjE,QAAQ,CAAC,GAAGC,CAAO;;AAEnB;AACA,gBAAgB,EAAEC,GAAQ,CAAC;AAC3B,YAAY,iBAAiB,EAAE,IAAI;AACnC,YAAY,uBAAuB,EAAE,IAAI,CAAC,cAAc;AACxD,SAAS,CAAC;AACV,iBAAiB,EAAE,IAAI,CAAC,cAAc;AACtC;AACA,8CAA8C,EAAEC,CAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9E;;AAEA,mBAAmB,EAAED,GAAQ,CAAC;AAC9B,YAAY,kBAAkB,EAAE,IAAI;AACpC,YAAY,wBAAwB,EAAE,IAAI,CAAC,cAAc;AACzD,SAAS,CAAC,CAAC;AACX;AACA;AACA,2DAA2D,EAAE,IAAI,CAAC,aAAa,CAAC;AAChF,cAAc,EAAEC,CAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1C;AACA;AACA;AACA;AACA,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAKH,CAAI,CAAC;AAC5C;AACA;AACA,uBAAuB,EAAE,GAAG,CAAC,GAAG;AAChC,yBAAyB,EAAE,CAAC,CAAC,KAAK;AAClC,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE;AACvD,gBAAgB,MAAM,EAAE,EAAE,GAAG,EAAE;AAC/B,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,QAAQ,EAAE,IAAI;AAC9B,gBAAgB,UAAU,EAAE,IAAI;AAChC,aAAa,CAAC;AACd,YAAY,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACrC,YAAY,IAAI,KAAK,CAAC,gBAAgB,EAAE;AACxC,gBAAgB,CAAC,CAAC,cAAc,EAAE;AAClC,YAAY;AACZ,QAAQ,CAAC;AACT;AACA,kBAAkB,EAAE,GAAG,CAAC,IAAI;AAC5B;AACA,cAAc,CAAC,CAAC;AAChB;AACA;AACA;AACA;AACA,IAAI,CAAC;AACL,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI;AACtB,YAAY,OAAOC,CAAO;AAC1B,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;AACnC,aAAa,KAAK,CAAC,GAAG;AACtB,aAAa,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AAClC,aAAa,IAAI,CAAC,EAAE;AACpB,aAAa,WAAW;AACxB,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACxB,QAAQ,OAAOD,CAAI,CAAC;AACpB;AACA,QAAQ,EAAE,IAAI,CAAC,cAAc,GAAGA,CAAI,CAAC;AACrC,4CAA4C,EAAE,IAAI,CAAC,aAAa,CAAC;AACjE,QAAQ,CAAC,GAAGC,CAAO;;AAEnB;AACA;AACA,iBAAiB,EAAE,IAAI,CAAC,cAAc;AACtC;AACA,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;AACtB,cAAcD,CAAI,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;AACzE,cAAc,QAAQ;AACtB;;AAEA,mBAAmB,EAAEE,GAAQ,CAAC;AAC9B,YAAY,mBAAmB,EAAE,IAAI;AACrC,YAAY,yBAAyB,EAAE,IAAI,CAAC,cAAc;AAC1D,SAAS,CAAC,CAAC;AACX;AACA,yCAAyC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1D,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAGF,CAAI,CAAC;AACrC,4CAA4C,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9D,YAAY,CAAC,GAAGC,CAAO;AACvB;;AAEA,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;AAC9C,cAAcD,CAAI,CAAC,CAAC,6CAA6C;AACjE,cAAcA,CAAI,CAAC;AACnB;AACA;AACA,yBAAyB,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;AAC/D;AACA,kBAAkB,EAAE,IAAI,CAAC,IAAI,GAAGA,CAAI,CAAC;AACrC,+DAA+D,EAAEG,CAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvF,kBAAkB,CAAC,GAAGF,CAAO;AAC7B,kBAAkB,EAAE,IAAI,CAAC,KAAK;AAC9B;AACA,cAAc,CAAC,CAAC;;AAEhB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAGD,CAAI,CAAC;AAC7C;AACA,UAAU,CAAC,GAAGC,CAAO;;AAErB;AACA;AACA,mBAAmB,EAAE,IAAI,CAAC,YAAY;AACtC;AACA,uDAAuD,EAAEE,CAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC5F;AACA;AACA;AACA;AACA,IAAI,CAAC;AACL,IAAI;AACJ,IAAI,MAAM,GAAG;AACb,QAAQ,OAAOH,CAAI,CAAC;AACpB,iBAAiB,EAAEE,GAAQ,CAAC;AAC5B,YAAY,UAAU,EAAE,IAAI;AAC5B,YAAY,mBAAmB,EAAE,IAAI,CAAC,eAAe,GAAG,CAAC;AACzD,SAAS,CAAC,CAAC;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAGF,CAAI,CAAC;AAC3B,0CAA0C,EAAE,IAAI,CAAC,eAAe,CAAC;AACjE,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC;AACjC;AACA;AACA,QAAQ,CAAC,GAAGC,CAAO;;AAEnB;AACA,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;;AAE/B;;AAEA;AACA,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC/C;AACA;AACA;AACA,wEAAwE,EAAE,IAAI,CAAC,eAAe,CAAC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC;AACL,IAAI;AACJ;AACA,OAAO,CAAC,MAAM,GAAGG,GAAG,CAAC;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACHP,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrCR,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;AAC5B,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrCR,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE;AACzD,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AAC5CR,YAAU,CAAC;AACX,IAAIQ,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,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GAAGA,CAAI,CAAC;AACzC,6DAA6D,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACxF;AACA;AACA;AACA;AACA,kBAAkB,CAAC,GAAGC,CAAO;AAC7B;AACA;AACA,YAAY,CAAC,GAAGA,CAAO;AACvB;AACA,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACrE;AACA;AACA;AACA,YAAY,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAClF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC;AACL,IAAI;AACJ;AACA,UAAU,CAAC,MAAM,GAAGG,GAAG,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
|