@descope/audit-management-widget 0.5.12 → 0.5.13

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/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /**
3
- * @descope/audit-management-widget v0.5.12
3
+ * @descope/audit-management-widget v0.5.13
4
4
  */
5
- import{createSingletonMixin as e,compose as t,createTemplate as s,debounce as i,withMemCache as o}from"@descope/sdk-helpers";import{__rest as r,__awaiter as a,__classPrivateFieldGet as n,__classPrivateFieldSet as d}from"tslib";import{projectIdMixin as c,observeAttributesMixin as l,loggerMixin as u,baseUrlMixin as h,cookieConfigMixin as g,createValidateAttributesMixin as m,createStateManagementMixin as p,initLifecycleMixin as v,staticResourcesMixin as f,descopeUiMixin as w,initElementMixin as b,debuggerMixin as y,themeMixin as _}from"@descope/sdk-mixins";import{TextFieldDriver as j,SingleSelectDriver as k,GridDriver as C}from"@descope/sdk-component-drivers";import{createAsyncThunk as I}from"@reduxjs/toolkit";import{createSelector as x}from"reselect";import R from"@descope/web-js-sdk";const L=(e,t)=>t?{[e]:t}:{},A=e=>{if(!e)return;const t=JSON.parse(e);return Array.isArray(t)&&0===t.length?void 0:t},O=e=>e.selectedAuditId,D=x((e=>e.auditList.data),(e=>e.map((e=>{const t=e||{},{occurred:s,ID:i,type:o}=t,a=t.data,n=void 0===a?{saml_request:"",saml_response:"",saml_generated_user:"",saml_generated_roles:"",oidc_response:"",oidc_generated_user:""}:a,{saml_request:d,saml_response:c,saml_generated_user:l,saml_generated_roles:u,oidc_response:h,oidc_generated_user:g}=n,m=r(n,["saml_request","saml_response","saml_generated_user","saml_generated_roles","oidc_response","oidc_generated_user"]),p=r(t,["occurred","ID","type","data"]);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},p),{data:m}),L("type",(v=o)&&v[0].toUpperCase()+v.slice(1))),L("saml_request",d)),L("saml_response",c)),L("saml_generated_user",A(l))),L("saml_generated_roles",A(u))),L("oidc_response",A(h))),L("oidc_generated_user",A(g))),{occurredFormatted:s?new Date(Number(s)||0).toLocaleString():"N/A"});var v}))));x(O,D,((e,t)=>t.find((t=>e===t.id)))),x(O,(e=>!!e));const W=I("audit/search",((e,{extra:{api:t},getState:s})=>{const i=s().searchParams;return t.audit.search(Object.assign(Object.assign({},i),e))})),S=(e=>(...t)=>s=>{s.addCase(e.pending,((e,s)=>{t.forEach((({onPending:t})=>{null==t||t(e,s)}))})),s.addCase(e.fulfilled,((e,s)=>{t.forEach((({onFulfilled:t})=>{null==t||t(e,s)}))})),s.addCase(e.rejected,((e,s)=>{t.forEach((({onRejected:t})=>{null==t||t(e,s)}))}))})(W)({onPending:(e,t)=>{e.searchParams=Object.assign(Object.assign({},e.searchParams),t.meta.arg)},onFulfilled:(e,t)=>{e.auditList.data=t.payload}},($=e=>e.auditList,{onFulfilled:e=>{$(e).loading=!1},onPending:e=>{$(e).loading=!0,$(e).error=null},onRejected:(e,t)=>{$(e).loading=!1,$(e).error=t.error}}));var $;const P={action:W,reducer:S},M={auditList:{data:[],loading:!1,error:null},searchParams:{text:"",sort:[]},selectedAuditId:""},q={search:"/v1/mgmt/audit/search"},E=e=>a(void 0,[e],void 0,(function*({text:e,sort:t}){return new Promise((s=>{const i=[],o=(new Date).getTime()/1e3+2592e3,r=new Date(o).toLocaleString();for(let e=1;e<9;e+=1)i.push({id:`Audit ${e}`,action:`Action ${e}`,actorId:`Actor ${e}`,type:"info",method:`Method ${e}`,userId:`User ${e}`,device:`Device ${e}`,geo:`Geo ${e}`,remoteAddress:`127.0.0.${e}`,externalIds:[`Login ID ${e}`],occurred:o,occurredFormatted:r});t.forEach((e=>{i.sort(((t,s)=>{var i,o;return e.desc?null===(o=s[e.field])||void 0===o?void 0:o.localeCompare(t[e.field]):null===(i=t[e.field])||void 0===i?void 0:i.localeCompare(s[e.field])}))})),s(i.filter((t=>t.id.toLowerCase().includes(e.toLowerCase())||t.action.toLowerCase().includes(e.toLowerCase())||t.type.toLowerCase().includes(e.toLowerCase())||t.device.toLowerCase().includes(e.toLowerCase())||t.method.toLowerCase().includes(e.toLowerCase())||t.geo.toLowerCase().includes(e.toLowerCase())||t.remoteAddress.toLowerCase().includes(e.toLowerCase())||t.externalIds.includes(e.toLowerCase())||t.userId.toLowerCase().includes(e.toLowerCase()))))}))})),T=({httpClient:e,tenant:t,mock:s})=>({search:(...i)=>a(void 0,[...i],void 0,(function*({page:i,limit:o=1e4,text:r,sort:n,from:d}={}){if(s)return E({page:i,limit:o,text:r,sort:n},t);const c=yield e.post(q.search,{limit:o,page:i,text:r,sort:n,from:d},{queryParams:{tenant:t}});yield(e=>a(void 0,void 0,void 0,(function*(){const t=yield e.text(),s=JSON.parse(t);if(!e.ok){const t=`${s.errorDescription}${s.errorMessage?`: ${s.errorMessage}`:""}`;throw Error(t||`${e.status} ${e.statusText}`)}e.json=()=>Promise.resolve(s),e.text=()=>Promise.resolve(t)})))(c);return(yield c.json()).audits}))}),N=e((e=>{var s,i,o,r;const p=t(c,l,u,h,g,m({tenant:m.missingAttrValidator}))(e);return r=class extends p{constructor(){super(...arguments),s.add(this),i.set(this,void 0)}get tenantId(){return this.getAttribute("tenant")}get widgetId(){return this.getAttribute("widget-id")}get mock(){return this.getAttribute("mock")}get api(){return n(this,i,"f")||n(this,s,"m",o).call(this),n(this,i,"f")}init(){const e=Object.create(null,{init:{get:()=>super.init}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.init)||void 0===t?void 0:t.call(this),this.observeAttributes(["project-id","base-url","tenant"],(()=>{n(this,i,"f")&&n(this,s,"m",o).call(this)}))}))}},i=new WeakMap,s=new WeakSet,o=function(){this.logger.debug("creating an sdk instance"),d(this,i,((e,t,s,i)=>{const o=R(Object.assign(Object.assign({},e),{persistTokens:!0,baseHeaders:{"x-descope-widget-type":"audit-management-widget","x-descope-widget-id":i,"x-descope-widget-version":"0.5.12"}}));return{audit:T({httpClient:o.httpClient,tenant:t,mock:s})}})({projectId:this.projectId,baseUrl:this.baseUrl,refreshCookieName:this.refreshCookieName},this.tenantId,"true"===this.mock,this.widgetId),"f")},r})),H=e((e=>{const s=t(p({name:"widget",initialState:M,reducers:{setSelectedAuditId:(e,{payload:t})=>{e.selectedAuditId=t}},extraReducers:e=>{P.reducer(e)},asyncActions:{searchAudit:P.action}}),v,u,N)(e);return class extends s{constructor(...e){super(...e),this.state=M,this.subscribe((e=>{this.logger.debug("State update:",e),this.state=e}))}}})),F=e((e=>{const s=t(f,m({"widget-id":m.missingAttrValidator}))(e);return class extends s{get widgetId(){return this.getAttribute("widget-id")}fetchWidgetPage(e){return a(this,void 0,void 0,(function*(){return(yield this.fetchStaticResource(`audit-management-widget/${this.widgetId}/${e}`,"text")).body}))}}})),U=e((e=>{var i,o,r;return r=class extends(t(u,v,w,b,F,H)(e)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){return a(this,void 0,void 0,(function*(){}))}init(){const e=Object.create(null,{init:{get:()=>super.init}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.init)||void 0===t?void 0:t.call(this),yield Promise.all([n(this,i,"m",o).call(this)]),this.onWidgetRootReady()}))}},i=new WeakSet,o=function(){return a(this,void 0,void 0,(function*(){const e=s(yield this.fetchWidgetPage("root.html"));yield this.loadDescopeUiComponents(e),this.contentRootElement.append(e.content.cloneNode(!0))}))},r})),J=e((e=>{var s,o,r,d,c;return c=class extends(t(u,U,H)(e)){constructor(){super(...arguments),s.add(this),o.set(this,i((()=>{const e=this.rangeInput.value,t=new Date;let s;switch(e){case"minuets15":s=t.setMinutes(t.getMinutes()-15);break;case"hour":s=t.setHours(t.getHours()-1);break;case"hour6":s=t.setHours(t.getHours()-6);break;case"day":default:s=t.setDate(t.getDate()-1);break;case"day3":s=t.setDate(t.getDate()-3);break;case"week":s=t.setDate(t.getDate()-7);break;case"week2":s=t.setDate(t.getDate()-14);break;case"month":s=t.setMonth(t.getMonth()-1)}this.actions.searchAudit({text:this.searchInput.value,from:Math.floor(new Date(s).getTime())})})))}onWidgetRootReady(){const e=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.onWidgetRootReady)||void 0===t?void 0:t.call(this),n(this,s,"m",r).call(this),n(this,s,"m",d).call(this)}))}},o=new WeakMap,s=new WeakSet,r=function(){var e;this.searchInput=new j(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="search-input"]'),{logger:this.logger}),this.searchInput.onInput(n(this,o,"f")),n(this,o,"f").call(this)},d=function(){var e;this.rangeInput=new k(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="range-input"]'),{logger:this.logger}),this.rangeInput.onInput(n(this,o,"f"))},c})),V=e((e=>{var s,i,r,d;return d=class extends(t(H,u,U)(e)){constructor(){super(...arguments),s.add(this),r.set(this,o((e=>{this.auditTable.data=e})))}onWidgetRootReady(){const e=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.onWidgetRootReady)||void 0===t?void 0:t.call(this),n(this,s,"m",i).call(this),n(this,r,"f").call(this,D(this.state)),this.subscribe(n(this,r,"f").bind(this),D)}))}},r=new WeakMap,s=new WeakSet,i=function(){var e;this.auditTable=new C(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="audit-table"]'),{logger:this.logger}),this.auditTable.onSelectedItemsChange((e=>{this.actions.setSelectedAuditId(e.detail.value.map((({id:e})=>e)))}))},d})),G=e((e=>class extends(t(y,_,V,J)(e)){init(){const e=Object.create(null,{init:{get:()=>super.init}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.init)||void 0===t?void 0:t.call(this)}))}})),z=t((e=>class extends(G(e)){}))(HTMLElement);customElements.define("descope-audit-management-widget",z);export{z as default};
5
+ import{createSingletonMixin as e,compose as t,createTemplate as s,debounce as i,withMemCache as o}from"@descope/sdk-helpers";import{__rest as r,__awaiter as a,__classPrivateFieldGet as n,__classPrivateFieldSet as d}from"tslib";import{projectIdMixin as c,observeAttributesMixin as l,loggerMixin as u,baseUrlMixin as h,cookieConfigMixin as g,createValidateAttributesMixin as m,createStateManagementMixin as p,initLifecycleMixin as v,staticResourcesMixin as f,descopeUiMixin as w,initElementMixin as b,debuggerMixin as y,themeMixin as _}from"@descope/sdk-mixins";import{TextFieldDriver as j,SingleSelectDriver as k,GridDriver as C}from"@descope/sdk-component-drivers";import{createAsyncThunk as I}from"@reduxjs/toolkit";import{createSelector as x}from"reselect";import R from"@descope/web-js-sdk";const L=(e,t)=>t?{[e]:t}:{},A=e=>{if(!e)return;const t=JSON.parse(e);return Array.isArray(t)&&0===t.length?void 0:t},O=e=>e.selectedAuditId,D=x((e=>e.auditList.data),(e=>e.map((e=>{const t=e||{},{occurred:s,ID:i,type:o}=t,a=t.data,n=void 0===a?{saml_request:"",saml_response:"",saml_generated_user:"",saml_generated_roles:"",oidc_response:"",oidc_generated_user:""}:a,{saml_request:d,saml_response:c,saml_generated_user:l,saml_generated_roles:u,oidc_response:h,oidc_generated_user:g}=n,m=r(n,["saml_request","saml_response","saml_generated_user","saml_generated_roles","oidc_response","oidc_generated_user"]),p=r(t,["occurred","ID","type","data"]);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},p),{data:m}),L("type",(v=o)&&v[0].toUpperCase()+v.slice(1))),L("saml_request",d)),L("saml_response",c)),L("saml_generated_user",A(l))),L("saml_generated_roles",A(u))),L("oidc_response",A(h))),L("oidc_generated_user",A(g))),{occurredFormatted:s?new Date(Number(s)||0).toLocaleString():"N/A"});var v}))));x(O,D,((e,t)=>t.find((t=>e===t.id)))),x(O,(e=>!!e));const W=I("audit/search",((e,{extra:{api:t},getState:s})=>{const i=s().searchParams;return t.audit.search(Object.assign(Object.assign({},i),e))})),S=(e=>(...t)=>s=>{s.addCase(e.pending,((e,s)=>{t.forEach((({onPending:t})=>{null==t||t(e,s)}))})),s.addCase(e.fulfilled,((e,s)=>{t.forEach((({onFulfilled:t})=>{null==t||t(e,s)}))})),s.addCase(e.rejected,((e,s)=>{t.forEach((({onRejected:t})=>{null==t||t(e,s)}))}))})(W)({onPending:(e,t)=>{e.searchParams=Object.assign(Object.assign({},e.searchParams),t.meta.arg)},onFulfilled:(e,t)=>{e.auditList.data=t.payload}},($=e=>e.auditList,{onFulfilled:e=>{$(e).loading=!1},onPending:e=>{$(e).loading=!0,$(e).error=null},onRejected:(e,t)=>{$(e).loading=!1,$(e).error=t.error}}));var $;const P={action:W,reducer:S},M={auditList:{data:[],loading:!1,error:null},searchParams:{text:"",sort:[]},selectedAuditId:""},E={search:"/v1/mgmt/audit/search"},q=e=>a(void 0,[e],void 0,(function*({text:e,sort:t}){return new Promise((s=>{const i=[],o=(new Date).getTime()/1e3+2592e3,r=new Date(o).toLocaleString();for(let e=1;e<9;e+=1)i.push({id:`Audit ${e}`,action:`Action ${e}`,actorId:`Actor ${e}`,type:"info",method:`Method ${e}`,userId:`User ${e}`,device:`Device ${e}`,geo:`Geo ${e}`,remoteAddress:`127.0.0.${e}`,externalIds:[`Login ID ${e}`],occurred:o,occurredFormatted:r});t.forEach((e=>{i.sort(((t,s)=>{var i,o;return e.desc?null===(o=s[e.field])||void 0===o?void 0:o.localeCompare(t[e.field]):null===(i=t[e.field])||void 0===i?void 0:i.localeCompare(s[e.field])}))})),s(i.filter((t=>t.id.toLowerCase().includes(e.toLowerCase())||t.action.toLowerCase().includes(e.toLowerCase())||t.type.toLowerCase().includes(e.toLowerCase())||t.device.toLowerCase().includes(e.toLowerCase())||t.method.toLowerCase().includes(e.toLowerCase())||t.geo.toLowerCase().includes(e.toLowerCase())||t.remoteAddress.toLowerCase().includes(e.toLowerCase())||t.externalIds.includes(e.toLowerCase())||t.userId.toLowerCase().includes(e.toLowerCase()))))}))})),T=({httpClient:e,tenant:t,mock:s})=>({search:(...i)=>a(void 0,[...i],void 0,(function*({page:i,limit:o=1e4,text:r,sort:n,from:d}={}){if(s)return q({page:i,limit:o,text:r,sort:n},t);const c=yield e.post(E.search,{limit:o,page:i,text:r,sort:n,from:d},{queryParams:{tenant:t}});yield(e=>a(void 0,void 0,void 0,(function*(){const t=yield e.text(),s=JSON.parse(t);if(!e.ok){const t=`${s.errorDescription}${s.errorMessage?`: ${s.errorMessage}`:""}`;throw Error(t||`${e.status} ${e.statusText}`)}e.json=()=>Promise.resolve(s),e.text=()=>Promise.resolve(t)})))(c);return(yield c.json()).audits}))}),N=e((e=>{var s,i,o,r;const p=t(c,l,u,h,g,m({tenant:m.missingAttrValidator}))(e);return r=class extends p{constructor(){super(...arguments),s.add(this),i.set(this,void 0)}get tenantId(){return this.getAttribute("tenant")}get widgetId(){return this.getAttribute("widget-id")}get mock(){return this.getAttribute("mock")}get api(){return n(this,i,"f")||n(this,s,"m",o).call(this),n(this,i,"f")}init(){const e=Object.create(null,{init:{get:()=>super.init}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.init)||void 0===t?void 0:t.call(this),this.observeAttributes(["project-id","base-url","tenant"],(()=>{n(this,i,"f")&&n(this,s,"m",o).call(this)}))}))}},i=new WeakMap,s=new WeakSet,o=function(){this.logger.debug("creating an sdk instance"),d(this,i,((e,t,s,i)=>{const o=R(Object.assign(Object.assign({},e),{persistTokens:!0,baseHeaders:{"x-descope-widget-type":"audit-management-widget","x-descope-widget-id":i,"x-descope-widget-version":"0.5.13"}}));return{audit:T({httpClient:o.httpClient,tenant:t,mock:s})}})({projectId:this.projectId,baseUrl:this.baseUrl,refreshCookieName:this.refreshCookieName},this.tenantId,"true"===this.mock,this.widgetId),"f")},r})),H=e((e=>{const s=t(p({name:"widget",initialState:M,reducers:{setSelectedAuditId:(e,{payload:t})=>{e.selectedAuditId=t}},extraReducers:e=>{P.reducer(e)},asyncActions:{searchAudit:P.action}}),v,u,N)(e);return class extends s{constructor(...e){super(...e),this.state=M,this.subscribe((e=>{this.logger.debug("State update:",e),this.state=e}))}}})),F=e((e=>{const s=t(f,m({"widget-id":m.missingAttrValidator}))(e);return class extends s{get widgetId(){return this.getAttribute("widget-id")}fetchWidgetPage(e){return a(this,void 0,void 0,(function*(){return(yield this.fetchStaticResource(`audit-management-widget/${this.widgetId}/${e}`,"text")).body}))}}})),U=e((e=>{var i,o,r;return r=class extends(t(u,v,w,b,F,H)(e)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){return a(this,void 0,void 0,(function*(){}))}init(){const e=Object.create(null,{init:{get:()=>super.init}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.init)||void 0===t?void 0:t.call(this),yield Promise.all([n(this,i,"m",o).call(this)]),yield this.onWidgetRootReady(),this.dispatchEvent(new CustomEvent("ready"))}))}},i=new WeakSet,o=function(){return a(this,void 0,void 0,(function*(){const e=s(yield this.fetchWidgetPage("root.html"));yield this.loadDescopeUiComponents(e),this.contentRootElement.append(e.content.cloneNode(!0))}))},r})),J=e((e=>{var s,o,r,d,c;return c=class extends(t(u,U,H)(e)){constructor(){super(...arguments),s.add(this),o.set(this,i((()=>{const e=this.rangeInput.value,t=new Date;let s;switch(e){case"minuets15":s=t.setMinutes(t.getMinutes()-15);break;case"hour":s=t.setHours(t.getHours()-1);break;case"hour6":s=t.setHours(t.getHours()-6);break;case"day":default:s=t.setDate(t.getDate()-1);break;case"day3":s=t.setDate(t.getDate()-3);break;case"week":s=t.setDate(t.getDate()-7);break;case"week2":s=t.setDate(t.getDate()-14);break;case"month":s=t.setMonth(t.getMonth()-1)}this.actions.searchAudit({text:this.searchInput.value,from:Math.floor(new Date(s).getTime())})})))}onWidgetRootReady(){const e=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.onWidgetRootReady)||void 0===t?void 0:t.call(this),n(this,s,"m",r).call(this),n(this,s,"m",d).call(this)}))}},o=new WeakMap,s=new WeakSet,r=function(){var e;this.searchInput=new j(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="search-input"]'),{logger:this.logger}),this.searchInput.onInput(n(this,o,"f")),n(this,o,"f").call(this)},d=function(){var e;this.rangeInput=new k(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="range-input"]'),{logger:this.logger}),this.rangeInput.onInput(n(this,o,"f"))},c})),V=e((e=>{var s,i,r,d;return d=class extends(t(H,u,U)(e)){constructor(){super(...arguments),s.add(this),r.set(this,o((e=>{this.auditTable.data=e})))}onWidgetRootReady(){const e=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.onWidgetRootReady)||void 0===t?void 0:t.call(this),n(this,s,"m",i).call(this),n(this,r,"f").call(this,D(this.state)),this.subscribe(n(this,r,"f").bind(this),D)}))}},r=new WeakMap,s=new WeakSet,i=function(){var e;this.auditTable=new C(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="audit-table"]'),{logger:this.logger}),this.auditTable.onSelectedItemsChange((e=>{this.actions.setSelectedAuditId(e.detail.value.map((({id:e})=>e)))}))},d})),G=e((e=>class extends(t(y,_,V,J)(e)){init(){const e=Object.create(null,{init:{get:()=>super.init}});return a(this,void 0,void 0,(function*(){var t;yield null===(t=e.init)||void 0===t?void 0:t.call(this)}))}})),z=t((e=>class extends(G(e)){}))(HTMLElement);customElements.define("descope-audit-management-widget",z);export{z as default};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/lib/widget/state/asyncActions/helpers.ts","../../src/lib/widget/state/helpers.ts","../../src/lib/widget/state/selectors.ts","../../src/lib/widget/state/asyncActions/searchAudit.ts","../../src/lib/widget/state/initialState.ts","../../src/lib/widget/api/apiPaths.ts","../../src/lib/widget/api/sdk/mocks.ts","../../src/lib/widget/api/sdk/createAuditSdk.ts","../../src/lib/widget/api/sdk/helpers.ts","../../src/lib/widget/mixins/apiMixin.ts","../../src/lib/widget/api/sdk/index.ts","../../src/lib/widget/mixins/stateManagementMixin.ts","../../src/lib/widget/mixins/fetchWidgetPagesMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initWidgetRootMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initFilterAuditInputMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initAuditTableMixin.ts","../../src/lib/widget/mixins/initMixin/initMixin.ts","../../src/lib/widget/index.ts","../../src/lib/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable no-param-reassign */\n\nimport {\n ActionReducerMapBuilder,\n AsyncThunk,\n PayloadAction,\n SerializedError,\n} from '@reduxjs/toolkit';\nimport { State } from '../types';\n\ntype ExtractedArg<T> = T extends AsyncThunk<any, infer U, any> ? U : never;\n\ntype FulfilledAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n any,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n },\n never\n>;\n\ntype RejectedAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n any,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n },\n SerializedError\n>;\n\ntype PendingAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n unknown,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n }\n>;\n\ntype AsyncReducerConfig<T extends AsyncThunk<any, any, any>> = {\n onFulfilled?: (state: State, action: FulfilledAction<T>) => void;\n onRejected?: (state: State, action: RejectedAction<T>) => void;\n onPending?: (state: State, action: PendingAction<T>) => void;\n};\n\nexport const buildAsyncReducer =\n <T extends AsyncThunk<any, any, any>>(action: T) =>\n (...args: AsyncReducerConfig<T>[]) =>\n (builder: ActionReducerMapBuilder<State>) => {\n builder.addCase(action.pending, (state, action) => {\n args.forEach(({ onPending }) => {\n onPending?.(state, action);\n });\n });\n\n builder.addCase(action.fulfilled, (state, action) => {\n args.forEach(({ onFulfilled }) => {\n onFulfilled?.(state, action);\n });\n });\n\n builder.addCase(action.rejected, (state, action) => {\n args.forEach(({ onRejected }) => {\n onRejected?.(state, action);\n });\n });\n };\n\nexport const withRequestStatus = (\n getStateSection: (state: State) => { loading: boolean; error: unknown },\n): AsyncReducerConfig<any> => ({\n onFulfilled: (state) => {\n getStateSection(state).loading = false;\n },\n onPending: (state) => {\n getStateSection(state).loading = true;\n getStateSection(state).error = null;\n },\n onRejected: (state, action) => {\n getStateSection(state).loading = false;\n getStateSection(state).error = action.error;\n },\n});\n","export const capitalize = (s: string) => s && s[0].toUpperCase() + s.slice(1);\n\nexport const conditionalObj = <T extends any>(key: string, val: T) =>\n val ? { [key]: val } : {};\n\nexport const conditionalJsonParse = (str: string) => {\n if (!str) return undefined;\n\n const res = JSON.parse(str);\n\n if (Array.isArray(res) && res.length === 0) return undefined;\n\n return res;\n};\n","import { createSelector } from 'reselect';\nimport { State } from './types';\nimport { capitalize, conditionalJsonParse, conditionalObj } from './helpers';\n\nexport const getRawAuditList = (state: State) => state.auditList.data;\nexport const getSelectedAuditId = (state: State) => state.selectedAuditId;\nexport const getSearchParams = (state: State) => state.searchParams;\n\nexport const getAuditList = createSelector(getRawAuditList, (audits) =>\n audits.map((audit) => {\n const {\n occurred,\n ID,\n type,\n data: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n saml_request,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n saml_response,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n saml_generated_user,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n saml_generated_roles,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n oidc_response,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n oidc_generated_user,\n ...data\n } = {\n saml_request: '',\n saml_response: '',\n saml_generated_user: '',\n saml_generated_roles: '',\n oidc_response: '',\n oidc_generated_user: '',\n },\n ...auditRest\n } = audit || {};\n\n return {\n ...auditRest,\n data,\n ...conditionalObj('type', capitalize(type)),\n ...conditionalObj('saml_request', saml_request),\n ...conditionalObj('saml_response', saml_response),\n ...conditionalObj(\n 'saml_generated_user',\n conditionalJsonParse(saml_generated_user),\n ),\n ...conditionalObj(\n 'saml_generated_roles',\n conditionalJsonParse(saml_generated_roles),\n ),\n ...conditionalObj('oidc_response', conditionalJsonParse(oidc_response)),\n ...conditionalObj(\n 'oidc_generated_user',\n conditionalJsonParse(oidc_generated_user),\n ),\n occurredFormatted: !occurred\n ? 'N/A'\n : new Date(Number(occurred) || 0).toLocaleString(),\n };\n }),\n);\n\nexport const getSelectedAudit = createSelector(\n getSelectedAuditId,\n getAuditList,\n (selected, audits) => audits.find((audit) => selected === audit.id),\n);\n\nexport const getIsAuditSelected = createSelector(\n getSelectedAuditId,\n (selected) => !!selected,\n);\n","/* eslint-disable no-param-reassign */\nimport { createAsyncThunk } from '@reduxjs/toolkit';\nimport { Sdk } from '../../api/sdk';\nimport { FirstParameter, State, ThunkConfigExtraApi } from '../types';\nimport { buildAsyncReducer, withRequestStatus } from './helpers';\nimport { getSearchParams } from '../selectors';\n\nconst action = createAsyncThunk<\n any,\n FirstParameter<Sdk['audit']['search']> | void,\n ThunkConfigExtraApi\n>('audit/search', (arg, { extra: { api }, getState }) => {\n // we get the existing search params from state, and adding the new search params from the action\n const searchParams = getSearchParams(getState() as State);\n return api.audit.search({ ...searchParams, ...arg });\n});\n\nconst reducer = buildAsyncReducer(action)(\n {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n onPending: (state, action) => {\n state.searchParams = { ...state.searchParams, ...action.meta.arg };\n },\n // eslint-disable-next-line @typescript-eslint/no-shadow\n onFulfilled: (state, action) => {\n state.auditList.data = action.payload;\n },\n },\n withRequestStatus((state: State) => state.auditList),\n);\n\nexport const searchAudit = { action, reducer };\n","import { State } from './types';\n\nexport const initialState: State = {\n auditList: {\n data: [],\n loading: false,\n error: null,\n },\n searchParams: { text: '', sort: [] },\n selectedAuditId: '',\n};\n","export const apiPaths = {\n audit: {\n search: '/v1/mgmt/audit/search',\n },\n};\n","import { Audit, SearchAuditConfig } from '../types';\n\nconst search: (\n config: SearchAuditConfig,\n tenantId: string,\n) => Promise<Audit[]> = async ({ text, sort }) =>\n new Promise((resolve) => {\n const audits: Audit[] = [];\n const timeMock = new Date().getTime() / 1000 + 60 * 60 * 24 * 30;\n const timeMockFormatted = new Date(timeMock).toLocaleString();\n for (let i = 1; i < 9; i += 1) {\n audits.push({\n id: `Audit ${i}`,\n action: `Action ${i}`,\n actorId: `Actor ${i}`,\n type: `info`,\n method: `Method ${i}`,\n userId: `User ${i}`,\n device: `Device ${i}`,\n geo: `Geo ${i}`,\n remoteAddress: `127.0.0.${i}`,\n externalIds: [`Login ID ${i}`],\n occurred: timeMock,\n occurredFormatted: timeMockFormatted,\n });\n }\n\n sort.forEach((s) => {\n audits.sort((a, b) =>\n !s.desc\n ? (a[s.field] as string)?.localeCompare(b[s.field] as string)\n : (b[s.field] as string)?.localeCompare(a[s.field] as string),\n );\n });\n resolve(\n audits.filter(\n (audit) =>\n audit.id.toLowerCase().includes(text.toLowerCase()) ||\n audit.action.toLowerCase().includes(text.toLowerCase()) ||\n audit.type.toLowerCase().includes(text.toLowerCase()) ||\n audit.device.toLowerCase().includes(text.toLowerCase()) ||\n audit.method.toLowerCase().includes(text.toLowerCase()) ||\n audit.geo.toLowerCase().includes(text.toLowerCase()) ||\n audit.remoteAddress.toLowerCase().includes(text.toLowerCase()) ||\n audit.externalIds.includes(text.toLowerCase()) ||\n audit.userId.toLowerCase().includes(text.toLowerCase()),\n ),\n );\n });\n\nconst audit = {\n search,\n};\nexport { audit };\n","import { HttpClient, SearchAuditConfig, Audit } from '../types';\nimport { apiPaths } from '../apiPaths';\nimport { withErrorHandler } from './helpers';\nimport { audit } from './mocks';\n\nexport const createAuditSdk = ({\n httpClient,\n tenant,\n mock,\n}: {\n httpClient: HttpClient;\n tenant: string;\n mock: boolean;\n}) => {\n const search: (config: SearchAuditConfig) => Promise<Audit[]> = async ({\n page,\n limit = 10000,\n text,\n sort,\n from,\n } = {}) => {\n if (mock) {\n return audit.search({ page, limit, text, sort }, tenant);\n }\n const res = await httpClient.post(\n apiPaths.audit.search,\n {\n limit,\n page,\n text,\n sort,\n from,\n },\n {\n queryParams: { tenant },\n },\n );\n\n await withErrorHandler(res);\n\n const json = await res.json();\n\n return json.audits;\n };\n\n return {\n search,\n };\n};\n","export const withErrorHandler = async (res: Response) => {\n const text = await res.text();\n const json = JSON.parse(text);\n\n if (!res.ok) {\n const descopeErrorMsg = `${json.errorDescription}${\n json.errorMessage ? `: ${json.errorMessage}` : ''\n }`;\n throw Error(descopeErrorMsg || `${res.status} ${res.statusText}`);\n }\n\n res.json = () => Promise.resolve(json);\n res.text = () => Promise.resolve(text);\n};\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n baseUrlMixin,\n cookieConfigMixin,\n createValidateAttributesMixin,\n loggerMixin,\n observeAttributesMixin,\n projectIdMixin,\n} from '@descope/sdk-mixins';\nimport { Sdk, createSdk } from '../api/sdk';\n\nexport const apiMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n projectIdMixin,\n observeAttributesMixin,\n loggerMixin,\n baseUrlMixin,\n cookieConfigMixin,\n createValidateAttributesMixin({\n tenant: createValidateAttributesMixin.missingAttrValidator,\n }),\n )(superclass);\n\n return class ApiMixinClass extends BaseClass {\n #api: Sdk;\n\n #createSdk() {\n this.logger.debug('creating an sdk instance');\n this.#api = createSdk(\n {\n projectId: this.projectId,\n baseUrl: this.baseUrl,\n refreshCookieName: this.refreshCookieName,\n },\n this.tenantId,\n this.mock === 'true',\n this.widgetId,\n );\n }\n\n get tenantId() {\n return this.getAttribute('tenant');\n }\n\n get widgetId() {\n return this.getAttribute('widget-id');\n }\n\n get mock() {\n return this.getAttribute('mock');\n }\n\n get api() {\n if (!this.#api) {\n this.#createSdk();\n }\n\n return this.#api;\n }\n\n async init() {\n await super.init?.();\n\n this.observeAttributes(['project-id', 'base-url', 'tenant'], () => {\n if (this.#api) {\n this.#createSdk();\n }\n });\n }\n };\n },\n);\n","import createWebSdk from '@descope/web-js-sdk';\nimport { createAuditSdk } from './createAuditSdk';\n\ndeclare const BUILD_VERSION: string;\n\nexport const createSdk = (\n config: Parameters<typeof createWebSdk>[0],\n tenant: string,\n mock: boolean,\n widgetId?: string,\n) => {\n const webSdk = createWebSdk({\n ...config,\n persistTokens: true,\n baseHeaders: {\n 'x-descope-widget-type': 'audit-management-widget',\n 'x-descope-widget-id': widgetId,\n 'x-descope-widget-version': BUILD_VERSION,\n },\n });\n\n return {\n audit: createAuditSdk({ httpClient: webSdk.httpClient, tenant, mock }),\n };\n};\n\nexport type Sdk = ReturnType<typeof createSdk>;\n","/* eslint-disable no-param-reassign */\nimport { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n createStateManagementMixin,\n initLifecycleMixin,\n loggerMixin,\n} from '@descope/sdk-mixins';\nimport { searchAudit } from '../state/asyncActions';\nimport { initialState } from '../state/initialState';\nimport { apiMixin } from './apiMixin';\n\nexport const stateManagementMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n createStateManagementMixin({\n name: 'widget',\n initialState,\n reducers: {\n setSelectedAuditId: (state, { payload }) => {\n state.selectedAuditId = payload;\n },\n },\n extraReducers: (builder) => {\n searchAudit.reducer(builder);\n },\n asyncActions: {\n searchAudit: searchAudit.action,\n },\n }),\n initLifecycleMixin,\n loggerMixin,\n apiMixin,\n )(superclass);\n return class StateManagementMixinClass extends BaseClass {\n state = initialState;\n\n constructor(...args: any) {\n super(...args);\n\n this.subscribe((state: typeof initialState) => {\n this.logger.debug('State update:', state);\n this.state = state;\n });\n }\n };\n },\n);\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n createValidateAttributesMixin,\n staticResourcesMixin,\n} from '@descope/sdk-mixins';\n\nconst WIDGET_PAGES_BASE_DIR = 'audit-management-widget';\n\nexport const fetchWidgetPagesMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n staticResourcesMixin,\n createValidateAttributesMixin({\n 'widget-id': createValidateAttributesMixin.missingAttrValidator,\n }),\n )(superclass);\n return class FetchWidgetPagesMixinClass extends BaseClass {\n get widgetId() {\n return this.getAttribute('widget-id');\n }\n\n async fetchWidgetPage(filename: string) {\n const res = await this.fetchStaticResource(\n `${WIDGET_PAGES_BASE_DIR}/${this.widgetId}/${filename}`,\n 'text',\n );\n return res.body;\n }\n };\n },\n);\n","import {\n compose,\n createSingletonMixin,\n createTemplate,\n} from '@descope/sdk-helpers';\nimport {\n descopeUiMixin,\n initElementMixin,\n initLifecycleMixin,\n loggerMixin,\n} from '@descope/sdk-mixins';\nimport { fetchWidgetPagesMixin } from '../../fetchWidgetPagesMixin';\nimport { stateManagementMixin } from '../../stateManagementMixin';\n\nexport const initWidgetRootMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitWidgetRootMixinClass extends compose(\n loggerMixin,\n initLifecycleMixin,\n descopeUiMixin,\n initElementMixin,\n fetchWidgetPagesMixin,\n stateManagementMixin,\n )(superclass) {\n async #initWidgetRoot() {\n const template = createTemplate(\n // await import('../../../../../../test/mocks/rootMock').then(\n // (module) => module.default,\n // ),\n await this.fetchWidgetPage('root.html'),\n );\n await this.loadDescopeUiComponents(template);\n this.contentRootElement.append(template.content.cloneNode(true));\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function\n async onWidgetRootReady() {}\n\n async init() {\n await super.init?.();\n\n await Promise.all([this.#initWidgetRoot()]);\n\n this.onWidgetRootReady();\n }\n },\n);\n","import {\n TextFieldDriver,\n SingleSelectDriver,\n} from '@descope/sdk-component-drivers';\nimport { compose, createSingletonMixin, debounce } from '@descope/sdk-helpers';\nimport { loggerMixin } from '@descope/sdk-mixins';\nimport { stateManagementMixin } from '../../stateManagementMixin';\nimport { initWidgetRootMixin } from './initWidgetRootMixin';\n\nexport const initFilterAuditInputMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitFilterAuditInputMixinClass extends compose(\n loggerMixin,\n initWidgetRootMixin,\n stateManagementMixin,\n )(superclass) {\n searchInput: TextFieldDriver;\n\n rangeInput: SingleSelectDriver;\n\n #onInput = debounce(() => {\n const timePeriod = this.rangeInput.value;\n const now = new Date();\n let from: number;\n switch (timePeriod) {\n case 'minuets15':\n from = now.setMinutes(now.getMinutes() - 15);\n break;\n case 'hour':\n from = now.setHours(now.getHours() - 1);\n break;\n case 'hour6':\n from = now.setHours(now.getHours() - 6);\n break;\n case 'day':\n from = now.setDate(now.getDate() - 1);\n break;\n case 'day3':\n from = now.setDate(now.getDate() - 3);\n break;\n case 'week':\n from = now.setDate(now.getDate() - 7);\n break;\n case 'week2':\n from = now.setDate(now.getDate() - 14);\n break;\n case 'month':\n from = now.setMonth(now.getMonth() - 1);\n break;\n default:\n // default to one day\n from = now.setDate(now.getDate() - 1);\n }\n\n this.actions.searchAudit({\n text: this.searchInput.value,\n from: Math.floor(new Date(from).getTime()),\n });\n });\n\n #initSearchInput() {\n // currently we are doing it on client side because we assume there will not be more than 10000 audit per tenant\n this.searchInput = new TextFieldDriver(\n this.shadowRoot?.querySelector('[data-id=\"search-input\"]'),\n { logger: this.logger },\n );\n this.searchInput.onInput(this.#onInput);\n // we need to call it once to in case there is a default value\n this.#onInput();\n }\n\n #initRangeInput() {\n this.rangeInput = new SingleSelectDriver(\n this.shadowRoot?.querySelector('[data-id=\"range-input\"]'),\n { logger: this.logger },\n );\n this.rangeInput.onInput(this.#onInput);\n }\n\n async onWidgetRootReady() {\n await super.onWidgetRootReady?.();\n\n this.#initSearchInput();\n this.#initRangeInput();\n }\n },\n);\n","import { GridDriver } from '@descope/sdk-component-drivers';\nimport {\n compose,\n createSingletonMixin,\n withMemCache,\n} from '@descope/sdk-helpers';\nimport { loggerMixin } from '@descope/sdk-mixins';\nimport { Audit } from '../../../api/types';\nimport { getAuditList } from '../../../state/selectors';\nimport { stateManagementMixin } from '../../stateManagementMixin';\nimport { initWidgetRootMixin } from './initWidgetRootMixin';\n\nexport const initAuditTableMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitAuditTableMixinClass extends compose(\n stateManagementMixin,\n loggerMixin,\n initWidgetRootMixin,\n )(superclass) {\n auditTable: GridDriver<Partial<Audit>>;\n\n #initAuditTable() {\n this.auditTable = new GridDriver(\n this.shadowRoot?.querySelector('[data-id=\"audit-table\"]'),\n { logger: this.logger },\n );\n this.auditTable.onSelectedItemsChange((e) => {\n this.actions.setSelectedAuditId(e.detail.value.map(({ id }) => id));\n });\n }\n\n #onAuditListUpdate = withMemCache(\n (auditList: ReturnType<typeof getAuditList>) => {\n this.auditTable.data = auditList;\n },\n );\n\n async onWidgetRootReady() {\n await super.onWidgetRootReady?.();\n\n this.#initAuditTable();\n\n // because we are not waiting for the rest calls,\n // we need to make sure the table is updated with the received audit\n this.#onAuditListUpdate(getAuditList(this.state));\n this.subscribe(this.#onAuditListUpdate.bind(this), getAuditList);\n }\n },\n);\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport { debuggerMixin, themeMixin } from '@descope/sdk-mixins';\nimport { initFilterAuditInputMixin } from './initComponentsMixins/initFilterAuditInputMixin';\nimport { initAuditTableMixin } from './initComponentsMixins/initAuditTableMixin';\n\nexport const initMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n // @ts-ignore\n class InitMixinClass extends compose(\n debuggerMixin,\n themeMixin,\n initAuditTableMixin,\n initFilterAuditInputMixin,\n )(superclass) {\n async init() {\n await super.init?.();\n }\n },\n);\n","import { compose } from '@descope/sdk-helpers';\nimport { initMixin } from './mixins/initMixin/initMixin';\n\nconst rootMixin = (superclass: CustomElementConstructor) =>\n class RootMixinClass extends initMixin(superclass) {};\n\nexport const AuditManagementWidget = compose(rootMixin)(HTMLElement);\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { Unsubscribe } from 'redux'; // workaround for https://github.com/microsoft/TypeScript/issues/42873\nimport { AuditManagementWidget } from './widget';\n\nexport default AuditManagementWidget;\n\ncustomElements.define('descope-audit-management-widget', AuditManagementWidget);\n"],"names":["conditionalObj","key","val","conditionalJsonParse","str","res","JSON","parse","Array","isArray","length","getSelectedAuditId","state","selectedAuditId","getAuditList","createSelector","auditList","data","audits","map","audit","_a","occurred","ID","type","_b","_c","saml_request","saml_response","saml_generated_user","saml_generated_roles","oidc_response","oidc_generated_user","__rest","auditRest","Object","assign","s","toUpperCase","slice","occurredFormatted","Date","Number","toLocaleString","selected","find","id","action","createAsyncThunk","arg","extra","api","getState","searchParams","search","reducer","args","builder","addCase","pending","forEach","onPending","fulfilled","onFulfilled","rejected","onRejected","buildAsyncReducer","meta","payload","getStateSection","loading","error","searchAudit","initialState","text","sort","apiPaths","Promise","resolve","timeMock","getTime","timeMockFormatted","i","push","actorId","method","userId","device","geo","remoteAddress","externalIds","a","b","desc","field","localeCompare","filter","toLowerCase","includes","createAuditSdk","httpClient","tenant","mock","args_1","__awaiter","page","limit","from","post","queryParams","json","ok","descopeErrorMsg","errorDescription","errorMessage","Error","status","statusText","withErrorHandler","apiMixin","createSingletonMixin","superclass","BaseClass","compose","projectIdMixin","observeAttributesMixin","loggerMixin","baseUrlMixin","cookieConfigMixin","createValidateAttributesMixin","missingAttrValidator","constructor","_ApiMixinClass_api","set","this","tenantId","getAttribute","widgetId","__classPrivateFieldGet","_ApiMixinClass_instances","_ApiMixinClass_createSdk","call","init","_super","observeAttributes","logger","debug","__classPrivateFieldSet","config","webSdk","createWebSdk","persistTokens","baseHeaders","createSdk","projectId","baseUrl","refreshCookieName","stateManagementMixin","createStateManagementMixin","name","reducers","setSelectedAuditId","extraReducers","asyncActions","initLifecycleMixin","super","subscribe","fetchWidgetPagesMixin","staticResourcesMixin","fetchWidgetPage","filename","fetchStaticResource","body","initWidgetRootMixin","_InitWidgetRootMixinClass_instances","_InitWidgetRootMixinClass_initWidgetRoot","descopeUiMixin","initElementMixin","onWidgetRootReady","all","template","createTemplate","loadDescopeUiComponents","contentRootElement","append","content","cloneNode","initFilterAuditInputMixin","_InitFilterAuditInputMixinClass_instances","_InitFilterAuditInputMixinClass_onInput","_InitFilterAuditInputMixinClass_initSearchInput","_InitFilterAuditInputMixinClass_initRangeInput","debounce","timePeriod","rangeInput","value","now","setMinutes","getMinutes","setHours","getHours","setDate","getDate","setMonth","getMonth","actions","searchInput","Math","floor","TextFieldDriver","shadowRoot","querySelector","onInput","SingleSelectDriver","initAuditTableMixin","_InitAuditTableMixinClass_instances","_InitAuditTableMixinClass_initAuditTable","_InitAuditTableMixinClass_onAuditListUpdate","withMemCache","auditTable","bind","GridDriver","onSelectedItemsChange","e","detail","initMixin","debuggerMixin","themeMixin","AuditManagementWidget","HTMLElement","customElements","define"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/lib/widget/state/asyncActions/helpers.ts","../../src/lib/widget/state/helpers.ts","../../src/lib/widget/state/selectors.ts","../../src/lib/widget/state/asyncActions/searchAudit.ts","../../src/lib/widget/state/initialState.ts","../../src/lib/widget/api/apiPaths.ts","../../src/lib/widget/api/sdk/mocks.ts","../../src/lib/widget/api/sdk/createAuditSdk.ts","../../src/lib/widget/api/sdk/helpers.ts","../../src/lib/widget/mixins/apiMixin.ts","../../src/lib/widget/api/sdk/index.ts","../../src/lib/widget/mixins/stateManagementMixin.ts","../../src/lib/widget/mixins/fetchWidgetPagesMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initWidgetRootMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initFilterAuditInputMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initAuditTableMixin.ts","../../src/lib/widget/mixins/initMixin/initMixin.ts","../../src/lib/widget/index.ts","../../src/lib/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable no-param-reassign */\n\nimport {\n ActionReducerMapBuilder,\n AsyncThunk,\n PayloadAction,\n SerializedError,\n} from '@reduxjs/toolkit';\nimport { State } from '../types';\n\ntype ExtractedArg<T> = T extends AsyncThunk<any, infer U, any> ? U : never;\n\ntype FulfilledAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n any,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n },\n never\n>;\n\ntype RejectedAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n any,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n },\n SerializedError\n>;\n\ntype PendingAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n unknown,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n }\n>;\n\ntype AsyncReducerConfig<T extends AsyncThunk<any, any, any>> = {\n onFulfilled?: (state: State, action: FulfilledAction<T>) => void;\n onRejected?: (state: State, action: RejectedAction<T>) => void;\n onPending?: (state: State, action: PendingAction<T>) => void;\n};\n\nexport const buildAsyncReducer =\n <T extends AsyncThunk<any, any, any>>(action: T) =>\n (...args: AsyncReducerConfig<T>[]) =>\n (builder: ActionReducerMapBuilder<State>) => {\n builder.addCase(action.pending, (state, action) => {\n args.forEach(({ onPending }) => {\n onPending?.(state, action);\n });\n });\n\n builder.addCase(action.fulfilled, (state, action) => {\n args.forEach(({ onFulfilled }) => {\n onFulfilled?.(state, action);\n });\n });\n\n builder.addCase(action.rejected, (state, action) => {\n args.forEach(({ onRejected }) => {\n onRejected?.(state, action);\n });\n });\n };\n\nexport const withRequestStatus = (\n getStateSection: (state: State) => { loading: boolean; error: unknown },\n): AsyncReducerConfig<any> => ({\n onFulfilled: (state) => {\n getStateSection(state).loading = false;\n },\n onPending: (state) => {\n getStateSection(state).loading = true;\n getStateSection(state).error = null;\n },\n onRejected: (state, action) => {\n getStateSection(state).loading = false;\n getStateSection(state).error = action.error;\n },\n});\n","export const capitalize = (s: string) => s && s[0].toUpperCase() + s.slice(1);\n\nexport const conditionalObj = <T extends any>(key: string, val: T) =>\n val ? { [key]: val } : {};\n\nexport const conditionalJsonParse = (str: string) => {\n if (!str) return undefined;\n\n const res = JSON.parse(str);\n\n if (Array.isArray(res) && res.length === 0) return undefined;\n\n return res;\n};\n","import { createSelector } from 'reselect';\nimport { State } from './types';\nimport { capitalize, conditionalJsonParse, conditionalObj } from './helpers';\n\nexport const getRawAuditList = (state: State) => state.auditList.data;\nexport const getSelectedAuditId = (state: State) => state.selectedAuditId;\nexport const getSearchParams = (state: State) => state.searchParams;\n\nexport const getAuditList = createSelector(getRawAuditList, (audits) =>\n audits.map((audit) => {\n const {\n occurred,\n ID,\n type,\n data: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n saml_request,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n saml_response,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n saml_generated_user,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n saml_generated_roles,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n oidc_response,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n oidc_generated_user,\n ...data\n } = {\n saml_request: '',\n saml_response: '',\n saml_generated_user: '',\n saml_generated_roles: '',\n oidc_response: '',\n oidc_generated_user: '',\n },\n ...auditRest\n } = audit || {};\n\n return {\n ...auditRest,\n data,\n ...conditionalObj('type', capitalize(type)),\n ...conditionalObj('saml_request', saml_request),\n ...conditionalObj('saml_response', saml_response),\n ...conditionalObj(\n 'saml_generated_user',\n conditionalJsonParse(saml_generated_user),\n ),\n ...conditionalObj(\n 'saml_generated_roles',\n conditionalJsonParse(saml_generated_roles),\n ),\n ...conditionalObj('oidc_response', conditionalJsonParse(oidc_response)),\n ...conditionalObj(\n 'oidc_generated_user',\n conditionalJsonParse(oidc_generated_user),\n ),\n occurredFormatted: !occurred\n ? 'N/A'\n : new Date(Number(occurred) || 0).toLocaleString(),\n };\n }),\n);\n\nexport const getSelectedAudit = createSelector(\n getSelectedAuditId,\n getAuditList,\n (selected, audits) => audits.find((audit) => selected === audit.id),\n);\n\nexport const getIsAuditSelected = createSelector(\n getSelectedAuditId,\n (selected) => !!selected,\n);\n","/* eslint-disable no-param-reassign */\nimport { createAsyncThunk } from '@reduxjs/toolkit';\nimport { Sdk } from '../../api/sdk';\nimport { FirstParameter, State, ThunkConfigExtraApi } from '../types';\nimport { buildAsyncReducer, withRequestStatus } from './helpers';\nimport { getSearchParams } from '../selectors';\n\nconst action = createAsyncThunk<\n any,\n FirstParameter<Sdk['audit']['search']> | void,\n ThunkConfigExtraApi\n>('audit/search', (arg, { extra: { api }, getState }) => {\n // we get the existing search params from state, and adding the new search params from the action\n const searchParams = getSearchParams(getState() as State);\n return api.audit.search({ ...searchParams, ...arg });\n});\n\nconst reducer = buildAsyncReducer(action)(\n {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n onPending: (state, action) => {\n state.searchParams = { ...state.searchParams, ...action.meta.arg };\n },\n // eslint-disable-next-line @typescript-eslint/no-shadow\n onFulfilled: (state, action) => {\n state.auditList.data = action.payload;\n },\n },\n withRequestStatus((state: State) => state.auditList),\n);\n\nexport const searchAudit = { action, reducer };\n","import { State } from './types';\n\nexport const initialState: State = {\n auditList: {\n data: [],\n loading: false,\n error: null,\n },\n searchParams: { text: '', sort: [] },\n selectedAuditId: '',\n};\n","export const apiPaths = {\n audit: {\n search: '/v1/mgmt/audit/search',\n },\n};\n","import { Audit, SearchAuditConfig } from '../types';\n\nconst search: (\n config: SearchAuditConfig,\n tenantId: string,\n) => Promise<Audit[]> = async ({ text, sort }) =>\n new Promise((resolve) => {\n const audits: Audit[] = [];\n const timeMock = new Date().getTime() / 1000 + 60 * 60 * 24 * 30;\n const timeMockFormatted = new Date(timeMock).toLocaleString();\n for (let i = 1; i < 9; i += 1) {\n audits.push({\n id: `Audit ${i}`,\n action: `Action ${i}`,\n actorId: `Actor ${i}`,\n type: `info`,\n method: `Method ${i}`,\n userId: `User ${i}`,\n device: `Device ${i}`,\n geo: `Geo ${i}`,\n remoteAddress: `127.0.0.${i}`,\n externalIds: [`Login ID ${i}`],\n occurred: timeMock,\n occurredFormatted: timeMockFormatted,\n });\n }\n\n sort.forEach((s) => {\n audits.sort((a, b) =>\n !s.desc\n ? (a[s.field] as string)?.localeCompare(b[s.field] as string)\n : (b[s.field] as string)?.localeCompare(a[s.field] as string),\n );\n });\n resolve(\n audits.filter(\n (audit) =>\n audit.id.toLowerCase().includes(text.toLowerCase()) ||\n audit.action.toLowerCase().includes(text.toLowerCase()) ||\n audit.type.toLowerCase().includes(text.toLowerCase()) ||\n audit.device.toLowerCase().includes(text.toLowerCase()) ||\n audit.method.toLowerCase().includes(text.toLowerCase()) ||\n audit.geo.toLowerCase().includes(text.toLowerCase()) ||\n audit.remoteAddress.toLowerCase().includes(text.toLowerCase()) ||\n audit.externalIds.includes(text.toLowerCase()) ||\n audit.userId.toLowerCase().includes(text.toLowerCase()),\n ),\n );\n });\n\nconst audit = {\n search,\n};\nexport { audit };\n","import { HttpClient, SearchAuditConfig, Audit } from '../types';\nimport { apiPaths } from '../apiPaths';\nimport { withErrorHandler } from './helpers';\nimport { audit } from './mocks';\n\nexport const createAuditSdk = ({\n httpClient,\n tenant,\n mock,\n}: {\n httpClient: HttpClient;\n tenant: string;\n mock: boolean;\n}) => {\n const search: (config: SearchAuditConfig) => Promise<Audit[]> = async ({\n page,\n limit = 10000,\n text,\n sort,\n from,\n } = {}) => {\n if (mock) {\n return audit.search({ page, limit, text, sort }, tenant);\n }\n const res = await httpClient.post(\n apiPaths.audit.search,\n {\n limit,\n page,\n text,\n sort,\n from,\n },\n {\n queryParams: { tenant },\n },\n );\n\n await withErrorHandler(res);\n\n const json = await res.json();\n\n return json.audits;\n };\n\n return {\n search,\n };\n};\n","export const withErrorHandler = async (res: Response) => {\n const text = await res.text();\n const json = JSON.parse(text);\n\n if (!res.ok) {\n const descopeErrorMsg = `${json.errorDescription}${\n json.errorMessage ? `: ${json.errorMessage}` : ''\n }`;\n throw Error(descopeErrorMsg || `${res.status} ${res.statusText}`);\n }\n\n res.json = () => Promise.resolve(json);\n res.text = () => Promise.resolve(text);\n};\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n baseUrlMixin,\n cookieConfigMixin,\n createValidateAttributesMixin,\n loggerMixin,\n observeAttributesMixin,\n projectIdMixin,\n} from '@descope/sdk-mixins';\nimport { Sdk, createSdk } from '../api/sdk';\n\nexport const apiMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n projectIdMixin,\n observeAttributesMixin,\n loggerMixin,\n baseUrlMixin,\n cookieConfigMixin,\n createValidateAttributesMixin({\n tenant: createValidateAttributesMixin.missingAttrValidator,\n }),\n )(superclass);\n\n return class ApiMixinClass extends BaseClass {\n #api: Sdk;\n\n #createSdk() {\n this.logger.debug('creating an sdk instance');\n this.#api = createSdk(\n {\n projectId: this.projectId,\n baseUrl: this.baseUrl,\n refreshCookieName: this.refreshCookieName,\n },\n this.tenantId,\n this.mock === 'true',\n this.widgetId,\n );\n }\n\n get tenantId() {\n return this.getAttribute('tenant');\n }\n\n get widgetId() {\n return this.getAttribute('widget-id');\n }\n\n get mock() {\n return this.getAttribute('mock');\n }\n\n get api() {\n if (!this.#api) {\n this.#createSdk();\n }\n\n return this.#api;\n }\n\n async init() {\n await super.init?.();\n\n this.observeAttributes(['project-id', 'base-url', 'tenant'], () => {\n if (this.#api) {\n this.#createSdk();\n }\n });\n }\n };\n },\n);\n","import createWebSdk from '@descope/web-js-sdk';\nimport { createAuditSdk } from './createAuditSdk';\n\ndeclare const BUILD_VERSION: string;\n\nexport const createSdk = (\n config: Parameters<typeof createWebSdk>[0],\n tenant: string,\n mock: boolean,\n widgetId?: string,\n) => {\n const webSdk = createWebSdk({\n ...config,\n persistTokens: true,\n baseHeaders: {\n 'x-descope-widget-type': 'audit-management-widget',\n 'x-descope-widget-id': widgetId,\n 'x-descope-widget-version': BUILD_VERSION,\n },\n });\n\n return {\n audit: createAuditSdk({ httpClient: webSdk.httpClient, tenant, mock }),\n };\n};\n\nexport type Sdk = ReturnType<typeof createSdk>;\n","/* eslint-disable no-param-reassign */\nimport { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n createStateManagementMixin,\n initLifecycleMixin,\n loggerMixin,\n} from '@descope/sdk-mixins';\nimport { searchAudit } from '../state/asyncActions';\nimport { initialState } from '../state/initialState';\nimport { apiMixin } from './apiMixin';\n\nexport const stateManagementMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n createStateManagementMixin({\n name: 'widget',\n initialState,\n reducers: {\n setSelectedAuditId: (state, { payload }) => {\n state.selectedAuditId = payload;\n },\n },\n extraReducers: (builder) => {\n searchAudit.reducer(builder);\n },\n asyncActions: {\n searchAudit: searchAudit.action,\n },\n }),\n initLifecycleMixin,\n loggerMixin,\n apiMixin,\n )(superclass);\n return class StateManagementMixinClass extends BaseClass {\n state = initialState;\n\n constructor(...args: any) {\n super(...args);\n\n this.subscribe((state: typeof initialState) => {\n this.logger.debug('State update:', state);\n this.state = state;\n });\n }\n };\n },\n);\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n createValidateAttributesMixin,\n staticResourcesMixin,\n} from '@descope/sdk-mixins';\n\nconst WIDGET_PAGES_BASE_DIR = 'audit-management-widget';\n\nexport const fetchWidgetPagesMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n staticResourcesMixin,\n createValidateAttributesMixin({\n 'widget-id': createValidateAttributesMixin.missingAttrValidator,\n }),\n )(superclass);\n return class FetchWidgetPagesMixinClass extends BaseClass {\n get widgetId() {\n return this.getAttribute('widget-id');\n }\n\n async fetchWidgetPage(filename: string) {\n const res = await this.fetchStaticResource(\n `${WIDGET_PAGES_BASE_DIR}/${this.widgetId}/${filename}`,\n 'text',\n );\n return res.body;\n }\n };\n },\n);\n","import {\n compose,\n createSingletonMixin,\n createTemplate,\n} from '@descope/sdk-helpers';\nimport {\n descopeUiMixin,\n initElementMixin,\n initLifecycleMixin,\n loggerMixin,\n} from '@descope/sdk-mixins';\nimport { fetchWidgetPagesMixin } from '../../fetchWidgetPagesMixin';\nimport { stateManagementMixin } from '../../stateManagementMixin';\n\nexport const initWidgetRootMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitWidgetRootMixinClass extends compose(\n loggerMixin,\n initLifecycleMixin,\n descopeUiMixin,\n initElementMixin,\n fetchWidgetPagesMixin,\n stateManagementMixin,\n )(superclass) {\n async #initWidgetRoot() {\n const template = createTemplate(\n // await import('../../../../../../test/mocks/rootMock').then(\n // (module) => module.default,\n // ),\n await this.fetchWidgetPage('root.html'),\n );\n await this.loadDescopeUiComponents(template);\n this.contentRootElement.append(template.content.cloneNode(true));\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function\n async onWidgetRootReady() {}\n\n async init() {\n await super.init?.();\n\n await Promise.all([this.#initWidgetRoot()]);\n\n await this.onWidgetRootReady();\n this.dispatchEvent(new CustomEvent('ready'));\n }\n },\n);\n","import {\n TextFieldDriver,\n SingleSelectDriver,\n} from '@descope/sdk-component-drivers';\nimport { compose, createSingletonMixin, debounce } from '@descope/sdk-helpers';\nimport { loggerMixin } from '@descope/sdk-mixins';\nimport { stateManagementMixin } from '../../stateManagementMixin';\nimport { initWidgetRootMixin } from './initWidgetRootMixin';\n\nexport const initFilterAuditInputMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitFilterAuditInputMixinClass extends compose(\n loggerMixin,\n initWidgetRootMixin,\n stateManagementMixin,\n )(superclass) {\n searchInput: TextFieldDriver;\n\n rangeInput: SingleSelectDriver;\n\n #onInput = debounce(() => {\n const timePeriod = this.rangeInput.value;\n const now = new Date();\n let from: number;\n switch (timePeriod) {\n case 'minuets15':\n from = now.setMinutes(now.getMinutes() - 15);\n break;\n case 'hour':\n from = now.setHours(now.getHours() - 1);\n break;\n case 'hour6':\n from = now.setHours(now.getHours() - 6);\n break;\n case 'day':\n from = now.setDate(now.getDate() - 1);\n break;\n case 'day3':\n from = now.setDate(now.getDate() - 3);\n break;\n case 'week':\n from = now.setDate(now.getDate() - 7);\n break;\n case 'week2':\n from = now.setDate(now.getDate() - 14);\n break;\n case 'month':\n from = now.setMonth(now.getMonth() - 1);\n break;\n default:\n // default to one day\n from = now.setDate(now.getDate() - 1);\n }\n\n this.actions.searchAudit({\n text: this.searchInput.value,\n from: Math.floor(new Date(from).getTime()),\n });\n });\n\n #initSearchInput() {\n // currently we are doing it on client side because we assume there will not be more than 10000 audit per tenant\n this.searchInput = new TextFieldDriver(\n this.shadowRoot?.querySelector('[data-id=\"search-input\"]'),\n { logger: this.logger },\n );\n this.searchInput.onInput(this.#onInput);\n // we need to call it once to in case there is a default value\n this.#onInput();\n }\n\n #initRangeInput() {\n this.rangeInput = new SingleSelectDriver(\n this.shadowRoot?.querySelector('[data-id=\"range-input\"]'),\n { logger: this.logger },\n );\n this.rangeInput.onInput(this.#onInput);\n }\n\n async onWidgetRootReady() {\n await super.onWidgetRootReady?.();\n\n this.#initSearchInput();\n this.#initRangeInput();\n }\n },\n);\n","import { GridDriver } from '@descope/sdk-component-drivers';\nimport {\n compose,\n createSingletonMixin,\n withMemCache,\n} from '@descope/sdk-helpers';\nimport { loggerMixin } from '@descope/sdk-mixins';\nimport { Audit } from '../../../api/types';\nimport { getAuditList } from '../../../state/selectors';\nimport { stateManagementMixin } from '../../stateManagementMixin';\nimport { initWidgetRootMixin } from './initWidgetRootMixin';\n\nexport const initAuditTableMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitAuditTableMixinClass extends compose(\n stateManagementMixin,\n loggerMixin,\n initWidgetRootMixin,\n )(superclass) {\n auditTable: GridDriver<Partial<Audit>>;\n\n #initAuditTable() {\n this.auditTable = new GridDriver(\n this.shadowRoot?.querySelector('[data-id=\"audit-table\"]'),\n { logger: this.logger },\n );\n this.auditTable.onSelectedItemsChange((e) => {\n this.actions.setSelectedAuditId(e.detail.value.map(({ id }) => id));\n });\n }\n\n #onAuditListUpdate = withMemCache(\n (auditList: ReturnType<typeof getAuditList>) => {\n this.auditTable.data = auditList;\n },\n );\n\n async onWidgetRootReady() {\n await super.onWidgetRootReady?.();\n\n this.#initAuditTable();\n\n // because we are not waiting for the rest calls,\n // we need to make sure the table is updated with the received audit\n this.#onAuditListUpdate(getAuditList(this.state));\n this.subscribe(this.#onAuditListUpdate.bind(this), getAuditList);\n }\n },\n);\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport { debuggerMixin, themeMixin } from '@descope/sdk-mixins';\nimport { initFilterAuditInputMixin } from './initComponentsMixins/initFilterAuditInputMixin';\nimport { initAuditTableMixin } from './initComponentsMixins/initAuditTableMixin';\n\nexport const initMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n // @ts-ignore\n class InitMixinClass extends compose(\n debuggerMixin,\n themeMixin,\n initAuditTableMixin,\n initFilterAuditInputMixin,\n )(superclass) {\n async init() {\n await super.init?.();\n }\n },\n);\n","import { compose } from '@descope/sdk-helpers';\nimport { initMixin } from './mixins/initMixin/initMixin';\n\nconst rootMixin = (superclass: CustomElementConstructor) =>\n class RootMixinClass extends initMixin(superclass) {};\n\nexport const AuditManagementWidget = compose(rootMixin)(HTMLElement);\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { Unsubscribe } from 'redux'; // workaround for https://github.com/microsoft/TypeScript/issues/42873\nimport { AuditManagementWidget } from './widget';\n\nexport default AuditManagementWidget;\n\ncustomElements.define('descope-audit-management-widget', AuditManagementWidget);\n"],"names":["conditionalObj","key","val","conditionalJsonParse","str","res","JSON","parse","Array","isArray","length","getSelectedAuditId","state","selectedAuditId","getAuditList","createSelector","auditList","data","audits","map","audit","_a","occurred","ID","type","_b","_c","saml_request","saml_response","saml_generated_user","saml_generated_roles","oidc_response","oidc_generated_user","__rest","auditRest","Object","assign","s","toUpperCase","slice","occurredFormatted","Date","Number","toLocaleString","selected","find","id","action","createAsyncThunk","arg","extra","api","getState","searchParams","search","reducer","args","builder","addCase","pending","forEach","onPending","fulfilled","onFulfilled","rejected","onRejected","buildAsyncReducer","meta","payload","getStateSection","loading","error","searchAudit","initialState","text","sort","apiPaths","Promise","resolve","timeMock","getTime","timeMockFormatted","i","push","actorId","method","userId","device","geo","remoteAddress","externalIds","a","b","desc","field","localeCompare","filter","toLowerCase","includes","createAuditSdk","httpClient","tenant","mock","args_1","__awaiter","page","limit","from","post","queryParams","json","ok","descopeErrorMsg","errorDescription","errorMessage","Error","status","statusText","withErrorHandler","apiMixin","createSingletonMixin","superclass","BaseClass","compose","projectIdMixin","observeAttributesMixin","loggerMixin","baseUrlMixin","cookieConfigMixin","createValidateAttributesMixin","missingAttrValidator","constructor","_ApiMixinClass_api","set","this","tenantId","getAttribute","widgetId","__classPrivateFieldGet","_ApiMixinClass_instances","_ApiMixinClass_createSdk","call","init","_super","observeAttributes","logger","debug","__classPrivateFieldSet","config","webSdk","createWebSdk","persistTokens","baseHeaders","createSdk","projectId","baseUrl","refreshCookieName","stateManagementMixin","createStateManagementMixin","name","reducers","setSelectedAuditId","extraReducers","asyncActions","initLifecycleMixin","super","subscribe","fetchWidgetPagesMixin","staticResourcesMixin","fetchWidgetPage","filename","fetchStaticResource","body","initWidgetRootMixin","_InitWidgetRootMixinClass_instances","_InitWidgetRootMixinClass_initWidgetRoot","descopeUiMixin","initElementMixin","onWidgetRootReady","all","dispatchEvent","CustomEvent","template","createTemplate","loadDescopeUiComponents","contentRootElement","append","content","cloneNode","initFilterAuditInputMixin","_InitFilterAuditInputMixinClass_instances","_InitFilterAuditInputMixinClass_onInput","_InitFilterAuditInputMixinClass_initSearchInput","_InitFilterAuditInputMixinClass_initRangeInput","debounce","timePeriod","rangeInput","value","now","setMinutes","getMinutes","setHours","getHours","setDate","getDate","setMonth","getMonth","actions","searchInput","Math","floor","TextFieldDriver","shadowRoot","querySelector","onInput","SingleSelectDriver","initAuditTableMixin","_InitAuditTableMixinClass_instances","_InitAuditTableMixinClass_initAuditTable","_InitAuditTableMixinClass_onAuditListUpdate","withMemCache","auditTable","bind","GridDriver","onSelectedItemsChange","e","detail","initMixin","debuggerMixin","themeMixin","AuditManagementWidget","HTMLElement","customElements","define"],"mappings":";;;;gyBAgDO,MC9CMA,CAAiB,CAAA,CAAgBC,EAAaC,CACzDA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAED,CAACA,CAAAA,CAAAA,CAAMC,CAAQ,CAAA,CAAA,EAEZC,CAAAA,CAAAA,CAAwBC,IACnC,CAAKA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,OAEV,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMC,KAAKC,CAAMH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEvB,OAAII,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQJ,IAAuB,CAAfA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIK,YAA9B,CAEOL,CAAAA,CAAG,ECPCM,CAAsBC,CAAAA,CAAAA,CAAAA,CAAiBA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAG7CC,CAAeC,CAAAA,CAAAA,CAAAA,CAJIH,GAAiBA,CAAMI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,OAIJC,CAC3DA,CAAAA,CAAAA,CAAAA,CAAOC,KAAKC,CACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,EA2BFD,CAAS,CAAA,CAAA,CAAA,GA3BPE,CACJA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQC,GACRA,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACFA,GAAIH,CACJI,CAAAA,CAAAA,CAAAJ,CAAAJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAS,CAcI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAD,EAAA,CACFE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,GACdC,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACfC,oBAAqB,CACrBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,GACtBC,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACfC,oBAAqB,CACtBP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CArBDE,aAEEA,CAAYC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEZA,EAAaC,CAEbA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAmBC,qBAEnBA,CAAoBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEpBA,EAAaC,CAEbA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAmBN,EAChBT,CAbCgB,CAAAA,CAAAA,CAAAP,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAsBHQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASD,EAAAZ,CA1BR,CAAA,CA2BL,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAc,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAD,OAAAC,CAAAD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAC,OAAAD,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAD,OAAAC,CAAAD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAC,OAAAD,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAD,OAAAC,CAAAD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAC,OAAAD,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CACKF,CAAAA,CAAAA,CAAAA,CAAS,CACZjB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACGjB,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CD1CGqC,EC0CgBb,CD1CGa,CAAAA,CAAAA,CAAAA,CAAAA,CAAE,GAAGC,CAAgBD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEE,MAAM,CC2ClEvC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,eAAgB2B,CAC/B3B,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,gBAAiB4B,CAChC5B,CAAAA,CAAAA,CAAAA,CAAAA,CACD,sBACAG,CAAqB0B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEpB7B,EACD,CACAG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAqB2B,CAEpB9B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAiBG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAqB4B,KACrD/B,CACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACAG,EAAqB6B,CACtB,CAAA,CAAA,CAAA,CAAA,CACDQ,kBAAoBlB,CAEhB,CAAA,CAAA,CAAA,CAAA,CAAImB,KAAKC,CAAOpB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,GAAGqB,CADhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CD3DgB,IAACN,CC6DrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAI0BtB,EAC9BJ,CACAG,CAAAA,CAAAA,CAAAA,CACA,CAAC8B,CAAU1B,CAAAA,CAAAA,CAAAA,CAAAA,CAAWA,EAAO2B,CAAMzB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUwB,IAAaxB,CAAM0B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGhC/B,EAChCJ,CACCiC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeA,IClElB,CAAMG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,EAIb,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACC,GAAOC,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOC,eAExC,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA+BD,CDPgBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CCQrD,CAAOF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI/B,MAAMkC,qCAAYD,CAAAA,CAAAA,CAAAA,CAAiBJ,GAAM,CAGhDM,CAAAA,CAAAA,CAAAA,CAAAA,CHgCJ,CAAsCR,CACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIS,IACHC,CACCA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQC,QAAQX,CAAOY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAC/C,CAAAA,CAAOmC,CACtCS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKI,SAAQ,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACdA,SAAAA,CAAYjD,CAAAA,CAAAA,CAAOmC,EAAO,CAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAGJU,EAAQC,CAAQX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOe,WAAW,CAAClD,CAAAA,CAAOmC,KACxCS,CAAKI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,EAAGG,CACdA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcnD,CAAAA,CAAAA,CAAOmC,CAAO,CAAA,CAAA,CAAA,CAC5B,IAGJU,CAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQX,EAAOiB,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACpD,EAAOmC,CACvCS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKI,SAAQ,CAAGK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACdA,SAAAA,CAAarD,CAAAA,CAAAA,CAAOmC,EAAO,CAC3B,CAAA,CAAA,CAAA,CAAA,CACF,EGnDUmB,CAAkBnB,CAAAA,CAAlBmB,CACd,CAEEL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,CAACjD,CAAOmC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACjBnC,EAAMyC,CAAoBlB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAC,OAAAD,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAAxB,CAAAA,CAAAA,CAAMyC,cAAiBN,CAAOoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKlB,IAAK,CAGpEc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,CAACnD,CAAOmC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACnBnC,CAAMI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,CAAO8B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOqB,OAAO,CH+CzCC,CAAAA,CAAAA,CAAAA,CAAAA,CG5CmBzD,GAAiBA,CAAMI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CH6Cb,CAC7B+C,CAAcnD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACZyD,EAAgBzD,CAAO0D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAK,CAExCT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYjD,IACVyD,CAAgBzD,CAAAA,CAAAA,CAAAA,CAAO0D,SAAU,CACjCD,CAAAA,CAAAA,CAAgBzD,CAAO2D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAI,CAAA,CAAA,CAAA,CAAA,CAErCN,WAAY,CAACrD,CAAAA,CAAOmC,KAClBsB,CAAgBzD,CAAAA,CAAAA,CAAAA,CAAO0D,SAAU,CACjCD,CAAAA,CAAAA,CAAgBzD,GAAO2D,CAAQxB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOwB,KAAK,CAZd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC/BF,EGzCK,CAAMG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAEzB,CAAQQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CC7BxBkB,CAAsB,CAAA,CACjCzD,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACTC,KAAM,CACNqD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,EACTC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAETlB,aAAc,CAAEqB,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,GAAIC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChC9D,gBAAiB,CCTN+D,CAAAA,CAAAA,CAAAA,CAAAA,CACJ,CACLtB,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CCgDNlC,EA7CyCC,yBAAhBqD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,EAAIC,CAAEA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACrC,OAAA,CAAIE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,IACX,CAAM5D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkB,GAClB6D,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAItC,MAAOuC,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,OACzCC,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAIxC,CAAKsC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUpC,CAC7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,IAAIuC,CAAI,CAAA,CAAA,CAAGA,EAAI,CAAGA,CAAAA,CAAAA,CAAAA,CAAK,EAC1BhE,CAAOiE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CACVrC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASoC,IACbnC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAUmC,IAClBE,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASF,IAClB1D,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACN6D,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAUH,CAClBI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,QAAQJ,CAChBK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,UAAUL,CAClBM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,OAAON,CACZO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,WAAWP,CAC1BQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,CAAC,CAAYR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC1B5D,SAAUyD,CACVvC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAmByC,IAIvBN,CAAKf,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASvB,CACZnB,CAAAA,CAAAA,CAAAA,CAAAA,CAAOyD,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAACgB,EAAGC,YACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACvD,EAAEwD,CAEuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAArBpE,EAAAmE,CAAEvD,CAAAA,CAAAA,CAAEyD,cAAiB,CAAArE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAAA,CAAEsE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcJ,EAAEtD,CAAEyD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CADlB,QAAvBzE,CAAAsE,CAAAA,CAAAA,CAAEtD,EAAEyD,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAzE,OAAA,CAAAA,CAAAA,CAAAA,CAAA0E,cAAcH,CAAEvD,CAAAA,CAAAA,CAAEyD,OACiB,CAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAEHhB,EACE5D,CAAO8E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACJ5E,GACCA,CAAM0B,CAAAA,CAAAA,CAAAA,CAAGmD,cAAcC,CAASxB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKuB,CACrC7E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM2B,CAAOkD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,SAASxB,CAAKuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACzC7E,EAAMI,CAAKyE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,SAASxB,CAAKuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACvC7E,EAAMmE,CAAOU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,SAASxB,CAAKuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACzC7E,EAAMiE,CAAOY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcC,SAASxB,CAAKuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACzC7E,CAAMoE,CAAAA,CAAAA,CAAAA,CAAAA,CAAIS,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASxB,EAAKuB,CACtC7E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMqE,cAAcQ,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASxB,EAAKuB,CAChD7E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMsE,YAAYQ,CAASxB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKuB,gBAChC7E,CAAMkE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOW,cAAcC,CAASxB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKuB,iBAE9C,OC1CQE,CAAiB,CAAA,CAAA,CAC5BC,CACAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACAC,WAqCO,CACLhD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAhC8D,IAAAiD,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAA,CAAAD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,GAAA,CAAAE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACrEA,EAAIC,CACJA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,IAAKhC,CACbA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIC,KACJA,CAAIgC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACJA,GACE,IACF,GAAIL,CACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOlF,EAAa,CAAEqF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMC,QAAOhC,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ0B,GAEnD,CAAMhG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY+F,EAAWQ,CAC3BhC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAetB,OACf,CACEoD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACAD,OACA/B,CACAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACAgC,CAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACEE,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAER,iBClCS,CAAOhG,CAAAA,CAAAA,CAAiBmG,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CACtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM9B,QAAarE,CAAIqE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACjBoC,EAAOxG,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMmE,GAExB,CAAKrE,CAAAA,CAAAA,CAAAA,CAAAA,CAAI0G,GAAI,CACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAkB,CAAA,CAAA,CAAA,CAAGF,CAAKG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC9BH,EAAKI,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAKJ,EAAKI,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEjD,MAAMC,CAAMH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAmB,GAAG3G,CAAI+G,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU/G,EAAIgH,CACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEDhH,EAAIyG,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMjC,QAAQC,CAAQgC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACjCzG,CAAIqE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAMG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQC,QAAQJ,CACnC,CAAA,CAAA,CAAA,CAAA,CDyBU4C,CAAiBjH,CAIvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAFmBA,EAAIyG,CAEX5F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACd,MEhCWqG,CAAWC,CAAAA,CAAAA,CAAAA,CACeC,gBACnC,MAAMC,CAAYC,CAAAA,CAAAA,CAChBC,EACAC,CACAC,CAAAA,CAAAA,CACAC,EACAC,CACAC,CAAAA,CAAAA,CAA8B,CAC5B5B,CAAQ4B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA8BC,uBAPxBP,CAShBF,CAAAA,CAAAA,CAEF,OAAOpG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4BqG,EAA5B,CAAAS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,4BACLC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CA6CX,CAAA,CA7BC,YAAIC,CACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOD,KAAKE,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC1B,CAED,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACF,OAAOH,CAAKE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,YAC1B,CAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIlC,GACF,CAAOgC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKE,aAAa,CAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAED,CAAIrF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAKF,CAJKuF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAJ,KAAIF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACPM,EAAAJ,CAAIK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAAC,CAAJC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAP,MAGKI,CAAAJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIF,EAAA,CACZ,CAAA,CAAA,CAAA,CAEK,IAAAU,gHACY,QAAVrH,CAAAsH,CAAAA,CAAAA,CAAMD,YAAI,CAAArH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAAA,CAAAoH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAP,MAEhBA,CAAKU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkB,CAAC,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,WAAW,CACvDN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAJ,KAASF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACXM,EAAAJ,CAAIK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAAC,CAAJC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAP,KACD,MAEJ,kCAzCCA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKW,OAAOC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAClBC,EAAAb,CAAYF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CCxBK,EACvBgB,CACA/C,CAAAA,CAAAA,CACAC,EACAmC,CAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMY,EAASC,CACVnH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAC,OAAAD,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAAgH,CACH,CAAA,CAAA,CAAAG,eAAe,CACfC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,CACX,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACzB,sBAAuBf,CACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,aAIhC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CACLrH,MAAO+E,CAAe,CAAA,CAAEC,WAAYiD,CAAOjD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYC,SAAQC,CAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CDMiBmD,CACV,CACEC,CAAWpB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKoB,UAChBC,CAASrB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKqB,QACdC,CAAmBtB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKsB,mBAE1BtB,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACS,SAAdD,CAAKhC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACLgC,KAAKG,cAER,EA+BDpH,CAAA,CAAA,CAAA,CAAA,CE3DOwI,EAAuBrC,CACGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACnC,MAAMC,CAAYC,CAAAA,CAAAA,CAChBmC,EAA2B,CACzBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,SACNtF,CACAuF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CACRC,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACrJ,GAASwD,CAC5BxD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMC,gBAAkBuD,CAAO,CAAA,CAAA,CAGnC8F,cAAgBzG,CACde,CAAAA,CAAAA,CAAAA,CAAAA,CAAYjB,QAAQE,CAAQ,CAAA,CAAA,CAE9B0G,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACZ3F,CAAaA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYzB,UAG7BqH,CACAtC,CAAAA,CAAAA,CACAP,EAlBgBI,CAmBhBF,CAAAA,CAAAA,CACF,OAAO,CAAwCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAG7C,WAAAS,CAAe3E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACb6G,SAAS7G,CAHX8E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK1H,MAAG6D,CAKN6D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKgC,WAAW1J,CACd0H,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKW,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAiBtI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACnC0H,KAAK1H,CAAQA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,GAErB,CACF,CAAA,CAAA,CAAA,CAAA,CCpCQ2J,EAAwB/C,CACEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACnC,MAAMC,CAAYC,CAAAA,CAAAA,CAChB6C,EACAvC,CAA8B,CAAA,CAC5B,YAAaA,CAA8BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAH7BP,CAKhBF,CACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAyCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC9C,CAAIe,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACF,OAAOH,CAAKE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,YAC1B,CAEK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAiC,CAAgBC,iCAKpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAJkBpC,KAAKqC,CACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4BrC,KAAKG,CAAYiC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC7C,SAESE,OACZ,EACF,CCdQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAsBrD,GACIC,CACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAqD,EAAAC,CAAA1J,CAAAA,CAAAA,CAAA,OAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuCsG,EACrCG,CACAsC,CAAAA,CAAAA,CACAY,EACAC,CACAV,CAAAA,CAAAA,CACAV,EANqClC,CAOrCF,CAAAA,CAAAA,CAAAA,CAPF,CAAAU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,gCA8BC,CAVO,CAAA+C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,6CAAsB,CAEtB,CAAA,CAAA,CAAA,CAAApC,yGACY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAVrH,EAAAsH,CAAMD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,IAAArH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAA,EAAAoH,CAAAP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEVzD,CAAQsG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,CAACzC,CAAAA,CAAAJ,KAAIwC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAC,GAAJlC,CAAAP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEbA,KAAK4C,CACX5C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK8C,cAAc,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,UACpC,CAAA,CAAA,CAAA,CAAA,0DApBC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,EAAWC,CAITjD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKmC,gBAAgB,CAEvBnC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKkD,wBAAwBF,CACnChD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKmD,mBAAmBC,CAAOJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASK,QAAQC,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAc7DvK,CAAAA,CAAA,CCrCQwK,CAAAA,CAAAA,CAAAA,CAAAA,CAA4BrE,CACFC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACnC,IAAAqE,CAAAC,CAAAA,CAAAA,CAAAC,EAAAC,CAAA5K,CAAAA,CAAAA,CAAA,OAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6CsG,EAC3CG,CACA+C,CAAAA,CAAAA,CACAhB,EAH2ClC,CAI3CF,CAAAA,CAAAA,CAAAA,CAJF,WAAAU,8BASE4D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW1D,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA4D,GAAS,CAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,EAAa7D,CAAK8D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,MAC7BC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAI7J,KAChB,CAAIkE,CAAAA,CAAAA,CAAAA,CAAAA,CACJ,OAAQwF,CACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,YACHxF,CAAO2F,CAAAA,CAAAA,CAAIC,WAAWD,CAAIE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH7F,EAAO2F,CAAIG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASH,EAAII,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrC,MACF,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH/F,EAAO2F,CAAIG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASH,EAAII,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrC,MACF,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAeL,QAEE/F,CAAO2F,CAAAA,CAAAA,CAAIK,QAAQL,CAAIM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,SAdrC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACHjG,EAAO2F,CAAIK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQL,EAAIM,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACnC,MACF,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACHjG,EAAO2F,CAAIK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQL,EAAIM,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACnC,MACF,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACHjG,CAAO2F,CAAAA,CAAAA,CAAIK,CAAQL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIM,UAAY,CACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF,IAAK,CACHjG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO2F,EAAIO,CAASP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIQ,WAAa,CAOzCxE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKyE,QAAQvI,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACvBE,KAAM4D,CAAK0E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYX,MACvB1F,CAAMsG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIzK,CAAKkE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM3B,YAChC,CA4BL,CAAA,CAAA,CAAA,CANO,iBAAAkG,0IACyB,QAAvBzJ,CAAAsH,CAAAA,CAAAA,CAAMmC,yBAAiB,CAAAzJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAAA,CAAAoH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAP,MAE7BI,CAAAJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIwD,EAAA,CAAAE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAJnD,KAAAP,CACAI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAJ,KAAIwD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAG,GAAJpD,CAAAP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IACD,kDAtBCA,KAAK0E,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIG,EACJ,CAAjB1L,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA6G,KAAK8E,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA3L,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAA,CAAA4L,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,4BAC/B,CAAEpE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQX,KAAKW,CAEjBX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK0E,YAAYM,CAAQ5E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAJ,KAAayD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEtCrD,EAAAJ,CAAIyD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,KAAJlD,CAAAP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACD,qBAGCA,CAAK8D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,IAAImB,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAjB9L,EAAA6G,CAAK8E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,IAAA3L,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAA,EAAA4L,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC/B,CAAEpE,CAAQX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKW,SAEjBX,CAAK8D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWkB,QAAQ5E,CAAAJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAayD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACtC,CAQF1K,CAAAA,CAAA,ICzEQmM,CAAsBhG,CAAAA,CAAAA,CAAAA,CACIC,IACnC,CAAAgG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAC,EAAAC,CAAAtM,CAAAA,CAAAA,CAAA,OAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuCsG,EACrCkC,CACA/B,CAAAA,CAAAA,CACA+C,EAHqClD,CAIrCF,CAAAA,CAAAA,CAAAA,CAJF,WAAAU,mCAiBEwF,CAAAtF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAC,KAAqBsF,CAClB5M,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACCsH,KAAKuF,CAAW5M,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOD,CAAS,CAcrC,CAAA,CAAA,CAAA,CAVO,iBAAAkK,0IACyB,QAAvBzJ,CAAAsH,CAAAA,CAAAA,CAAMmC,yBAAiB,CAAAzJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAAA,CAAAoH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAP,MAE7BI,CAAAJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAImF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAC,CAAJ7E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAP,MAIAI,CAAAJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIqF,EAAA,CAAJ9E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAP,KAAwBxH,CAAawH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK1H,QAC1C0H,CAAKgC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU5B,EAAAJ,CAAuBqF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,KAACG,CAAKxF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOxH,GACpD,CAAA,CAAA,CAAA,CAAA,gDAxBCwH,KAAKuF,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIE,EACH,CAAjBtM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA6G,KAAK8E,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA3L,OAAA,CAAAA,CAAAA,CAAAA,CAAA4L,cAAc,CAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAEpE,CAAQX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKW,CAEjBX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKuF,WAAWG,CAAuBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACrC3F,KAAKyE,CAAQ9C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAmBgE,EAAEC,CAAO7B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMlL,KAAI,CAAG2B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASA,IAAI,CAEtE,CAAA,CAAA,CAAA,CAkBFzB,CAAA,CC1CQ8M,CAAAA,CAAAA,CAAAA,CAAAA,CAAY3G,GACcC,CAEnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6BE,CAC3ByG,CAAAA,CAAAA,CACAC,CACAb,CAAAA,CAAAA,CACA3B,EAJ2BlE,CAK3BF,CAAAA,CAAAA,CAAAA,CACM,IAAAqB,gHACY,QAAVzH,CAAA0H,CAAAA,CAAAA,CAAMD,YAAI,CAAAzH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAAA,CAAAwH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAP,MACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CCVMgG,EAAwB3G,CAHlBF,CAAAA,CAAAA,CAAAA,CAAAA,CACjB,cAA6B0G,CAAU1G,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEJE,CAAmB4G,CCAxDC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmCH"}