@genesislcap/foundation-rapid-cdn 14.456.1 → 14.456.2

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.
@@ -52,7 +52,7 @@ function _d(e,t,i,c){var o,s=arguments.length,n=s<3?t:null===c?c=Object.getOwnPr
52
52
  Click "Continue Session" to stay logged in, or "Logout Now" to end your session immediately.
53
53
  </p></div><div class="dialog-actions"><${e}-button appearance="accent" @click=${e=>e.handleContinue()}class="continue-button">
54
54
  Continue Session </${e}-button><${e}-button appearance="outline" @click=${e=>e.handleLogout()}class="logout-button">
55
- Logout Now </${e}-button></div></div></${e}-card></div>`)(ig(e,"rapid").prefix)} `,styles:Me` .inactivity-overlay{position: fixed;inset: 0;width: 100vw;height: 100vh;background-color: rgba(0, 0, 0, 0.6);display: flex;align-items: center;justify-content: center;z-index: 9999;backdrop-filter: blur(2px)}.dialog-card{height: 260px;max-height: 260px;max-width: 520px;width: 92%}.card-body{padding: 24px;box-sizing: border-box}.dialog-header{display: flex;align-items: center;gap: 12px;margin-bottom: 16px}.warning-icon{color: var(--accent-fill-rest);font-size: 24px}.dialog-header h2{margin: 0;color: var(--neutral-foreground-rest);font-size: 20px;font-weight: 600}.dialog-content{margin-bottom: 24px}.dialog-content p{margin: 0 0 12px 0;color: var(--neutral-foreground-rest);line-height: 1.5}.dialog-content p:last-child{margin-bottom: 0}.dialog-content strong{color: var(--accent-foreground-rest);font-weight: 600}.dialog-actions{display: flex;gap: 12px;justify-content: flex-end}.continue-button{min-width: 140px}.logout-button{min-width: 120px}@media (max-width: 480px){.card-body{padding: 20px}.dialog-actions{flex-direction: column}.continue-button, .logout-button{width: 100%}}`})],Oz);class Tz{constructor(){this.pathHistory=[],this.actionHistory=[],this.isAuthenticated=!1,this.authenticationChangeListeners=Jm()}set(e){return this.config.setUser(this,e)}unset(){return this.config.unsetUser(this)}get isAnonymous(){return!this.isAuthenticated}isAdmin(){return this.hasProfile("ADMIN")}isBanned(){return this.hasProfile("BANNED")}hasPermission(e){return this.hasKey(this.permission,e)}hasProfile(e){return this.hasKey(this.profile,e)}trackPath(){const{pathname:e,search:t,hash:i}=location,c=`${`${"/"!==e?e:""}`}${t}${i}`;if(!this.config.trackPathExclusions.includes(c))return this.pathHistory.push(c),c}clearPaths(){this.pathHistory=[]}lastPath(){const e=this.pathHistory.length;return e>0?this.pathHistory[e-1]:void 0}trackAction(e){this.config.trackActionExclusions.includes(e)||this.actionHistory.push(e)}clearActions(){this.actionHistory=[]}lastAction(){const e=this.actionHistory.length;return e>0?this.actionHistory[e-1]:void 0}clearTrackingHistory(){this.clearPaths(),this.clearActions()}hasKey(e,t){return!!(e&&e.length&&t)&&(Array.isArray(t)||(t=[t]),t.some(t=>e.includes(t)))}addAuthenticationChangeListener(e){var t;return null===(t=this.authenticationChangeListeners)||void 0===t?void 0:t.subscribe(e)}isAuthenticatedChanged(){var e;null===(e=this.authenticationChangeListeners)||void 0===e||e.publish(new CustomEvent("user-authentication-change",{detail:this.isAuthenticated}));const t=mt.getOrCreateDOMContainer().get(Xm);t.postMessage("user-authentication-change",this.isAuthenticated),t.close()}userNameChanged(){v.notify(this,"username")}get username(){return v.track(this,"username"),this.userName}permissionChanged(){v.notify(this,"permissions")}get permissions(){return v.track(this,"permissions"),this.permission}profileChanged(){v.notify(this,"profiles")}get profiles(){return v.track(this,"profiles"),this.profile}hasAdminProfile(){return this.isAdmin()}}Oh([Qm],Tz.prototype,"config",void 0),Oh([b],Tz.prototype,"pathHistory",void 0),Oh([b],Tz.prototype,"actionHistory",void 0),Oh([b],Tz.prototype,"isAuthenticated",void 0),Oh([b],Tz.prototype,"userKVs",void 0),Oh([b],Tz.prototype,"details",void 0),Oh([b],Tz.prototype,"permission",void 0),Oh([b],Tz.prototype,"profile",void 0),Oh([b],Tz.prototype,"sourceRef",void 0),Oh([b],Tz.prototype,"userName",void 0),Oh([b],Tz.prototype,"rawProperties",void 0);const Rz=mt.createInterface(e=>e.singleton(Tz));class Iz{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map,this.cachedResources=null}getMetadataFor(e){return this.cachedMetadata.get(e)}getJsonSchemaFor(e){return this.cachedJsonSchema.get(e)}getResources(){return this.cachedResources}hasMetadataFor(e){return this.cachedMetadata.has(e)}hasJsonSchemaFor(e){return this.cachedJsonSchema.has(e)}hasResources(){return null!==this.cachedResources}setMetadataFor(e,t){this.cachedMetadata.set(e,t)}setJsonSchemaFor(e,t){this.cachedJsonSchema.set(e,t)}setResources(e){this.cachedResources=e}}const Dz=mt.createInterface(e=>e.singleton(Iz));var Fz;!function(e){e.STRING="STRING",e.NUMBER="NUMBER",e.BOOLEAN="BOOLEAN",e.ENUM="ENUM",e.DATE="DATE",e.DATETIME="DATETIME",e.CUSTOM="CUSTOM",e.NANO_TIMESTAMP="NANO_TIMESTAMP"}(Fz||(Fz={}));const Hz={STRING:Fz.STRING,ENUM:Fz.ENUM,BOOLEAN:Fz.BOOLEAN,INT:Fz.NUMBER,LONG:Fz.NUMBER,DOUBLE:Fz.NUMBER,BIGDECIMAL:Fz.NUMBER,DATE:Fz.DATE,DATETIME:Fz.DATETIME,NANO_TIMESTAMP:Fz.NANO_TIMESTAMP};var _z;!function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(_z||(_z={}));const Pz="datasource-status-changed",Vz=e=>e?e.map(e=>{const t={name:e.NAME,type:Hz[e.TYPE]||Fz.STRING};if(e.TYPE===Fz.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){Bm.error(e),t.enumOptions=[]}return t}):null,Bz=e=>{var t;const i=null==e?void 0:e.TYPE;if(i===_z.DATASERVER)return e.FIELD||[];if(i===_z.REQUEST_SERVER)return e.REPLY_FIELD||(null===(t=e.REPLY)||void 0===t?void 0:t.FIELD)||[];throw new Error(`Unsupported resource type: ${i}`)};class Uz{constructor(){this.streamListeners=Jm(),this.streamCompleteListeners=Jm(),this.streamErrorListeners=Jm(),this.commitListeners=Jm(),this.metadataListeners=Jm(),this.commitResponseListeners=Jm()}addStreamListener(e,t,i){var c,o,s;const n=null===(c=this.streamListeners)||void 0===c?void 0:c.subscribe(e),a=null===(o=this.streamCompleteListeners)||void 0===o?void 0:o.subscribe(t),r=null===(s=this.streamErrorListeners)||void 0===s?void 0:s.subscribe(i);return()=>{n(),a(),r()}}onStreamEvent(e,t,i,c){var o;null===(o=this.streamListeners)||void 0===o||o.publish(new CustomEvent("connect-stream-event",{detail:{functions:c,message:t,resourceName:e,stream:i}}))}onStreamErrorEvent(e,t,i){var c;null===(c=this.streamErrorListeners)||void 0===c||c.publish(new CustomEvent("connect-stream-error-event",{detail:{resourceName:e,stream:t,error:i}}))}onStreamCompleteEvent(e,t){var i;null===(i=this.streamCompleteListeners)||void 0===i||i.publish(new CustomEvent("connect-stream-complete-event",{detail:{resourceName:e,stream:t}}))}addCommitListener(e){var t;return null===(t=this.commitListeners)||void 0===t?void 0:t.subscribe(e)}onCommitEvent(e,t){var i;null===(i=this.commitListeners)||void 0===i||i.publish(new CustomEvent("connect-commit-event",{detail:{eventName:e,message:t}}))}addMetadataListener(e){var t;return null===(t=this.metadataListeners)||void 0===t?void 0:t.subscribe(e)}onMetadataEvent(e,t,i){var c;null===(c=this.metadataListeners)||void 0===c||c.publish(new CustomEvent("connect-metadata-event",{detail:{resourceName:e,message:t,error:i}}))}addCommitResponseListener(e){var t;return null===(t=this.commitResponseListeners)||void 0===t?void 0:t.subscribe(e)}onCommitResponseEvent(e,t){var i;null===(i=this.commitResponseListeners)||void 0===i||i.publish(new CustomEvent("connect-commit-response-event",{detail:{eventName:e,response:t}}))}}const jz=mt.createInterface(e=>e.singleton(Uz)),qz=mt.createInterface(e=>e.aliasTo(jz)),Gz={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,heartbeatInterval:1e4,verboseHeartbeat:!1,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0},isWebSocketExpression:Um},Wz=mt.createInterface(e=>e.instance(Gz));var Yz={ACCEPTED:202,BAD_GATEWAY:502,BAD_REQUEST:400,CONFLICT:409,CONTINUE:100,CREATED:201,EXPECTATION_FAILED:417,FORBIDDEN:403,GATEWAY_TIMEOUT:504,GONE:410,HTTP_VERSION_NOT_SUPPORTED:505,IM_A_TEAPOT:418,INSUFFICIENT_SPACE_ON_RESOURCE:419,INSUFFICIENT_STORAGE:507,INTERNAL_SERVER_ERROR:500,LENGTH_REQUIRED:411,LOCKED:423,METHOD_FAILURE:420,METHOD_NOT_ALLOWED:405,MOVED_PERMANENTLY:301,MOVED_TEMPORARILY:302,MULTI_STATUS:207,MULTIPLE_CHOICES:300,NETWORK_AUTHENTICATION_REQUIRED:511,NO_CONTENT:204,NON_AUTHORITATIVE_INFORMATION:203,NOT_ACCEPTABLE:406,NOT_FOUND:404,NOT_IMPLEMENTED:501,NOT_MODIFIED:304,OK:200,PARTIAL_CONTENT:206,PAYMENT_REQUIRED:402,PERMANENT_REDIRECT:308,PRECONDITION_FAILED:412,PRECONDITION_REQUIRED:428,PROCESSING:102,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_HEADER_FIELDS_TOO_LARGE:431,REQUEST_TIMEOUT:408,REQUEST_TOO_LONG:413,REQUEST_URI_TOO_LONG:414,REQUESTED_RANGE_NOT_SATISFIABLE:416,RESET_CONTENT:205,SEE_OTHER:303,SERVICE_UNAVAILABLE:503,SWITCHING_PROTOCOLS:101,TEMPORARY_REDIRECT:307,TOO_MANY_REQUESTS:429,UNAUTHORIZED:401,UNPROCESSABLE_ENTITY:422,UNSUPPORTED_MEDIA_TYPE:415,USE_PROXY:305},Kz={202:"Accepted",502:"Bad Gateway",400:"Bad Request",409:"Conflict",100:"Continue",201:"Created",417:"Expectation Failed",424:"Failed Dependency",403:"Forbidden",504:"Gateway Timeout",410:"Gone",505:"HTTP Version Not Supported",418:"I'm a teapot",419:"Insufficient Space on Resource",507:"Insufficient Storage",500:"Internal Server Error",411:"Length Required",423:"Locked",420:"Method Failure",405:"Method Not Allowed",301:"Moved Permanently",302:"Moved Temporarily",207:"Multi-Status",300:"Multiple Choices",511:"Network Authentication Required",204:"No Content",203:"Non Authoritative Information",406:"Not Acceptable",404:"Not Found",501:"Not Implemented",304:"Not Modified",200:"OK",206:"Partial Content",402:"Payment Required",308:"Permanent Redirect",412:"Precondition Failed",428:"Precondition Required",102:"Processing",103:"Early Hints",426:"Upgrade Required",407:"Proxy Authentication Required",431:"Request Header Fields Too Large",408:"Request Timeout",413:"Request Entity Too Large",414:"Request-URI Too Long",416:"Requested Range Not Satisfiable",205:"Reset Content",303:"See Other",503:"Service Unavailable",101:"Switching Protocols",307:"Temporary Redirect",429:"Too Many Requests",401:"Unauthorized",451:"Unavailable For Legal Reasons",422:"Unprocessable Entity",415:"Unsupported Media Type",305:"Use Proxy",421:"Misdirected Request"},Zz={Accepted:202,"Bad Gateway":502,"Bad Request":400,Conflict:409,Continue:100,Created:201,"Expectation Failed":417,"Failed Dependency":424,Forbidden:403,"Gateway Timeout":504,Gone:410,"HTTP Version Not Supported":505,"I'm a teapot":418,"Insufficient Space on Resource":419,"Insufficient Storage":507,"Internal Server Error":500,"Length Required":411,Locked:423,"Method Failure":420,"Method Not Allowed":405,"Moved Permanently":301,"Moved Temporarily":302,"Multi-Status":207,"Multiple Choices":300,"Network Authentication Required":511,"No Content":204,"Non Authoritative Information":203,"Not Acceptable":406,"Not Found":404,"Not Implemented":501,"Not Modified":304,OK:200,"Partial Content":206,"Payment Required":402,"Permanent Redirect":308,"Precondition Failed":412,"Precondition Required":428,Processing:102,"Early Hints":103,"Upgrade Required":426,"Proxy Authentication Required":407,"Request Header Fields Too Large":431,"Request Timeout":408,"Request Entity Too Large":413,"Request-URI Too Long":414,"Requested Range Not Satisfiable":416,"Reset Content":205,"See Other":303,"Service Unavailable":503,"Switching Protocols":101,"Temporary Redirect":307,"Too Many Requests":429,Unauthorized:401,"Unavailable For Legal Reasons":451,"Unprocessable Entity":422,"Unsupported Media Type":415,"Use Proxy":305,"Misdirected Request":421};var Qz,Xz,Jz=function(e){var t=Kz[e.toString()];if(!t)throw new Error("Status code does not exist: "+e);return t};!function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.MOVED_TEMPORARILY=302]="MOVED_TEMPORARILY",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.REQUEST_TOO_LONG=413]="REQUEST_TOO_LONG",e[e.REQUEST_URI_TOO_LONG=414]="REQUEST_URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.IM_A_TEAPOT=418]="IM_A_TEAPOT",e[e.INSUFFICIENT_SPACE_ON_RESOURCE=419]="INSUFFICIENT_SPACE_ON_RESOURCE",e[e.METHOD_FAILURE=420]="METHOD_FAILURE",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"}(Qz||(Qz={})),function(e){e.ACCEPTED="Accepted",e.BAD_GATEWAY="Bad Gateway",e.BAD_REQUEST="Bad Request",e.CONFLICT="Conflict",e.CONTINUE="Continue",e.CREATED="Created",e.EXPECTATION_FAILED="Expectation Failed",e.FAILED_DEPENDENCY="Failed Dependency",e.FORBIDDEN="Forbidden",e.GATEWAY_TIMEOUT="Gateway Timeout",e.GONE="Gone",e.HTTP_VERSION_NOT_SUPPORTED="HTTP Version Not Supported",e.IM_A_TEAPOT="I'm a teapot",e.INSUFFICIENT_SPACE_ON_RESOURCE="Insufficient Space on Resource",e.INSUFFICIENT_STORAGE="Insufficient Storage",e.INTERNAL_SERVER_ERROR="Internal Server Error",e.LENGTH_REQUIRED="Length Required",e.LOCKED="Locked",e.METHOD_FAILURE="Method Failure",e.METHOD_NOT_ALLOWED="Method Not Allowed",e.MOVED_PERMANENTLY="Moved Permanently",e.MOVED_TEMPORARILY="Moved Temporarily",e.MULTI_STATUS="Multi-Status",e.MULTIPLE_CHOICES="Multiple Choices",e.NETWORK_AUTHENTICATION_REQUIRED="Network Authentication Required",e.NO_CONTENT="No Content",e.NON_AUTHORITATIVE_INFORMATION="Non Authoritative Information",e.NOT_ACCEPTABLE="Not Acceptable",e.NOT_FOUND="Not Found",e.NOT_IMPLEMENTED="Not Implemented",e.NOT_MODIFIED="Not Modified",e.OK="OK",e.PARTIAL_CONTENT="Partial Content",e.PAYMENT_REQUIRED="Payment Required",e.PERMANENT_REDIRECT="Permanent Redirect",e.PRECONDITION_FAILED="Precondition Failed",e.PRECONDITION_REQUIRED="Precondition Required",e.PROCESSING="Processing",e.EARLY_HINTS="Early Hints",e.UPGRADE_REQUIRED="Upgrade Required",e.PROXY_AUTHENTICATION_REQUIRED="Proxy Authentication Required",e.REQUEST_HEADER_FIELDS_TOO_LARGE="Request Header Fields Too Large",e.REQUEST_TIMEOUT="Request Timeout",e.REQUEST_TOO_LONG="Request Entity Too Large",e.REQUEST_URI_TOO_LONG="Request-URI Too Long",e.REQUESTED_RANGE_NOT_SATISFIABLE="Requested Range Not Satisfiable",e.RESET_CONTENT="Reset Content",e.SEE_OTHER="See Other",e.SERVICE_UNAVAILABLE="Service Unavailable",e.SWITCHING_PROTOCOLS="Switching Protocols",e.TEMPORARY_REDIRECT="Temporary Redirect",e.TOO_MANY_REQUESTS="Too Many Requests",e.UNAUTHORIZED="Unauthorized",e.UNAVAILABLE_FOR_LEGAL_REASONS="Unavailable For Legal Reasons",e.UNPROCESSABLE_ENTITY="Unprocessable Entity",e.UNSUPPORTED_MEDIA_TYPE="Unsupported Media Type",e.USE_PROXY="Use Proxy",e.MISDIRECTED_REQUEST="Misdirected Request"}(Xz||(Xz={}));var eC=this&&this.__assign||function(){return eC=Object.assign||function(e){for(var t,i=1,c=arguments.length;i<c;i++)for(var o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},eC.apply(this,arguments)};eC(eC({},Yz),{getStatusCode:function(e){var t=Zz[e];if(!t)throw new Error("Reason phrase does not exist: "+e);return t},getStatusText:Jz});class tC{constructor(){this.storageKeyPrefix="",this.returnUrl=this.getSessionStorageItem("returnUrl")||""}deleteUserFromSessionStorage(){["authToken","refreshToken","sessionId","ssoToken"].forEach(e=>this.removeSessionStorageItem(e)),this.removeLocalStorageItem("refreshToken")}setStorageKeyPrefix(e){this.storageKeyPrefix=`${e.replace(/\s/g,"")}/`}setAuthResult(e){var t;this.setSessionStorageItem("authToken",e.SESSION_AUTH_TOKEN),this.setSessionStorageItem("refreshToken",e.REFRESH_AUTH_TOKEN),this.setSessionStorageItem("username",e.USER_NAME),this.setSessionStorageItem("sessionId",e.SESSION_ID),(null===(t=e.DETAILS)||void 0===t?void 0:t.MFA_CODE)&&this.setSessionStorageItem("mfaToken",e.DETAILS.MFA_CODE)}captureReturnUrl(){const{pathname:e,search:t,hash:i}=location;if(e&&(e.includes("/login")||e.includes("/auth")))return;const c=`${"/"!==e?e:""}`;this.returnUrl=`${c}${t}${i}`,this.setSessionStorageItem("returnUrl",this.returnUrl)}setItem(e,t,i){"local"===i?localStorage.setItem(this.storageKeyPrefix+e,t):sessionStorage.setItem(this.storageKeyPrefix+e,t)}getItem(e,t){return"local"===t?localStorage.getItem(this.storageKeyPrefix+e):sessionStorage.getItem(this.storageKeyPrefix+e)}removeItem(e,t){"local"===t?localStorage.removeItem(this.storageKeyPrefix+e):sessionStorage.removeItem(this.storageKeyPrefix+e)}setLocalStorageItem(e,t){this.setItem(e,t,"local")}setSessionStorageItem(e,t){this.setItem(e,t,"session")}getLocalStorageItem(e){return this.getItem(e,"local")}getSessionStorageItem(e){return this.getItem(e,"session")}removeLocalStorageItem(e){this.removeItem(e,"local")}removeSessionStorageItem(e){this.removeItem(e,"session")}}const iC=mt.createInterface(e=>e.singleton(tC));function cC(e){const t=new Error(`HTTP error: ${e.status} ${e.statusText}`);return t.status=e.status,t.message=e.statusText,t}let oC=class{constructor(e){this.serializer=e}get(e,t){return Rh(this,void 0,void 0,function*(){const i=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"GET"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw cC(i);return(t.serializer||this.serializer).deserialize(i)})}post(e,t){return Rh(this,void 0,void 0,function*(){const i=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"POST"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw cC(i);return(t.serializer||this.serializer).deserialize(i)})}};oC=Oh([Th(0,tb)],oC);const sC=mt.createInterface(e=>e.singleton(oC)),nC={polling:Object.assign({POLLING_MAP:{EVENT_AMEND_USER:{TEMP_FREQUENCY:500,AMOUNT_OF_POLLS:5,QUERIES:["ALL_USERS"]}},POLLING_INTERVAL_MAP:{ALL_TRADES:5e3,ALL_USERS:5e3,ALL_PROCESSES_STATUS:1e4},POLLING_FREQUENCY:5e3},Mg&&Mg.length?JSON.parse(Mg):{})},aC=mt.createInterface(e=>e.instance(nC));var rC,lC,dC,uC;!function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(rC||(rC={}));class hC extends Error{constructor(e,t,i="Auth Failed \n"){super(i),this.sent=e,this.received=t,Object.setPrototypeOf(this,hC.prototype)}isIgnorableError(){var e,t,i,c,o,s,n,a;return!!(null===(c=null===(i=null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)||void 0===i?void 0:i.toLowerCase())||void 0===c?void 0:c.includes("request needs the user to be logged"))||!!(null===(a=null===(n=null===(s=null===(o=this.received)||void 0===o?void 0:o.DETAILS)||void 0===s?void 0:s.ERROR)||void 0===n?void 0:n.toLowerCase())||void 0===a?void 0:a.includes("is not logged in"))}getMessageError(){var e,t;return Array.isArray(null===(e=this.received)||void 0===e?void 0:e.ERROR)?null===(t=this.received)||void 0===t?void 0:t.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}getDetailsError(){var e,t,i,c;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(c=null===(i=this.received)||void 0===i?void 0:i.DETAILS)||void 0===c?void 0:c.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}hasPasswordExpiredError(){return this.hasErrorCode("PASSWORD_EXPIRED")}hasMFAError(){return this.hasErrorCode("MFA_REQUIRED")||this.hasErrorCode("MFA_FAILED")}requiresTermsAndConditions(){return this.hasErrorCode("TERMS_ACCEPTANCE_REQUIRED")}hasErrorCode(e){var t,i;return!!Array.isArray(null===(t=this.received)||void 0===t?void 0:t.ERROR)&&(null===(i=this.received)||void 0===i?void 0:i.ERROR.some(t=>t.CODE===e))}errorDetailFormatter(e){return`\n ${e.CODE}: \n ${e.TEXT}`}}!function(e){e.LOGON_ACK="LOGON_ACK",e.LOGON_NACK="LOGON_NACK",e.LOGOFF_ACK="LOGOFF_ACK",e.LOGOFF_NACK="LOGOFF_NACK",e.HEARTBEAT_PING="HEARTBEAT_PING",e.HEARTBEAT_PONG="HEARTBEAT_PONG",e.MORE_ROWS="MORE_ROWS",e.MORE_COLUMNS="MORE_COLUMNS",e.MORE_COLUMNS_ACK="MORE_COLUMNS_ACK",e.MSG_ACK="MSG_ACK",e.MSG_NACK="MSG_NACK",e.LOGOUT_ACK="LOGOUT_ACK",e.LOGOUT_NACK="LOGOUT_NACK",e.QUERY_UPDATE="QUERY_UPDATE"}(lC||(lC={})),function(e){e.EVENT_LOGIN_AUTH="EVENT_LOGIN_AUTH",e.EVENT_LOGIN_AUTH_ACK="EVENT_LOGIN_AUTH_ACK",e.EVENT_LOGIN_AUTH_NACK="EVENT_LOGIN_AUTH_NACK",e.EVENT_LOGOUT="EVENT_LOGOUT",e.DATA_LOGON="DATA_LOGON",e.DATA_LOGOFF="DATA_LOGOFF",e.META_REQUEST="META_REQUEST",e.JSON_SCHEMA_REQUEST="JSON_SCHEMA_REQUEST",e.RESOURCES_REQUEST="RESOURCES_REQUEST",e.RESOURCES_REQUEST_ACK="RESOURCES_REQUEST_ACK",e.RESOURCES_REQUEST_NACK="RESOURCES_REQUEST_NACK",e.EVENT_CHANGE_USER_PASSWORD="EVENT_CHANGE_USER_PASSWORD",e.EVENT_SELF_SERVICE_PASSWORD_RESET="EVENT_SELF_SERVICE_PASSWORD_RESET",e.EVENT_PASSWORD_RESET_ACTION="EVENT_PASSWORD_RESET_ACTION"}(dC||(dC={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(uC||(uC={}));const fC=(e,t)=>!!Array.isArray(null==e?void 0:e.ERROR)&&(null==e?void 0:e.ERROR.some(e=>{var i,c;return(null===(i=e.CODE)||void 0===i?void 0:i.includes(`${t}`))||(null===(c=e.STATUS_CODE)||void 0===c?void 0:c.includes(`${t}`))}));let pC=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case rC.BASIC:t={USER_NAME:e.username,PASSWORD:e.password,MFA_CODE:e.mfaToken};break;case rC.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken,MFA_CODE:e.mfaToken};break;case rC.SSO:t={SSO_TOKEN:e.ssoToken};break;case rC.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,i;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_LOGOUT,SESSION_AUTH_TOKEN:null!==(t=e.authToken)&&void 0!==t?t:this.session.getSessionStorageItem("authToken"),SESSION_ID:null!==(i=e.sessionId)&&void 0!==i?i:this.session.getSessionStorageItem("sessionId")}}createDataLogonMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.DATA_LOGON,DETAILS:Object.assign({DATASOURCE_NAME:e},t),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:dC.DATA_LOGOFF,SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createRequestMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e.startsWith("REQ_")?e:`REQ_${e}`},t)}createResourcesMessage(e){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:dC.RESOURCES_REQUEST},e)}createMetaRequestMessage(e,t=dC.META_REQUEST){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:t,DETAILS:{FEATURE:e},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createCommitMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e},t)}createRefreshTokenMessage(){return{SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:dC.EVENT_LOGIN_AUTH,DETAILS:{REFRESH_AUTH_TOKEN:this.session.getSessionStorageItem("refreshToken"),MFA_CODE:this.session.getSessionStorageItem("mfaToken")}}}createChangePasswordMessage(e,t,i){return{USER_NAME:e,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_CHANGE_USER_PASSWORD,DETAILS:{OLD_PASSWORD:t,NEW_PASSWORD:i}}}createForgotPasswordMessage(e,t,i=e){return{USER_NAME:i,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,i,c=e){return{USER_NAME:c,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_PASSWORD_RESET_ACTION,DETAILS:{USER_NAME:e,RESET_TOKEN:t,NEW_PASSWORD:i}}}createMoreRowsMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:lC.MORE_ROWS,DETAILS:{SOURCE_REF:e,VIEW_NUMBER:t},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createMoreColumnsMessage(e){return Object.assign(Object.assign({},this.createMoreRowsMessage(e)),{MESSAGE_TYPE:lC.MORE_COLUMNS})}createHTTPHeadersFromMessage(e,t="application/json; charset=UTF-8"){const i={"Content-type":t};return e.SOURCE_REF&&(i["source-ref"]=e.SOURCE_REF,i.SOURCE_REF=e.SOURCE_REF),e.SESSION_AUTH_TOKEN&&(i["SESSION-AUTH-TOKEN"]=e.SESSION_AUTH_TOKEN),e.MESSAGE_TYPE===dC.EVENT_LOGOUT&&(i["SESSION-ID"]=e.SESSION_ID),i}createHeartbeatPingMessage(e=!1){return{MESSAGE_TYPE:lC.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId(),VERBOSE:e,DETAILS:{},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}};pC=Oh([Th(0,iC),Th(1,Az)],pC);const mC=mt.createInterface(e=>e.singleton(pC));function gC(e,t,i){const c=e=>"function"==typeof e?e:()=>e,o=c(t),s=c(i);return(t,i)=>e(t,i)?o(t,i):s(t,i)}class vC{constructor(e){this.path=e}}const bC=new Set,yC=Object.freeze({register(e){bC.add(e)},unregister(e){bC.delete(e)}}),zC=/^([a-z][a-z0-9+\-.]*:)?\/\//i,CC=Object.freeze({path:Object.freeze({get current(){return location.pathname+location.search},generateRoute(e,t,i={}){return Rh(this,void 0,void 0,function*(){let c="config"in e?e:QC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromPath(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t=!0){e&&zC.test(e)?location.href=e:(history.pushState({},document.title,e),t&&CC.path.trigger(e))},replace(e,t=!0){e&&zC.test(e)?location.href=e:(history.replaceState({},document.title,e),t&&CC.path.trigger(e))},trigger(e){const t=new vC(e);for(const e of bC)e.enqueue(t)}}),name:Object.freeze({generateRoute(e,t,i={}){return Rh(this,void 0,void 0,function*(){let c="config"in e?e:QC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromName(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t,i={},c=!0){return Rh(this,void 0,void 0,function*(){const o=yield CC.name.generateRoute(e,t,i);null!==o&&CC.path.push(o,c)})},replace(e,t,i={},c=!0){return Rh(this,void 0,void 0,function*(){const o=yield CC.name.generateRoute(e,t,i);null!==o&&CC.path.replace(o,c)})},trigger(e,t,i={}){return Rh(this,void 0,void 0,function*(){const c=yield CC.name.generateRoute(e,t,i);null!==c&&CC.path.trigger(c)})}})});class LC{constructor(){this.queue=[],this.promise=null,this.resolve=null}connect(){this.enqueue(new vC(CC.path.current)),window.addEventListener("popstate",this),yC.register(this)}disconnect(){this.queue=[],this.promise=null,this.resolve=null,window.removeEventListener("popstate",this),yC.unregister(this)}receive(){return null!==this.promise||(this.promise=new Promise(e=>this.resolve=e),Promise.resolve().then(()=>this.tryDequeue())),this.promise}enqueue(e){this.queue.push(e),this.tryDequeue()}tryDequeue(){if(null===this.resolve||0===this.queue.length)return;const e=this.queue[this.queue.length-1],t=this.resolve;this.queue.length=0,this.promise=null,this.resolve=null,t(e)}handleEvent(e){this.enqueue(new vC(CC.path.current))}}const xC=encodeURIComponent,MC=e=>xC(e).replace("%24","$");function wC(e,t,i){let c=[];if(null==t)return c;if(Array.isArray(t))for(let o=0,s=t.length;o<s;o++)if(i)c.push(`${MC(e)}=${xC(t[o])}`);else{const i=e+"["+("object"==typeof t[o]&&null!==t[o]?o:"")+"]";c=c.concat(wC(i,t[o]))}else if("object"!=typeof t||i)c.push(`${MC(e)}=${xC(t)}`);else for(const i in t)c=c.concat(wC(e+"["+i+"]",t[i]));return c}function SC(e,t){return Array.isArray(e)?(e.push(t),e):void 0!==e?[e,t]:t}function kC(e,t,i){let c=e;const o=t.length-1;for(let e=0;e<=o;e++){const s=""===t[e]?c.length:t[e];if(e<o){const i=c[s]&&"object"!=typeof c[s]?[c[s]]:c[s];c=c[s]=i||(isNaN(t[e+1])?{}:[])}else c=c[s]=i}}const EC=Object.freeze({get current(){return location.search},build(e,t){let i=[];const c=Object.keys(e||{}).sort();for(let o=0,s=c.length;o<s;o++){const s=c[o];i=i.concat(wC(s,e[s],t))}return 0===i.length?"":i.join("&")},separate(e){const t=e.indexOf("?");let i="";return-1!==t&&(i=e.substr(t+1,e.length),e=e.substr(0,t)),{path:e,queryString:i}},parse(e){const t={};if(!e||"string"!=typeof e)return t;let i=e;"?"===i.charAt(0)&&(i=i.substr(1));const c=i.replace(/\+/g," ").split("&");for(let e=0;e<c.length;e++){const i=c[e].split("="),o=decodeURIComponent(i[0]);if(!o)continue;let s=o.split("]["),n=s.length-1;if(/\[/.test(s[0])&&/\]$/.test(s[n])?(s[n]=s[n].replace(/\]$/,""),s=s.shift().split("[").concat(s),n=s.length-1):n=0,i.length>=2){const e=i[1]?decodeURIComponent(i[1]):"";n?kC(t,s,e):t[o]=SC(t[o],e)}else t[o]=!0}return t}}),$C=e=>e;class NC{constructor(e,t,i){this.path=e,this.name=t,this.caseSensitive=i}}class AC{constructor(e,t,i,c){this.route=e,this.paramNames=t,this.paramTypes=i,this.settings=c}get path(){return this.route.path}}class OC{constructor(e,t,i,c){this.endpoint=e,this.params=t,this.typedParams=i,this.queryParams=c,this.allParams=Object.assign(Object.assign({},t),c),this.allTypedParams=Object.assign(Object.assign({},i),c)}get settings(){return this.endpoint.settings}}class TC{constructor(e,t,i,c){var o;this.chars=e,this.states=t,this.skippedStates=i,this.result=c,this.head=t[t.length-1],this.endpoint=null===(o=this.head)||void 0===o?void 0:o.endpoint}advance(e){const{chars:t,states:i,skippedStates:c,result:o}=this;let s=null,n=0;const a=i[i.length-1];function r(l,d){if(l.isMatch(e)&&(1===++n?s=l:o.add(new TC(t.concat(e),i.concat(l),null===d?c:c.concat(d),o))),null===a.segment&&l.isOptional&&null!==l.nextStates){if(l.nextStates.length>1)throw new Error(`${l.nextStates.length} nextStates`);const e=l.nextStates[0];if(!e.isSeparator)throw new Error("Not a separator");if(null!==e.nextStates)for(const t of e.nextStates)r(t,l)}}if(a.isDynamic&&r(a,null),null!==a.nextStates)for(const e of a.nextStates)r(e,null);null!==s&&(i.push(this.head=s),t.push(e),null!==s.endpoint&&(this.endpoint=s.endpoint)),0===n&&o.remove(this)}finalize(){!function e(t,i){const c=i.nextStates;if(null!==c)if(1===c.length&&null===c[0].segment)e(t,c[0]);else for(const i of c)if(i.isOptional&&null!==i.endpoint){if(t.push(i),null!==i.nextStates)for(const c of i.nextStates)e(t,c);break}}(this.skippedStates,this.head)}getParams(){const{states:e,chars:t,endpoint:i}=this,c={};for(const e of i.paramNames)c[e]=void 0;for(let i=0,o=e.length;i<o;++i){const o=e[i];if(o.isDynamic){const e=o.segment.name;void 0===c[e]?c[e]=t[i]:c[e]+=t[i]}}return c}compareTo(e){const t=this.states,i=e.states;for(let e=0,c=0,o=Math.max(t.length,i.length);e<o;++e){let o=t[e];if(void 0===o)return 1;let s=i[c];if(void 0===s)return-1;let n=o.segment,a=s.segment;if(null===n){if(null===a){++c;continue}if(void 0===(o=t[++e]))return 1;n=o.segment}else if(null===a){if(void 0===(s=i[++c]))return-1;a=s.segment}if(n.kind<a.kind)return 1;if(n.kind>a.kind)return-1;++c}const c=this.skippedStates,o=e.skippedStates,s=c.length,n=o.length;if(s<n)return 1;if(s>n)return-1;for(let e=0;e<s;++e){const t=c[e],i=o[e];if(t.length<i.length)return 1;if(t.length>i.length)return-1}return 0}}function RC(e){return null!==e.head.endpoint}function IC(e,t){return e.compareTo(t)}class DC{constructor(e){this.candidates=[],this.candidates=[new TC([""],[e],[],this)]}get isEmpty(){return 0===this.candidates.length}getSolution(){const e=this.candidates.filter(RC);if(0===e.length)return null;for(const t of e)t.finalize();return e.sort(IC),e[0]}add(e){this.candidates.push(e)}remove(e){this.candidates.splice(this.candidates.indexOf(e),1)}advance(e){const t=this.candidates.slice();for(const i of t)i.advance(e)}}class FC{constructor(){this.names=new Map,this.paths=new Map,this.rootState=new HC(null,null,"")}add(e,t){if(e instanceof Array)for(const i of e)this.$add(i,t);else this.$add(e,t)}$add(e,t){const i=e.path,c=new NC(e.path,e.name||"",!0===e.caseSensitive),o=""===i?[""]:i.split("/").filter(_C),s=[],n=[];let a=this.rootState;const r=[];for(const e of o)switch(a=a.append(null,"/"),e.charAt(0)){case"{":{const t=e.slice(1,-1).split(":").map(e=>e.trim());2===t.length?n.push(t[1]):n.push("string");const i=t[0].endsWith("?"),c=i?t[0].slice(0,-1):t[0];s.push(c);const o=new VC(c,i);r.push(o),a=o.appendTo(a);break}case"*":{const t=e.slice(1);s.push(t),n.push("string");const i=new BC(t);r.push(i),a=i.appendTo(a);break}default:{const t=new PC(e,c.caseSensitive);r.push(t),a=t.appendTo(a);break}}const l=new AC(c,s,n,t||null);a.setEndpoint(l),this.paths.set(i,r),e.name&&this.names.set(e.name,r)}recognize(e,t={}){return Rh(this,void 0,void 0,function*(){const i=EC.separate(e),c=EC.parse(i.queryString);(e=decodeURI(i.path)).startsWith("/")||(e=`/${e}`),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1));const o=new DC(this.rootState);for(let t=0,i=e.length;t<i;++t){const i=e.charAt(t);if(o.advance(i),o.isEmpty)return null}const s=o.getSolution();if(null===s)return null;const{endpoint:n}=s,a=n.paramNames,r=n.paramTypes,l=s.getParams(),d={};for(let e=0,i=a.length;e<i;++e){const i=a[e],c=t[r[e]]||$C,o=l[i],s=yield c(o);d[i]=s}return new OC(n,l,d,c)})}generateFromName(e,t){return this.generate(this.names.get(e),t)}generateFromPath(e,t){return this.generate(this.paths.get(e),t)}generate(e,t){if(!e)return null;const i=Object.assign({},t),c={};let o="";for(let t=0,s=e.length;t<s;t++){const s=e[t],n=s.generate(i,c);if(null==n){if(s instanceof VC&&!s.optional)throw new Error(`A value is required for route parameter '${s.name}'.`)}else o+="/",o+=n}"/"!==o.charAt(0)&&(o="/"+o);for(const e in c)delete i[e];const s=EC.build(i);return o+=s?`?${s}`:"",o}}class HC{constructor(e,t,i){switch(this.prevState=e,this.segment=t,this.value=i,this.nextStates=null,this.endpoint=null,null==t?void 0:t.kind){case 2:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=t.optional;break;case 1:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=!1;break;case 3:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!1,this.isOptional=!1;break;case void 0:this.length=null===e?0:e.length,this.isSeparator=!0,this.isDynamic=!1,this.isOptional=!1}}append(e,t){let i,c=this.nextStates;return null===c?(i=void 0,c=this.nextStates=[]):i=null===e?c.find(e=>e.value===t):c.find(t=>{var i;return null===(i=t.segment)||void 0===i?void 0:i.equals(e)}),void 0===i&&c.push(i=new HC(this,e,t)),i}setEndpoint(e){if(null!==this.endpoint)throw new Error(`Cannot add ambiguous route. The pattern '${e.route.path}' clashes with '${this.endpoint.route.path}'`);this.endpoint=e,this.isOptional&&(this.prevState.setEndpoint(e),this.prevState.isSeparator&&null!==this.prevState.prevState&&this.prevState.prevState.setEndpoint(e))}isMatch(e){const t=this.segment;switch(null==t?void 0:t.kind){case 2:return!this.value.includes(e);case 1:return!0;case 3:case void 0:return this.value.includes(e)}}}function _C(e){return e.length>0}class PC{constructor(e,t){this.value=e,this.caseSensitive=t}get kind(){return 3}appendTo(e){const{value:t,value:{length:i}}=this;if(this.caseSensitive)for(let c=0;c<i;++c)e=e.append(this,t.charAt(c));else for(let c=0;c<i;++c){const i=t.charAt(c);e=e.append(this,i.toUpperCase()+i.toLowerCase())}return e}generate(){return this.value}equals(e){return 3===e.kind&&e.caseSensitive===this.caseSensitive&&e.value===this.value}}class VC{constructor(e,t){this.name=e,this.optional=t}get kind(){return 2}appendTo(e){return e=e.append(this,"/")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 2===e.kind&&e.optional===this.optional&&e.name===this.name}}class BC{constructor(e){this.name=e}get kind(){return 1}appendTo(e){return e=e.append(this,"")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 1===e.kind&&e.name===this.name}}const UC="fast-child-route";function jC(e,t){return"command"in t?t.command:"redirect"in t?new lL(t.redirect):fL.fromDefinition(e,t)}const qC=e=>{if(null==e)return!1;switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;default:return!1}},GC={number:e=>void 0===e?NaN:parseFloat(e),float:e=>void 0===e?NaN:parseFloat(e),int:e=>void 0===e?NaN:parseInt(e),integer:e=>void 0===e?NaN:parseInt(e),Date:e=>void 0===e?new Date(Date.now()):new Date(e),boolean:qC,bool:qC};class WC{constructor(e){this.owner=e,this._recognizer=null,this.pathToCommand=new Map,this.fallbackCommand=null,this.fallbackSettings=null,this.converters={}}get recognizer(){return null===this._recognizer&&(this._recognizer=this.owner.createRouteRecognizer()),this._recognizer}ignore(e){"string"==typeof e&&(e={path:e}),this.pathToCommand.set(e.path,new rL),this.recognizer.add(e,e.settings)}map(...e){for(const t of e){if("children"in t){const e=this.owner.createTitleBuilder(),i=t.children.map(i=>{const c=Object.assign(Object.assign(Object.assign({},t),i),{path:`${t.path}/${i.path}`});if("title"in t||"title"in i){const o=t.title||"",s=i.title||"";c.title=e.joinTitles(o,s)}if("name"in i){const e=t.name?t.name+"/":"";c.name=e+i.name}return c.children===t.children&&delete c.children,c});this.map(...i);continue}let e;if(e="command"in t?t.command:"redirect"in t?new lL(t.redirect):fL.fromDefinition(this.owner,t),this.pathToCommand.set(t.path,e),this.recognizer.add(t,t.settings),"childRouters"in t&&t.childRouters){const i=Object.assign(Object.assign({},t),{path:t.path+`/*${UC}`});this.pathToCommand.set(i.path,e),this.recognizer.add(i,i.settings)}}}fallback(e){const t=this.owner;this.fallbackCommand="function"==typeof e?{createContributor(i,c){return Rh(this,void 0,void 0,function*(){const o=yield e();return jC(t,o).createContributor(i,c)})}}:jC(t,e)}converter(e,t){let i;i="convert"in t?t.convert.bind(t):t.prototype&&"convert"in t.prototype?e=>this.owner.construct(t).convert(e):t,this.converters[e]=i}recognize(e){return Rh(this,void 0,void 0,function*(){const t=yield this.recognizer.recognize(e,this.aggregateConverters());if(null!==t)return{route:t,command:this.pathToCommand.get(t.endpoint.path)};if(null!==this.fallbackCommand){const t=EC.separate(e),i=EC.parse(t.queryString);return{route:new OC(new AC(new NC("*","",!1),[],[],this.fallbackSettings),{},{},i),command:this.fallbackCommand}}return null})}generateFromName(e,t){return this.recognizer.generateFromName(e,t)}generateFromPath(e,t){return this.recognizer.generateFromPath(e,t)}aggregateConverters(){return null===this.owner.parent?Object.assign(Object.assign({},GC),this.converters):Object.assign(Object.assign({},this.owner.parent.routes.aggregateConverters()),this.converters)}}const YC="$router";function KC(e){const t=e.parentElement;if(t)return t;{const t=e.getRootNode();if(t.host instanceof HTMLElement)return t.host}return null}function ZC(e){let t=e;for(;t=KC(t);)if(YC in t)return t[YC];return null}const QC=Object.freeze({getOrCreateFor(e){const t=e[YC];return void 0!==t?t:e[YC]=new XC(e)},find:e=>e[YC]||ZC(e),from(e){class t extends e{constructor(){super(),QC.getOrCreateFor(this)}get config(){return this[YC].config}set config(e){this[YC].config=e}}const i=t.prototype;if("connectedCallback"in i){const e=i.connectedCallback;i.connectedCallback=function(){e.call(this),this[YC].connect()}}else i.connectedCallback=function(){this[YC].connect()};if("disconnectedCallback"in i){const e=i.disconnectedCallback;i.disconnectedCallback=function(){e.call(this),this[YC].disconnect()}}else i.disconnectedCallback=function(){this[YC].disconnect()};return t}});class XC{constructor(e){this.host=e,this.parentRouter=void 0,this.contributors=new Set,this.navigationQueue=null,this.linkHandler=null,this.newView=null,this.newRoute=null,this.childCommandContributor=null,this.childRoute=null,this.isConnected=!1,this.routerConfig=null,this.view=null,this.route=null,this.onNavigationMessage=e=>Rh(this,void 0,void 0,function*(){const t=this.config.createNavigationProcess();yield t.run(this,e),this.navigationQueue.receive().then(this.onNavigationMessage)}),e[YC]=this}get config(){return this.routerConfig}set config(e){this.routerConfig=e,this.tryConnect()}get parent(){if(void 0===this.parentRouter){if(!this.isConnected)return null;this.parentRouter=ZC(this.host)}return this.parentRouter||null}get level(){return null===this.parent?0:this.parent.level+1}shouldRender(e){var t;if(this.route&&this.route.endpoint.path===e.endpoint.path){const i=null==e?void 0:e.allParams,c=null===(t=this.route)||void 0===t?void 0:t.allParams;if(JSON.stringify(c)===JSON.stringify(i))return!1}return!0}beginRender(e,t){return Rh(this,void 0,void 0,function*(){return this.newRoute=e,this.newView=yield t.createView(),this.newView.bind(e.allTypedParams,JC.create(this)),this.newView.appendTo(this.host),yield t.transition.begin(this.host,this.view,this.newView),{commit:this.renderOperationCommit.bind(this,t.layout,t.transition),rollback:this.renderOperationRollback.bind(this,t.transition)}})}connect(){this.isConnected=!0,this.tryConnect()}disconnect(){null===this.parent?(null!==this.navigationQueue&&(this.navigationQueue.disconnect(),this.navigationQueue=null),null!==this.linkHandler&&(this.linkHandler.disconnect(),this.linkHandler=null)):this.parent.removeContributor(this),this.isConnected=!1,this.parentRouter=void 0}addContributor(e){this.contributors.add(e)}removeContributor(e){this.contributors.delete(e)}tryConnect(){null!==this.config&&this.isConnected&&(null===this.parent?(null!==this.navigationQueue&&this.navigationQueue.disconnect(),this.navigationQueue=this.config.createNavigationQueue(),this.navigationQueue.connect(),this.navigationQueue.receive().then(this.onNavigationMessage),null!==this.linkHandler&&this.linkHandler.disconnect(),this.linkHandler=this.config.createLinkHandler(),this.linkHandler.connect()):(this.config.parent=this.parent.config,this.parent.addContributor(this)))}renderOperationCommit(e,t){return Rh(this,void 0,void 0,function*(){yield e.beforeCommit(this.host),yield t.commit(this.host,this.view,this.newView),yield e.afterCommit(this.host),null!==this.view&&this.view.dispose(),this.route=this.newRoute,this.view=this.newView,this.newRoute=null,this.newView=null})}renderOperationRollback(e){return Rh(this,void 0,void 0,function*(){null!==this.newView&&(yield e.rollback(this.host,this.view,this.newView),this.newView.dispose(),this.newRoute=null,this.newView=null)})}navigate(e){return Rh(this,void 0,void 0,function*(){yield this.tunnel(e)})}leave(e){return Rh(this,void 0,void 0,function*(){if(yield this.tunnel(e),!e.canceled){const t=this.contributors;this.contributors=new Set,e.onCancel(()=>this.contributors=t)}})}construct(e){return Rh(this,void 0,void 0,function*(){if(null!==this.parent){const t=e.route.allParams[UC]||"",i=yield this.config.recognizeRoute(t);if(null===i){return this.config.createEventSink().onUnhandledNavigationMessage(this,new vC(t)),void e.cancel()}this.childRoute=i.route,this.childCommandContributor=yield i.command.createContributor(this,i.route)}yield this.tunnel(e)})}enter(e){return Rh(this,void 0,void 0,function*(){yield this.tunnel(e)})}commit(e){return Rh(this,void 0,void 0,function*(){yield this.tunnel(e)})}tunnel(e){return Rh(this,void 0,void 0,function*(){const t=this.childRoute,i=this.childCommandContributor;if(t&&i&&(yield e.evaluateContributor(i,t,this)),e.canceled)return;const c=[...this.config.findContributors(e.name),...Array.from(this.contributors)];for(const t of c)if(yield e.evaluateContributor(t,void 0,this),e.canceled)return})}}const JC=Object.freeze({create:e=>Object.create(L,{router:{value:e}})}),eL=Object.freeze({default:Object.freeze({begin(e,t,i){return Rh(this,void 0,void 0,function*(){})},rollback(e,t,i){return Rh(this,void 0,void 0,function*(){})},commit(e,t,i){return Rh(this,void 0,void 0,function*(){})}})});class tL{constructor(e=null,t=null,i=!0){this.template=e,this.runBeforeCommit=i,this.styles=null==t?null:Array.isArray(t)?Z.create(t):t instanceof Z?t:Z.create([t])}beforeCommit(e){return Rh(this,void 0,void 0,function*(){this.runBeforeCommit&&this.apply(e)})}afterCommit(e){return Rh(this,void 0,void 0,function*(){this.runBeforeCommit||this.apply(e)})}apply(e){e instanceof ze&&(e.$fastController.template!==this.template&&(e.$fastController.template=this.template),e.$fastController.styles!==this.styles&&(e.$fastController.styles=this.styles))}}const iL=Object.freeze({default:new tL(K`<slot></slot>`)});function cL(e,t){return t in e}const oL={lifecycle:!0,parameters:!0};class sL extends x{constructor(e){super(),this.options=e}createPlaceholder(e){return p.createCustomAttributePlaceholder("fast-navigation-contributor",e)}createBehavior(e){return new nL(e,this.options)}}class nL{constructor(e,t){this.contributor=e,this.options=t,this.router=null}bind(e,t){if(this.options.lifecycle&&(this.router=t.router||QC.find(this.contributor),this.router.addContributor(this.contributor)),this.options.parameters){const t=this.contributor,i=e;for(const e in i)t[e]=i[e]}}unbind(e){null!==this.router&&this.router.removeContributor(this.contributor)}}function aL(e){return new sL(Object.assign({},oL,e))}class rL{createContributor(){return Rh(this,void 0,void 0,function*(){return{navigate(e){return Rh(this,void 0,void 0,function*(){e.cancel()})}}})}}class lL{constructor(e){this.redirect=e}createContributor(){return Rh(this,void 0,void 0,function*(){const e=this.redirect;return{navigate(t){return Rh(this,void 0,void 0,function*(){const i=t.router.config,c=(yield i.generateRouteFromName(e,t.route.allParams))||(yield i.generateRouteFromPath(e,t.route.allParams));if(null===c)throw new Error(`Invalid redirect. Name or path not found: ${e}`);t.cancel(()=>Rh(this,void 0,void 0,function*(){return CC.path.replace(c)}))})}}})}}function dL(e){return K`<${e} ${aL()}></${e}>`}function uL(e){const t=document.createDocumentFragment();t.appendChild(e);const i=new G(t,[aL().createBehavior(e)]);return{create:()=>i}}class hL{constructor(e,t,i){this.router=e,this.route=t,this.command=i}construct(e){return Rh(this,void 0,void 0,function*(){this.router.shouldRender(this.route)?(this.operation=yield this.router.beginRender(this.route,this.command),e.onCancel(()=>this.operation.rollback())):e.cancel()})}commit(e){return Rh(this,void 0,void 0,function*(){yield this.operation.commit(),this.command.title&&e.setTitle(this.command.title)})}}class fL{constructor(e,t){this.owner=e,this.createView=t,this._layout=null,this._transition=null,this.title=""}get transition(){return this._transition||this.owner.defaultTransition}set transition(e){this._transition=e}get layout(){return this._layout||this.owner.defaultLayout}set layout(e){this._layout=e}createContributor(e,t){return Rh(this,void 0,void 0,function*(){return new hL(e,t,this)})}static fromDefinition(e,t){let i;i="template"in t?()=>Rh(this,void 0,void 0,function*(){let e=t.template;return"function"==typeof e&&(e=yield e()),e.create()}):()=>Rh(this,void 0,void 0,function*(){let e=t.element,i=null;if(t.factory)i=t.factory;else if("function"==typeof e){let t=pe.forType(e);if(t)i=dL(t.name);else if(e=yield e(),"string"==typeof e)i=dL(e);else if(e instanceof HTMLElement)i=uL(e);else{if(t=pe.forType(e),!t)throw new Error("Invalid value for element in route config.");i=dL(t.name)}}else e instanceof HTMLElement?t.factory=i=uL(e):t.factory=i=dL(e);return i.create()});const c=new fL(e,i);return t.layout&&(t.layout instanceof W?c.layout=new tL(t.layout):c.layout=t.layout),t.transition&&(c.transition=t.transition),t.title&&(c.title=t.title),c}}class pL{constructor(){this.handler=e=>{const{shouldHandleEvent:t,href:i}=this.getEventInfo(e);t&&(e.preventDefault(),CC.path.push(i))}}connect(){window.addEventListener("click",this.handler,!0)}disconnect(){window.removeEventListener("click",this.handler)}getEventInfo(e){const t={shouldHandleEvent:!1,href:null,anchor:null},i=this.findClosestAnchor(e);if(!i||!this.targetIsThisWindow(i))return t;if(i.hasAttribute("download")||i.hasAttribute("router-ignore")||i.hasAttribute("data-router-ignore"))return t;if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return t;const c=i.getAttribute("href");t.anchor=i,t.href=c;const o=1===e.which,s=c&&!("#"===c.charAt(0)||/^[a-z]+:/i.test(c));return t.shouldHandleEvent=o&&!!s,t}findClosestAnchor(e){const t=e.composedPath();for(let e=0,i=t.length;e<i;++e){const i=t[e];if("A"===i.tagName)return i}return e.target}targetIsThisWindow(e){const t=e.getAttribute("target");return!t||t===window.name||"_self"===t}}class mL{constructor(e,t,i,c,o){this.name=e,this.commitActions=c,this.cancelActions=o,this.routes=[],this.routers=[],this.canceled=!1,this.titles=[],this.routes.push(t),this.routers.push(i)}get route(){return this.routes[this.routes.length-1]}get router(){return this.routers[this.routers.length-1]}cancel(e){this.canceled=!0,e&&this.cancelActions.push(e)}onCommit(e){this.commitActions.push(e)}onCancel(e){this.cancelActions.push(e)}setTitle(e){const t=this.router.level;for(;this.titles.length<t+1;)this.titles.push([]);this.titles[t].push(e)}evaluateContributor(e,t=this.route,i=this.router){return Rh(this,void 0,void 0,function*(){cL(e,this.name)&&(this.routes.push(t),this.routers.push(i),yield e[this.name](this),this.routes.pop(),this.routers.pop())})}}class gL{constructor(){this.phases=["navigate","leave","construct","enter","commit"]}run(e,t){return Rh(this,void 0,void 0,function*(){const i=e.config.createEventSink(),c=yield e.config.recognizeRoute(t.path);if(null===c)return void i.onUnhandledNavigationMessage(e,t);const o=c.route,s=c.command;i.onNavigationBegin(e,o,s);const n=[],a=[];let r=n;const l=[yield s.createContributor(e,o),e,this];for(const t of this.phases){const c=new mL(t,o,e,n,a);if(i.onPhaseBegin(c),c.canceled)r=a;else for(const e of l)if(yield c.evaluateContributor(e),c.canceled){r=a;break}if(i.onPhaseEnd(c),c.canceled)break}yield Promise.all(r.map(e=>e())).then(()=>i.onNavigationEnd(e,o,s))})}commit(e){const t=e.router.config.createTitleBuilder();document.title=t.buildTitle(e.router.config.title,e.titles)}}class vL{constructor(e=" - ",t=":"){this.segmentSeparator=e,this.fragmentSeparator=t}joinTitles(e,t){return""===e?t:""===t?e:`${e}${this.segmentSeparator}${t}`}buildTitle(e,t){let i=e;for(const e of t){i&&(i+=this.segmentSeparator);let t="";for(const i of e)t&&(t+=this.fragmentSeparator),t+=i;i+=t}return i}}class bL{onUnhandledNavigationMessage(e,t){}onNavigationBegin(e,t,i){}onPhaseBegin(e){}onPhaseEnd(e){}onNavigationEnd(e,t,i){}}class yL{constructor(){this.isConfigured=!1,this.routes=new WC(this),this.contributors=[],this.defaultLayout=iL.default,this.defaultTransition=eL.default,this.title="",this.parent=null}createNavigationQueue(){return this.construct(LC)}createLinkHandler(){return this.construct(pL)}createNavigationProcess(){return new gL}createEventSink(){return this.construct(bL)}createTitleBuilder(){return this.construct(vL)}createRouteRecognizer(){return this.construct(FC)}construct(e){return null!==this.parent?this.parent.construct(e):new e}recognizeRoute(e){return Rh(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.recognize(e)})}generateRouteFromName(e,t){return Rh(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromName(e,t)})}generateRouteFromPath(e,t){return Rh(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromPath(e,t)})}findContributors(e){return this.contributors.filter(t=>cL(t,e))}cached(e){let t=null;return()=>Rh(this,void 0,void 0,function*(){return null===t&&(t=new e),t})}ensureConfigured(){return Rh(this,void 0,void 0,function*(){this.isConfigured||(yield this.configure(),this.isConfigured=!0)})}}let zL=class extends(QC.from(ze)){};zL=Oh([Ce("fast-router")],zL);const CL=[];setTimeout(()=>{CL.length&&console.warn(`${CL.length} attribute deprecation notice(s):\n ${CL.join("\n")}`)},5e3);const LL="reauthActionLock";var xL;function ML(){return Rh(this,arguments,void 0,function*(e={}){const{reloadOnFailure:t=!0}=e;if(function(){const e=parseInt(localStorage.getItem(LL)||"0");Date.now()-e>3e4&&localStorage.removeItem(LL)}(),localStorage.getItem(LL)||(localStorage.setItem(LL,Date.now().toString()),0))return xL.HANDLED_BY_OTHER_TAB;try{if(yield function(){return Rh(this,void 0,void 0,function*(){const e=yield fetch(Ng,{credentials:"include"});return"EVENT_LOGIN_DETAILS_ACK"===(yield e.json()).MESSAGE_TYPE})}())return xL.ALREADY_VALID;return(yield function(){return Rh(this,void 0,void 0,function*(){const e=mt.getOrCreateDOMContainer().get(sC);return"EVENT_LOGIN_AUTH_ACK"===(yield e.post($g,{body:JSON.stringify({DETAILS:{},MESSAGE_TYPE:"EVENT_LOGIN_AUTH"})})).MESSAGE_TYPE})}())?xL.SUCCESS:(t&&window.location.reload(),xL.FAILED)}finally{localStorage.removeItem(LL)}})}!function(e){e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.HANDLED_BY_OTHER_TAB="HANDLED_BY_OTHER_TAB",e.ALREADY_VALID="ALREADY_VALID"}(xL||(xL={}));const wL=(e,t)=>((null==t?void 0:t.ROW)&&e&&e.length>0?t.ROW.forEach(t=>{const i=t;if(i&&i.DETAILS){const c=i.DETAILS.ROW_REF,o=i.DETAILS.OPERATION;"INSERT"===o&&(e.find(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c})||e.unshift(i)),"DELETE"===o&&(e=e.filter(e=>{var i,c;return(null===(i=t.DETAILS)||void 0===i?void 0:i.ROW_REF)!==(null===(c=e.DETAILS)||void 0===c?void 0:c.ROW_REF)})),"MODIFY"===o&&(e=e.map(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c?Object.assign(Object.assign({},e),i):e}))}}):!t||e&&0!==e.length||(e=[...new Set(t.ROW)]),e);var SL;let kL=SL=class{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,i,c,o,s){var n;this.http=e,this.messageBuilder=t,this.session=i,this.metaCache=c,this.serializer=o,this.config=s,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new Db(this._isConnected),this.isConnected$=null===(n=this.isConnectedSubject)||void 0===n?void 0:n.asObservable(),this.ongoingTurbo={},this.streams=new Map,this.ongoingRefresh=null}handleSessionRefresh(){return this.ongoingRefresh||(this.ongoingRefresh=(()=>Rh(this,void 0,void 0,function*(){const e=this.host;this.disconnect();let t=yield ML();return t===xL.HANDLED_BY_OTHER_TAB&&(yield new Promise(e=>{setTimeout(e,SL.REAUTH_WAIT_MS)}),t=yield ML()),(t===xL.SUCCESS||t===xL.ALREADY_VALID)&&(this.connect(e),!0)}))().finally(()=>{this.ongoingRefresh=null})),this.ongoingRefresh}checkHost(){return Rh(this,void 0,void 0,function*(){try{return this.getMessage({MESSAGE_TYPE:lC.HEARTBEAT_PING,SOURCE_REF:"host check"}).then(e=>e.MESSAGE_TYPE===lC.HEARTBEAT_PONG)}catch(e){return Bm.error(e),!1}})}send(e,t){return Rh(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot send message: session refresh failed")}return this.http.post(SL.getUrl(this.host,e),{body:SL.getBody(e),headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}httpMode(){return!0}setValidSession(e){Bm.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}connect(e){return Rh(this,void 0,void 0,function*(){return this.host=e,this.host.startsWith("ws")&&(this.host=this.host.replace("ws","http")),this.host.endsWith("/")||(this.host=this.host.concat("/")),this.checkHost().then(e=>(this.isConnected=e,this.session.setSessionStorageItem("hostUrl",this.host),e))})}disconnect(){this.isConnected=!1,this.streams.clear(),this.ongoingTurbo={},this.host=void 0}snapshot(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return Bm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.send(i).then(e=>(this.dataLogoff(i.SOURCE_REF).catch(e=>Bm.error(e)),e))})}stream(e,t,i,c){var o,s;const n=this.messageBuilder.createDataLogonMessage(e,c);Bm.debug(`HTTP MODE - ${n.MESSAGE_TYPE} (stream) message created -> `,n);const a=n.SOURCE_REF,r=(null===(s=null===(o=this.config.polling)||void 0===o?void 0:o.POLLING_INTERVAL_MAP)||void 0===s?void 0:s[e])||this.config.polling.POLLING_FREQUENCY;this.streams.set(a,{SOURCE_REF:a,POLLING_FREQUENCY:new Db(r),RESOURCE_NAME:e});const l=this.streams.get(a).POLLING_FREQUENCY,d=Uy(Ey(this.send(n)),l.pipe(qy(()=>"visible"===document.visibilityState)).pipe(Yy(e=>{return void 0===(t=e)&&(t=0),void 0===i&&(i=ty),t<0&&(t=0),jy(t,t,i);var t,i})).pipe(Yy(()=>Ey(this.getMessage(n))))).pipe(Ky(()=>this.streams.has(a)),function(e){var t;void 0===e&&(e=1/0);var i=(t=e&&"object"==typeof e?e:{count:e}).count,c=void 0===i?1/0:i,o=t.delay,s=t.resetOnSuccess,n=void 0!==s&&s;return c<=0?xb:kb(function(e,t){var i,s=0,a=function(){var r=!1;i=e.subscribe(Eb(t,function(e){n&&(s=0),t.next(e)},void 0,function(e){if(s++<c){var n=function(){i?(i.unsubscribe(),i=null,a()):r=!0};if(null!=o){var l="number"==typeof o?jy(o):Cy(o(e,s)),d=Eb(t,function(){d.unsubscribe(),n()},function(){t.complete()});l.subscribe(d)}else n()}else t.error(e)})),r&&(i.unsubscribe(),i=null,a())};a()})}({count:SL.MAX_RETRIES,delay:(e,t)=>{const i=e;Bm.error(`Retry ${t}/${SL.MAX_RETRIES}:`,i.status,i);if(!(0===i.status||i.status&&i.status>=Qz.BAD_REQUEST&&i.status<Qz.INTERNAL_SERVER_ERROR))throw e;return i.status===Qz.NOT_FOUND&&this.streams.delete(a),i.status===Qz.UNAUTHORIZED?Ey(this.handleSessionRefresh()):jy(SL.RETRY_DELAY_MS)}}),(u=()=>{Bm.debug(`Terminating stream for ${e} - ${a}`),this.dataLogoff(a)},kb(function(e,t){try{e.subscribe(t)}finally{t.add(u)}})));var u;return this.streams.get(a).STREAM=d,d}streamState(e,t=()=>{},i=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(Gy(wL,o))}streamWithoutAutoTeardown(e,t,i,c){return Bm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0"),this.stream(e,t,i,c)}getMessage(e){return Rh(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot get message: session refresh failed")}return this.http.get(SL.getUrl(this.host,e),{headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}getMoreRows(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return Bm.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)})}getMoreColumns(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.send(t)})}dataLogoff(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then(t=>(this.streams.has(e)&&(Bm.debug(`Removing stream ${e}`),this.streams.delete(e)),t))})}getMetadata(e){return Rh(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasMetadataFor(e))return Bm.debug(`HTTP MODE - Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const i=this.messageBuilder.createMetaRequestMessage(e);Bm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (metadata) message created -> `,i);const c=yield this.send(i).then(e=>e.DETAILS);return Object.keys(c).length&&this.metaCache.setMetadataFor(e,c),c})}getJSONSchema(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createMetaRequestMessage(e,dC.JSON_SCHEMA_REQUEST);return Bm.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)})}request(e,t){const i=this.messageBuilder.createRequestMessage(e,t);Bm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (request server) message created -> `,i);let c=SL.getUrl(this.host,i);const o=[];return i.REQUEST&&Object.keys(i.REQUEST).length>0&&Object.keys(i.REQUEST).forEach(e=>{const t=i.REQUEST[e];null==t||Number.isNaN(t)||o.push(`REQUEST.${e}=${encodeURIComponent(String(t))}`)}),i.DETAILS&&Object.keys(i.DETAILS).forEach(e=>{const t=i.DETAILS[e];null==t||Number.isNaN(t)||o.push(`${e}=${encodeURIComponent(String(t))}`)}),o.length>0&&(c=`${c}?${o.join("&")}`),Bm.debug(`HTTP MODE! - REQUEST_SERVER GET URL: ${c}`),this.http.get(c,{headers:this.messageBuilder.createHTTPHeadersFromMessage(i)})}getAvailableResources(e){return Rh(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Bm.debug("HTTP MODE - Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Bm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (getResources) message created -> `,i);const c=yield this.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);return Bm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (commit) message created -> `,i),this.send(i).then(t=>(this.maybeTurbo(e,t),t))})}maybeTurbo(e,t){var i;if(!(null===(i=null==t?void 0:t.MESSAGE_TYPE)||void 0===i?void 0:i.endsWith("_ACK")))return;if(this.ongoingTurbo[e])return void Bm.debug(`${e} polling frequency is already accelerated.`);const c=this.config.polling.POLLING_MAP[e];if(!(null==c?void 0:c.TEMP_FREQUENCY)||!c.AMOUNT_OF_POLLS)return;const o=c.TEMP_FREQUENCY,s=o*c.AMOUNT_OF_POLLS,n=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP)),a=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP));for(const e of c.QUERIES)a[e]=o,n[e]||(n[e]=this.config.polling.POLLING_FREQUENCY);Bm.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${o}ms DURATION=${s}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout(()=>{Bm.debug(`RESTORED ORIGINAL POLLING INTERVALS FOR ${e}`),this.updateIntervals({polling:{POLLING_INTERVAL_MAP:n}}),this.ongoingTurbo[e]=!1},s)}updateIntervals(e){const{POLLING_INTERVAL_MAP:t}=e.polling;t&&(this.config.polling.POLLING_INTERVAL_MAP=t,this.handlePollingIntervalMapUpdate(t))}handlePollingIntervalMapUpdate(e){if(e)for(const t in e){if(!e.hasOwnProperty(t))continue;const i=e[t];this.config.polling.POLLING_INTERVAL_MAP[t]=i,Bm.debug(`Setting polling frequency for ${t} = ${i}`),[...this.streams.values()].filter(e=>e.RESOURCE_NAME===t).forEach(e=>{var t;return null===(t=null==e?void 0:e.POLLING_FREQUENCY)||void 0===t?void 0:t.next(i)})}}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const i=t.MESSAGE_TYPE;let c=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return i===dC.DATA_LOGON&&(c=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${c}`}};kL.REAUTH_WAIT_MS=5e3,kL.RETRY_DELAY_MS=1e3,kL.MAX_RETRIES=3,Oh([b],kL.prototype,"host",void 0),Oh([b],kL.prototype,"isWorking",void 0),Oh([b],kL.prototype,"_isConnected",void 0),Oh([y],kL.prototype,"isConnected",null),kL=SL=Oh([Th(0,sC),Th(1,mC),Th(2,iC),Th(3,Dz),Th(4,tb),Th(5,aC)],kL);const EL=mt.createInterface(e=>e.singleton(kL));var $L={url:"",deserializer:function(e){return JSON.parse(e.data)},serializer:function(e){return JSON.stringify(e)}},NL=function(e){function t(t,i){var c=e.call(this)||this;if(c._socket=null,t instanceof Mb)c.destination=i,c.source=t;else{var o=c._config=Nh({},$L);if(c._output=new Rb,"string"==typeof t)o.url=t;else for(var s in t)t.hasOwnProperty(s)&&(o[s]=t[s]);if(!o.WebSocketCtor&&WebSocket)o.WebSocketCtor=WebSocket;else if(!o.WebSocketCtor)throw new Error("no WebSocket constructor can be found");c.destination=new Hb}return c}return $h(t,e),t.prototype.lift=function(e){var i=new t(this._config,this.destination);return i.operator=e,i.source=this,i},t.prototype._resetState=function(){this._socket=null,this.source||(this.destination=new Hb),this._output=new Rb},t.prototype.multiplex=function(e,t,i){var c=this;return new Mb(function(o){try{c.next(e())}catch(e){o.error(e)}var s=c.subscribe({next:function(e){try{i(e)&&o.next(e)}catch(e){o.error(e)}},error:function(e){return o.error(e)},complete:function(){return o.complete()}});return function(){try{c.next(t())}catch(e){o.error(e)}s.unsubscribe()}})},t.prototype._connectSocket=function(){var e=this,t=this._config,i=t.WebSocketCtor,c=t.protocol,o=t.url,s=t.binaryType,n=this._output,a=null;try{a=c?new i(o,c):new i(o),this._socket=a,s&&(this._socket.binaryType=s)}catch(e){return void n.error(e)}var r=new nb(function(){e._socket=null,a&&1===a.readyState&&a.close()});a.onopen=function(t){if(!e._socket)return a.close(),void e._resetState();var i=e._config.openObserver;i&&i.next(t);var c=e.destination;e.destination=mb.create(function(t){if(1===a.readyState)try{var i=e._config.serializer;a.send(i(t))}catch(t){e.destination.error(t)}},function(t){var i=e._config.closingObserver;i&&i.next(void 0),t&&t.code?a.close(t.code,t.reason):n.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),e._resetState()},function(){var t=e._config.closingObserver;t&&t.next(void 0),a.close(),e._resetState()}),c&&c instanceof Hb&&r.add(c.subscribe(e.destination))},a.onerror=function(t){e._resetState(),n.error(t)},a.onclose=function(t){a===e._socket&&e._resetState();var i=e._config.closeObserver;i&&i.next(t),t.wasClean?n.complete():n.error(t)},a.onmessage=function(t){try{var i=e._config.deserializer;n.next(i(t))}catch(e){n.error(e)}}},t.prototype._subscribe=function(e){var t=this,i=this.source;return i?i.subscribe(e):(this._socket||this._connectSocket(),this._output.subscribe(e),e.add(function(){var e=t._socket;0===t._output.observers.length&&(!e||1!==e.readyState&&0!==e.readyState||e.close(),t._resetState())}),e)},t.prototype.unsubscribe=function(){var t=this._socket;!t||1!==t.readyState&&0!==t.readyState||t.close(),this._resetState(),e.prototype.unsubscribe.call(this)},t}(Ib);const AL=1e4,OL=6e4;var TL;!function(e){e.Linear="linear",e.Exponential="exponential"}(TL||(TL={}));const RL=(e,t)=>{const{reconnectInterval:i=AL}=e,c=i>OL?OL:i,o=Math.round(Math.log2(OL/c));return c*Math.pow(2,t%o)},IL=e=>{const{reconnectInterval:t=AL}=e;return t>OL?OL:t};class DL{constructor(){this.isConfigured=!1,this.isConnecting=!1,this.isConnected=!1,this.isReconnecting=!1,this.reconnectionLimitReached=!1,this.isConnectedSubject=new Db(this.isConnected)}get hasValidSession(){return this.user.isAuthenticated}get isDisconnected(){return!this.isConnected}get isDisconnectedByServer(){return void 0!==this.closedClean&&!this.closedClean}isConnectedChanged(){var e;this.isConnected&&this.resetClosedState(),this.isConnecting=!1,this.isReconnecting=!1,null===(e=this.isConnectedSubject)||void 0===e||e.next(this.isConnected)}isReconnectingChanged(){this.isReconnecting&&(this.reconnectionLimitReached=!1)}resetClosedState(){this.closedCode=void 0,this.closedReason=void 0,this.closedClean=void 0}serialize(){return{isConfigured:this.isConfigured,isConnecting:this.isConnecting,isConnected:this.isConnected,isDisconnected:this.isDisconnected,isDisconnectedByServer:this.isDisconnectedByServer,isReconnecting:this.isReconnecting,reconnectionLimitReached:this.reconnectionLimitReached,hasValidSession:this.hasValidSession,closedCode:this.closedCode,closedReason:this.closedReason,closedClean:this.closedClean}}onClose(e){this.isConnected=!1,this.closedCode=e.code,this.closedReason=e.reason,this.closedClean=e.wasClean}}Oh([b],DL.prototype,"isConfigured",void 0),Oh([b],DL.prototype,"isConnecting",void 0),Oh([b],DL.prototype,"isConnected",void 0),Oh([b],DL.prototype,"isReconnecting",void 0),Oh([b],DL.prototype,"reconnectionLimitReached",void 0),Oh([b],DL.prototype,"closedCode",void 0),Oh([b],DL.prototype,"closedReason",void 0),Oh([b],DL.prototype,"closedClean",void 0),Oh([Rz],DL.prototype,"user",void 0);const FL=mt.createInterface(e=>e.singleton(DL));class HL{constructor(e){this.interval=e}get workerScript(){return`\n const startTime = Date.now();\n setInterval(function() {\n self.postMessage(Date.now() - startTime);\n }, ${this.interval});\n `}start(e){this.stop(),this.runWorker(e)}stop(){this.worker&&(this.worker.terminate(),delete this.worker)}runWorker(e){this.worker||(this.worker=new Worker(URL.createObjectURL(new Blob([this.workerScript],{type:"text/javascript"}))),this.worker.onmessage=t=>e(t.data))}}class _L extends Rb{constructor(){super()}}class PL{constructor(e,t,i,c){this._message=e,this._onMessage=t,this._onError=i,this._isSubscription=c}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}let VL=class{get isConfigured(){return this.status.isConfigured}get isConnecting(){return this.status.isConnecting}get isConnected(){return this.status.isConnected}get isConnectedSubject(){return this.status.isConnectedSubject}get isDisconnected(){return this.status.isDisconnected}get isDisconnectedByServer(){return this.status.isDisconnectedByServer}get isReconnecting(){return this.status.isReconnecting}get hasValidSession(){return Bm.deprecated("get hasValidSession","Use `User.isAuthenticated` from `@genesislcap/foundation-user` instead.","15.0.0"),this.user.isAuthenticated}set hasValidSession(e){Bm.deprecated("set hasValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}get host(){var e;return null!==(e=this.url)&&void 0!==e?e:xg}constructor(e,t,i,c,o,s,n){this.messageBuilder=e,this.session=t,this.serializer=i,this.uuid=c,this.status=o,this.user=s,this.config=n,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.socketMessages=()=>this.wsMessages}get heartbeatLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeatLogging)&&void 0!==t&&t}get messageLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableMessageLogging)&&void 0!==t&&t}connect(e=xg,t,i){var c;return this.url=e,this.connectOptions=null!=t?t:this.config.connect,this.reconnectOptions=null!=i?i:this.config.reconnect,(null===(c=this.config.isWebSocketExpression)||void 0===c?void 0:c.test(this.host))?new Promise(e=>{var t,i,c,o;Bm.info(`${this.isReconnecting?"Reconnecting":"Connecting"} to ${this.url}`),this.status.isConnecting=!this.isReconnecting;(!this.isReconnecting||!(null===(t=this.reconnectOptions)||void 0===t?void 0:t.reconnectStreams))&&this.cleanMessages(),null===(i=this.socketSubscription)||void 0===i||i.unsubscribe(),this.websocket=new NL({url:this.url,openObserver:{next:()=>{this.session.setSessionStorageItem("hostUrl",this.url),this.status.isConnected=!0,this.prepareHeartbeat(),Bm.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{this.status.onClose(t),this.isDisconnectedByServer&&Bm.info(`WebSocket connection was closed due an error - Code: ${t.code} ${t.reason?" | Reason: "+t.reason:""}`),e(this.isConnected)}},serializer:e=>this.serializer.serialize(e),deserializer:e=>this.serializer.deserialize(e)});this.socketSubscription=this.websocket.subscribe(null!==(o=null===(c=this.connectOptions)||void 0===c?void 0:c.connectObserver)&&void 0!==o?o:{next:e=>Rh(this,void 0,void 0,function*(){var t;const i=`Response Message received for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.info,i);const{SOURCE_REF:c,MESSAGE_TYPE:o}=e,s=this.getMessageHandler(c,o);if(!s)return void(e.MESSAGE_TYPE===lC.MSG_NACK&&e.ERROR&&e.ERROR.forEach(t=>{Bm.error(`MessageType: ${e.MESSAGE_TYPE} | Error Details:`,t)}));let n=!1;switch(e.MESSAGE_TYPE){case dC.EVENT_LOGIN_AUTH_ACK:{const i=e.DETAILS;i.HEARTBEAT_INTERVAL_SECS&&void 0===(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatInterval)&&(this.heartbeatInterval=i.HEARTBEAT_INTERVAL_SECS*this.secondsMultiplier,this.prepareHeartbeat());break}case lC.LOGOUT_ACK:return s.onReceivedMessage.call(this,e),void this.cleanMessages();case lC.LOGON_ACK:return;case lC.LOGOFF_ACK:break;case lC.QUERY_UPDATE:s.isSubscription||this.sendDataLogoff(c);break;case lC.MSG_NACK:case lC.LOGON_NACK:n=!0}n?s.onReceivedError.call(this,{receivedMessage:e,sentMessage:s.sentMessage}):s.onReceivedMessage.call(this,e),this.wsMessages.next(e),s.isSubscription||this.removeMessageHandler(c)}),error:e=>{Bm.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.isDisconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():Bm.info("Connection is now closed")}}),this.status.isConfigured=!0}):(Bm.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`),void Bm.warn("Make sure the host url starts with wss:// or ws://"))}handleExpiredSession(){return Rh(this,void 0,void 0,function*(){if(this.session.getSessionStorageItem("refreshToken")){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.send(e);this.session.setAuthResult(t),this.updateSessionAndSubscriptions(t)}else yield this.handleCookieBasedReauth()})}handleCookieBasedReauth(){return Rh(this,void 0,void 0,function*(){const e=yield ML();e!==xL.HANDLED_BY_OTHER_TAB?e!==xL.FAILED&&(yield this.connect()):function(e){const t=i=>{i.key===LL&&null===i.newValue&&(e(),window.removeEventListener("storage",t))};window.addEventListener("storage",t)}(()=>this.connect())})}updateSessionAndSubscriptions(e){(null==e?void 0:e.MESSAGE_TYPE)===dC.EVENT_LOGIN_AUTH_ACK&&this.wsMessageHandlers.forEach(t=>{t.isSubscription&&(t.sentMessage.SESSION_AUTH_TOKEN=e.SESSION_AUTH_TOKEN,this.websocket.next(t.sentMessage))})}prepareHeartbeat(){var e,t,i,c;this.heartbeatTicker&&this.heartbeatTicker.stop();const o=()=>Rh(this,void 0,void 0,function*(){var e,t,i;if(!this.isConnected)return;const c=this.messageBuilder.createHeartbeatPingMessage(null===(e=this.connectOptions)||void 0===e?void 0:e.verboseHeartbeat);(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatPingCallback)&&this.connectOptions.heartbeatPingCallback(c);const o=yield this.send(c);this.user.isAuthenticated&&!o.IS_AUTHENTICATED&&this.handleExpiredSession(),(null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatPongCallback)&&this.connectOptions.heartbeatPongCallback(o),this.heartbeatIsEnabled=o.MESSAGE_TYPE===lC.HEARTBEAT_PONG&&o.SOURCE_REF===c.SOURCE_REF});if(null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeat)&&void 0!==t?t:this.heartbeatIsEnabled){const e=null!==(c=null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatInterval)&&void 0!==c?c:this.heartbeatInterval;this.heartbeatTicker=new HL(e),this.heartbeatTicker.start(()=>{this.websocket&&this.isConnected&&(o(),this.heartbeatLoggingIsEnabled&&Bm.debug(`Sending a heartbeat ping every ${e} ms`))})}}reconnect(){var e,t,i,c,o;const s=!(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)&&!1===(null===(t=this.connectOptions)||void 0===t?void 0:t.enableHeartbeat);if(this.isReconnecting||s)return;this.status.isReconnecting=!0;const n=(null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectStrategy)===TL.Exponential?RL:IL,a=this.isConnectedSubject.asObservable().pipe(Yy(e=>e?$y(-1):((e,t)=>new Mb(i=>{let c,o=0;return function s(){i.next(o),clearTimeout(c),c=setTimeout(s,t(e,o)),o+=1}(),()=>{clearTimeout(c)}}))(this.reconnectOptions,n).pipe(Vy(e=>{var t,i,c;let o;return o=(null===(t=this.connectOptions)||void 0===t?void 0:t.alwaysOn)?e+1:null!==(c=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectAttempts)&&void 0!==c?c:10,e<o?$y(e):(this.status.reconnectionLimitReached=!0,Ny(()=>new Error(`Max reconnect attempts ${o} reached.`)))}))),Ky(()=>this.websocket&&!this.isConnected));a.subscribe(null!==(o=null===(c=this.reconnectOptions)||void 0===c?void 0:c.reconnectObserver)&&void 0!==o?o:{next:e=>{Bm.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;Bm.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.status.isReconnecting=!1},complete:()=>{Bm.info(this.isConnected?"Reconnected":"Disconnected"),this.status.isReconnecting=!1,this.wsMessageHandlers.forEach(e=>{e.isSubscription&&this.websocket.next(e.sentMessage)})}})}reset(){this.status.isConnected=!1,this.status.isConfigured=!1,this.websocket&&this.websocket.complete(),this.websocket=null,this.cleanMessages()}cleanMessages(){this.wsMessages&&this.wsMessages.complete(),this.wsMessages=new _L,this.wsMessageHandlers=new Map}send(e,t=!0){if(!this.isConnected)return Promise.reject(new Error("WebSocket connection is closed"));const i=`Sending Message for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.info,i),new Promise((i,c)=>{const o=e=>{i(e)},s=e=>{c(e)};t&&this.setMessageHandler(e,o,s),this.websocket.next(e)})}sendForStream(e,t,i,c){if(!this.isConnected)return Ny(()=>new Error("WebSocket connection is closed"));const o=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.info,o),this.setMessageHandler(e,t,i,!0),p.queueUpdate(()=>this.websocket.next(e)),new Mb(t=>{const i=new Rb;var o;return this.wsMessages.pipe(qy(t=>t.SOURCE_REF===e.SOURCE_REF),(o=i,kb(function(e,t){Cy(o).subscribe(Eb(t,function(){return t.complete()},fb)),!t.closed&&e.subscribe(t)}))).subscribe({next:e=>{t.next(e)},error:e=>{t.error(e)},complete:()=>{t.complete()}}),()=>{i.complete(),this.sendDataLogoff(e.SOURCE_REF),this.removeMessageHandler(e.SOURCE_REF),c&&c()}})}sendForStreamWithoutTeardown(e,t,i){if(!this.isConnected)return Ny(()=>new Error("WebSocket connection is closed"));const c=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.info,c),this.setMessageHandler(e,t,i,!0),this.websocket.next(e),this.wsMessages.pipe(qy(t=>t.SOURCE_REF===e.SOURCE_REF))}setMessageHandler(e,t,i,c=!1){const o=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.debug,o),this.wsMessageHandlers.set(e.SOURCE_REF,new PL(e,t,i,c))}sendDataLogoff(e){this.send(this.messageBuilder.createDataLogoffMessage(e),!1)}removeMessageHandler(e){this.wsMessageHandlers.delete(e)}getMessageHandler(e,t){const i=`Getting Message Handler for SourceRef: ${e} | MessageType: ${t}`;return this.logMessageTypeFlow(t,Bm.debug,i),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,i){switch(e){case dC.DATA_LOGOFF:t(i);break;case lC.HEARTBEAT_PING:case lC.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(i);break;default:this.messageLoggingIsEnabled&&t(i)}}};Oh([b],VL.prototype,"websocket",void 0),Oh([b],VL.prototype,"wsMessages",void 0),Oh([b],VL.prototype,"wsMessageHandlers",void 0),Oh([sC],VL.prototype,"http",void 0),Oh([b],VL.prototype,"heartbeatIsEnabled",void 0),VL=Oh([Th(0,mC),Th(1,iC),Th(2,tb),Th(3,Az),Th(4,FL),Th(5,Rz),Th(6,Wz)],VL);const BL=mt.createInterface(e=>e.singleton(VL));let UL=class{get isConnected(){return this.socket.isConnected}get isConnectedSubject(){return this.socket.isConnectedSubject}get isConnected$(){var e;return null===(e=this.socket.isConnectedSubject)||void 0===e?void 0:e.asObservable()}get host(){return this.socket.host}constructor(e,t,i,c,o){this.socket=e,this.messageBuilder=t,this.metaCache=i,this.events=c,this.config=o,this.isWorking=!1}httpMode(){return!1}setValidSession(e){Bm.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}send(e,t){return this.socket.send(e,t)}connect(){return Rh(this,arguments,void 0,function*(e=xg){return this.socket.reset(),this.socket.connect(e,this.config.connect,this.config.reconnect)})}disconnect(){this.socket.reset()}snapshot(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return Bm.debug(`${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.socket.send(i)})}stream(e,t,i,c){const o=this.messageBuilder.createDataLogonMessage(e,c);Bm.debug(`${o.MESSAGE_TYPE} (stream) message created -> `,o);const s=performance.now();let n=null;const a=this.socket.sendForStream(o,(...i)=>{null===n&&(n=performance.now(),Bm.debug(`[stream:${e}] time to initial response: ${(n-s).toFixed(2)}ms`)),t(...i)},t=>{i(t),this.events.onStreamErrorEvent(e,a,t)},()=>{this.events.onStreamCompleteEvent(e,a)});return this.events.onStreamEvent(e,o,a,{onMessage:t,onError:i}),a}streamState(e,t=()=>{},i=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(Gy(wL,o))}streamWithoutAutoTeardown(e,t,i,c){Bm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0");const o=this.messageBuilder.createDataLogonMessage(e,c);Bm.debug(`${o.MESSAGE_TYPE} (stream without auto-teardown) message created -> `,o);const s=this.socket.sendForStreamWithoutTeardown(o,t,t=>{i(t),this.events.onStreamErrorEvent(e,s,t)});return this.events.onStreamEvent(e,o,s,{onMessage:t,onError:i}),s}getMoreRows(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createMoreRowsMessage(e,t);return Bm.debug(`${i.MESSAGE_TYPE} message created -> `,i),this.socket.send(i,!1)})}getMoreColumns(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.socket.send(t)})}dataLogoff(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return Bm.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)})}getMetadata(e){return Rh(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasMetadataFor(e))return Bm.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const c=this.messageBuilder.createMetaRequestMessage(e);let o,s;Bm.debug(`${c.MESSAGE_TYPE} (metadata) message created -> `,c);try{this.isWorking=!0;const t=yield this.socket.send(c);o=null!==(i=null==t?void 0:t.DETAILS)&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setMetadataFor(e,o)}catch(e){throw s=e,Bm.error(e),e instanceof Error?e:new Error(String(e))}finally{this.events.onMetadataEvent(e,c,s),this.isWorking=!1}return o})}getJSONSchema(e){return Rh(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasJsonSchemaFor(e))return Bm.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const c=this.messageBuilder.createMetaRequestMessage(e,dC.JSON_SCHEMA_REQUEST);let o;Bm.debug(`${c.MESSAGE_TYPE} (json schema) message created -> `,c);try{this.isWorking=!0,o=null!==(i=yield this.socket.send(c))&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setJsonSchemaFor(e,o)}catch(e){Bm.error(e)}finally{this.isWorking=!1}return o})}request(e,t){const i=this.messageBuilder.createRequestMessage(e,t);return Bm.debug(`${i.MESSAGE_TYPE} (request server) message created -> `,i),this.socket.send(i)}getAvailableResources(e){return Rh(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Bm.debug("Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Bm.debug(`${i.MESSAGE_TYPE} (resources) message created -> `,i);const c=yield this.socket.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);Bm.debug(`${i.MESSAGE_TYPE} (commit) message created -> `,i);const c=this.socket.send(i);return this.events.onCommitEvent(e,i),c.then(t=>(this.events.onCommitResponseEvent(e,t),t))})}};Oh([b],UL.prototype,"isWorking",void 0),UL=Oh([Th(0,BL),Th(1,mC),Th(2,Dz),Th(3,qz),Th(4,Wz)],UL);const jL="true"===Cg||bg("forceHttp"),qL=mt.createInterface(e=>e.singleton(UL)),GL=mt.createInterface(e=>jL?e.aliasTo(EL):e.aliasTo(qL));class WL{serialize(e){return Bm.deprecated("serialize","Use `serialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),JSON.stringify(e)}deserialize(e){return Bm.deprecated("deserialize","Use `deserialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),e?"string"==typeof e?JSON.parse(e):e.data?JSON.parse(e.data):e.text().then(e=>JSON.parse(e)):Promise.resolve({})}}
55
+ Logout Now </${e}-button></div></div></${e}-card></div>`)(ig(e,"rapid").prefix)} `,styles:Me` .inactivity-overlay{position: fixed;inset: 0;width: 100vw;height: 100vh;background-color: rgba(0, 0, 0, 0.6);display: flex;align-items: center;justify-content: center;z-index: 9999;backdrop-filter: blur(2px)}.dialog-card{height: 260px;max-height: 260px;max-width: 520px;width: 92%}.card-body{padding: 24px;box-sizing: border-box}.dialog-header{display: flex;align-items: center;gap: 12px;margin-bottom: 16px}.warning-icon{color: var(--accent-fill-rest);font-size: 24px}.dialog-header h2{margin: 0;color: var(--neutral-foreground-rest);font-size: 20px;font-weight: 600}.dialog-content{margin-bottom: 24px}.dialog-content p{margin: 0 0 12px 0;color: var(--neutral-foreground-rest);line-height: 1.5}.dialog-content p:last-child{margin-bottom: 0}.dialog-content strong{color: var(--accent-foreground-rest);font-weight: 600}.dialog-actions{display: flex;gap: 12px;justify-content: flex-end}.continue-button{min-width: 140px}.logout-button{min-width: 120px}@media (max-width: 480px){.card-body{padding: 20px}.dialog-actions{flex-direction: column}.continue-button, .logout-button{width: 100%}}`})],Oz);class Tz{constructor(){this.pathHistory=[],this.actionHistory=[],this.isAuthenticated=!1,this.authenticationChangeListeners=Jm()}set(e){return this.config.setUser(this,e)}unset(){return this.config.unsetUser(this)}get isAnonymous(){return!this.isAuthenticated}isAdmin(){return this.hasProfile("ADMIN")}isBanned(){return this.hasProfile("BANNED")}hasPermission(e){return this.hasKey(this.permission,e)}hasProfile(e){return this.hasKey(this.profile,e)}trackPath(){const{pathname:e,search:t,hash:i}=location,c=`${`${"/"!==e?e:""}`}${t}${i}`;if(!this.config.trackPathExclusions.includes(c))return this.pathHistory.push(c),c}clearPaths(){this.pathHistory=[]}lastPath(){const e=this.pathHistory.length;return e>0?this.pathHistory[e-1]:void 0}trackAction(e){this.config.trackActionExclusions.includes(e)||this.actionHistory.push(e)}clearActions(){this.actionHistory=[]}lastAction(){const e=this.actionHistory.length;return e>0?this.actionHistory[e-1]:void 0}clearTrackingHistory(){this.clearPaths(),this.clearActions()}hasKey(e,t){return!!(e&&e.length&&t)&&(Array.isArray(t)||(t=[t]),t.some(t=>e.includes(t)))}addAuthenticationChangeListener(e){var t;return null===(t=this.authenticationChangeListeners)||void 0===t?void 0:t.subscribe(e)}isAuthenticatedChanged(){var e;null===(e=this.authenticationChangeListeners)||void 0===e||e.publish(new CustomEvent("user-authentication-change",{detail:this.isAuthenticated}));const t=mt.getOrCreateDOMContainer().get(Xm);t.postMessage("user-authentication-change",this.isAuthenticated),t.close()}userNameChanged(){v.notify(this,"username")}get username(){return v.track(this,"username"),this.userName}permissionChanged(){v.notify(this,"permissions")}get permissions(){return v.track(this,"permissions"),this.permission}profileChanged(){v.notify(this,"profiles")}get profiles(){return v.track(this,"profiles"),this.profile}hasAdminProfile(){return this.isAdmin()}}Oh([Qm],Tz.prototype,"config",void 0),Oh([b],Tz.prototype,"pathHistory",void 0),Oh([b],Tz.prototype,"actionHistory",void 0),Oh([b],Tz.prototype,"isAuthenticated",void 0),Oh([b],Tz.prototype,"userKVs",void 0),Oh([b],Tz.prototype,"details",void 0),Oh([b],Tz.prototype,"permission",void 0),Oh([b],Tz.prototype,"profile",void 0),Oh([b],Tz.prototype,"sourceRef",void 0),Oh([b],Tz.prototype,"userName",void 0),Oh([b],Tz.prototype,"rawProperties",void 0);const Rz=mt.createInterface(e=>e.singleton(Tz));class Iz{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map,this.cachedResources=null}getMetadataFor(e){return this.cachedMetadata.get(e)}getJsonSchemaFor(e){return this.cachedJsonSchema.get(e)}getResources(){return this.cachedResources}hasMetadataFor(e){return this.cachedMetadata.has(e)}hasJsonSchemaFor(e){return this.cachedJsonSchema.has(e)}hasResources(){return null!==this.cachedResources}setMetadataFor(e,t){this.cachedMetadata.set(e,t)}setJsonSchemaFor(e,t){this.cachedJsonSchema.set(e,t)}setResources(e){this.cachedResources=e}}const Dz=mt.createInterface(e=>e.singleton(Iz));var Fz;!function(e){e.STRING="STRING",e.NUMBER="NUMBER",e.BOOLEAN="BOOLEAN",e.ENUM="ENUM",e.DATE="DATE",e.DATETIME="DATETIME",e.CUSTOM="CUSTOM",e.NANO_TIMESTAMP="NANO_TIMESTAMP"}(Fz||(Fz={}));const Hz={STRING:Fz.STRING,ENUM:Fz.ENUM,BOOLEAN:Fz.BOOLEAN,INT:Fz.NUMBER,LONG:Fz.NUMBER,DOUBLE:Fz.NUMBER,BIGDECIMAL:Fz.NUMBER,DATE:Fz.DATE,DATETIME:Fz.DATETIME,NANO_TIMESTAMP:Fz.NANO_TIMESTAMP};var _z;!function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(_z||(_z={}));const Pz="datasource-status-changed",Vz=e=>e?e.map(e=>{const t={name:e.NAME,type:Hz[e.TYPE]||Fz.STRING};if(e.TYPE===Fz.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){Bm.error(e),t.enumOptions=[]}return t}):null,Bz=e=>{var t;const i=null==e?void 0:e.TYPE;if(i===_z.DATASERVER)return e.FIELD||[];if(i===_z.REQUEST_SERVER)return e.REPLY_FIELD||(null===(t=e.REPLY)||void 0===t?void 0:t.FIELD)||[];throw new Error(`Unsupported resource type: ${i}`)};class Uz{constructor(){this.streamListeners=Jm(),this.streamCompleteListeners=Jm(),this.streamErrorListeners=Jm(),this.commitListeners=Jm(),this.metadataListeners=Jm(),this.commitResponseListeners=Jm()}addStreamListener(e,t,i){var c,o,s;const n=null===(c=this.streamListeners)||void 0===c?void 0:c.subscribe(e),a=null===(o=this.streamCompleteListeners)||void 0===o?void 0:o.subscribe(t),r=null===(s=this.streamErrorListeners)||void 0===s?void 0:s.subscribe(i);return()=>{n(),a(),r()}}onStreamEvent(e,t,i,c){var o;null===(o=this.streamListeners)||void 0===o||o.publish(new CustomEvent("connect-stream-event",{detail:{functions:c,message:t,resourceName:e,stream:i}}))}onStreamErrorEvent(e,t,i){var c;null===(c=this.streamErrorListeners)||void 0===c||c.publish(new CustomEvent("connect-stream-error-event",{detail:{resourceName:e,stream:t,error:i}}))}onStreamCompleteEvent(e,t){var i;null===(i=this.streamCompleteListeners)||void 0===i||i.publish(new CustomEvent("connect-stream-complete-event",{detail:{resourceName:e,stream:t}}))}addCommitListener(e){var t;return null===(t=this.commitListeners)||void 0===t?void 0:t.subscribe(e)}onCommitEvent(e,t){var i;null===(i=this.commitListeners)||void 0===i||i.publish(new CustomEvent("connect-commit-event",{detail:{eventName:e,message:t}}))}addMetadataListener(e){var t;return null===(t=this.metadataListeners)||void 0===t?void 0:t.subscribe(e)}onMetadataEvent(e,t,i){var c;null===(c=this.metadataListeners)||void 0===c||c.publish(new CustomEvent("connect-metadata-event",{detail:{resourceName:e,message:t,error:i}}))}addCommitResponseListener(e){var t;return null===(t=this.commitResponseListeners)||void 0===t?void 0:t.subscribe(e)}onCommitResponseEvent(e,t){var i;null===(i=this.commitResponseListeners)||void 0===i||i.publish(new CustomEvent("connect-commit-response-event",{detail:{eventName:e,response:t}}))}}const jz=mt.createInterface(e=>e.singleton(Uz)),qz=mt.createInterface(e=>e.aliasTo(jz)),Gz={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,heartbeatInterval:1e4,verboseHeartbeat:!1,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0},isWebSocketExpression:Um},Wz=mt.createInterface(e=>e.instance(Gz));var Yz={ACCEPTED:202,BAD_GATEWAY:502,BAD_REQUEST:400,CONFLICT:409,CONTINUE:100,CREATED:201,EXPECTATION_FAILED:417,FORBIDDEN:403,GATEWAY_TIMEOUT:504,GONE:410,HTTP_VERSION_NOT_SUPPORTED:505,IM_A_TEAPOT:418,INSUFFICIENT_SPACE_ON_RESOURCE:419,INSUFFICIENT_STORAGE:507,INTERNAL_SERVER_ERROR:500,LENGTH_REQUIRED:411,LOCKED:423,METHOD_FAILURE:420,METHOD_NOT_ALLOWED:405,MOVED_PERMANENTLY:301,MOVED_TEMPORARILY:302,MULTI_STATUS:207,MULTIPLE_CHOICES:300,NETWORK_AUTHENTICATION_REQUIRED:511,NO_CONTENT:204,NON_AUTHORITATIVE_INFORMATION:203,NOT_ACCEPTABLE:406,NOT_FOUND:404,NOT_IMPLEMENTED:501,NOT_MODIFIED:304,OK:200,PARTIAL_CONTENT:206,PAYMENT_REQUIRED:402,PERMANENT_REDIRECT:308,PRECONDITION_FAILED:412,PRECONDITION_REQUIRED:428,PROCESSING:102,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_HEADER_FIELDS_TOO_LARGE:431,REQUEST_TIMEOUT:408,REQUEST_TOO_LONG:413,REQUEST_URI_TOO_LONG:414,REQUESTED_RANGE_NOT_SATISFIABLE:416,RESET_CONTENT:205,SEE_OTHER:303,SERVICE_UNAVAILABLE:503,SWITCHING_PROTOCOLS:101,TEMPORARY_REDIRECT:307,TOO_MANY_REQUESTS:429,UNAUTHORIZED:401,UNPROCESSABLE_ENTITY:422,UNSUPPORTED_MEDIA_TYPE:415,USE_PROXY:305},Kz={202:"Accepted",502:"Bad Gateway",400:"Bad Request",409:"Conflict",100:"Continue",201:"Created",417:"Expectation Failed",424:"Failed Dependency",403:"Forbidden",504:"Gateway Timeout",410:"Gone",505:"HTTP Version Not Supported",418:"I'm a teapot",419:"Insufficient Space on Resource",507:"Insufficient Storage",500:"Internal Server Error",411:"Length Required",423:"Locked",420:"Method Failure",405:"Method Not Allowed",301:"Moved Permanently",302:"Moved Temporarily",207:"Multi-Status",300:"Multiple Choices",511:"Network Authentication Required",204:"No Content",203:"Non Authoritative Information",406:"Not Acceptable",404:"Not Found",501:"Not Implemented",304:"Not Modified",200:"OK",206:"Partial Content",402:"Payment Required",308:"Permanent Redirect",412:"Precondition Failed",428:"Precondition Required",102:"Processing",103:"Early Hints",426:"Upgrade Required",407:"Proxy Authentication Required",431:"Request Header Fields Too Large",408:"Request Timeout",413:"Request Entity Too Large",414:"Request-URI Too Long",416:"Requested Range Not Satisfiable",205:"Reset Content",303:"See Other",503:"Service Unavailable",101:"Switching Protocols",307:"Temporary Redirect",429:"Too Many Requests",401:"Unauthorized",451:"Unavailable For Legal Reasons",422:"Unprocessable Entity",415:"Unsupported Media Type",305:"Use Proxy",421:"Misdirected Request"},Zz={Accepted:202,"Bad Gateway":502,"Bad Request":400,Conflict:409,Continue:100,Created:201,"Expectation Failed":417,"Failed Dependency":424,Forbidden:403,"Gateway Timeout":504,Gone:410,"HTTP Version Not Supported":505,"I'm a teapot":418,"Insufficient Space on Resource":419,"Insufficient Storage":507,"Internal Server Error":500,"Length Required":411,Locked:423,"Method Failure":420,"Method Not Allowed":405,"Moved Permanently":301,"Moved Temporarily":302,"Multi-Status":207,"Multiple Choices":300,"Network Authentication Required":511,"No Content":204,"Non Authoritative Information":203,"Not Acceptable":406,"Not Found":404,"Not Implemented":501,"Not Modified":304,OK:200,"Partial Content":206,"Payment Required":402,"Permanent Redirect":308,"Precondition Failed":412,"Precondition Required":428,Processing:102,"Early Hints":103,"Upgrade Required":426,"Proxy Authentication Required":407,"Request Header Fields Too Large":431,"Request Timeout":408,"Request Entity Too Large":413,"Request-URI Too Long":414,"Requested Range Not Satisfiable":416,"Reset Content":205,"See Other":303,"Service Unavailable":503,"Switching Protocols":101,"Temporary Redirect":307,"Too Many Requests":429,Unauthorized:401,"Unavailable For Legal Reasons":451,"Unprocessable Entity":422,"Unsupported Media Type":415,"Use Proxy":305,"Misdirected Request":421};var Qz,Xz,Jz=function(e){var t=Kz[e.toString()];if(!t)throw new Error("Status code does not exist: "+e);return t};!function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.MOVED_TEMPORARILY=302]="MOVED_TEMPORARILY",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.REQUEST_TOO_LONG=413]="REQUEST_TOO_LONG",e[e.REQUEST_URI_TOO_LONG=414]="REQUEST_URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.IM_A_TEAPOT=418]="IM_A_TEAPOT",e[e.INSUFFICIENT_SPACE_ON_RESOURCE=419]="INSUFFICIENT_SPACE_ON_RESOURCE",e[e.METHOD_FAILURE=420]="METHOD_FAILURE",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"}(Qz||(Qz={})),function(e){e.ACCEPTED="Accepted",e.BAD_GATEWAY="Bad Gateway",e.BAD_REQUEST="Bad Request",e.CONFLICT="Conflict",e.CONTINUE="Continue",e.CREATED="Created",e.EXPECTATION_FAILED="Expectation Failed",e.FAILED_DEPENDENCY="Failed Dependency",e.FORBIDDEN="Forbidden",e.GATEWAY_TIMEOUT="Gateway Timeout",e.GONE="Gone",e.HTTP_VERSION_NOT_SUPPORTED="HTTP Version Not Supported",e.IM_A_TEAPOT="I'm a teapot",e.INSUFFICIENT_SPACE_ON_RESOURCE="Insufficient Space on Resource",e.INSUFFICIENT_STORAGE="Insufficient Storage",e.INTERNAL_SERVER_ERROR="Internal Server Error",e.LENGTH_REQUIRED="Length Required",e.LOCKED="Locked",e.METHOD_FAILURE="Method Failure",e.METHOD_NOT_ALLOWED="Method Not Allowed",e.MOVED_PERMANENTLY="Moved Permanently",e.MOVED_TEMPORARILY="Moved Temporarily",e.MULTI_STATUS="Multi-Status",e.MULTIPLE_CHOICES="Multiple Choices",e.NETWORK_AUTHENTICATION_REQUIRED="Network Authentication Required",e.NO_CONTENT="No Content",e.NON_AUTHORITATIVE_INFORMATION="Non Authoritative Information",e.NOT_ACCEPTABLE="Not Acceptable",e.NOT_FOUND="Not Found",e.NOT_IMPLEMENTED="Not Implemented",e.NOT_MODIFIED="Not Modified",e.OK="OK",e.PARTIAL_CONTENT="Partial Content",e.PAYMENT_REQUIRED="Payment Required",e.PERMANENT_REDIRECT="Permanent Redirect",e.PRECONDITION_FAILED="Precondition Failed",e.PRECONDITION_REQUIRED="Precondition Required",e.PROCESSING="Processing",e.EARLY_HINTS="Early Hints",e.UPGRADE_REQUIRED="Upgrade Required",e.PROXY_AUTHENTICATION_REQUIRED="Proxy Authentication Required",e.REQUEST_HEADER_FIELDS_TOO_LARGE="Request Header Fields Too Large",e.REQUEST_TIMEOUT="Request Timeout",e.REQUEST_TOO_LONG="Request Entity Too Large",e.REQUEST_URI_TOO_LONG="Request-URI Too Long",e.REQUESTED_RANGE_NOT_SATISFIABLE="Requested Range Not Satisfiable",e.RESET_CONTENT="Reset Content",e.SEE_OTHER="See Other",e.SERVICE_UNAVAILABLE="Service Unavailable",e.SWITCHING_PROTOCOLS="Switching Protocols",e.TEMPORARY_REDIRECT="Temporary Redirect",e.TOO_MANY_REQUESTS="Too Many Requests",e.UNAUTHORIZED="Unauthorized",e.UNAVAILABLE_FOR_LEGAL_REASONS="Unavailable For Legal Reasons",e.UNPROCESSABLE_ENTITY="Unprocessable Entity",e.UNSUPPORTED_MEDIA_TYPE="Unsupported Media Type",e.USE_PROXY="Use Proxy",e.MISDIRECTED_REQUEST="Misdirected Request"}(Xz||(Xz={}));var eC=this&&this.__assign||function(){return eC=Object.assign||function(e){for(var t,i=1,c=arguments.length;i<c;i++)for(var o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},eC.apply(this,arguments)};eC(eC({},Yz),{getStatusCode:function(e){var t=Zz[e];if(!t)throw new Error("Reason phrase does not exist: "+e);return t},getStatusText:Jz});class tC{constructor(){this.storageKeyPrefix="",this.returnUrl=this.getSessionStorageItem("returnUrl")||""}deleteUserFromSessionStorage(){["authToken","refreshToken","sessionId","ssoToken"].forEach(e=>this.removeSessionStorageItem(e)),this.removeLocalStorageItem("refreshToken")}setStorageKeyPrefix(e){this.storageKeyPrefix=`${e.replace(/\s/g,"")}/`}setAuthResult(e){var t;this.setSessionStorageItem("authToken",e.SESSION_AUTH_TOKEN),this.setSessionStorageItem("refreshToken",e.REFRESH_AUTH_TOKEN),this.setSessionStorageItem("username",e.USER_NAME),this.setSessionStorageItem("sessionId",e.SESSION_ID),(null===(t=e.DETAILS)||void 0===t?void 0:t.MFA_CODE)&&this.setSessionStorageItem("mfaToken",e.DETAILS.MFA_CODE)}captureReturnUrl(){const{pathname:e,search:t,hash:i}=location;if(e&&(e.includes("/login")||e.includes("/auth")))return;const c=`${"/"!==e?e:""}`;this.returnUrl=`${c}${t}${i}`,this.setSessionStorageItem("returnUrl",this.returnUrl)}setItem(e,t,i){"local"===i?localStorage.setItem(this.storageKeyPrefix+e,t):sessionStorage.setItem(this.storageKeyPrefix+e,t)}getItem(e,t){return"local"===t?localStorage.getItem(this.storageKeyPrefix+e):sessionStorage.getItem(this.storageKeyPrefix+e)}removeItem(e,t){"local"===t?localStorage.removeItem(this.storageKeyPrefix+e):sessionStorage.removeItem(this.storageKeyPrefix+e)}setLocalStorageItem(e,t){this.setItem(e,t,"local")}setSessionStorageItem(e,t){this.setItem(e,t,"session")}getLocalStorageItem(e){return this.getItem(e,"local")}getSessionStorageItem(e){return this.getItem(e,"session")}removeLocalStorageItem(e){this.removeItem(e,"local")}removeSessionStorageItem(e){this.removeItem(e,"session")}}const iC=mt.createInterface(e=>e.singleton(tC));function cC(e){const t=new Error(`HTTP error: ${e.status} ${e.statusText}`);return t.status=e.status,t.message=e.statusText,t}let oC=class{constructor(e){this.serializer=e}get(e,t){return Rh(this,void 0,void 0,function*(){const i=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"GET"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw cC(i);return(t.serializer||this.serializer).deserialize(i)})}post(e,t){return Rh(this,void 0,void 0,function*(){const i=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"POST"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw cC(i);return(t.serializer||this.serializer).deserialize(i)})}};oC=Oh([Th(0,tb)],oC);const sC=mt.createInterface(e=>e.singleton(oC)),nC={polling:Object.assign({POLLING_MAP:{EVENT_AMEND_USER:{TEMP_FREQUENCY:500,AMOUNT_OF_POLLS:5,QUERIES:["ALL_USERS"]}},POLLING_INTERVAL_MAP:{ALL_TRADES:5e3,ALL_USERS:5e3,ALL_PROCESSES_STATUS:1e4},POLLING_FREQUENCY:5e3},Mg&&Mg.length?JSON.parse(Mg):{})},aC=mt.createInterface(e=>e.instance(nC));var rC,lC,dC,uC;!function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(rC||(rC={}));class hC extends Error{constructor(e,t,i="Auth Failed \n"){super(i),this.sent=e,this.received=t,Object.setPrototypeOf(this,hC.prototype)}isIgnorableError(){var e,t,i,c,o,s,n,a;return!!(null===(c=null===(i=null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)||void 0===i?void 0:i.toLowerCase())||void 0===c?void 0:c.includes("request needs the user to be logged"))||!!(null===(a=null===(n=null===(s=null===(o=this.received)||void 0===o?void 0:o.DETAILS)||void 0===s?void 0:s.ERROR)||void 0===n?void 0:n.toLowerCase())||void 0===a?void 0:a.includes("is not logged in"))}getMessageError(){var e,t;return Array.isArray(null===(e=this.received)||void 0===e?void 0:e.ERROR)?null===(t=this.received)||void 0===t?void 0:t.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}getDetailsError(){var e,t,i,c;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(c=null===(i=this.received)||void 0===i?void 0:i.DETAILS)||void 0===c?void 0:c.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}hasPasswordExpiredError(){return this.hasErrorCode("PASSWORD_EXPIRED")}hasMFAError(){return this.hasErrorCode("MFA_REQUIRED")||this.hasErrorCode("MFA_FAILED")}requiresTermsAndConditions(){return this.hasErrorCode("TERMS_ACCEPTANCE_REQUIRED")}hasErrorCode(e){var t,i;return!!Array.isArray(null===(t=this.received)||void 0===t?void 0:t.ERROR)&&(null===(i=this.received)||void 0===i?void 0:i.ERROR.some(t=>t.CODE===e))}errorDetailFormatter(e){return`\n ${e.CODE}: \n ${e.TEXT}`}}!function(e){e.LOGON_ACK="LOGON_ACK",e.LOGON_NACK="LOGON_NACK",e.LOGOFF_ACK="LOGOFF_ACK",e.LOGOFF_NACK="LOGOFF_NACK",e.HEARTBEAT_PING="HEARTBEAT_PING",e.HEARTBEAT_PONG="HEARTBEAT_PONG",e.MORE_ROWS="MORE_ROWS",e.MORE_COLUMNS="MORE_COLUMNS",e.MORE_COLUMNS_ACK="MORE_COLUMNS_ACK",e.MSG_ACK="MSG_ACK",e.MSG_NACK="MSG_NACK",e.LOGOUT_ACK="LOGOUT_ACK",e.LOGOUT_NACK="LOGOUT_NACK",e.QUERY_UPDATE="QUERY_UPDATE"}(lC||(lC={})),function(e){e.EVENT_LOGIN_AUTH="EVENT_LOGIN_AUTH",e.EVENT_LOGIN_AUTH_ACK="EVENT_LOGIN_AUTH_ACK",e.EVENT_LOGIN_AUTH_NACK="EVENT_LOGIN_AUTH_NACK",e.EVENT_LOGOUT="EVENT_LOGOUT",e.DATA_LOGON="DATA_LOGON",e.DATA_LOGOFF="DATA_LOGOFF",e.META_REQUEST="META_REQUEST",e.JSON_SCHEMA_REQUEST="JSON_SCHEMA_REQUEST",e.RESOURCES_REQUEST="RESOURCES_REQUEST",e.RESOURCES_REQUEST_ACK="RESOURCES_REQUEST_ACK",e.RESOURCES_REQUEST_NACK="RESOURCES_REQUEST_NACK",e.EVENT_CHANGE_USER_PASSWORD="EVENT_CHANGE_USER_PASSWORD",e.EVENT_SELF_SERVICE_PASSWORD_RESET="EVENT_SELF_SERVICE_PASSWORD_RESET",e.EVENT_PASSWORD_RESET_ACTION="EVENT_PASSWORD_RESET_ACTION"}(dC||(dC={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(uC||(uC={}));const fC=(e,t)=>!!Array.isArray(null==e?void 0:e.ERROR)&&(null==e?void 0:e.ERROR.some(e=>{var i,c;return(null===(i=e.CODE)||void 0===i?void 0:i.includes(`${t}`))||(null===(c=e.STATUS_CODE)||void 0===c?void 0:c.includes(`${t}`))}));let pC=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case rC.BASIC:t={USER_NAME:e.username,PASSWORD:e.password,MFA_CODE:e.mfaToken};break;case rC.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken,MFA_CODE:e.mfaToken};break;case rC.SSO:t={SSO_TOKEN:e.ssoToken};break;case rC.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,i;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_LOGOUT,SESSION_AUTH_TOKEN:null!==(t=e.authToken)&&void 0!==t?t:this.session.getSessionStorageItem("authToken"),SESSION_ID:null!==(i=e.sessionId)&&void 0!==i?i:this.session.getSessionStorageItem("sessionId")}}createDataLogonMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.DATA_LOGON,DETAILS:Object.assign({DATASOURCE_NAME:e},t),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:dC.DATA_LOGOFF,SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createRequestMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e.startsWith("REQ_")?e:`REQ_${e}`},t)}createResourcesMessage(e){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:dC.RESOURCES_REQUEST},e)}createMetaRequestMessage(e,t=dC.META_REQUEST){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:t,DETAILS:{FEATURE:e},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createCommitMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e},t)}createRefreshTokenMessage(){return{SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:dC.EVENT_LOGIN_AUTH,DETAILS:{REFRESH_AUTH_TOKEN:this.session.getSessionStorageItem("refreshToken"),MFA_CODE:this.session.getSessionStorageItem("mfaToken")}}}createChangePasswordMessage(e,t,i){return{USER_NAME:e,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_CHANGE_USER_PASSWORD,DETAILS:{OLD_PASSWORD:t,NEW_PASSWORD:i}}}createForgotPasswordMessage(e,t,i=e){return{USER_NAME:i,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,i,c=e){return{USER_NAME:c,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:dC.EVENT_PASSWORD_RESET_ACTION,DETAILS:{USER_NAME:e,RESET_TOKEN:t,NEW_PASSWORD:i}}}createMoreRowsMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:lC.MORE_ROWS,DETAILS:{SOURCE_REF:e,VIEW_NUMBER:t},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createMoreColumnsMessage(e){return Object.assign(Object.assign({},this.createMoreRowsMessage(e)),{MESSAGE_TYPE:lC.MORE_COLUMNS})}createHTTPHeadersFromMessage(e,t="application/json; charset=UTF-8"){const i={"Content-type":t};return e.SOURCE_REF&&(i["source-ref"]=e.SOURCE_REF,i.SOURCE_REF=e.SOURCE_REF),e.SESSION_AUTH_TOKEN&&(i["SESSION-AUTH-TOKEN"]=e.SESSION_AUTH_TOKEN),e.MESSAGE_TYPE===dC.EVENT_LOGOUT&&(i["SESSION-ID"]=e.SESSION_ID),i}createHeartbeatPingMessage(e=!1){return{MESSAGE_TYPE:lC.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId(),VERBOSE:e,DETAILS:{},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}};pC=Oh([Th(0,iC),Th(1,Az)],pC);const mC=mt.createInterface(e=>e.singleton(pC));function gC(e,t,i){const c=e=>"function"==typeof e?e:()=>e,o=c(t),s=c(i);return(t,i)=>e(t,i)?o(t,i):s(t,i)}class vC{constructor(e){this.path=e}}const bC=new Set,yC=Object.freeze({register(e){bC.add(e)},unregister(e){bC.delete(e)}}),zC=/^([a-z][a-z0-9+\-.]*:)?\/\//i,CC=Object.freeze({path:Object.freeze({get current(){return location.pathname+location.search},generateRoute(e,t,i={}){return Rh(this,void 0,void 0,function*(){let c="config"in e?e:QC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromPath(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t=!0){e&&zC.test(e)?location.href=e:(history.pushState({},document.title,e),t&&CC.path.trigger(e))},replace(e,t=!0){e&&zC.test(e)?location.href=e:(history.replaceState({},document.title,e),t&&CC.path.trigger(e))},trigger(e){const t=new vC(e);for(const e of bC)e.enqueue(t)}}),name:Object.freeze({generateRoute(e,t,i={}){return Rh(this,void 0,void 0,function*(){let c="config"in e?e:QC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromName(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t,i={},c=!0){return Rh(this,void 0,void 0,function*(){const o=yield CC.name.generateRoute(e,t,i);null!==o&&CC.path.push(o,c)})},replace(e,t,i={},c=!0){return Rh(this,void 0,void 0,function*(){const o=yield CC.name.generateRoute(e,t,i);null!==o&&CC.path.replace(o,c)})},trigger(e,t,i={}){return Rh(this,void 0,void 0,function*(){const c=yield CC.name.generateRoute(e,t,i);null!==c&&CC.path.trigger(c)})}})});class LC{constructor(){this.queue=[],this.promise=null,this.resolve=null}connect(){this.enqueue(new vC(CC.path.current)),window.addEventListener("popstate",this),yC.register(this)}disconnect(){this.queue=[],this.promise=null,this.resolve=null,window.removeEventListener("popstate",this),yC.unregister(this)}receive(){return null!==this.promise||(this.promise=new Promise(e=>this.resolve=e),Promise.resolve().then(()=>this.tryDequeue())),this.promise}enqueue(e){this.queue.push(e),this.tryDequeue()}tryDequeue(){if(null===this.resolve||0===this.queue.length)return;const e=this.queue[this.queue.length-1],t=this.resolve;this.queue.length=0,this.promise=null,this.resolve=null,t(e)}handleEvent(e){this.enqueue(new vC(CC.path.current))}}const xC=encodeURIComponent,MC=e=>xC(e).replace("%24","$");function wC(e,t,i){let c=[];if(null==t)return c;if(Array.isArray(t))for(let o=0,s=t.length;o<s;o++)if(i)c.push(`${MC(e)}=${xC(t[o])}`);else{const i=e+"["+("object"==typeof t[o]&&null!==t[o]?o:"")+"]";c=c.concat(wC(i,t[o]))}else if("object"!=typeof t||i)c.push(`${MC(e)}=${xC(t)}`);else for(const i in t)c=c.concat(wC(e+"["+i+"]",t[i]));return c}function SC(e,t){return Array.isArray(e)?(e.push(t),e):void 0!==e?[e,t]:t}function kC(e,t,i){let c=e;const o=t.length-1;for(let e=0;e<=o;e++){const s=""===t[e]?c.length:t[e];if(e<o){const i=c[s]&&"object"!=typeof c[s]?[c[s]]:c[s];c=c[s]=i||(isNaN(t[e+1])?{}:[])}else c=c[s]=i}}const EC=Object.freeze({get current(){return location.search},build(e,t){let i=[];const c=Object.keys(e||{}).sort();for(let o=0,s=c.length;o<s;o++){const s=c[o];i=i.concat(wC(s,e[s],t))}return 0===i.length?"":i.join("&")},separate(e){const t=e.indexOf("?");let i="";return-1!==t&&(i=e.substr(t+1,e.length),e=e.substr(0,t)),{path:e,queryString:i}},parse(e){const t={};if(!e||"string"!=typeof e)return t;let i=e;"?"===i.charAt(0)&&(i=i.substr(1));const c=i.replace(/\+/g," ").split("&");for(let e=0;e<c.length;e++){const i=c[e].split("="),o=decodeURIComponent(i[0]);if(!o)continue;let s=o.split("]["),n=s.length-1;if(/\[/.test(s[0])&&/\]$/.test(s[n])?(s[n]=s[n].replace(/\]$/,""),s=s.shift().split("[").concat(s),n=s.length-1):n=0,i.length>=2){const e=i[1]?decodeURIComponent(i[1]):"";n?kC(t,s,e):t[o]=SC(t[o],e)}else t[o]=!0}return t}}),$C=e=>e;class NC{constructor(e,t,i){this.path=e,this.name=t,this.caseSensitive=i}}class AC{constructor(e,t,i,c){this.route=e,this.paramNames=t,this.paramTypes=i,this.settings=c}get path(){return this.route.path}}class OC{constructor(e,t,i,c){this.endpoint=e,this.params=t,this.typedParams=i,this.queryParams=c,this.allParams=Object.assign(Object.assign({},t),c),this.allTypedParams=Object.assign(Object.assign({},i),c)}get settings(){return this.endpoint.settings}}class TC{constructor(e,t,i,c){var o;this.chars=e,this.states=t,this.skippedStates=i,this.result=c,this.head=t[t.length-1],this.endpoint=null===(o=this.head)||void 0===o?void 0:o.endpoint}advance(e){const{chars:t,states:i,skippedStates:c,result:o}=this;let s=null,n=0;const a=i[i.length-1];function r(l,d){if(l.isMatch(e)&&(1===++n?s=l:o.add(new TC(t.concat(e),i.concat(l),null===d?c:c.concat(d),o))),null===a.segment&&l.isOptional&&null!==l.nextStates){if(l.nextStates.length>1)throw new Error(`${l.nextStates.length} nextStates`);const e=l.nextStates[0];if(!e.isSeparator)throw new Error("Not a separator");if(null!==e.nextStates)for(const t of e.nextStates)r(t,l)}}if(a.isDynamic&&r(a,null),null!==a.nextStates)for(const e of a.nextStates)r(e,null);null!==s&&(i.push(this.head=s),t.push(e),null!==s.endpoint&&(this.endpoint=s.endpoint)),0===n&&o.remove(this)}finalize(){!function e(t,i){const c=i.nextStates;if(null!==c)if(1===c.length&&null===c[0].segment)e(t,c[0]);else for(const i of c)if(i.isOptional&&null!==i.endpoint){if(t.push(i),null!==i.nextStates)for(const c of i.nextStates)e(t,c);break}}(this.skippedStates,this.head)}getParams(){const{states:e,chars:t,endpoint:i}=this,c={};for(const e of i.paramNames)c[e]=void 0;for(let i=0,o=e.length;i<o;++i){const o=e[i];if(o.isDynamic){const e=o.segment.name;void 0===c[e]?c[e]=t[i]:c[e]+=t[i]}}return c}compareTo(e){const t=this.states,i=e.states;for(let e=0,c=0,o=Math.max(t.length,i.length);e<o;++e){let o=t[e];if(void 0===o)return 1;let s=i[c];if(void 0===s)return-1;let n=o.segment,a=s.segment;if(null===n){if(null===a){++c;continue}if(void 0===(o=t[++e]))return 1;n=o.segment}else if(null===a){if(void 0===(s=i[++c]))return-1;a=s.segment}if(n.kind<a.kind)return 1;if(n.kind>a.kind)return-1;++c}const c=this.skippedStates,o=e.skippedStates,s=c.length,n=o.length;if(s<n)return 1;if(s>n)return-1;for(let e=0;e<s;++e){const t=c[e],i=o[e];if(t.length<i.length)return 1;if(t.length>i.length)return-1}return 0}}function RC(e){return null!==e.head.endpoint}function IC(e,t){return e.compareTo(t)}class DC{constructor(e){this.candidates=[],this.candidates=[new TC([""],[e],[],this)]}get isEmpty(){return 0===this.candidates.length}getSolution(){const e=this.candidates.filter(RC);if(0===e.length)return null;for(const t of e)t.finalize();return e.sort(IC),e[0]}add(e){this.candidates.push(e)}remove(e){this.candidates.splice(this.candidates.indexOf(e),1)}advance(e){const t=this.candidates.slice();for(const i of t)i.advance(e)}}class FC{constructor(){this.names=new Map,this.paths=new Map,this.rootState=new HC(null,null,"")}add(e,t){if(e instanceof Array)for(const i of e)this.$add(i,t);else this.$add(e,t)}$add(e,t){const i=e.path,c=new NC(e.path,e.name||"",!0===e.caseSensitive),o=""===i?[""]:i.split("/").filter(_C),s=[],n=[];let a=this.rootState;const r=[];for(const e of o)switch(a=a.append(null,"/"),e.charAt(0)){case"{":{const t=e.slice(1,-1).split(":").map(e=>e.trim());2===t.length?n.push(t[1]):n.push("string");const i=t[0].endsWith("?"),c=i?t[0].slice(0,-1):t[0];s.push(c);const o=new VC(c,i);r.push(o),a=o.appendTo(a);break}case"*":{const t=e.slice(1);s.push(t),n.push("string");const i=new BC(t);r.push(i),a=i.appendTo(a);break}default:{const t=new PC(e,c.caseSensitive);r.push(t),a=t.appendTo(a);break}}const l=new AC(c,s,n,t||null);a.setEndpoint(l),this.paths.set(i,r),e.name&&this.names.set(e.name,r)}recognize(e,t={}){return Rh(this,void 0,void 0,function*(){const i=EC.separate(e),c=EC.parse(i.queryString);(e=decodeURI(i.path)).startsWith("/")||(e=`/${e}`),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1));const o=new DC(this.rootState);for(let t=0,i=e.length;t<i;++t){const i=e.charAt(t);if(o.advance(i),o.isEmpty)return null}const s=o.getSolution();if(null===s)return null;const{endpoint:n}=s,a=n.paramNames,r=n.paramTypes,l=s.getParams(),d={};for(let e=0,i=a.length;e<i;++e){const i=a[e],c=t[r[e]]||$C,o=l[i],s=yield c(o);d[i]=s}return new OC(n,l,d,c)})}generateFromName(e,t){return this.generate(this.names.get(e),t)}generateFromPath(e,t){return this.generate(this.paths.get(e),t)}generate(e,t){if(!e)return null;const i=Object.assign({},t),c={};let o="";for(let t=0,s=e.length;t<s;t++){const s=e[t],n=s.generate(i,c);if(null==n){if(s instanceof VC&&!s.optional)throw new Error(`A value is required for route parameter '${s.name}'.`)}else o+="/",o+=n}"/"!==o.charAt(0)&&(o="/"+o);for(const e in c)delete i[e];const s=EC.build(i);return o+=s?`?${s}`:"",o}}class HC{constructor(e,t,i){switch(this.prevState=e,this.segment=t,this.value=i,this.nextStates=null,this.endpoint=null,null==t?void 0:t.kind){case 2:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=t.optional;break;case 1:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=!1;break;case 3:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!1,this.isOptional=!1;break;case void 0:this.length=null===e?0:e.length,this.isSeparator=!0,this.isDynamic=!1,this.isOptional=!1}}append(e,t){let i,c=this.nextStates;return null===c?(i=void 0,c=this.nextStates=[]):i=null===e?c.find(e=>e.value===t):c.find(t=>{var i;return null===(i=t.segment)||void 0===i?void 0:i.equals(e)}),void 0===i&&c.push(i=new HC(this,e,t)),i}setEndpoint(e){if(null!==this.endpoint)throw new Error(`Cannot add ambiguous route. The pattern '${e.route.path}' clashes with '${this.endpoint.route.path}'`);this.endpoint=e,this.isOptional&&(this.prevState.setEndpoint(e),this.prevState.isSeparator&&null!==this.prevState.prevState&&this.prevState.prevState.setEndpoint(e))}isMatch(e){const t=this.segment;switch(null==t?void 0:t.kind){case 2:return!this.value.includes(e);case 1:return!0;case 3:case void 0:return this.value.includes(e)}}}function _C(e){return e.length>0}class PC{constructor(e,t){this.value=e,this.caseSensitive=t}get kind(){return 3}appendTo(e){const{value:t,value:{length:i}}=this;if(this.caseSensitive)for(let c=0;c<i;++c)e=e.append(this,t.charAt(c));else for(let c=0;c<i;++c){const i=t.charAt(c);e=e.append(this,i.toUpperCase()+i.toLowerCase())}return e}generate(){return this.value}equals(e){return 3===e.kind&&e.caseSensitive===this.caseSensitive&&e.value===this.value}}class VC{constructor(e,t){this.name=e,this.optional=t}get kind(){return 2}appendTo(e){return e=e.append(this,"/")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 2===e.kind&&e.optional===this.optional&&e.name===this.name}}class BC{constructor(e){this.name=e}get kind(){return 1}appendTo(e){return e=e.append(this,"")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 1===e.kind&&e.name===this.name}}const UC="fast-child-route";function jC(e,t){return"command"in t?t.command:"redirect"in t?new lL(t.redirect):fL.fromDefinition(e,t)}const qC=e=>{if(null==e)return!1;switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;default:return!1}},GC={number:e=>void 0===e?NaN:parseFloat(e),float:e=>void 0===e?NaN:parseFloat(e),int:e=>void 0===e?NaN:parseInt(e),integer:e=>void 0===e?NaN:parseInt(e),Date:e=>void 0===e?new Date(Date.now()):new Date(e),boolean:qC,bool:qC};class WC{constructor(e){this.owner=e,this._recognizer=null,this.pathToCommand=new Map,this.fallbackCommand=null,this.fallbackSettings=null,this.converters={}}get recognizer(){return null===this._recognizer&&(this._recognizer=this.owner.createRouteRecognizer()),this._recognizer}ignore(e){"string"==typeof e&&(e={path:e}),this.pathToCommand.set(e.path,new rL),this.recognizer.add(e,e.settings)}map(...e){for(const t of e){if("children"in t){const e=this.owner.createTitleBuilder(),i=t.children.map(i=>{const c=Object.assign(Object.assign(Object.assign({},t),i),{path:`${t.path}/${i.path}`});if("title"in t||"title"in i){const o=t.title||"",s=i.title||"";c.title=e.joinTitles(o,s)}if("name"in i){const e=t.name?t.name+"/":"";c.name=e+i.name}return c.children===t.children&&delete c.children,c});this.map(...i);continue}let e;if(e="command"in t?t.command:"redirect"in t?new lL(t.redirect):fL.fromDefinition(this.owner,t),this.pathToCommand.set(t.path,e),this.recognizer.add(t,t.settings),"childRouters"in t&&t.childRouters){const i=Object.assign(Object.assign({},t),{path:t.path+`/*${UC}`});this.pathToCommand.set(i.path,e),this.recognizer.add(i,i.settings)}}}fallback(e){const t=this.owner;this.fallbackCommand="function"==typeof e?{createContributor(i,c){return Rh(this,void 0,void 0,function*(){const o=yield e();return jC(t,o).createContributor(i,c)})}}:jC(t,e)}converter(e,t){let i;i="convert"in t?t.convert.bind(t):t.prototype&&"convert"in t.prototype?e=>this.owner.construct(t).convert(e):t,this.converters[e]=i}recognize(e){return Rh(this,void 0,void 0,function*(){const t=yield this.recognizer.recognize(e,this.aggregateConverters());if(null!==t)return{route:t,command:this.pathToCommand.get(t.endpoint.path)};if(null!==this.fallbackCommand){const t=EC.separate(e),i=EC.parse(t.queryString);return{route:new OC(new AC(new NC("*","",!1),[],[],this.fallbackSettings),{},{},i),command:this.fallbackCommand}}return null})}generateFromName(e,t){return this.recognizer.generateFromName(e,t)}generateFromPath(e,t){return this.recognizer.generateFromPath(e,t)}aggregateConverters(){return null===this.owner.parent?Object.assign(Object.assign({},GC),this.converters):Object.assign(Object.assign({},this.owner.parent.routes.aggregateConverters()),this.converters)}}const YC="$router";function KC(e){const t=e.parentElement;if(t)return t;{const t=e.getRootNode();if(t.host instanceof HTMLElement)return t.host}return null}function ZC(e){let t=e;for(;t=KC(t);)if(YC in t)return t[YC];return null}const QC=Object.freeze({getOrCreateFor(e){const t=e[YC];return void 0!==t?t:e[YC]=new XC(e)},find:e=>e[YC]||ZC(e),from(e){class t extends e{constructor(){super(),QC.getOrCreateFor(this)}get config(){return this[YC].config}set config(e){this[YC].config=e}}const i=t.prototype;if("connectedCallback"in i){const e=i.connectedCallback;i.connectedCallback=function(){e.call(this),this[YC].connect()}}else i.connectedCallback=function(){this[YC].connect()};if("disconnectedCallback"in i){const e=i.disconnectedCallback;i.disconnectedCallback=function(){e.call(this),this[YC].disconnect()}}else i.disconnectedCallback=function(){this[YC].disconnect()};return t}});class XC{constructor(e){this.host=e,this.parentRouter=void 0,this.contributors=new Set,this.navigationQueue=null,this.linkHandler=null,this.newView=null,this.newRoute=null,this.childCommandContributor=null,this.childRoute=null,this.isConnected=!1,this.routerConfig=null,this.view=null,this.route=null,this.onNavigationMessage=e=>Rh(this,void 0,void 0,function*(){const t=this.config.createNavigationProcess();yield t.run(this,e),this.navigationQueue.receive().then(this.onNavigationMessage)}),e[YC]=this}get config(){return this.routerConfig}set config(e){this.routerConfig=e,this.tryConnect()}get parent(){if(void 0===this.parentRouter){if(!this.isConnected)return null;this.parentRouter=ZC(this.host)}return this.parentRouter||null}get level(){return null===this.parent?0:this.parent.level+1}shouldRender(e){var t;if(this.route&&this.route.endpoint.path===e.endpoint.path){const i=null==e?void 0:e.allParams,c=null===(t=this.route)||void 0===t?void 0:t.allParams;if(JSON.stringify(c)===JSON.stringify(i))return!1}return!0}beginRender(e,t){return Rh(this,void 0,void 0,function*(){return this.newRoute=e,this.newView=yield t.createView(),this.newView.bind(e.allTypedParams,JC.create(this)),this.newView.appendTo(this.host),yield t.transition.begin(this.host,this.view,this.newView),{commit:this.renderOperationCommit.bind(this,t.layout,t.transition),rollback:this.renderOperationRollback.bind(this,t.transition)}})}connect(){this.isConnected=!0,this.tryConnect()}disconnect(){null===this.parent?(null!==this.navigationQueue&&(this.navigationQueue.disconnect(),this.navigationQueue=null),null!==this.linkHandler&&(this.linkHandler.disconnect(),this.linkHandler=null)):this.parent.removeContributor(this),this.isConnected=!1,this.parentRouter=void 0}addContributor(e){this.contributors.add(e)}removeContributor(e){this.contributors.delete(e)}tryConnect(){null!==this.config&&this.isConnected&&(null===this.parent?(null!==this.navigationQueue&&this.navigationQueue.disconnect(),this.navigationQueue=this.config.createNavigationQueue(),this.navigationQueue.connect(),this.navigationQueue.receive().then(this.onNavigationMessage),null!==this.linkHandler&&this.linkHandler.disconnect(),this.linkHandler=this.config.createLinkHandler(),this.linkHandler.connect()):(this.config.parent=this.parent.config,this.parent.addContributor(this)))}renderOperationCommit(e,t){return Rh(this,void 0,void 0,function*(){yield e.beforeCommit(this.host),yield t.commit(this.host,this.view,this.newView),yield e.afterCommit(this.host),null!==this.view&&this.view.dispose(),this.route=this.newRoute,this.view=this.newView,this.newRoute=null,this.newView=null})}renderOperationRollback(e){return Rh(this,void 0,void 0,function*(){null!==this.newView&&(yield e.rollback(this.host,this.view,this.newView),this.newView.dispose(),this.newRoute=null,this.newView=null)})}navigate(e){return Rh(this,void 0,void 0,function*(){yield this.tunnel(e)})}leave(e){return Rh(this,void 0,void 0,function*(){if(yield this.tunnel(e),!e.canceled){const t=this.contributors;this.contributors=new Set,e.onCancel(()=>this.contributors=t)}})}construct(e){return Rh(this,void 0,void 0,function*(){if(null!==this.parent){const t=e.route.allParams[UC]||"",i=yield this.config.recognizeRoute(t);if(null===i){return this.config.createEventSink().onUnhandledNavigationMessage(this,new vC(t)),void e.cancel()}this.childRoute=i.route,this.childCommandContributor=yield i.command.createContributor(this,i.route)}yield this.tunnel(e)})}enter(e){return Rh(this,void 0,void 0,function*(){yield this.tunnel(e)})}commit(e){return Rh(this,void 0,void 0,function*(){yield this.tunnel(e)})}tunnel(e){return Rh(this,void 0,void 0,function*(){const t=this.childRoute,i=this.childCommandContributor;if(t&&i&&(yield e.evaluateContributor(i,t,this)),e.canceled)return;const c=[...this.config.findContributors(e.name),...Array.from(this.contributors)];for(const t of c)if(yield e.evaluateContributor(t,void 0,this),e.canceled)return})}}const JC=Object.freeze({create:e=>Object.create(L,{router:{value:e}})}),eL=Object.freeze({default:Object.freeze({begin(e,t,i){return Rh(this,void 0,void 0,function*(){})},rollback(e,t,i){return Rh(this,void 0,void 0,function*(){})},commit(e,t,i){return Rh(this,void 0,void 0,function*(){})}})});class tL{constructor(e=null,t=null,i=!0){this.template=e,this.runBeforeCommit=i,this.styles=null==t?null:Array.isArray(t)?Z.create(t):t instanceof Z?t:Z.create([t])}beforeCommit(e){return Rh(this,void 0,void 0,function*(){this.runBeforeCommit&&this.apply(e)})}afterCommit(e){return Rh(this,void 0,void 0,function*(){this.runBeforeCommit||this.apply(e)})}apply(e){e instanceof ze&&(e.$fastController.template!==this.template&&(e.$fastController.template=this.template),e.$fastController.styles!==this.styles&&(e.$fastController.styles=this.styles))}}const iL=Object.freeze({default:new tL(K`<slot></slot>`)});function cL(e,t){return t in e}const oL={lifecycle:!0,parameters:!0};class sL extends x{constructor(e){super(),this.options=e}createPlaceholder(e){return p.createCustomAttributePlaceholder("fast-navigation-contributor",e)}createBehavior(e){return new nL(e,this.options)}}class nL{constructor(e,t){this.contributor=e,this.options=t,this.router=null}bind(e,t){if(this.options.lifecycle&&(this.router=t.router||QC.find(this.contributor),this.router.addContributor(this.contributor)),this.options.parameters){const t=this.contributor,i=e;for(const e in i)t[e]=i[e]}}unbind(e){null!==this.router&&this.router.removeContributor(this.contributor)}}function aL(e){return new sL(Object.assign({},oL,e))}class rL{createContributor(){return Rh(this,void 0,void 0,function*(){return{navigate(e){return Rh(this,void 0,void 0,function*(){e.cancel()})}}})}}class lL{constructor(e){this.redirect=e}createContributor(){return Rh(this,void 0,void 0,function*(){const e=this.redirect;return{navigate(t){return Rh(this,void 0,void 0,function*(){const i=t.router.config,c=(yield i.generateRouteFromName(e,t.route.allParams))||(yield i.generateRouteFromPath(e,t.route.allParams));if(null===c)throw new Error(`Invalid redirect. Name or path not found: ${e}`);t.cancel(()=>Rh(this,void 0,void 0,function*(){return CC.path.replace(c)}))})}}})}}function dL(e){return K`<${e} ${aL()}></${e}>`}function uL(e){const t=document.createDocumentFragment();t.appendChild(e);const i=new G(t,[aL().createBehavior(e)]);return{create:()=>i}}class hL{constructor(e,t,i){this.router=e,this.route=t,this.command=i}construct(e){return Rh(this,void 0,void 0,function*(){this.router.shouldRender(this.route)?(this.operation=yield this.router.beginRender(this.route,this.command),e.onCancel(()=>this.operation.rollback())):e.cancel()})}commit(e){return Rh(this,void 0,void 0,function*(){yield this.operation.commit(),this.command.title&&e.setTitle(this.command.title)})}}class fL{constructor(e,t){this.owner=e,this.createView=t,this._layout=null,this._transition=null,this.title=""}get transition(){return this._transition||this.owner.defaultTransition}set transition(e){this._transition=e}get layout(){return this._layout||this.owner.defaultLayout}set layout(e){this._layout=e}createContributor(e,t){return Rh(this,void 0,void 0,function*(){return new hL(e,t,this)})}static fromDefinition(e,t){let i;i="template"in t?()=>Rh(this,void 0,void 0,function*(){let e=t.template;return"function"==typeof e&&(e=yield e()),e.create()}):()=>Rh(this,void 0,void 0,function*(){let e=t.element,i=null;if(t.factory)i=t.factory;else if("function"==typeof e){let t=pe.forType(e);if(t)i=dL(t.name);else if(e=yield e(),"string"==typeof e)i=dL(e);else if(e instanceof HTMLElement)i=uL(e);else{if(t=pe.forType(e),!t)throw new Error("Invalid value for element in route config.");i=dL(t.name)}}else e instanceof HTMLElement?t.factory=i=uL(e):t.factory=i=dL(e);return i.create()});const c=new fL(e,i);return t.layout&&(t.layout instanceof W?c.layout=new tL(t.layout):c.layout=t.layout),t.transition&&(c.transition=t.transition),t.title&&(c.title=t.title),c}}class pL{constructor(){this.handler=e=>{const{shouldHandleEvent:t,href:i}=this.getEventInfo(e);t&&(e.preventDefault(),CC.path.push(i))}}connect(){window.addEventListener("click",this.handler,!0)}disconnect(){window.removeEventListener("click",this.handler)}getEventInfo(e){const t={shouldHandleEvent:!1,href:null,anchor:null},i=this.findClosestAnchor(e);if(!i||!this.targetIsThisWindow(i))return t;if(i.hasAttribute("download")||i.hasAttribute("router-ignore")||i.hasAttribute("data-router-ignore"))return t;if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return t;const c=i.getAttribute("href");t.anchor=i,t.href=c;const o=1===e.which,s=c&&!("#"===c.charAt(0)||/^[a-z]+:/i.test(c));return t.shouldHandleEvent=o&&!!s,t}findClosestAnchor(e){const t=e.composedPath();for(let e=0,i=t.length;e<i;++e){const i=t[e];if("A"===i.tagName)return i}return e.target}targetIsThisWindow(e){const t=e.getAttribute("target");return!t||t===window.name||"_self"===t}}class mL{constructor(e,t,i,c,o){this.name=e,this.commitActions=c,this.cancelActions=o,this.routes=[],this.routers=[],this.canceled=!1,this.titles=[],this.routes.push(t),this.routers.push(i)}get route(){return this.routes[this.routes.length-1]}get router(){return this.routers[this.routers.length-1]}cancel(e){this.canceled=!0,e&&this.cancelActions.push(e)}onCommit(e){this.commitActions.push(e)}onCancel(e){this.cancelActions.push(e)}setTitle(e){const t=this.router.level;for(;this.titles.length<t+1;)this.titles.push([]);this.titles[t].push(e)}evaluateContributor(e,t=this.route,i=this.router){return Rh(this,void 0,void 0,function*(){cL(e,this.name)&&(this.routes.push(t),this.routers.push(i),yield e[this.name](this),this.routes.pop(),this.routers.pop())})}}class gL{constructor(){this.phases=["navigate","leave","construct","enter","commit"]}run(e,t){return Rh(this,void 0,void 0,function*(){const i=e.config.createEventSink(),c=yield e.config.recognizeRoute(t.path);if(null===c)return void i.onUnhandledNavigationMessage(e,t);const o=c.route,s=c.command;i.onNavigationBegin(e,o,s);const n=[],a=[];let r=n;const l=[yield s.createContributor(e,o),e,this];for(const t of this.phases){const c=new mL(t,o,e,n,a);if(i.onPhaseBegin(c),c.canceled)r=a;else for(const e of l)if(yield c.evaluateContributor(e),c.canceled){r=a;break}if(i.onPhaseEnd(c),c.canceled)break}yield Promise.all(r.map(e=>e())).then(()=>i.onNavigationEnd(e,o,s))})}commit(e){const t=e.router.config.createTitleBuilder();document.title=t.buildTitle(e.router.config.title,e.titles)}}class vL{constructor(e=" - ",t=":"){this.segmentSeparator=e,this.fragmentSeparator=t}joinTitles(e,t){return""===e?t:""===t?e:`${e}${this.segmentSeparator}${t}`}buildTitle(e,t){let i=e;for(const e of t){i&&(i+=this.segmentSeparator);let t="";for(const i of e)t&&(t+=this.fragmentSeparator),t+=i;i+=t}return i}}class bL{onUnhandledNavigationMessage(e,t){}onNavigationBegin(e,t,i){}onPhaseBegin(e){}onPhaseEnd(e){}onNavigationEnd(e,t,i){}}class yL{constructor(){this.isConfigured=!1,this.routes=new WC(this),this.contributors=[],this.defaultLayout=iL.default,this.defaultTransition=eL.default,this.title="",this.parent=null}createNavigationQueue(){return this.construct(LC)}createLinkHandler(){return this.construct(pL)}createNavigationProcess(){return new gL}createEventSink(){return this.construct(bL)}createTitleBuilder(){return this.construct(vL)}createRouteRecognizer(){return this.construct(FC)}construct(e){return null!==this.parent?this.parent.construct(e):new e}recognizeRoute(e){return Rh(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.recognize(e)})}generateRouteFromName(e,t){return Rh(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromName(e,t)})}generateRouteFromPath(e,t){return Rh(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromPath(e,t)})}findContributors(e){return this.contributors.filter(t=>cL(t,e))}cached(e){let t=null;return()=>Rh(this,void 0,void 0,function*(){return null===t&&(t=new e),t})}ensureConfigured(){return Rh(this,void 0,void 0,function*(){this.isConfigured||(yield this.configure(),this.isConfigured=!0)})}}let zL=class extends(QC.from(ze)){};zL=Oh([Ce("fast-router")],zL);const CL=[];setTimeout(()=>{CL.length&&console.warn(`${CL.length} attribute deprecation notice(s):\n ${CL.join("\n")}`)},5e3);const LL="reauthActionLock";var xL;function ML(){return Rh(this,arguments,void 0,function*(e={}){const{reloadOnFailure:t=!0}=e;if(function(){const e=parseInt(localStorage.getItem(LL)||"0");Date.now()-e>3e4&&localStorage.removeItem(LL)}(),localStorage.getItem(LL)||(localStorage.setItem(LL,Date.now().toString()),0))return xL.HANDLED_BY_OTHER_TAB;try{if(yield function(){return Rh(this,void 0,void 0,function*(){const e=yield fetch(Ng,{credentials:"include"});return"EVENT_LOGIN_DETAILS_ACK"===(yield e.json()).MESSAGE_TYPE})}())return xL.ALREADY_VALID;return(yield function(){return Rh(this,void 0,void 0,function*(){const e=mt.getOrCreateDOMContainer().get(sC);return"EVENT_LOGIN_AUTH_ACK"===(yield e.post($g,{body:JSON.stringify({DETAILS:{},MESSAGE_TYPE:"EVENT_LOGIN_AUTH"})})).MESSAGE_TYPE})}())?xL.SUCCESS:(t&&window.location.reload(),xL.FAILED)}finally{localStorage.removeItem(LL)}})}!function(e){e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.HANDLED_BY_OTHER_TAB="HANDLED_BY_OTHER_TAB",e.ALREADY_VALID="ALREADY_VALID"}(xL||(xL={}));const wL=(e,t)=>((null==t?void 0:t.ROW)&&e&&e.length>0?t.ROW.forEach(t=>{const i=t;if(i&&i.DETAILS){const c=i.DETAILS.ROW_REF,o=i.DETAILS.OPERATION;"INSERT"===o&&(e.find(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c})||e.unshift(i)),"DELETE"===o&&(e=e.filter(e=>{var i,c;return(null===(i=t.DETAILS)||void 0===i?void 0:i.ROW_REF)!==(null===(c=e.DETAILS)||void 0===c?void 0:c.ROW_REF)})),"MODIFY"===o&&(e=e.map(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c?Object.assign(Object.assign({},e),i):e}))}}):!t||e&&0!==e.length||(e=[...new Set(t.ROW)]),e);var SL;let kL=SL=class{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,i,c,o,s){var n;this.http=e,this.messageBuilder=t,this.session=i,this.metaCache=c,this.serializer=o,this.config=s,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new Db(this._isConnected),this.isConnected$=null===(n=this.isConnectedSubject)||void 0===n?void 0:n.asObservable(),this.ongoingTurbo={},this.streams=new Map,this.ongoingRefresh=null}handleSessionRefresh(){return this.ongoingRefresh||(this.ongoingRefresh=(()=>Rh(this,void 0,void 0,function*(){const e=this.host;this.disconnect();let t=yield ML();return t===xL.HANDLED_BY_OTHER_TAB&&(yield new Promise(e=>{setTimeout(e,SL.REAUTH_WAIT_MS)}),t=yield ML()),(t===xL.SUCCESS||t===xL.ALREADY_VALID)&&(this.connect(e),!0)}))().finally(()=>{this.ongoingRefresh=null})),this.ongoingRefresh}checkHost(){return Rh(this,void 0,void 0,function*(){try{return this.getMessage({MESSAGE_TYPE:lC.HEARTBEAT_PING,SOURCE_REF:"host check"}).then(e=>e.MESSAGE_TYPE===lC.HEARTBEAT_PONG)}catch(e){return Bm.error(e),!1}})}send(e,t){return Rh(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot send message: session refresh failed")}return this.http.post(SL.getUrl(this.host,e),{body:SL.getBody(e),headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}httpMode(){return!0}setValidSession(e){Bm.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}connect(e){return Rh(this,void 0,void 0,function*(){return this.host=e,this.host.startsWith("ws")&&(this.host=this.host.replace("ws","http")),this.host.endsWith("/")||(this.host=this.host.concat("/")),this.checkHost().then(e=>(this.isConnected=e,this.session.setSessionStorageItem("hostUrl",this.host),e))})}disconnect(){this.isConnected=!1,this.streams.clear(),this.ongoingTurbo={},this.host=void 0}snapshot(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return Bm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.send(i).then(e=>(this.dataLogoff(i.SOURCE_REF).catch(e=>Bm.error(e)),e))})}stream(e,t,i,c){var o,s;const n=this.messageBuilder.createDataLogonMessage(e,c);Bm.debug(`HTTP MODE - ${n.MESSAGE_TYPE} (stream) message created -> `,n);const a=n.SOURCE_REF,r=(null===(s=null===(o=this.config.polling)||void 0===o?void 0:o.POLLING_INTERVAL_MAP)||void 0===s?void 0:s[e])||this.config.polling.POLLING_FREQUENCY;this.streams.set(a,{SOURCE_REF:a,POLLING_FREQUENCY:new Db(r),RESOURCE_NAME:e});const l=this.streams.get(a).POLLING_FREQUENCY,d=Uy(Ey(this.send(n)),l.pipe(qy(()=>"visible"===document.visibilityState)).pipe(Yy(e=>{return void 0===(t=e)&&(t=0),void 0===i&&(i=ty),t<0&&(t=0),jy(t,t,i);var t,i})).pipe(Yy(()=>Ey(this.getMessage(n))))).pipe(Ky(()=>this.streams.has(a)),function(e){var t;void 0===e&&(e=1/0);var i=(t=e&&"object"==typeof e?e:{count:e}).count,c=void 0===i?1/0:i,o=t.delay,s=t.resetOnSuccess,n=void 0!==s&&s;return c<=0?xb:kb(function(e,t){var i,s=0,a=function(){var r=!1;i=e.subscribe(Eb(t,function(e){n&&(s=0),t.next(e)},void 0,function(e){if(s++<c){var n=function(){i?(i.unsubscribe(),i=null,a()):r=!0};if(null!=o){var l="number"==typeof o?jy(o):Cy(o(e,s)),d=Eb(t,function(){d.unsubscribe(),n()},function(){t.complete()});l.subscribe(d)}else n()}else t.error(e)})),r&&(i.unsubscribe(),i=null,a())};a()})}({count:SL.MAX_RETRIES,delay:(e,t)=>{const i=e;Bm.error(`Retry ${t}/${SL.MAX_RETRIES}:`,i.status,i);if(!(0===i.status||i.status&&i.status>=Qz.BAD_REQUEST&&i.status<Qz.INTERNAL_SERVER_ERROR))throw e;return i.status===Qz.NOT_FOUND&&this.streams.delete(a),i.status===Qz.UNAUTHORIZED?Ey(this.handleSessionRefresh()):jy(SL.RETRY_DELAY_MS)}}),(u=()=>{Bm.debug(`Terminating stream for ${e} - ${a}`),this.dataLogoff(a)},kb(function(e,t){try{e.subscribe(t)}finally{t.add(u)}})));var u;return this.streams.get(a).STREAM=d,d}streamState(e,t=()=>{},i=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(Gy(wL,o))}streamWithoutAutoTeardown(e,t,i,c){return Bm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0"),this.stream(e,t,i,c)}getMessage(e){return Rh(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot get message: session refresh failed")}return this.http.get(SL.getUrl(this.host,e),{headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}getMoreRows(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return Bm.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)})}getMoreColumns(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.send(t)})}dataLogoff(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then(t=>(this.streams.has(e)&&(Bm.debug(`Removing stream ${e}`),this.streams.delete(e)),t))})}getMetadata(e){return Rh(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasMetadataFor(e))return Bm.debug(`HTTP MODE - Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const i=this.messageBuilder.createMetaRequestMessage(e);Bm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (metadata) message created -> `,i);const c=yield this.send(i).then(e=>e.DETAILS);return Object.keys(c).length&&this.metaCache.setMetadataFor(e,c),c})}getJSONSchema(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createMetaRequestMessage(e,dC.JSON_SCHEMA_REQUEST);return Bm.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)})}request(e,t){const i=this.messageBuilder.createRequestMessage(e,t);Bm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (request server) message created -> `,i);let c=SL.getUrl(this.host,i);const o=[];return i.REQUEST&&Object.keys(i.REQUEST).length>0&&Object.keys(i.REQUEST).forEach(e=>{const t=i.REQUEST[e];null==t||Number.isNaN(t)||o.push(`REQUEST.${e}=${encodeURIComponent(String(t))}`)}),i.DETAILS&&Object.keys(i.DETAILS).forEach(e=>{const t=i.DETAILS[e];null==t||Number.isNaN(t)||o.push(`${e}=${encodeURIComponent(String(t))}`)}),o.length>0&&(c=`${c}?${o.join("&")}`),Bm.debug(`HTTP MODE! - REQUEST_SERVER GET URL: ${c}`),this.http.get(c,{headers:this.messageBuilder.createHTTPHeadersFromMessage(i)})}getAvailableResources(e){return Rh(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Bm.debug("HTTP MODE - Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Bm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (getResources) message created -> `,i);const c=yield this.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);return Bm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (commit) message created -> `,i),this.send(i).then(t=>(this.maybeTurbo(e,t),t))})}maybeTurbo(e,t){var i;if(!(null===(i=null==t?void 0:t.MESSAGE_TYPE)||void 0===i?void 0:i.endsWith("_ACK")))return;if(this.ongoingTurbo[e])return void Bm.debug(`${e} polling frequency is already accelerated.`);const c=this.config.polling.POLLING_MAP[e];if(!(null==c?void 0:c.TEMP_FREQUENCY)||!c.AMOUNT_OF_POLLS)return;const o=c.TEMP_FREQUENCY,s=o*c.AMOUNT_OF_POLLS,n=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP)),a=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP));for(const e of c.QUERIES)a[e]=o,n[e]||(n[e]=this.config.polling.POLLING_FREQUENCY);Bm.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${o}ms DURATION=${s}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout(()=>{Bm.debug(`RESTORED ORIGINAL POLLING INTERVALS FOR ${e}`),this.updateIntervals({polling:{POLLING_INTERVAL_MAP:n}}),this.ongoingTurbo[e]=!1},s)}updateIntervals(e){const{POLLING_INTERVAL_MAP:t}=e.polling;t&&(this.config.polling.POLLING_INTERVAL_MAP=t,this.handlePollingIntervalMapUpdate(t))}handlePollingIntervalMapUpdate(e){if(e)for(const t in e){if(!e.hasOwnProperty(t))continue;const i=e[t];this.config.polling.POLLING_INTERVAL_MAP[t]=i,Bm.debug(`Setting polling frequency for ${t} = ${i}`),[...this.streams.values()].filter(e=>e.RESOURCE_NAME===t).forEach(e=>{var t;return null===(t=null==e?void 0:e.POLLING_FREQUENCY)||void 0===t?void 0:t.next(i)})}}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const i=t.MESSAGE_TYPE;let c=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return i===dC.DATA_LOGON&&(c=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${c}`}};kL.REAUTH_WAIT_MS=5e3,kL.RETRY_DELAY_MS=1e3,kL.MAX_RETRIES=3,Oh([b],kL.prototype,"host",void 0),Oh([b],kL.prototype,"isWorking",void 0),Oh([b],kL.prototype,"_isConnected",void 0),Oh([y],kL.prototype,"isConnected",null),kL=SL=Oh([Th(0,sC),Th(1,mC),Th(2,iC),Th(3,Dz),Th(4,tb),Th(5,aC)],kL);const EL=mt.createInterface(e=>e.singleton(kL));var $L={url:"",deserializer:function(e){return JSON.parse(e.data)},serializer:function(e){return JSON.stringify(e)}},NL=function(e){function t(t,i){var c=e.call(this)||this;if(c._socket=null,t instanceof Mb)c.destination=i,c.source=t;else{var o=c._config=Nh({},$L);if(c._output=new Rb,"string"==typeof t)o.url=t;else for(var s in t)t.hasOwnProperty(s)&&(o[s]=t[s]);if(!o.WebSocketCtor&&WebSocket)o.WebSocketCtor=WebSocket;else if(!o.WebSocketCtor)throw new Error("no WebSocket constructor can be found");c.destination=new Hb}return c}return $h(t,e),t.prototype.lift=function(e){var i=new t(this._config,this.destination);return i.operator=e,i.source=this,i},t.prototype._resetState=function(){this._socket=null,this.source||(this.destination=new Hb),this._output=new Rb},t.prototype.multiplex=function(e,t,i){var c=this;return new Mb(function(o){try{c.next(e())}catch(e){o.error(e)}var s=c.subscribe({next:function(e){try{i(e)&&o.next(e)}catch(e){o.error(e)}},error:function(e){return o.error(e)},complete:function(){return o.complete()}});return function(){try{c.next(t())}catch(e){o.error(e)}s.unsubscribe()}})},t.prototype._connectSocket=function(){var e=this,t=this._config,i=t.WebSocketCtor,c=t.protocol,o=t.url,s=t.binaryType,n=this._output,a=null;try{a=c?new i(o,c):new i(o),this._socket=a,s&&(this._socket.binaryType=s)}catch(e){return void n.error(e)}var r=new nb(function(){e._socket=null,a&&1===a.readyState&&a.close()});a.onopen=function(t){if(!e._socket)return a.close(),void e._resetState();var i=e._config.openObserver;i&&i.next(t);var c=e.destination;e.destination=mb.create(function(t){if(1===a.readyState)try{var i=e._config.serializer;a.send(i(t))}catch(t){e.destination.error(t)}},function(t){var i=e._config.closingObserver;i&&i.next(void 0),t&&t.code?a.close(t.code,t.reason):n.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),e._resetState()},function(){var t=e._config.closingObserver;t&&t.next(void 0),a.close(),e._resetState()}),c&&c instanceof Hb&&r.add(c.subscribe(e.destination))},a.onerror=function(t){e._resetState(),n.error(t)},a.onclose=function(t){a===e._socket&&e._resetState();var i=e._config.closeObserver;i&&i.next(t),t.wasClean?n.complete():n.error(t)},a.onmessage=function(t){try{var i=e._config.deserializer;n.next(i(t))}catch(e){n.error(e)}}},t.prototype._subscribe=function(e){var t=this,i=this.source;return i?i.subscribe(e):(this._socket||this._connectSocket(),this._output.subscribe(e),e.add(function(){var e=t._socket;0===t._output.observers.length&&(!e||1!==e.readyState&&0!==e.readyState||e.close(),t._resetState())}),e)},t.prototype.unsubscribe=function(){var t=this._socket;!t||1!==t.readyState&&0!==t.readyState||t.close(),this._resetState(),e.prototype.unsubscribe.call(this)},t}(Ib);const AL=1e4,OL=6e4;var TL;!function(e){e.Linear="linear",e.Exponential="exponential"}(TL||(TL={}));const RL=(e,t)=>{const{reconnectInterval:i=AL}=e,c=i>OL?OL:i,o=Math.round(Math.log2(OL/c));return c*Math.pow(2,t%o)},IL=e=>{const{reconnectInterval:t=AL}=e;return t>OL?OL:t};class DL{constructor(){this.isConfigured=!1,this.isConnecting=!1,this.isConnected=!1,this.isReconnecting=!1,this.reconnectionLimitReached=!1,this.isConnectedSubject=new Db(this.isConnected)}get hasValidSession(){return this.user.isAuthenticated}get isDisconnected(){return!this.isConnected}get isDisconnectedByServer(){return void 0!==this.closedClean&&!this.closedClean}isConnectedChanged(){var e;this.isConnected&&this.resetClosedState(),this.isConnecting=!1,this.isReconnecting=!1,null===(e=this.isConnectedSubject)||void 0===e||e.next(this.isConnected)}isReconnectingChanged(){this.isReconnecting&&(this.reconnectionLimitReached=!1)}resetClosedState(){this.closedCode=void 0,this.closedReason=void 0,this.closedClean=void 0}serialize(){return{isConfigured:this.isConfigured,isConnecting:this.isConnecting,isConnected:this.isConnected,isDisconnected:this.isDisconnected,isDisconnectedByServer:this.isDisconnectedByServer,isReconnecting:this.isReconnecting,reconnectionLimitReached:this.reconnectionLimitReached,hasValidSession:this.hasValidSession,closedCode:this.closedCode,closedReason:this.closedReason,closedClean:this.closedClean}}onClose(e){this.isConnected=!1,this.closedCode=e.code,this.closedReason=e.reason,this.closedClean=e.wasClean}}Oh([b],DL.prototype,"isConfigured",void 0),Oh([b],DL.prototype,"isConnecting",void 0),Oh([b],DL.prototype,"isConnected",void 0),Oh([b],DL.prototype,"isReconnecting",void 0),Oh([b],DL.prototype,"reconnectionLimitReached",void 0),Oh([b],DL.prototype,"closedCode",void 0),Oh([b],DL.prototype,"closedReason",void 0),Oh([b],DL.prototype,"closedClean",void 0),Oh([Rz],DL.prototype,"user",void 0);const FL=mt.createInterface(e=>e.singleton(DL));class HL{constructor(e){this.interval=e}get workerScript(){return`\n const startTime = Date.now();\n setInterval(function() {\n self.postMessage(Date.now() - startTime);\n }, ${this.interval});\n `}start(e){this.stop(),this.runWorker(e)}stop(){this.worker&&(this.worker.terminate(),delete this.worker)}runWorker(e){this.worker||(this.worker=new Worker(URL.createObjectURL(new Blob([this.workerScript],{type:"text/javascript"}))),this.worker.onmessage=t=>e(t.data))}}class _L extends Rb{constructor(){super()}}class PL{constructor(e,t,i,c){this._message=e,this._onMessage=t,this._onError=i,this._isSubscription=c}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}let VL=class{get isConfigured(){return this.status.isConfigured}get isConnecting(){return this.status.isConnecting}get isConnected(){return this.status.isConnected}get isConnectedSubject(){return this.status.isConnectedSubject}get isDisconnected(){return this.status.isDisconnected}get isDisconnectedByServer(){return this.status.isDisconnectedByServer}get isReconnecting(){return this.status.isReconnecting}get hasValidSession(){return Bm.deprecated("get hasValidSession","Use `User.isAuthenticated` from `@genesislcap/foundation-user` instead.","15.0.0"),this.user.isAuthenticated}set hasValidSession(e){Bm.deprecated("set hasValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}get host(){var e;return null!==(e=this.url)&&void 0!==e?e:xg}constructor(e,t,i,c,o,s,n){this.messageBuilder=e,this.session=t,this.serializer=i,this.uuid=c,this.status=o,this.user=s,this.config=n,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.socketMessages=()=>this.wsMessages}get heartbeatLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeatLogging)&&void 0!==t&&t}get messageLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableMessageLogging)&&void 0!==t&&t}connect(e=xg,t,i){var c;return this.url=e,this.connectOptions=null!=t?t:this.config.connect,this.reconnectOptions=null!=i?i:this.config.reconnect,(null===(c=this.config.isWebSocketExpression)||void 0===c?void 0:c.test(this.host))?new Promise(e=>{var t,i,c,o;Bm.info(`${this.isReconnecting?"Reconnecting":"Connecting"} to ${this.url}`),this.status.isConnecting=!this.isReconnecting;(!this.isReconnecting||!(null===(t=this.reconnectOptions)||void 0===t?void 0:t.reconnectStreams))&&this.cleanMessages(),null===(i=this.socketSubscription)||void 0===i||i.unsubscribe(),this.websocket=new NL({url:this.url,openObserver:{next:()=>{this.session.setSessionStorageItem("hostUrl",this.url),this.status.isConnected=!0,this.prepareHeartbeat(),Bm.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{this.status.onClose(t),this.isDisconnectedByServer&&Bm.info(`WebSocket connection was closed due an error - Code: ${t.code} ${t.reason?" | Reason: "+t.reason:""}`),e(this.isConnected)}},serializer:e=>this.serializer.serialize(e),deserializer:e=>this.serializer.deserialize(e)});this.socketSubscription=this.websocket.subscribe(null!==(o=null===(c=this.connectOptions)||void 0===c?void 0:c.connectObserver)&&void 0!==o?o:{next:e=>Rh(this,void 0,void 0,function*(){var t;const i=`Response Message received for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.info,i);const{SOURCE_REF:c,MESSAGE_TYPE:o}=e,s=this.getMessageHandler(c,o);if(!s)return void(e.MESSAGE_TYPE===lC.MSG_NACK&&e.ERROR&&e.ERROR.forEach(t=>{Bm.error(`MessageType: ${e.MESSAGE_TYPE} | Error Details:`,t)}));let n=!1;switch(e.MESSAGE_TYPE){case dC.EVENT_LOGIN_AUTH_ACK:{const i=e.DETAILS;i.HEARTBEAT_INTERVAL_SECS&&void 0===(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatInterval)&&(this.heartbeatInterval=i.HEARTBEAT_INTERVAL_SECS*this.secondsMultiplier,this.prepareHeartbeat());break}case lC.LOGOUT_ACK:return s.onReceivedMessage.call(this,e),void this.cleanMessages();case lC.LOGON_ACK:return;case lC.LOGOFF_ACK:break;case lC.QUERY_UPDATE:s.isSubscription||this.sendDataLogoff(c);break;case lC.MSG_NACK:case lC.LOGON_NACK:n=!0}n?s.onReceivedError.call(this,{receivedMessage:e,sentMessage:s.sentMessage}):s.onReceivedMessage.call(this,e),this.wsMessages.next(e),s.isSubscription||this.removeMessageHandler(c)}),error:e=>{Bm.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.isDisconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():Bm.info("Connection is now closed")}}),this.status.isConfigured=!0}):(Bm.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`),void Bm.warn("Make sure the host url starts with wss:// or ws://"))}handleExpiredSession(){return Rh(this,void 0,void 0,function*(){if(this.session.getSessionStorageItem("refreshToken")){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.send(e);this.session.setAuthResult(t),this.updateSessionAndSubscriptions(t)}else yield this.handleCookieBasedReauth()})}handleCookieBasedReauth(){return Rh(this,void 0,void 0,function*(){const e=yield ML();e!==xL.HANDLED_BY_OTHER_TAB?e!==xL.FAILED&&(yield this.connect()):function(e){const t=i=>{i.key===LL&&null===i.newValue&&(e(),window.removeEventListener("storage",t))};window.addEventListener("storage",t)}(()=>this.connect())})}updateSessionAndSubscriptions(e){(null==e?void 0:e.MESSAGE_TYPE)===dC.EVENT_LOGIN_AUTH_ACK&&this.wsMessageHandlers.forEach(t=>{t.isSubscription&&(t.sentMessage.SESSION_AUTH_TOKEN=e.SESSION_AUTH_TOKEN,this.websocket.next(t.sentMessage))})}prepareHeartbeat(){var e,t,i,c;this.heartbeatTicker&&this.heartbeatTicker.stop();const o=()=>Rh(this,void 0,void 0,function*(){var e,t,i;if(!this.isConnected)return;const c=this.messageBuilder.createHeartbeatPingMessage(null===(e=this.connectOptions)||void 0===e?void 0:e.verboseHeartbeat);(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatPingCallback)&&this.connectOptions.heartbeatPingCallback(c);const o=yield this.send(c);this.user.isAuthenticated&&!o.IS_AUTHENTICATED&&this.handleExpiredSession(),(null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatPongCallback)&&this.connectOptions.heartbeatPongCallback(o),this.heartbeatIsEnabled=o.MESSAGE_TYPE===lC.HEARTBEAT_PONG&&o.SOURCE_REF===c.SOURCE_REF});if(null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeat)&&void 0!==t?t:this.heartbeatIsEnabled){const e=null!==(c=null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatInterval)&&void 0!==c?c:this.heartbeatInterval;this.heartbeatTicker=new HL(e),this.heartbeatTicker.start(()=>{this.websocket&&this.isConnected&&(o(),this.heartbeatLoggingIsEnabled&&Bm.debug(`Sending a heartbeat ping every ${e} ms`))})}}reconnect(){var e,t,i,c,o;const s=!(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)&&!1===(null===(t=this.connectOptions)||void 0===t?void 0:t.enableHeartbeat);if(this.isReconnecting||s)return;this.status.isReconnecting=!0;const n=(null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectStrategy)===TL.Exponential?RL:IL,a=this.isConnectedSubject.asObservable().pipe(Yy(e=>e?$y(-1):((e,t)=>new Mb(i=>{let c,o=0;return function s(){i.next(o),clearTimeout(c),c=setTimeout(s,t(e,o)),o+=1}(),()=>{clearTimeout(c)}}))(this.reconnectOptions,n).pipe(Vy(e=>{var t,i,c;let o;return o=(null===(t=this.connectOptions)||void 0===t?void 0:t.alwaysOn)?e+1:null!==(c=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectAttempts)&&void 0!==c?c:10,e<o?$y(e):(this.status.reconnectionLimitReached=!0,Ny(()=>new Error(`Max reconnect attempts ${o} reached.`)))}))),Ky(()=>this.websocket&&!this.isConnected));a.subscribe(null!==(o=null===(c=this.reconnectOptions)||void 0===c?void 0:c.reconnectObserver)&&void 0!==o?o:{next:e=>{Bm.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;Bm.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.status.isReconnecting=!1},complete:()=>{Bm.info(this.isConnected?"Reconnected":"Disconnected"),this.status.isReconnecting=!1,this.wsMessageHandlers.forEach(e=>{e.isSubscription&&this.websocket.next(e.sentMessage)})}})}reset(){this.status.isConnected=!1,this.status.isConfigured=!1,this.websocket&&this.websocket.complete(),this.websocket=null,this.cleanMessages()}cleanMessages(){this.wsMessages&&this.wsMessages.complete(),this.wsMessages=new _L,this.wsMessageHandlers=new Map}send(e,t=!0){if(!this.isConnected)return Promise.reject(new Error("WebSocket connection is closed"));const i=`Sending Message for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.info,i),new Promise((i,c)=>{const o=e=>{i(e)},s=e=>{c(e)};t&&this.setMessageHandler(e,o,s),this.websocket.next(e)})}sendForStream(e,t,i,c){if(!this.isConnected)return Ny(()=>new Error("WebSocket connection is closed"));const o=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.info,o),this.setMessageHandler(e,t,i,!0),p.queueUpdate(()=>this.websocket.next(e)),new Mb(t=>{const i=this.wsMessages.pipe(qy(t=>t.SOURCE_REF===e.SOURCE_REF)).subscribe({next:e=>{t.next(e)},error:e=>{t.error(e)},complete:()=>{t.complete()}});return()=>{i.unsubscribe(),this.sendDataLogoff(e.SOURCE_REF),this.removeMessageHandler(e.SOURCE_REF),c&&c()}})}sendForStreamWithoutTeardown(e,t,i){if(!this.isConnected)return Ny(()=>new Error("WebSocket connection is closed"));const c=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.info,c),this.setMessageHandler(e,t,i,!0),this.websocket.next(e),this.wsMessages.pipe(qy(t=>t.SOURCE_REF===e.SOURCE_REF))}setMessageHandler(e,t,i,c=!1){const o=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,Bm.debug,o),this.wsMessageHandlers.set(e.SOURCE_REF,new PL(e,t,i,c))}sendDataLogoff(e){this.send(this.messageBuilder.createDataLogoffMessage(e),!1)}removeMessageHandler(e){this.wsMessageHandlers.delete(e)}getMessageHandler(e,t){const i=`Getting Message Handler for SourceRef: ${e} | MessageType: ${t}`;return this.logMessageTypeFlow(t,Bm.debug,i),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,i){switch(e){case dC.DATA_LOGOFF:t(i);break;case lC.HEARTBEAT_PING:case lC.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(i);break;default:this.messageLoggingIsEnabled&&t(i)}}};Oh([b],VL.prototype,"websocket",void 0),Oh([b],VL.prototype,"wsMessages",void 0),Oh([b],VL.prototype,"wsMessageHandlers",void 0),Oh([sC],VL.prototype,"http",void 0),Oh([b],VL.prototype,"heartbeatIsEnabled",void 0),VL=Oh([Th(0,mC),Th(1,iC),Th(2,tb),Th(3,Az),Th(4,FL),Th(5,Rz),Th(6,Wz)],VL);const BL=mt.createInterface(e=>e.singleton(VL));let UL=class{get isConnected(){return this.socket.isConnected}get isConnectedSubject(){return this.socket.isConnectedSubject}get isConnected$(){var e;return null===(e=this.socket.isConnectedSubject)||void 0===e?void 0:e.asObservable()}get host(){return this.socket.host}constructor(e,t,i,c,o){this.socket=e,this.messageBuilder=t,this.metaCache=i,this.events=c,this.config=o,this.isWorking=!1}httpMode(){return!1}setValidSession(e){Bm.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}send(e,t){return this.socket.send(e,t)}connect(){return Rh(this,arguments,void 0,function*(e=xg){return this.socket.reset(),this.socket.connect(e,this.config.connect,this.config.reconnect)})}disconnect(){this.socket.reset()}snapshot(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return Bm.debug(`${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.socket.send(i)})}stream(e,t,i,c){const o=this.messageBuilder.createDataLogonMessage(e,c);Bm.debug(`${o.MESSAGE_TYPE} (stream) message created -> `,o);const s=performance.now();let n=null;const a=this.socket.sendForStream(o,(...i)=>{null===n&&(n=performance.now(),Bm.debug(`[stream:${e}] time to initial response: ${(n-s).toFixed(2)}ms`)),t(...i)},t=>{i(t),this.events.onStreamErrorEvent(e,a,t)},()=>{this.events.onStreamCompleteEvent(e,a)});return this.events.onStreamEvent(e,o,a,{onMessage:t,onError:i}),a}streamState(e,t=()=>{},i=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(Gy(wL,o))}streamWithoutAutoTeardown(e,t,i,c){Bm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0");const o=this.messageBuilder.createDataLogonMessage(e,c);Bm.debug(`${o.MESSAGE_TYPE} (stream without auto-teardown) message created -> `,o);const s=this.socket.sendForStreamWithoutTeardown(o,t,t=>{i(t),this.events.onStreamErrorEvent(e,s,t)});return this.events.onStreamEvent(e,o,s,{onMessage:t,onError:i}),s}getMoreRows(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createMoreRowsMessage(e,t);return Bm.debug(`${i.MESSAGE_TYPE} message created -> `,i),this.socket.send(i,!1)})}getMoreColumns(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.socket.send(t)})}dataLogoff(e){return Rh(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return Bm.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)})}getMetadata(e){return Rh(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasMetadataFor(e))return Bm.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const c=this.messageBuilder.createMetaRequestMessage(e);let o,s;Bm.debug(`${c.MESSAGE_TYPE} (metadata) message created -> `,c);try{this.isWorking=!0;const t=yield this.socket.send(c);o=null!==(i=null==t?void 0:t.DETAILS)&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setMetadataFor(e,o)}catch(e){throw s=e,Bm.error(e),e instanceof Error?e:new Error(String(e))}finally{this.events.onMetadataEvent(e,c,s),this.isWorking=!1}return o})}getJSONSchema(e){return Rh(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasJsonSchemaFor(e))return Bm.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const c=this.messageBuilder.createMetaRequestMessage(e,dC.JSON_SCHEMA_REQUEST);let o;Bm.debug(`${c.MESSAGE_TYPE} (json schema) message created -> `,c);try{this.isWorking=!0,o=null!==(i=yield this.socket.send(c))&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setJsonSchemaFor(e,o)}catch(e){Bm.error(e)}finally{this.isWorking=!1}return o})}request(e,t){const i=this.messageBuilder.createRequestMessage(e,t);return Bm.debug(`${i.MESSAGE_TYPE} (request server) message created -> `,i),this.socket.send(i)}getAvailableResources(e){return Rh(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Bm.debug("Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Bm.debug(`${i.MESSAGE_TYPE} (resources) message created -> `,i);const c=yield this.socket.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Rh(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);Bm.debug(`${i.MESSAGE_TYPE} (commit) message created -> `,i);const c=this.socket.send(i);return this.events.onCommitEvent(e,i),c.then(t=>(this.events.onCommitResponseEvent(e,t),t))})}};Oh([b],UL.prototype,"isWorking",void 0),UL=Oh([Th(0,BL),Th(1,mC),Th(2,Dz),Th(3,qz),Th(4,Wz)],UL);const jL="true"===Cg||bg("forceHttp"),qL=mt.createInterface(e=>e.singleton(UL)),GL=mt.createInterface(e=>jL?e.aliasTo(EL):e.aliasTo(qL));class WL{serialize(e){return Bm.deprecated("serialize","Use `serialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),JSON.stringify(e)}deserialize(e){return Bm.deprecated("deserialize","Use `deserialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),e?"string"==typeof e?JSON.parse(e):e.data?JSON.parse(e.data):e.text().then(e=>JSON.parse(e)):Promise.resolve({})}}
56
56
  /*! js-cookie v3.0.7 | MIT */
57
57
  function YL(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var c in i)"__proto__"!==c&&(e[c]=i[c])}return e}mt.createInterface(e=>e.singleton(WL));var KL={read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};var ZL=function e(t,i){function c(e,c,o){if("undefined"!=typeof document){"number"==typeof(o=YL({},i,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var n in o)o[n]&&(s+="; "+n,!0!==o[n]&&(s+="="+o[n].split(";")[0]));return document.cookie=e+"="+t.write(c,e)+s}}return Object.create({set:c,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var i=document.cookie?document.cookie.split("; "):[],c={},o=0;o<i.length;o++){var s=i[o].split("="),n=s.slice(1).join("=");try{var a=decodeURIComponent(s[0]);if(a in c||(c[a]=t.read(n,a)),e===a)break}catch{}}return e?c[e]:c}},remove:function(e,t){c(e,"",YL({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,YL({},this.attributes,t))},withConverter:function(t){return e(YL({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(i)},converter:{value:Object.freeze(t)}})}(KL,{path:"/"});const QL=mt.createInterface();function XL(){return(null===navigator||void 0===navigator?void 0:navigator.credentials)?"PasswordCredential"in window||(Bm.warn("PasswordCredential not available in this browser."),!1):(Bm.warn("CredentialsContainer not available in this browser."),!1)}const JL=":";function ex(e="",t=JL,i){return e.split(t,i).map(e=>e.trim()).filter(e=>""!==e)}function tx(e,t=JL){const i="string"==typeof e&&e.trim();return!!i&&i.includes(t)}function ix(e,t=JL){return"string"==typeof e&&e.trim()?(e.match(new RegExp(t,"g"))||[]).length:0}function cx(e,t=JL){for(const i of e)if(tx(i,t))return i;return e.find(e=>"string"==typeof e&&""!==e.trim())}function ox(e,t,i){const c="string"==typeof e&&e.trim();return!c||i&&!c.includes(i)||ix(c)>1?i&&t&&i!==t?`${t}:${i}`:t||i:c}function sx(e="credential"){Bm.warn(`Unable to migrate legacy ${e} to latest format. Please remove from your browser.`)}const nx={password:!0,mediation:"optional"},ax={cookie:{path:"/",name:"credentials",expires:7300,storePasswords:!1}};let rx=class{constructor(e,t=ax){this.session=e,this.config=t}createBasicCredentials(e){return{type:rC.BASIC,username:e.username,password:e.password,mfaToken:this.getMFAToken()}}createRefreshCredentials(e){var t,i,c;return{type:rC.REFRESH,username:null!==(t=null==e?void 0:e.username)&&void 0!==t?t:this.getUsername(),refreshToken:null!==(i=null==e?void 0:e.refreshToken)&&void 0!==i?i:this.getRefreshToken(),mfaToken:null!==(c=null==e?void 0:e.mfaToken)&&void 0!==c?c:this.getMFAToken()}}createSSOCredentials(e){var t;return{type:rC.SSO,ssoToken:null!==(t=null==e?void 0:e.ssoToken)&&void 0!==t?t:this.getSSOToken()}}validateBasicCredentials(e){return e&&!!e.username&&!!e.password}validateRefreshCredentials(e){return e&&!!e.refreshToken&&!!e.username}validateSSOCredentials(e){return e&&!!e.ssoToken}validateUserCredentialData(e,t){const i=e&&!!e.id&&!!e.name&&!e.name.includes(JL)&&ix(e.id)<=1;return t?i&&!!e.password:i}normaliseLegacyCredentialData(e,t){if(this.validateUserCredentialData(e,!0))return[e,!0];if(this.validateUserCredentialData(t))return[t,!1];if(e)try{const t=e,[i]=ex(t.name||t.id),[c,o]=ex(cx([t.id,t.name]));return[{id:ox(t.id||t.name,i,o),name:i,password:t.password||""},!0]}catch(e){sx("PasswordCredential")}if(t)try{const e=t,[i]=ex(e.name||e.username||e.organisation),[c,o]=ex(cx([e.organisation||e.username||e.name]));return[{id:ox(e.id||e.username||e.name,i,o),name:i,password:e.password||""},!1]}catch(e){sx("cookie")}return[void 0,!1]}storeCredentialsInContainer(e){return Rh(this,void 0,void 0,function*(){if(!XL())return;const t=new PasswordCredential(e);return Bm.debug("Storing credentials in CredentialsContainer"),navigator.credentials.store(t)})}getCredentialsFromContainer(){return Rh(this,arguments,void 0,function*(e=nx){if(XL())return Bm.debug("Getting credentials from CredentialsContainer"),yield navigator.credentials.get(e)})}storeCredentialsInCookie(e){const t=Ah(e,["password"]),i=this.config.cookie.storePasswords?e:t;return Bm.debug("Storing credentials in cookie"),!!ZL.set(this.config.cookie.name,JSON.stringify(i),{expires:this.config.cookie.expires,domain:location.hostname,path:this.config.cookie.path,secure:!0})}getCredentialsFromCookie(){Bm.debug("Getting credentials from cookie");const e=ZL.get(this.config.cookie.name);return e?JSON.parse(e):void 0}storeCredentials(e){return Rh(this,void 0,void 0,function*(){if(XL()){const t=yield this.storeCredentialsInContainer(e);return Promise.resolve(!!t)}return Promise.resolve(this.storeCredentialsInCookie(e))})}getCredentials(e){return Rh(this,void 0,void 0,function*(){return XL()?this.getCredentialsFromContainer(e):Promise.resolve(this.getCredentialsFromCookie())})}getSSOToken(){return this.session.getSessionStorageItem("ssoToken")}getUsername(){return this.session.getSessionStorageItem("username")||this.session.getLocalStorageItem("username")}getRefreshToken(){return this.session.getSessionStorageItem("refreshToken")||this.session.getLocalStorageItem("refreshToken")}getMFAToken(){return this.session.getSessionStorageItem("mfaToken")}removeCookie(){ZL.remove(this.config.cookie.name,{domain:location.hostname,path:this.config.cookie.path})}removeSSOToken(){this.session.removeSessionStorageItem("ssoToken")}removeUsername(){this.session.removeSessionStorageItem("username"),this.session.removeLocalStorageItem("username")}removeRefreshToken(){this.session.removeSessionStorageItem("refreshToken"),this.session.removeLocalStorageItem("refreshToken")}removeMFAToken(){this.session.removeSessionStorageItem("mfaToken")}removeAll(){this.removeCookie(),this.removeSSOToken(),this.removeUsername(),this.removeRefreshToken(),this.removeMFAToken()}preventSilentAccess(){return XL()&&navigator.credentials.preventSilentAccess()}};rx=Oh([Th(0,iC),Th(1,yt(QL))],rx);const lx=mt.createInterface(e=>e.singleton(rx)),dx=e=>Array.isArray(e)?e.map(e=>null!=e?e:""):[],ux=e=>{try{if("EVENT_LOGIN_AUTH_ACK"===(null==e?void 0:e.MESSAGE_TYPE)){const{DETAILS:c}=e,o={messageType:e.MESSAGE_TYPE,sourceRef:e.SOURCE_REF,userName:e.USER_NAME,updateQueue:e.UPDATE_QUEUE,zeroMqProxyModeEnabled:e.ZERO_MQ_PROXY_MODE_ENABLED,zeroMqProxyInboundPort:e.ZERO_MQ_PROXY_INBOUND_PORT,zeroMqProxyOutboundPort:e.ZERO_MQ_PROXY_OUTBOUND_PORT,userKVs:e.USER,details:c?{system:(i=c.SYSTEM,i?{date:i.DATE}:null),heartbeatIntervalSecs:c.HEARTBEAT_INTERVAL_SECS,failedLoginAttempts:c.FAILED_LOGIN_ATTEMPTS,rejectedLoginAttempts:c.REJECTED_LOGIN_ATTEMPTS,lastLoginDatetime:c.LAST_LOGIN_DATETIME,daysToPasswordExpiry:c.DAYS_TO_PASSWORD_EXPIRY,product:(t=c.PRODUCT,t?t.map(e=>({name:e.NAME,version:e.VERSION})):[])}:null,permission:dx(e.PERMISSION),profile:dx(e.PROFILE)};return o}throw new Error("No Entity mapping implementation for provided DTO")}catch(e){throw Bm.error(e),e}var t,i};let hx=class{loggedUserResultChanged(){var e;null===(e=this.isLoggedInSubject)||void 0===e||e.next(this.isLoggedIn)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}get isLoggedIn(){return this.currentUser.isAuthenticated}constructor(e,t,i,c,o){this.session=e,this.connect=t,this.messageBuilder=i,this.credentialManager=c,this.currentUser=o,this.isWorking=!1,this.isLoggedInSubject=new Db(this.isLoggedIn),this.currentUser.addAuthenticationChangeListener(e=>{var t;null===(t=this.isLoggedInSubject)||void 0===t||t.next(e.detail)})}login(e){return Rh(this,void 0,void 0,function*(){var t;this.isWorking=!0;try{const i=this.messageBuilder.createLoginMessage(e),c=yield this.connect.send(i);if(!c||c.ERROR||(null===(t=c.DETAILS)||void 0===t?void 0:t.ERROR))throw new hC(i,c);this.applyAuthResults({authToken:c.SESSION_AUTH_TOKEN,refreshToken:c.REFRESH_AUTH_TOKEN,profiles:c.PROFILE,username:c.USER_NAME,permissions:c.PERMISSION,sessionId:c.SESSION_ID}),this.currentUser.set(ux(c)),this.session.setAuthResult(c),Bm.debug("Login Authentication Result:",c)}catch(e){if(Bm.error("Login Authentication Error:",e),!(e instanceof hC&&e.isIgnorableError()))throw this.removeAuthResults(),this.currentUser.unset(),e;Bm.warn("Ignoring authentication error as it is a known edge case.")}finally{this.isWorking=!1}return this.loggedUserResult})}logout(){return Rh(this,void 0,void 0,function*(){var e;this.isWorking=!0;let t={success:!1};try{const i=this.messageBuilder.createLogoutMessage(this.loggedUserResult);this.session.deleteUserFromSessionStorage();const{CODE:c,DETAILS:o,ERROR:s,MESSAGE_TYPE:n,OIDC_LOGOUT_URL:a}=yield this.connect.send(i),r=null!==(e=null==o?void 0:o.ERROR)&&void 0!==e?e:s,l=n===lC.LOGOUT_NACK;l&&Bm.warn("Unexpected Logout NACK received during logout.",r),t={success:n===lC.LOGOUT_ACK||c===uC.SESSION_NOT_FOUND||!l,error:r},a&&window.open(a,"_self")}catch(e){const i=new hC(e.sentMessage,e.receivedMessage);if(Bm.error("Logout Authentication Error:",i),!i.isIgnorableError())throw e;Bm.warn("Ignoring authentication error as it is a known edge case."),t.success=!0}finally{this.removeAuthResults(),this.currentUser.unset(),this.isWorking=!1}return t})}reAuthFromSession(){return Rh(this,void 0,void 0,function*(){const e=yield this.ensureConnection(),t=this.credentialManager.createRefreshCredentials();if(e&&this.credentialManager.validateRefreshCredentials(t)){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.connect.send(e);if((null==t?void 0:t.MESSAGE_TYPE)===dC.EVENT_LOGIN_AUTH_ACK)return this.session.setAuthResult(t),this.currentUser.set(ux(t)),this.applyAuthResults(this.getLoggedUserFromMessage(t)),!0}return this.session.deleteUserFromSessionStorage(),this.currentUser.unset(),!1})}ensureConnection(){return Rh(this,void 0,void 0,function*(){if(this.connect.isConnected)return!0;const e=this.session.getSessionStorageItem("hostUrl");return!!e&&this.connect.connect(e)})}getLoggedUserFromMessage(e){const t=e.USER_NAME,i=e.SESSION_AUTH_TOKEN,c=e.REFRESH_AUTH_TOKEN;return t&&i&&c?{username:t,authToken:i,refreshToken:c,profiles:e.PROFILE,permissions:e.PERMISSION,sessionId:e.SESSION_ID}:null}applyAuthResults(e){e?this.loggedUserResult={authToken:e.authToken,refreshToken:e.refreshToken,profiles:e.profiles,username:e.username,permissions:e.permissions,sessionId:e.sessionId}:this.removeAuthResults()}removeAuthResults(){this.loggedUserResult=null}};Oh([b],hx.prototype,"isWorking",void 0),Oh([b],hx.prototype,"loggedUserResult",void 0),hx=Oh([Th(0,iC),Th(1,GL),Th(2,mC),Th(3,lx),Th(4,Rz)],hx);const fx=mt.createInterface(e=>e.singleton(hx));function px(e,t){const i=new Date(e),c=i.getUTCFullYear(),o=String(i.getUTCMonth()+1).padStart(2,"0"),s=String(i.getUTCDate()).padStart(2,"0");if(t)return`${c}${o}${s}`;return`${c}${o}${s}-${String(i.getUTCHours()).padStart(2,"0")}:${String(i.getUTCMinutes()).padStart(2,"0")}`}function mx(e,t="ROW_REF"){const i=e=>{const i=Object.assign(Object.assign({},e),{[t]:e.DETAILS[t]});return delete i.DETAILS,i},c=[],o=[],s=[];for(const t of e.ROW)if(t.DETAILS)switch(t.DETAILS.OPERATION){case"INSERT":c.push(i(t));break;case"MODIFY":s.push(i(t));break;case"DELETE":o.push(i(t));break;default:Bm.error(`Unsupported operation type: '${t.DETAILS.OPERATION}'`)}return{inserts:c,deletes:o,updates:s,SOURCE_REF:e.SOURCE_REF}}class gx{}gx.MAX_ROWS_250=250,gx.MAX_VIEW_1000=1e3,gx.REQ_REP_POLLING_INTERVAL_MS=1e4,gx.DATASERVER_ROW_ID="ROW_REF",gx.REQUEST_SERVER_ROW_ID="RECORD_ID",gx.DEFAULT_PAGINATION_PAGE_SIZE=25,gx.DEFAULT_REQ_REP_OFFSET=0;const vx={options:{criteria:"",isSnapshot:!1,maxRows:gx.MAX_ROWS_250,maxView:gx.MAX_VIEW_1000,pollingInterval:gx.REQ_REP_POLLING_INTERVAL_MS,movingView:!1,orderBy:"",resourceName:"",reverse:!1,pollTriggerEvents:[]},criteriaToFields:function(e){if(!e)return{};const t=e.split("&&").map(e=>e.trim()),i={};return t.forEach(e=>{if(e)if(e.startsWith("Expr"))!function(e,t){const i=e.match(/Expr\.(\w+)\(/);if(i)switch(i[1]){case"dateIsToday":{const i=/Expr\.dateIsToday\((\w+)\)/,c=e.match(i);if(c){const[,e]=c,i=new Date;t[`${e}_FROM`]=`${i.toISOString().replace(/-/g,"").split("T")[0]}-00:00`,i.setDate(i.getDate()+1),t[`${e}_TO`]=`${i.toISOString().replace(/-/g,"").split("T")[0]}-00:00`}break}case"dateTimeIsGreaterEqual":{const i=/Expr\.dateTimeIsGreaterEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_FROM`]=i}break}case"dateTimeIsLessEqual":{const i=/Expr\.dateTimeIsLessEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_TO`]=i}break}case"dateIsGreaterEqual":{const i=/Expr\.dateIsGreaterEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_FROM`]=i}break}case"dateIsLessEqual":{const i=/Expr\.dateIsLessEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_TO`]=i}break}case"containsIgnoreCase":{const i=/Expr\.containsIgnoreCase\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[e]=`*${i}*`}break}}}(e,i);else if(/[A-Z_]+\s*(>=|<=)\s*\d+/.test(e)){const t=e.match(/([A-Z_]+)\s*>=\s*(\d+)/);if(t){const[,e,c]=t,o=parseInt(c,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_FROM`]=px(o,n)}const c=e.match(/([A-Z_]+)\s*<=\s*(\d+)/);if(c){const[,e,t]=c,o=parseInt(t,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_TO`]=px(o,n)}}else!function(e,t){const i=e.substr(0,e.indexOf("=")).trim().replace(/["']/g,""),c=e.substr(e.lastIndexOf("=")+1,e.length).trim().replace(/["']/g,"");t[i]=c}(e,i)}),i},dataServerResultFilter:mx},bx=mt.createInterface(e=>e.instance(vx)),yx=e=>{class t extends e{constructor(){super(),this.hasOwnProperty("onDatasourceStatusChanged")||(this.onDatasourceStatusChanged=e=>{var t;const i=void 0!==this.data;this.resourceName||i||Bm.warn("Target classes must have a resourceName or data property to use the DatasourceEventHandler mixin.");const c=e.detail;if(c.name===this.resourceName){const e=null!==(t=this.datasourceStatus)&&void 0!==t?t:{isInitialized:!1,hasMetadata:!1};(e.isInitialized!==c.isInitialized||c.metadataRequired&&e.hasMetadata!==c.hasMetadata)&&(this.datasourceStatus=c)}})}datasourceStatusChanged(e,t){Bm.debug("Target classes should override the datasourceStatusChanged method of the DatasourceEventHandler mixin to respond to changes in the target datasource.")}connectedCallback(){super.connectedCallback(),document.addEventListener(Pz,this.onDatasourceStatusChanged,{passive:!0,capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(Pz,this.onDatasourceStatusChanged,{capture:!0})}}return Oh([b],t.prototype,"datasourceStatus",void 0),t},zx={throwWhenUnavailable:!0,throwWhenUnknown:!1},Cx=mt.createInterface(e=>e.instance(zx)),Lx=Ym("genesis-resources");let xx=class{constructor(e,t){this.connect=e,this.config=t}isValidResource(e){return Rh(this,void 0,void 0,function*(){if(!(e=null==e?void 0:e.trim()))return!1;yield this.fetchResources();return!!this.resources.find(t=>t.RESOURCE_NAME===e)})}getResourceTypeFor(e){return Rh(this,void 0,void 0,function*(){yield this.fetchResources();const t=this.resources.find(t=>t.RESOURCE_NAME===e);if(t)return t.RESOURCE_TYPE;const i=`${e} resource does not exist.`;if(Bm.error(i),this.config.throwWhenUnknown)throw new Error(i)})}getAllResources(){return Rh(this,void 0,void 0,function*(){return this.resources||(yield this.fetchResources()),this.resources})}destroy(){this.resources=void 0,this.resourcesPromise=void 0}fetchResources(){return Rh(this,void 0,void 0,function*(){var e;if(this.resources)return Promise.resolve();if(this.resourcesPromise)yield this.resourcesPromise;else{this.resourcesPromise=this.connect.getAvailableResources();const t=yield this.resourcesPromise;if(this.resources=null==t?void 0:t.RESOURCES,!(null===(e=this.resources)||void 0===e?void 0:e.length)){const e="Genesis resources unavailable.";if(Bm.error(e),this.config.throwWhenUnavailable)throw new Error(e)}this.postLoadedMessage(),this.resourcesPromise=void 0}})}postLoadedMessage(){const e=mt.getOrCreateDOMContainer().get(Lx);e.postMessage("resources-loaded",this.resources),e.close()}};xx=Oh([Th(0,GL),Th(1,Cx)],xx);const Mx=mt.createInterface(e=>e.singleton(xx));let wx=class{get initialized(){var e;return!!(null===(e=this.status)||void 0===e?void 0:e.isInitialized)}constructor(e,t,i,c,o){this.connect=e,this.auth=t,this.resources=i,this.config=c,this.connectEvents=o,this.fetchMetadataRequired=!0,this.startStreamRequired=!0,this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.customRequestFields=[],this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.criteriaOnlyRequest=!1,this.loadMoreCount=0,this.readOnly=!0,this._allParams=null,this.pollTrigger$=new Rb}triggerPoll(){this.pollTrigger$.next()}validResourceName(e){return Bm.deprecated("Datasource.validResourceName","Use `GenesisResources.isValidResource` instead."),!!e&&!!e.trim().length}init(e){return Rh(this,arguments,void 0,function*(e,t=this.fetchMetadataRequired,i=this.startStreamRequired){this.fetchMetadataRequired=t,this.options=Object.assign(Object.assign({},this.config.options),e),this.invalidateCache();const c=this.options.resourceName;if(!(this.connect.isConnected||(yield this.connect.connect())))return Bm.error(`Unable to connect to ${this.connect.host} to get ${c} datasource`),this.reportStatus(),!1;return(yield this.resources.isValidResource(c))?(this.resourceType=yield this.resources.getResourceTypeFor(c),this.resourceType?(this.fetchMetadataRequired&&(yield this.fetchAndApplyMetadata(this.options.resourceName),this._allParams=null),Bm.debug(`Initializing ${c} datasource from ${this.connect.host}`),!this.options.isSnapshot&&i&&(this.pollTrigger$=new Rb,this.stream=yield this.createStream()),Bm.debug(`${c} datasource initialization ${this.initialized?"was successful.":"has failed."}`),this.reportStatus(),this.initialized):(Bm.error(`Unable to get the resource type for ${c} datasource from ${this.connect.host}`),this.reportStatus(),!1)):(Bm.error(`${c} datasource does not exist on ${this.connect.host}`),this.reportStatus(),!1)})}startStream(){return Rh(this,void 0,void 0,function*(){this.options.isSnapshot||void 0!==this.stream||(this.stream=yield this.createStream())})}destroy(){var e,t;Bm.debug("Datasource.destroy",null===(e=this.options)||void 0===e?void 0:e.resourceName),this.commitResponseUnsubscribe&&(this.commitResponseUnsubscribe(),this.commitResponseUnsubscribe=void 0),null===(t=this.pollTrigger$)||void 0===t||t.complete(),this.status=void 0,this.fetchMetadataRequired=!0,this.options={},this.resourceType=void 0,this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.criteriaOnlyRequest=!1,this.loadMoreCount=0,this.stream=void 0}get allResourceParams(){var e;if(this._allParams)return this._allParams;let t;if(this.options.orderBy)if(this.criteriaOnlyRequest||(null===(e=this.availableIndexes)||void 0===e?void 0:e.findIndex(e=>e.NAME===this.options.orderBy))>-1)t=this.options.orderBy;else{const e=this.availableIndexes.map(e=>e.NAME);Bm.warn("Specified [orderBy] index is not valid and will not be used. See https://learn.genesis.global/docs/database/data-types/index-entities/ - Available indexes:",e)}return this._allParams={CRITERIA_MATCH:this.options.criteria,MAX_ROWS:this.options.maxRows,ORDER_BY:t,VIEW_NUMBER:this.options.viewNumber,FIELDS:this.options.fields,MAX_VIEW:this.options.maxView,MOVING_VIEW:this.options.movingView,REVERSE:this.options.reverse,DISABLE_POLLING:this.options.disablePolling,OFFSET:this.options.offset,POLLING_INTERVAL:this.options.pollingInterval,REQUEST:this.options.request},Bm.debug("Getting configured params:",this._allParams),this._allParams}get dataserverOnlyParams(){return{CRITERIA_MATCH:this.allResourceParams.CRITERIA_MATCH,MAX_ROWS:this.allResourceParams.MAX_ROWS,VIEW_NUMBER:this.allResourceParams.VIEW_NUMBER,FIELDS:this.allResourceParams.FIELDS,MAX_VIEW:this.allResourceParams.MAX_VIEW,MOVING_VIEW:this.allResourceParams.MOVING_VIEW,ORDER_BY:this.allResourceParams.ORDER_BY,REVERSE:this.allResourceParams.REVERSE}}get requestOnlyParams(){const e=this.allResourceParams,{REQUEST:t}=e,i=Ah(e,["REQUEST"]);return{DETAILS:{CRITERIA_MATCH:this.options.requestAutoSetup?void 0:i.CRITERIA_MATCH,MAX_ROWS:i.MAX_ROWS,OFFSET:i.OFFSET,ORDER_BY:i.ORDER_BY,VIEW_NUMBER:i.VIEW_NUMBER},REQUEST:this.criteriaOnlyRequest?{}:null!=t?t:this.buildRequestFields()}}buildRequestFields(){if(!this.options.requestAutoSetup)return{};const e=Object.fromEntries(this.requestFields.map(e=>[e.NAME,"*"])),t=this.options.criteria?this.config.criteriaToFields(this.options.criteria):{};return Object.assign(Object.assign({},e),t)}updateLoadMoreCount(e){this.loadMoreCount=e}snapshot(e){return Rh(this,void 0,void 0,function*(){switch(Bm.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`),this.resourceType){case _z.DATASERVER:return this.connect.snapshot(this.options.resourceName,Object.assign(Object.assign({},this.dataserverOnlyParams),e));case _z.REQUEST_SERVER:return this.connect.request(this.options.resourceName,Object.assign(Object.assign({},this.requestOnlyParams),e));default:throw new Error(`Snapshot not supported for selected resource type: ${this.resourceType}`)}})}snapshotFiltered(){return Rh(this,arguments,void 0,function*(e="ROW_REF"){const t=yield this.snapshot();return Array.isArray(t)?t:t.REPLY?t.REPLY:t.ROW?this.config.dataServerResultFilter(t,e).inserts:void 0})}createStream(){return Rh(this,void 0,void 0,function*(){if(![_z.DATASERVER,_z.REQUEST_SERVER].includes(this.resourceType))throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);return this.resourceType===_z.DATASERVER?this.createDataserverStream():(Bm.debug(`Creating fake stream by polling ${this.options.resourceName} REQUEST_SERVER`),this.createReqRepStream())})}createDataserverStream(){return Rh(this,void 0,void 0,function*(){return this.connect.stream(this.options.resourceName,e=>{},e=>Bm.error(e),this.dataserverOnlyParams)})}createReqRepStream(){this.commitResponseUnsubscribe=this.connectEvents.addCommitResponseListener(e=>{var t;const{eventName:i,response:c}=e.detail;this.options.pollTriggerEvents&&this.options.pollTriggerEvents.includes(i)&&(null===(t=c.MESSAGE_TYPE)||void 0===t?void 0:t.endsWith("_ACK"))&&(Bm.debug(`Received commit response for ${i}, triggering poll.`),this.triggerPoll())});const e=this.allResourceParams.DISABLE_POLLING?void 0:this.allResourceParams.POLLING_INTERVAL,t=()=>{const e=this.requestOnlyParams;if(this.resourceType===_z.REQUEST_SERVER&&this.loadMoreCount>0){const t=25,i=(this.options.maxRows||t)*(this.loadMoreCount+1);e.DETAILS.MAX_ROWS=i}return _y([this.connect.isConnected$,this.auth.isLoggedIn$]).pipe(Ky(()=>this.connect.isConnected&&this.auth.isLoggedIn),Yy(()=>Ey(this.snapshot(e))))};return e?this.pollTrigger$.pipe(Wy(0),Yy(()=>jy(0,e).pipe(Yy(t)))):this.pollTrigger$.pipe(Wy(0),Yy(t))}fetchAndApplyMetadata(e){return Rh(this,void 0,void 0,function*(){var t,i,c,o;try{Bm.debug(`Requesting metadata for ${this.options.resourceName} Datasource`);const e=yield this.connect.getMetadata(this.options.resourceName);e&&(this.availableIndexes=null!==(t=e.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(i=e.SORTABLE_FIELDS)&&void 0!==i?i:[],this.availableCriteriaFields=null!==(c=e.CRITERIA_FIELDS)&&void 0!==c?c:[],this.originalFieldDef=Bz(e),this.fieldMetadata=Vz(this.originalFieldDef),this.requestFields=e.REQUEST_FIELD||[],this.customRequestFields=e.FIELD||[],this.criteriaOnlyRequest=e.CRITERIA_ONLY_REQUEST||!1,this.fetchMetadataRequired=!1),this.status=this.normaliseStatus({isInitialized:!0,metadataRequired:!0,hasMetadata:(null===(o=this.fieldMetadata)||void 0===o?void 0:o.length)>0})}catch(t){Bm.error(`Metadata Fetch failed for ${e}:`,t),this.status=this.normaliseStatus({isInitialized:!1,metadataRequired:!0,hasMetadata:!1})}})}reportStatus(e={}){var t;const i=null!==(t=this.config.eventEmitter)&&void 0!==t?t:document;this.status=this.normaliseStatus(e),Bm.debug(`Dispatching '${Pz}'`,this.status),null==i||i.dispatchEvent(new CustomEvent(Pz,{detail:this.status,bubbles:i!==document,composed:!0}))}normaliseStatus(e){var t,i,c,o,s;const n=null!==(t=e.isInitialized)&&void 0!==t?t:this.initialized,a=null!==(i=e.metadataRequired)&&void 0!==i?i:this.fetchMetadataRequired,r=null!==(c=e.hasMetadata)&&void 0!==c?c:(null===(o=this.fieldMetadata)||void 0===o?void 0:o.length)>0;return{name:null===(s=this.options)||void 0===s?void 0:s.resourceName,type:this.resourceType,isInitialized:n,metadataRequired:a,hasMetadata:r}}invalidateCache(){this._allParams=null}};Oh([b],wx.prototype,"status",void 0),Oh([b],wx.prototype,"fetchMetadataRequired",void 0),Oh([b],wx.prototype,"startStreamRequired",void 0),Oh([b],wx.prototype,"originalFieldDef",void 0),Oh([b],wx.prototype,"fieldMetadata",void 0),Oh([b],wx.prototype,"requestFields",void 0),Oh([b],wx.prototype,"customRequestFields",void 0),Oh([b],wx.prototype,"availableIndexes",void 0),Oh([b],wx.prototype,"availableSortableFields",void 0),Oh([b],wx.prototype,"availableCriteriaFields",void 0),Oh([b],wx.prototype,"criteriaOnlyRequest",void 0),Oh([b],wx.prototype,"loadMoreCount",void 0),Oh([b],wx.prototype,"readOnly",void 0),Oh([b],wx.prototype,"stream",void 0),wx=Oh([Th(0,GL),Th(1,fx),Th(2,Mx),Th(3,bx),Th(4,jz)],wx);const Sx=mt.createInterface(e=>e.transient(wx));class kx extends wx{constructor(){super(...arguments),this.entityCache=[],this.entityMap=new Map,this.rowId="ROW_REF",this.initialize=e=>Rh(this,void 0,void 0,function*(){return this.disconnect(),this.options=Object.assign({},e.options),this.mapper=e.mapper,this.initialized=yield this.init(this.options,e.fetchMeta),this.initialized?(this.subscription=this.stream.subscribe(e=>{this.sourceRef=e.SOURCE_REF,this.subscriptionLoggedOff=e.MESSAGE_TYPE===lC.LOGOFF_ACK;const t=e.ROW;!this.subscriptionLoggedOff&&t&&this.updateCache(this.config.dataServerResultFilter(e,this.rowId))}),!0):(Bm.debug(`EntityDatasource init failed for ${this.options.resourceName}`),!1)}),this.disconnect=()=>{var e;null===(e=this.subscription)||void 0===e||e.unsubscribe(),this.entityCache=[]}}get initialized(){return this._initialized}set initialized(e){this._initialized=e}get cache(){if(!this.initialized)throw new Error("Please initialize EntityDatasource before querying.");return this.entityCache}get isEmpty(){return 0===this.entityCache.length}updateCache(e){var t;this.isEmpty,null===(t=e.deletes)||void 0===t||t.forEach(e=>{const t=e[this.rowId];this.entityMap.delete(t)}),this.processRowDataUpdate(e.inserts,!0),this.processRowDataUpdate(e.updates);this.entityCache=[{}].map(e=>this.mapper.fromDTO(e))}processRowDataUpdate(e,t=!1){e.forEach(e=>{const i=e[this.rowId],c=this.entityMap.get(i);if(c&&t)throw new Error("Existing entity found in map while inserting.");const o=this.mapper.fromDTO(e),s=c?Object.assign(Object.assign({},c),o):o;this.entityMap.set(i,s)})}}function Ex(e,t=";"){return e?e.split(t).map(e=>e.trim()).sort((e,t)=>e.localeCompare(t)).join(t):e}mt.createInterface(e=>e.transient(kx));const $x="system-health-changed",Nx={windowEvents:["online","offline","pageshow"],documentEvents:["visibilitychange"],genesisConnectEvents:["stream","commit"],ignoredGenesisResources:[],startDelay:5e3,checkInterval:1e4,checkTimeout:3e3,resourceChecks:e=>Rh(void 0,void 0,void 0,function*(){const t=mt.getOrCreateDOMContainer().get(GL),i=yield t.getMoreColumns(e),c=Date.now(),o=i;return{isConnected:i.MESSAGE_TYPE===lC.MORE_COLUMNS_ACK,lastUpdated:c,lastMessage:o}}),resourceDataLogon:({message:e,functions:t})=>{const{onMessage:i,onError:c}=t;mt.getOrCreateDOMContainer().get(BL).sendForStream(e,i,c)}},Ax=mt.createInterface(e=>e.instance(Nx));var Ox,Tx={exports:{}};var Rx,Ix,Dx=(Ox||(Ox=1,function(e){e.exports=function(e){var t={};function i(c){if(t[c])return t[c].exports;var o=t[c]={i:c,l:!1,exports:{}};return e[c].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,c){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:c})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var c=Object.create(null);if(i.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(c,o,function(t){return e[t]}.bind(null,o));return c},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=90)}({17:function(e,t,i){t.__esModule=!0,t.default=void 0;var c=i(18),o=function(){function e(){}return e.getFirstMatch=function(e,t){var i=t.match(e);return i&&i.length>0&&i[1]||""},e.getSecondMatch=function(e,t){var i=t.match(e);return i&&i.length>1&&i[2]||""},e.matchAndReturnConst=function(e,t,i){if(e.test(t))return i},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});t.push(0);var i=t[0],c=t[1];if(10===i)switch(c){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}switch(i){case 11:return"Big Sur";case 12:return"Monterey";case 13:return"Ventura";case 14:return"Sonoma";case 15:return"Sequoia";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,i,c){void 0===c&&(c=!1);var o=e.getVersionPrecision(t),s=e.getVersionPrecision(i),n=Math.max(o,s),a=0,r=e.map([t,i],function(t){var i=n-e.getVersionPrecision(t),c=t+new Array(i+1).join(".0");return e.map(c.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(c&&(a=n-Math.min(o,s)),n-=1;n>=a;){if(r[0][n]>r[1][n])return 1;if(r[0][n]===r[1][n]){if(n===a)return 0;n-=1}else if(r[0][n]<r[1][n])return-1}},e.map=function(e,t){var i,c=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(i=0;i<e.length;i+=1)c.push(t(e[i]));return c},e.find=function(e,t){var i,c;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,c=e.length;i<c;i+=1){var o=e[i];if(t(o,i))return o}},e.assign=function(e){for(var t,i,c=e,o=arguments.length,s=new Array(o>1?o-1:0),n=1;n<o;n++)s[n-1]=arguments[n];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var a=function(){var e=s[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach(function(t){c[t]=e[t]})};for(t=0,i=s.length;t<i;t+=1)a();return e},e.getBrowserAlias=function(e){return c.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return c.BROWSER_MAP[e]||""},e}();t.default=o,e.exports=t.default},18:function(e,t,i){t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={AmazonBot:"amazonbot","Amazon Silk":"amazon_silk","Android Browser":"android",BaiduSpider:"baiduspider",Bada:"bada",BingCrawler:"bingcrawler",Brave:"brave",BlackBerry:"blackberry","ChatGPT-User":"chatgpt_user",Chrome:"chrome",ClaudeBot:"claudebot",Chromium:"chromium",Diffbot:"diffbot",DuckDuckBot:"duckduckbot",DuckDuckGo:"duckduckgo",Electron:"electron",Epiphany:"epiphany",FacebookExternalHit:"facebookexternalhit",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot",GPTBot:"gptbot","Internet Explorer":"ie",InternetArchiveCrawler:"internetarchivecrawler","K-Meleon":"k_meleon",LibreWolf:"librewolf",Linespider:"linespider",Maxthon:"maxthon","Meta-ExternalAds":"meta_externalads","Meta-ExternalAgent":"meta_externalagent","Meta-ExternalFetcher":"meta_externalfetcher","Meta-WebIndexer":"meta_webindexer","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver","OAI-SearchBot":"oai_searchbot",Omgilibot:"omgilibot",Opera:"opera","Opera Coast":"opera_coast","Pale Moon":"pale_moon",PerplexityBot:"perplexitybot","Perplexity-User":"perplexity_user",PhantomJS:"phantomjs",PingdomBot:"pingdombot",Puffin:"puffin",QQ:"qq",QQLite:"qqlite",QupZilla:"qupzilla",Roku:"roku",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SlackBot:"slackbot",SeaMonkey:"seamonkey",Sleipnir:"sleipnir","Sogou Browser":"sogou",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat",YahooSlurp:"yahooslurp","Yandex Browser":"yandex",YandexBot:"yandexbot",YouBot:"youbot"},t.BROWSER_MAP={amazonbot:"AmazonBot",amazon_silk:"Amazon Silk",android:"Android Browser",baiduspider:"BaiduSpider",bada:"Bada",bingcrawler:"BingCrawler",blackberry:"BlackBerry",brave:"Brave",chatgpt_user:"ChatGPT-User",chrome:"Chrome",claudebot:"ClaudeBot",chromium:"Chromium",diffbot:"Diffbot",duckduckbot:"DuckDuckBot",duckduckgo:"DuckDuckGo",edge:"Microsoft Edge",electron:"Electron",epiphany:"Epiphany",facebookexternalhit:"FacebookExternalHit",firefox:"Firefox",focus:"Focus",generic:"Generic",google_search:"Google Search",googlebot:"Googlebot",gptbot:"GPTBot",ie:"Internet Explorer",internetarchivecrawler:"InternetArchiveCrawler",k_meleon:"K-Meleon",librewolf:"LibreWolf",linespider:"Linespider",maxthon:"Maxthon",meta_externalads:"Meta-ExternalAds",meta_externalagent:"Meta-ExternalAgent",meta_externalfetcher:"Meta-ExternalFetcher",meta_webindexer:"Meta-WebIndexer",mz:"MZ Browser",naver:"NAVER Whale Browser",oai_searchbot:"OAI-SearchBot",omgilibot:"Omgilibot",opera:"Opera",opera_coast:"Opera Coast",pale_moon:"Pale Moon",perplexitybot:"PerplexityBot",perplexity_user:"Perplexity-User",phantomjs:"PhantomJS",pingdombot:"PingdomBot",puffin:"Puffin",qq:"QQ Browser",qqlite:"QQ Browser Lite",qupzilla:"QupZilla",roku:"Roku",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",slackbot:"SlackBot",sleipnir:"Sleipnir",sogou:"Sogou Browser",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yahooslurp:"YahooSlurp",yandex:"Yandex Browser",yandexbot:"YandexBot",youbot:"YouBot"},t.PLATFORMS_MAP={bot:"bot",desktop:"desktop",mobile:"mobile",tablet:"tablet",tv:"tv"},t.OS_MAP={Android:"Android",Bada:"Bada",BlackBerry:"BlackBerry",ChromeOS:"Chrome OS",HarmonyOS:"HarmonyOS",iOS:"iOS",Linux:"Linux",MacOS:"macOS",PlayStation4:"PlayStation 4",Roku:"Roku",Tizen:"Tizen",WebOS:"WebOS",Windows:"Windows",WindowsPhone:"Windows Phone"},t.ENGINE_MAP={Blink:"Blink",EdgeHTML:"EdgeHTML",Gecko:"Gecko",Presto:"Presto",Trident:"Trident",WebKit:"WebKit"}},90:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(91))&&c.__esModule?c:{default:c},s=i(18);function n(e,t){for(var i=0;i<t.length;i++){var c=t[i];c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(e,c.key,c)}}var a=function(){function e(){}var t,i,c;return e.getParser=function(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),"string"!=typeof e)throw new Error("UserAgent should be a string");return new o.default(e,t,i)},e.parse=function(e,t){return void 0===t&&(t=null),new o.default(e,t).getResult()},t=e,c=[{key:"BROWSER_MAP",get:function(){return s.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return s.ENGINE_MAP}},{key:"OS_MAP",get:function(){return s.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return s.PLATFORMS_MAP}}],(i=null)&&n(t.prototype,i),c&&n(t,c),e}();t.default=a,e.exports=t.default},91:function(e,t,i){t.__esModule=!0,t.default=void 0;var c=r(i(92)),o=r(i(93)),s=r(i(94)),n=r(i(95)),a=r(i(17));function r(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e;var c=!1;"boolean"==typeof t?(c=t,this._hints=i):this._hints=null!=t&&"object"==typeof t?t:null,this.parsedResult={},!0!==c&&this.parse()}var t=e.prototype;return t.getHints=function(){return this._hints},t.hasBrand=function(e){if(!this._hints||!Array.isArray(this._hints.brands))return!1;var t=e.toLowerCase();return this._hints.brands.some(function(e){return e.brand&&e.brand.toLowerCase()===t})},t.getBrandVersion=function(e){if(this._hints&&Array.isArray(this._hints.brands)){var t=e.toLowerCase(),i=this._hints.brands.find(function(e){return e.brand&&e.brand.toLowerCase()===t});return i?i.version:void 0}},t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(c.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA(),this)),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(o.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(s.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(n.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,i={},c=0,o={},s=0;if(Object.keys(e).forEach(function(t){var n=e[t];"string"==typeof n?(o[t]=n,s+=1):"object"==typeof n&&(i[t]=n,c+=1)}),c>0){var n=Object.keys(i),r=a.default.find(n,function(e){return t.isOS(e)});if(r){var l=this.satisfies(i[r]);if(void 0!==l)return l}var d=a.default.find(n,function(e){return t.isPlatform(e)});if(d){var u=this.satisfies(i[d]);if(void 0!==u)return u}}if(s>0){var h=Object.keys(o),f=a.default.find(h,function(e){return t.isBrowser(e,!0)});if(void 0!==f)return this.compareVersion(o[f])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var i=this.getBrowserName().toLowerCase(),c=e.toLowerCase(),o=a.default.getBrowserTypeByAlias(c);return t&&o&&(c=o.toLowerCase()),c===i},t.compareVersion=function(e){var t=[0],i=e,c=!1,o=this.getBrowserVersion();if("string"==typeof o)return">"===e[0]||"<"===e[0]?(i=e.substr(1),"="===e[1]?(c=!0,i=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?i=e.substr(1):"~"===e[0]&&(c=!0,i=e.substr(1)),t.indexOf(a.default.compareVersions(o,i,c))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some(function(e){return t.is(e)})},e}();t.default=l,e.exports=t.default},92:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=/version\/(\d+(\.?_?\d+)+)/i,n=[{test:[/gptbot/i],describe:function(e){var t={name:"GPTBot"},i=o.default.getFirstMatch(/gptbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chatgpt-user/i],describe:function(e){var t={name:"ChatGPT-User"},i=o.default.getFirstMatch(/chatgpt-user\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/oai-searchbot/i],describe:function(e){var t={name:"OAI-SearchBot"},i=o.default.getFirstMatch(/oai-searchbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(e){var t={name:"ClaudeBot"},i=o.default.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(e){var t={name:"Omgilibot"},i=o.default.getFirstMatch(/(?:omgilibot|webzio-extended)\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/diffbot/i],describe:function(e){var t={name:"Diffbot"},i=o.default.getFirstMatch(/diffbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexitybot/i],describe:function(e){var t={name:"PerplexityBot"},i=o.default.getFirstMatch(/perplexitybot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexity-user/i],describe:function(e){var t={name:"Perplexity-User"},i=o.default.getFirstMatch(/perplexity-user\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/youbot/i],describe:function(e){var t={name:"YouBot"},i=o.default.getFirstMatch(/youbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-webindexer/i],describe:function(e){var t={name:"Meta-WebIndexer"},i=o.default.getFirstMatch(/meta-webindexer\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalads/i],describe:function(e){var t={name:"Meta-ExternalAds"},i=o.default.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalagent/i],describe:function(e){var t={name:"Meta-ExternalAgent"},i=o.default.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalfetcher/i],describe:function(e){var t={name:"Meta-ExternalFetcher"},i=o.default.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},i=o.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/linespider/i],describe:function(e){var t={name:"Linespider"},i=o.default.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/amazonbot/i],describe:function(e){var t={name:"AmazonBot"},i=o.default.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/bingbot/i],describe:function(e){var t={name:"BingCrawler"},i=o.default.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/baiduspider/i],describe:function(e){var t={name:"BaiduSpider"},i=o.default.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/duckduckbot/i],describe:function(e){var t={name:"DuckDuckBot"},i=o.default.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ia_archiver/i],describe:function(e){var t={name:"InternetArchiveCrawler"},i=o.default.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{name:"FacebookExternalHit"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe:function(e){var t={name:"SlackBot"},i=o.default.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/yahoo!?[\s/]*slurp/i],describe:function(){return{name:"YahooSlurp"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{name:"YandexBot"}}},{test:[/pingdom/i],describe:function(){return{name:"PingdomBot"}}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},i=o.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/PaleMoon/i],describe:function(e){var t={name:"Pale Moon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:PaleMoon)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},i=o.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},i=o.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},i=o.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},i=o.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},i=o.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},i=o.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},i=o.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},i=o.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},i=o.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},i=o.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},i=o.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},i=o.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},i=o.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return i&&(t.version=i),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},i=o.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},i=o.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},i=o.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},i=o.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},i=o.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},i=o.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/librewolf/i],describe:function(e){var t={name:"LibreWolf"},i=o.default.getFirstMatch(/(?:librewolf)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},i=o.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},i=o.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sogoumobilebrowser/i,/metasr/i,/se 2\.[x]/i],describe:function(e){var t={name:"Sogou Browser"},i=o.default.getFirstMatch(/(?:sogoumobilebrowser)[\s/](\d+(\.?_?\d+)+)/i,e),c=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),s=o.default.getFirstMatch(/se ([\d.]+)x/i,e),n=i||c||s;return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},i=o.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return!!e.hasBrand("DuckDuckGo")||e.test(/\sDdg\/[\d.]+$/i)},describe:function(e,t){var i={name:"DuckDuckGo"};if(t){var c=t.getBrandVersion("DuckDuckGo");if(c)return i.version=c,i}var s=o.default.getFirstMatch(/\sDdg\/([\d.]+)$/i,e);return s&&(i.version=s),i}},{test:function(e){return e.hasBrand("Brave")},describe:function(e,t){var i={name:"Brave"};if(t){var c=t.getBrandVersion("Brave");if(c)return i.version=c,i}return i}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},i=o.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},i=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},i=o.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t={name:"Android Browser"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:o.default.getFirstMatch(t,e),version:o.default.getSecondMatch(t,e)}}}];t.default=n,e.exports=t.default},93:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:[/Roku\/DVP/],describe:function(e){var t=o.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=o.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=o.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),i=o.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:i}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:s.OS_MAP.iOS},i=o.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return i&&(t.version=i),t}},{test:[/macintosh/i],describe:function(e){var t=o.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),i=o.default.getMacOSVersionName(t),c={name:s.OS_MAP.MacOS,version:t};return i&&(c.versionName=i),c}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=o.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:s.OS_MAP.iOS,version:t}}},{test:[/OpenHarmony/i],describe:function(e){var t=o.default.getFirstMatch(/OpenHarmony\s+(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.HarmonyOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t=o.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),i=o.default.getAndroidVersionName(t),c={name:s.OS_MAP.Android,version:t};return i&&(c.versionName=i),c}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=o.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),i={name:s.OS_MAP.WebOS};return t&&t.length&&(i.version=t),i}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=o.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||o.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||o.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=o.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=o.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=o.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=n,e.exports=t.default},94:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:[/googlebot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Google"}}},{test:[/linespider/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Line"}}},{test:[/amazonbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Amazon"}}},{test:[/gptbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/chatgpt-user/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/oai-searchbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/baiduspider/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Baidu"}}},{test:[/bingbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Bing"}}},{test:[/duckduckbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"DuckDuckGo"}}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Anthropic"}}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Webz.io"}}},{test:[/diffbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Diffbot"}}},{test:[/perplexitybot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Perplexity AI"}}},{test:[/perplexity-user/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Perplexity AI"}}},{test:[/youbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"You.com"}}},{test:[/ia_archiver/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Internet Archive"}}},{test:[/meta-webindexer/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalads/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalagent/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalfetcher/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Slack"}}},{test:[/yahoo/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Yahoo"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Yandex"}}},{test:[/pingdom/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Pingdom"}}},{test:[/huawei/i],describe:function(e){var t=o.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",i={type:s.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(i.model=t),i}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),i=e.test(/like (ipod|iphone)/i);return t&&!i},describe:function(e){var t=o.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/Nokia/i],describe:function(e){var t=o.default.getFirstMatch(/Nokia\s+([0-9]+(\.[0-9]+)?)/i,e),i={type:s.PLATFORMS_MAP.mobile,vendor:"Nokia"};return t&&(i.model=t),i}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:[/smart-?tv|smarttv/i],describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:[/netcast/i],describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=n,e.exports=t.default},95:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=o.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},i=o.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},i=o.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=e.test(/gecko/i),i=e.test(/like gecko/i);return t&&!i},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},i=o.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},i=o.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}}];t.default=n,e.exports=t.default}})}(Tx)),Tx.exports),Fx=qh(Dx);var Hx,_x=function(){if(Ix)return Rx;Ix=1,Rx=s,s.default=s,s.stable=l,s.stableStringify=l;var e="[...]",t="[Circular]",i=[],c=[];function o(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function s(e,t,s,n){var r;void 0===n&&(n=o()),a(e,"",0,[],void 0,0,n);try{r=0===c.length?JSON.stringify(e,t,s):JSON.stringify(e,u(t),s)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return r}function n(e,t,o,s){var n=Object.getOwnPropertyDescriptor(s,o);void 0!==n.get?n.configurable?(Object.defineProperty(s,o,{value:e}),i.push([s,o,t,n])):c.push([t,o,e]):(s[o]=e,i.push([s,o,t]))}function a(i,c,o,s,r,l,d){var u;if(l+=1,"object"==typeof i&&null!==i){for(u=0;u<s.length;u++)if(s[u]===i)return void n(t,i,c,r);if(void 0!==d.depthLimit&&l>d.depthLimit)return void n(e,i,c,r);if(void 0!==d.edgesLimit&&o+1>d.edgesLimit)return void n(e,i,c,r);if(s.push(i),Array.isArray(i))for(u=0;u<i.length;u++)a(i[u],u,u,s,i,l,d);else{var h=Object.keys(i);for(u=0;u<h.length;u++){var f=h[u];a(i[f],f,u,s,i,l,d)}}s.pop()}}function r(e,t){return e<t?-1:e>t?1:0}function l(e,t,s,n){void 0===n&&(n=o());var a,r=d(e,"",0,[],void 0,0,n)||e;try{a=0===c.length?JSON.stringify(r,t,s):JSON.stringify(r,u(t),s)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function d(c,o,s,a,l,u,h){var f;if(u+=1,"object"==typeof c&&null!==c){for(f=0;f<a.length;f++)if(a[f]===c)return void n(t,c,o,l);try{if("function"==typeof c.toJSON)return}catch(e){return}if(void 0!==h.depthLimit&&u>h.depthLimit)return void n(e,c,o,l);if(void 0!==h.edgesLimit&&s+1>h.edgesLimit)return void n(e,c,o,l);if(a.push(c),Array.isArray(c))for(f=0;f<c.length;f++)d(c[f],f,f,a,c,u,h);else{var p={},m=Object.keys(c).sort(r);for(f=0;f<m.length;f++){var g=m[f];d(c[g],g,f,a,c,u,h),p[g]=c[g]}if(void 0===l)return p;i.push([l,o,c]),l[o]=p}a.pop()}}function u(e){return e=void 0!==e?e:function(e,t){return t},function(t,i){if(c.length>0)for(var o=0;o<c.length;o++){var s=c[o];if(s[1]===t&&s[0]===i){i=s[2],c.splice(o,1);break}}return e.call(this,t,i)}}return Rx}(),Px=qh(_x);const Vx=Vm("network-monitor",{level:Sm.info}),Bx=Date.now(),Ux=(null===(Hx=window.navigator)||void 0===Hx?void 0:Hx.userAgent)?Fx.parse(window.navigator.userAgent):void 0,jx=(e,t={depthLimit:10,edgesLimit:10})=>e instanceof Event?`'${e.type}' Event`:"string"==typeof e?e:Px(e,void 0,2,t);class qx{constructor(){this.unsubscribableObservers=[],this.runAllChecks=(e,t)=>Rh(this,void 0,void 0,function*(){if(!this.isReady||this.isRunningChecks&&!t)return;Vx.info("Run health checks, triggered by",jx(e),"| Active resources",this.resources.size),this.isRunningChecks=!0,this.synchroniseCheckInterval();let i=this.getFormattedTimestamp(this.getNowTimestamp());const c=yield this.isOnlineCheck();c?Vx.debug(`Network connected at ${i}`):Vx.warn(`Network disconnected at ${i}`);const o=this.normaliseSerializedSocketStatus(this.socketStatus.serialize(),c),s=this.preFlightSocketChecks(o);if(s||Vx.debug("Socket pre-flight checks failed"),!c||!s){Vx.debug("Aborting remaining health checks");const e=[...this.resources].reduce((e,[t,i])=>{const o=e[i.resourceName];return o?(o.sourceRef=[...o.sourceRef,i.message.SOURCE_REF],e):Object.assign(Object.assign({},e),{[i.resourceName]:this.normaliseResourceHealth({name:i.resourceName,sourceRef:[i.message.SOURCE_REF],isConnected:i.isConnected,lastUpdated:i.lastUpdated},c)})},{});return this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:c,resources:e,resourcesAllConnected:!1,socket:o}),void(this.isRunningChecks=!1)}let n=!0;const a=[];this.resources.forEach((e,t)=>{const{resourceName:c,message:o,functions:s}=e,{resourceChecks:r=this.config.resourceChecks,resourceDataLogon:l=this.config.resourceDataLogon}=s,{SOURCE_REF:d}=o;let u,h,f,p,m,g=!1;a.push((()=>Rh(this,void 0,void 0,function*(){var o,s,a;try{Vx.debug(`Running health check against ${c}`);const e=yield Promise.race([r(d,t),(s=this.config.checkTimeout,a=()=>({isConnected:!1,lastUpdated:this.getNowTimestamp(),timeout:!0}),new Promise(e=>{setTimeout(()=>{e(a())},s)}))]);g=e.isConnected,u=e.lastUpdated,h=e.lastMessage,p=e.timeout}catch(e){g=!1,u=this.getNowTimestamp(),f=e,h=null!==(o=null==e?void 0:e.receivedMessage)&&void 0!==o?o:e}return m=(null==h?void 0:h.MESSAGE_TYPE)===lC.MSG_NACK||fC(h,Qz.NOT_FOUND),i=this.getFormattedTimestamp(null!=u?u:this.getNowTimestamp()),g?Vx.debug(`${c} is healthy at ${i}`):Vx.warn(`${c} is not healthy at ${i}`),h&&Vx.debug(`${c} messaged at ${i}`,jx(h)),f&&Vx.error(`${c} errored at ${i}`,jx(f)),p&&Vx.warn(`${c} timed out at ${i}`),m&&(Vx.error(`${c} issue, re-attempting data logon at ${i}`),l(e)),n&&(n=g),{name:c,sourceRef:[d],isConnected:g,lastUpdated:u,lastError:f}}))())});const r=(yield Promise.allSettled(a)).reduce((e,t)=>{if("fulfilled"===t.status){const i=e[t.value.name];return i?(i.sourceRef=[...i.sourceRef,...t.value.sourceRef],e):Object.assign(Object.assign({},e),{[t.value.name]:this.normaliseResourceHealth(t.value)})}return Vx.warn("Unexpected promise rejection occurred. Please check any custom resourceChecks return MonitoredResourceChecksResult."),e},{});Vx.debug("Health checks complete"),this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:c,resources:r,resourcesAllConnected:n,socket:o}),this.isRunningChecks=!1}),void 0!==this.config.logLevel&&(Vx.level=this.config.logLevel)}create(){this.resources?Vx.warn("NetworkMonitor already created. If this is intentional, please call NetworkMonitor.destroy first."):(this.addListeners(),this.resources=new Map,setTimeout(()=>{this.isReady=!0,this.synchroniseCheckInterval(),this.runAllChecks("NetworkMonitor.create()")},this.config.startDelay))}destroy(){this.removeListeners(),clearInterval(this.internalId),this.resources.clear(),this.resources=void 0,this.status=void 0,this.isReady=void 0}isOnlineCheck(){return Promise.resolve(navigator.onLine)}addResource(e,t){this.resources||this.create(),this.resources.set(e,t)}removeResource(e){this.resources.delete(e)}addListeners(){var e,t;null===(e=this.config.windowEvents)||void 0===e||e.forEach(e=>window.addEventListener(e,this.runAllChecks)),null===(t=this.config.documentEvents)||void 0===t||t.forEach(e=>document.addEventListener(e,this.runAllChecks)),this.config.genesisConnectEvents.includes("stream")&&this.unsubscribableObservers.push(this.connectEvents.addStreamListener(({detail:e})=>{const{functions:t,message:i,resourceName:c,stream:o}=e;this.config.ignoredGenesisResources.includes(c)||this.addResource(o,{functions:t,message:i,resourceName:c})},({detail:e})=>{const{resourceName:t,stream:i}=e;this.config.ignoredGenesisResources.includes(t)||this.removeResource(i)},({detail:e})=>{var t;const{resourceName:i,stream:c,error:o}=e,s=null!==(t=o.receivedMessage)&&void 0!==t?t:o;let n="";fC(s,Qz.NOT_FOUND)?n="Please check the resource is running.":fC(s,Qz.FORBIDDEN)&&(n="You are not authorised to access this resource, removing it from monitoring.",this.removeResource(c)),Vx.error(`${i} errored at ${this.getFormattedTimestamp(this.getNowTimestamp())}.`,n,o)})),this.config.genesisConnectEvents.includes("commit")&&this.unsubscribableObservers.push(this.connectEvents.addCommitListener(e=>{this.config.ignoredGenesisResources.includes(e.detail.eventName)||this.runAllChecks(e)})),this.unsubscribableObservers.push(this.connectEvents.addMetadataListener(({detail:e})=>{const{resourceName:t,error:i}=e;i&&Vx.error(`${t} had an unrecoverable error at ${this.getFormattedTimestamp(this.getNowTimestamp())}.`,"Please check the resource is running.",i)}))}removeListeners(){var e,t;null===(e=this.config.windowEvents)||void 0===e||e.forEach(e=>window.removeEventListener(e,this.runAllChecks)),null===(t=this.config.documentEvents)||void 0===t||t.forEach(e=>document.removeEventListener(e,this.runAllChecks)),this.unsubscribableObservers.forEach(e=>e()),this.unsubscribableObservers.length=0}reportSystemHealth(e){var t;const i=null!==(t=this.config.eventEmitter)&&void 0!==t?t:document;this.status=this.normaliseEventDetail(e);(this.status.isHealthy?Vx.debug:Vx.warn)("Emitting 'system-health-changed' event",jx(this.status)),null==i||i.dispatchEvent(new CustomEvent($x,{detail:this.status,bubbles:i!==document,composed:!0})),this.status.socket.reconnectionLimitReached&&(Vx.debug("Network monitoring no longer required. Please check your network and reload your application."),this.destroy())}reportStabilityToGenesis(e){return Rh(this,void 0,void 0,function*(){return Vx.debug("User requested report stability to Genesis."),Vx.info("Please attach this data to your Genesis Support request: \n",JSON.stringify(e,null,2)),!0})}normaliseResourceHealth(e,t=!0){var i;const c=!!t&&e.isConnected,o=null!==(i=e.lastUpdated)&&void 0!==i?i:this.getNowTimestamp();return Object.assign(Object.assign({},e),{isConnected:c,lastUpdated:o})}normaliseSerializedSocketStatus(e,t=!0){const i=!!t&&e.isConnected,c=!i;return Object.assign(Object.assign({},e),{isConnected:i,isDisconnected:c})}normaliseEventDetail(e){var t,i,c,o;const s=!!((null===(t=e.socket)||void 0===t?void 0:t.isConfigured)?e.isOnline&&(null===(i=e.socket)||void 0===i?void 0:i.isConnected)&&e.resourcesAllConnected:e.isOnline),n=null!==(c=e.lastUpdated)&&void 0!==c?c:this.getNowTimestamp(),a=null!==(o=e.nextUpdate)&&void 0!==o?o:this.getNextTimestamp(),r=e.isAuthenticated&&this.user?this.user.username:void 0,l=Object.assign(Object.assign({},e),{browserInformation:Ux,username:r,isHealthy:s,lastUpdated:n,nextUpdate:a,firstUpdated:Bx,runAllChecks:()=>{Vx.debug("User activated run checks command starting."),this.runAllChecks("user requested")},reportStabilityToGenesis:()=>this.reportStabilityToGenesis(l)});return l}preFlightSocketChecks(e){if(!e.isConfigured)return Vx.debug("Socket not configured"),!1;if(e.isReconnecting)return Vx.debug("Socket reconnecting"),!1;if(e.isConnecting)return Vx.debug("Socket connecting"),!1;if(e.isDisconnected){const t=e.isDisconnectedByServer?`by the server, code: ${e.closedCode}, reason: ${e.closedReason}`:"";return Vx.debug(`Socket disconnected ${t}`),e.reconnectionLimitReached&&Vx.debug("Socket reconnection limit reached"),!1}const t=this.user.isAuthenticated?"with":"without";return Vx.debug(`Socket connected ${t} valid session`),!0}getFormattedTimestamp(e){return Tg(e)}getNowTimestamp(){return Date.now()}getNextTimestamp(){return new Date(Date.now()+this.config.checkInterval).getTime()}synchroniseCheckInterval(){clearInterval(this.internalId),this.internalId=setInterval(()=>this.runAllChecks("check interval"),this.config.checkInterval)}}Oh([Ax],qx.prototype,"config",void 0),Oh([FL],qx.prototype,"socketStatus",void 0),Oh([jz],qx.prototype,"connectEvents",void 0),Oh([Rz],qx.prototype,"user",void 0),Oh([b],qx.prototype,"status",void 0);const Gx=mt.createInterface(e=>e.singleton(qx)),Wx={account:"genesis",namespace:"default",authKey:"kv-default",authEmail:void 0},Yx=mt.createInterface();var Kx,Zx;!function(e){e.REQ_KEY_VALUE_LIST="REQ_KEY_VALUE_LIST",e.REQ_KEY_VALUE_READ="REQ_KEY_VALUE_READ"}(Kx||(Kx={})),function(e){e.EVENT_KEY_VALUE_PUT="EVENT_KEY_VALUE_PUT",e.EVENT_KEY_VALUE_DELETE="EVENT_KEY_VALUE_DELETE"}(Zx||(Zx={}));let Qx=class{constructor(e,t,i=Wx){this.connect=e,this.user=t,this.kvStorageConfig=i}delete(e){return Rh(this,void 0,void 0,function*(){const t={DETAILS:{KEYS:e}},i=yield this.connect.commitEvent(Zx.EVENT_KEY_VALUE_DELETE,t);return!(!i||"EVENT_ACK"!==i.MESSAGE_TYPE)||{ERROR:i.ERROR,WARNING:i.WARNING}})}get(e){return Rh(this,void 0,void 0,function*(){var t;const i={REQUEST:{USER_NAME:null!==(t=this.kvStorageConfig.authEmail)&&void 0!==t?t:this.user.userName,KEY:e}},c=yield this.connect.request(Kx.REQ_KEY_VALUE_READ,i);if(c&&c.REPLY&&c.REPLY.length>0){const t=c.REPLY.map(e=>{const t=this.getDecodedValue(e.VALUE);return{kv:{key:e.KEY,value:t}}});return e?t[0]:t}return e?void 0:[]})}getDecodedValue(e){e.startsWith("str:")||e.startsWith("bin:")||(e=`str:${e}`);let t=gg(e);return"string"==typeof t&&t.startsWith("str:")&&(t=gg(t)),"string"==typeof t&&t.startsWith("bin:")&&(t=gg(t)),t}list(){return Rh(this,void 0,void 0,function*(){var e;const t={REQUEST:{USER_NAME:null!==(e=this.kvStorageConfig.authEmail)&&void 0!==e?e:this.user.userName}},i=yield this.connect.request(Kx.REQ_KEY_VALUE_LIST,t);if(i&&i.REPLY&&i.REPLY.length>0){return i.REPLY.map(e=>e.KEY)}return[]})}put(e){return Rh(this,void 0,void 0,function*(){const t={DETAILS:{RECORDS:e.map(e=>({KEY:e.key,VALUE:e.base64?vg(e.value):e.value}))}},i=yield this.connect.commitEvent(Zx.EVENT_KEY_VALUE_PUT,t);return!(!i||"EVENT_ACK"!==i.MESSAGE_TYPE)||{ERROR:i.ERROR,WARNING:i.WARNING}})}};Qx=Oh([Th(0,GL),Th(1,Rz),Th(2,yt(Yx))],Qx),mt.createInterface(e=>e.singleton(Qx));class Xx{constructor(){this.isWorking=!1,this.loggedUserResult=null,this.currentUser=null,this.isLoggedIn=!1,this.isLoggedInSubject=new Db(!1)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}login(e){return Rh(this,void 0,void 0,function*(){return Promise.resolve(this.nextLoginResult)})}logout(){return Rh(this,void 0,void 0,function*(){return Promise.resolve(this.nextLogoutResult)})}reAuthFromSession(){return Rh(this,void 0,void 0,function*(){return Promise.resolve(this.nextReAuthResult)})}setTestUser(e={}){this.currentUser=new Tz,this.currentUser.set(Object.assign({userName:"JaneDee",profile:["USER"],permission:["CreateRules"]},e)),this.isLoggedIn=!0,this.isLoggedInSubject.next(!0)}resetTestUser(){this.currentUser=null,this.isLoggedIn=!1,this.isLoggedInSubject.next(!1)}}Oh([b],Xx.prototype,"isWorking",void 0),Oh([b],Xx.prototype,"loggedUserResult",void 0),Oh([b],Xx.prototype,"currentUser",void 0),Oh([b],Xx.prototype,"isLoggedIn",void 0);class Jx{constructor(){this.fetchMetadataRequired=!0,this.fetchingMetadata=!1,this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.customRequestFields=[],this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.criteriaOnlyRequest=!1}init(e,t){return Promise.resolve(this.initialized)}startStream(){return Promise.resolve()}setMetadata(e){var t,i,c;this.availableIndexes=null!==(t=e.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(i=e.SORTABLE_FIELDS)&&void 0!==i?i:[],this.availableCriteriaFields=null!==(c=e.CRITERIA_FIELDS)&&void 0!==c?c:[],this.originalFieldDef=Bz(e),this.fieldMetadata=Vz(this.originalFieldDef),this.requestFields=e.REQUEST_FIELD||[],this.customRequestFields=e.FIELD||[],this.fetchMetadataRequired=!1}unsetMedata(){this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.fetchMetadataRequired=!0}setStream(e){this.stream=Ey(Promise.resolve(e))}unsetStream(){this.stream=void 0}deinit(){}destroy(){}validResourceName(e){return!!e&&!!e.trim().length}getMetadata(e){return Promise.resolve(this.fieldMetadata)}snapshot(e){return Promise.resolve(null)}snapshotFiltered(e){return Promise.resolve(null)}updateData(e){return Promise.resolve()}dataHandler(e){return[]}addView(e){}dropView(e){}setFilter(e,t,i){return Promise.resolve()}clearFilter(e){return Promise.resolve()}createItem(e){return Promise.resolve("")}deleteItem(e){return Promise.resolve()}updateItem(e,t){return Promise.resolve()}get dataserverOnlyParams(){return{}}get requestOnlyParams(){return{}}updateLoadMoreCount(e){}}Oh([b],Jx.prototype,"status",void 0),Oh([b],Jx.prototype,"fetchMetadataRequired",void 0),Oh([b],Jx.prototype,"originalFieldDef",void 0),Oh([b],Jx.prototype,"fieldMetadata",void 0),Oh([b],Jx.prototype,"requestFields",void 0),Oh([b],Jx.prototype,"customRequestFields",void 0),Oh([b],Jx.prototype,"availableIndexes",void 0),Oh([b],Jx.prototype,"availableSortableFields",void 0),Oh([b],Jx.prototype,"availableCriteriaFields",void 0),Oh([b],Jx.prototype,"criteriaOnlyRequest",void 0),mt.createInterface(e=>e.aliasTo(Rz));const eM=Vm("foundation-ui");class tM extends(yx(Wt)){constructor(){super(...arguments),this.withGridInit=!0,this.isSnapshot=!1,this.maxRows=gx.MAX_ROWS_250,this.maxView=gx.MAX_VIEW_1000,this.resourceName="",this.reverse=!1,this.rowId="ROW_REF",this.withTimestampFormatting=!0,this.requiresFullDataRefresh=!0,this.rowsSyncedWithStream=new Map,this.dataSubWasLoggedOff=!1,this.criteriaFromFilters=new Map,this.update=new Db(new Map),this.fetchGeneration=0}criteriaChanged(e,t){const i=e!==Ex(t,";");this.refetchIfInitializedAndChanged(i)}dataChanged(e){e&&(this.clearData(),this.reset())}requestChanged(e,t){const i=JSON.stringify(e)!==JSON.stringify(t);this.refetchIfInitializedAndChanged(i)}refetchIfInitializedAndChanged(e){this.datasource.initialized&&e&&this.fetchGenesisData(null)}set datasourceConfig(e){e&&Object.keys(e).forEach(t=>{void 0!==e[t]&&(this[t]=e[t])})}disconnectedCallback(){var e,t;super.disconnectedCallback(),this.clearData(),null===(e=this.dataSub)||void 0===e||e.unsubscribe(),null===(t=this.update)||void 0===t||t.unsubscribe(),delete this.dataSub,delete this.update,this.datasource.destroy(),delete this.datasource}reset(){this.requiresFullDataRefresh=!0,this.fetchGenesisData()}fetchGenesisData(){return Rh(this,arguments,void 0,function*(e=!0){var t;null===(t=this.dataSub)||void 0===t||t.unsubscribe(),this.dataSub=void 0,this.fetchGeneration+=1;const i=this.fetchGeneration,c=()=>i!==this.fetchGeneration;if(this.data)return void this.syncComponentData(this.data);const o=e||!this.datasource.initialized;o||(this.connect.dataLogoff(this.sourceRef),this.clearData());const s=yield this.datasource.init(this.datasourceOptions(),o);if(!c())if(s){if(this.isSnapshot){const e=yield this.datasource.snapshotFiltered();if(c())return;return void this.syncComponentData(e)}eM.debug(`requesting stream for ${this.resourceName}`),this.dataSub=this.datasource.stream.subscribe(e=>{if(c())return;e.DISCONNECTED&&this.handleError({message:`Genesis Datasource disconnected for ${this.resourceName}`,loggerType:"error"}),this.sourceRef=e.SOURCE_REF;const t=e.MESSAGE_TYPE;if(t&&t===lC.LOGOFF_ACK)this.dataSubWasLoggedOff=!0;else if(this.dataSubWasLoggedOff=!1,e.ROW){const t=mx(e);this.handleStreamUpdate(t)}else this.handleStreamUpdate(e)})}else this.handleError({message:`Genesis Datasource init failed for ${this.resourceName}`,loggerType:"error"})})}initDatasource(){return Rh(this,void 0,void 0,function*(){yield this.datasource.init(this.datasourceOptions(),!0)})}datasourceOptions(){return{criteria:this.buildCriteria(),fields:this.fields,isSnapshot:this.isSnapshot,orderBy:this.orderBy,resourceName:this.resourceName,request:this.request,reverse:this.reverse,maxRows:this.maxRows,maxView:this.maxView}}handleStreamUpdate(e){if(!e)return;e.hasOwnProperty("REPLY")?this.applyRequestServerData(e):this.applyDataserverData(e)}applyRequestServerData(e){var t,i;if(!Array.isArray(e.REPLY)||!(null===(t=e.MESSAGE_TYPE)||void 0===t?void 0:t.startsWith("REP_")))return void this.handleError({message:"received invalid RequestServerResult",loggerType:"error",loggerArgs:[e]});if(this.requiresFullDataRefresh){"ROW_REF"!==this.rowId&&(null===(i=e.REPLY)||void 0===i||i.forEach(e=>{this.rowsSyncedWithStream.set(e[this.rowId],e)}));const t=this.rowsSyncedWithStream.size>0?Array.from(this.rowsSyncedWithStream.values()):e.REPLY;return void this.syncComponentData(t)}this.handleStreamInserts(e.REPLY);const c=Array.from(this.rowsSyncedWithStream.values()).filter(t=>!e.REPLY.includes(t));this.handleStreamDeletes(c)}applyDataserverData(e){var t,i,c,o;if(this.requiresFullDataRefresh){null===(t=e.inserts)||void 0===t||t.forEach(e=>{this.rowsSyncedWithStream.set(e[this.rowId],e)});const i=Array.from(this.rowsSyncedWithStream.values());return void this.syncComponentData(i)}(null===(i=e.inserts)||void 0===i?void 0:i.length)>0&&this.handleStreamInserts(e.inserts),(null===(c=e.deletes)||void 0===c?void 0:c.length)>0&&this.handleStreamDeletes(e.deletes),(null===(o=e.updates)||void 0===o?void 0:o.length)>0&&this.handleStreamUpdates(e.updates)}buildCriteria(){var e;return Ex(((null===(e=this.criteria)||void 0===e?void 0:e.split(";"))||[]).join(" && "),";")}setFilter(e,t){this.criteriaFromFilters.set(e,t),this.update.next(this.criteriaFromFilters)}removeFilter(e){this.criteriaFromFilters.delete(e),this.update.next(this.criteriaFromFilters)}handleError(e={}){const{message:t,loggerType:i,loggerArgs:c=[]}=e;t&&eM[i](t,...c)}getFieldMetadata(e){var t;return null===(t=this.datasource.fieldMetadata)||void 0===t?void 0:t.find(t=>t.name===e)}getDefaultLabelFormat(e,t){return t===Fz.DATE||t===Fz.DATETIME?Rg(e,t===Fz.DATETIME):e}}Oh([GL],tM.prototype,"connect",void 0),Oh([Sx],tM.prototype,"datasource",void 0),Oh([de({mode:"boolean"})],tM.prototype,"withGridInit",void 0),Oh([de],tM.prototype,"criteria",void 0),Oh([b],tM.prototype,"data",void 0),Oh([de],tM.prototype,"fields",void 0),Oh([de({mode:"boolean"})],tM.prototype,"isSnapshot",void 0),Oh([de],tM.prototype,"maxRows",void 0),Oh([de],tM.prototype,"maxView",void 0),Oh([de],tM.prototype,"orderBy",void 0),Oh([de],tM.prototype,"request",void 0),Oh([de],tM.prototype,"resourceName",void 0),Oh([de({mode:"boolean"})],tM.prototype,"reverse",void 0),Oh([de],tM.prototype,"rowId",void 0),Oh([de({mode:"boolean",attribute:"with-timestamp-formatting"})],tM.prototype,"withTimestampFormatting",void 0);const iM=(e,t)=>!e.composedPath().includes(t),cM=(e,t)=>e.composedPath().includes(t),oM=e=>e.tagName.toLowerCase().split("-")[0];const sM=Vm("foundation-criteria");var nM;!function(e){e.AND="&&",e.OR="||",e.NOT="!",e.GT=">",e.GE=">=",e.LT="<",e.LE="<=",e.NE="!=",e.EQ="=="}(nM||(nM={}));class aM{constructor(e){this.$$operator=e}static And(){return new aM(nM.AND)}static Or(){return new aM(nM.OR)}static Not(){return new aM(nM.NOT)}static GreaterThan(){return new aM(nM.GT)}static GreaterThanOrEqual(){return new aM(nM.GE)}static LessThan(){return new aM(nM.LT)}static LessThanOrEqual(){return new aM(nM.LE)}static NotEqual(){return new aM(nM.NE)}static Equal(){return new aM(nM.EQ)}get operator(){return this.$$operator}}const rM=e=>{const{value:t}=e;return e.valueGetter?e.valueGetter(t):"function"==typeof t?t(e):Array.isArray(t)?t.join(","):"string"==typeof t?`"${t}"`:t},lM=e=>t=>`${t.field} ${e} ${rM(t)}`,dM={AND:e=>lM(nM.AND)(e),OR:e=>lM(nM.OR)(e),NOT:e=>lM(nM.NOT)(e),GT:e=>lM(nM.GT)(e),GE:e=>lM(nM.GE)(e),LT:e=>lM(nM.LT)(e),LE:e=>lM(nM.LE)(e),NE:e=>lM(nM.NE)(e),EQ:e=>lM(nM.EQ)(e),equals:e=>`${e.field}.equals(${rM(e)})`,equalsIgnoreCase:e=>`${e.field}.equalsIgnoreCase(${rM(e)})`,contains:e=>`Expr.contains(${e.field}, ${rM(e)})`,fieldContains:e=>`${e.field}.contains(${rM(e)})`,containsIgnoreCase:e=>`Expr.containsIgnoreCase(${e.field}, ${rM(e)})`,startsWith:e=>`${e.field}.startsWith(${rM(e)})`,endsWith:e=>`${e.field}.endsWith(${rM(e)})`,dateIsToday:e=>`Expr.dateIsToday(${e.field})`,dateIsEqual:e=>`Expr.dateIsEqual(${e.field}, ${rM(e)})`,dateIsGreaterEqual:e=>`Expr.dateIsGreaterEqual(${e.field}, ${rM(e)})`,dateIsLessEqual:e=>`Expr.dateIsLessEqual(${e.field}, ${rM(e)})`,dateTimeIsGreaterEqual:e=>`Expr.dateTimeIsGreaterEqual(${e.field}, ${rM(e)})`,dateTimeIsLessEqual:e=>`Expr.dateTimeIsLessEqual(${e.field}, ${rM(e)})`},uM=e=>Array.isArray(e)?e:[e],hM="default";class fM{constructor(){this.expressions={},this.And=(e,t={})=>this.withExpression(e,t,aM.And()),this.Or=(e,t={})=>this.withExpression(e,t,aM.Or()),this.Not=(e,t={})=>this.withExpression(e,t,aM.Not())}withExpression(e,t={},i=aM.And()){const{condition:c,join:o,groupName:s}=t,n=(e,t=hM)=>{var s;const n=null!==(s=this.expressions[t])&&void 0!==s?s:[];this.expressions[t]=[...n,{join:i||o,condition:c,expression:e}]};if(Array.isArray(e))if(o){const t=e.filter(e=>{const t=e instanceof aM;return t&&sM.warn("Inline joins will be discarded when join is defined in ExpressionOptions"),!t});if(s)t.forEach(e=>{n(e,s)});else{const e=(a=o,t.flat().flatMap((e,t,i)=>i.length-1!==t?[e,a]:e));n(e,hM)}}else n(e,hM);else n(e,"string"==typeof e?hM:e.group);var a;return this}build(e){const t=Object.entries(this.expressions).reduce((e,[t,i])=>Object.assign(Object.assign({},e),{[t]:`(${i.filter(({condition:e})=>!e||e()).map(({expression:e,join:t},i,c)=>this.parseExpression(e,c[i-1],t)).join("")})`}),{});return e?e(t):`(${Object.values(t).join(" && ")})`}reset(){this.expressions={}}parseExpression(e,t,i){const c=[];return i&&t&&c.push(` ${i.operator} `),"string"==typeof e?c.push(e):Array.isArray(e)?(e.forEach((e,t,i)=>{if(e instanceof aM){if(i[t-1]instanceof aM)throw new Error("Adjacent Join operations detected")}}),c.push(`(${e.map(e=>this.parseExpression(e,void 0)).join("")})`)):e instanceof aM?c.push(` ${e.operator} `):e&&c.push(e.serialiser(e)),c.join("")}}class pM{constructor(e){this.serialiser=dM.EQ,this.build=()=>{if(!this.field)throw new Error("Missing required param 'field'");if(void 0===this.value)throw new Error("Missing required param 'value'");if(!this.serialiser)throw new Error("Missing required param 'serialise'");return{field:this.field,value:this.value,serialiser:this.serialiser,params:this.params,valueGetter:this.valueGetter,group:this.group}},e&&(this.field=e.field,this.value=e.value,this.serialiser=e.serialiser,this.params=e.params,this.valueGetter=e.valueGetter,this.group=e.group)}withField(e){return this.field=e,this}withValue(e){return this.value=e,this}withSerialiser(e){return this.serialiser=e,this}withParams(e){return this.params=e,this}withValueGetter(e){return this.valueGetter=e,this}withGroup(e){return this.group=e,this}}let mM=class extends ze{constructor(){super(...arguments),this.criteriaOptions=[],this.createCriteria=e=>{const t=new fM,{field:i,serialiser:c,value:o}=e;return Array.isArray(i)||Array.isArray(o)?t.And(uM(o).map(e=>uM(i).map(t=>(new pM).withField(t).withValue(e).withSerialiser(c).build())),{join:aM.Or()}):t.And((new pM).withField(i).withValue(o).withSerialiser(c).build()),t}}valueChanged(){this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}selectedLabelChanged(){const e=this.criteriaOptions.find(e=>e.label===this.selectedLabel);this.value=e?this.createCriteria(e).build():""}itemClickHandler(e){this.selectedLabel===e&&(this.selectedLabel=void 0)}};function gM(e,t){var i;const c=new fM;c.withExpression((new pM).withField(null!==(i=e.labelField)&&void 0!==i?i:e.valueField).withValue(t).withSerialiser(dM.containsIgnoreCase).build()),e.baseCriteria?e.criteria=`${e.baseCriteria} && ${c.build()}`:e.criteria=c.build()}Oh([b],mM.prototype,"criteriaOptions",void 0),Oh([b],mM.prototype,"prefix",void 0),Oh([b],mM.prototype,"value",void 0),Oh([b],mM.prototype,"selectedLabel",void 0),mM=Oh([Ce({name:"criteria-segmented-control",template:((e="rapid")=>K`<${e}-segmented-control :value="${fg(e=>e.selectedLabel)}"><slot name="label" slot='label'></slot>${We(e=>e.criteriaOptions,K`<${e}-segmented-item @click=${(e,t)=>t.parent.itemClickHandler(e.label)}value=${e=>e.label}>${e=>e.label}</${e}-segmented-item>`)}</${e}-segmented-control>`)(),styles:Me``})],mM);const vM=(e,t,i)=>K`<${t}-icon tooltip="${()=>e}" name="${()=>i}"></${t}-icon>`,bM=e=>K`<${e}-button id="actiosnMenuTrigger" class="actions-opener${e=>e.open?" opened":""}" appearance="${e=>e.buttonAppearance}" part="actions-opener" @click=${e=>e.toggleActionsMenuVisibility()}>${e=>e.open?"✖":K` ${e.name} `}</${e}-button><${e}-menu ${Fe("actionsMenu")}class="actions-menu ${e=>e.classNames}" part="actions-menu">${We(e=>e.allActions,K` ${Ve((e,t)=>e.isDisabled&&e.isDisabled(t.parent.rowData),K`<${e}-menu-item class="menu-item" tabindex="${(e,t)=>t.index}" disabled style=${(e,t)=>t.parent.hideDisabled?"display:none":""}>${(e,t)=>t.parent.getLabel(e.name)}</${e}-menu-item>`)} ${Ve((e,t)=>!e.isDisabled||!e.isDisabled(t.parent.rowData),K`<${e}-menu-item class="menu-item" tabindex="${(e,t)=>t.index}" @click=${(e,t)=>t.parent.onActionMenuItemClick(e.callback)}style="${e=>e.color?`color: ${e.color};`:""}">${(e,t)=>t.parent.getLabel(e.name)}</${e}-menu-item>`)} `,{positioning:!0})}</${e}-menu>`,yM=K`<div class="actions-container${e=>e.isVertical?" actions-vertical":""}" part="actions-container">${e=>e.getTemplate(oM(e))}</div>`;class zM extends Wt{constructor(){super(...arguments),this.isVertical=!1,this.addDefaultActions=!0,this.autoCloseOnAction=!0,this.name="Actions",this.open=!1,this.hideDisabled=!1,this.hideMenuSingleOption=!1}definitionChanged(e,t){var i;this.actions=null!==(i=null==t?void 0:t.actions)&&void 0!==i?i:[],delete this.definition.actions,t.buttonText&&(this.name=t.buttonText,delete this.definition.customButtonText),t.isVertical&&(this.isVertical=t.isVertical,delete this.definition.isVertical),t.buttonAppearance&&(this.buttonAppearance=t.buttonAppearance,delete this.definition.buttonAppearance),t.hideMenuSingleOption&&(this.hideMenuSingleOption=t.hideMenuSingleOption,delete this.definition.hideMenuSingleOption)}openChanged(){this.classNames=ti(["visible",this.open],["hidden",!this.open])}toggleActionsMenuVisibility(){this.open=!this.open}onActionMenuItemClick(e){this.autoCloseOnAction&&(this.open=!1),e(this.rowData)}get allActions(){var e;const t=[{name:"✖",callback:()=>this.open=!1}];return this.addDefaultActions?[...null!==(e=this.actions)&&void 0!==e?e:[],...t]:this.actions}get rowData(){if(!this.definition)return;const{node:e,data:t}=this.definition;return(null==e?void 0:e.data)||t}getLabel(e){return"function"==typeof e?e(this.rowData):e}getTemplate(e){if(!this.hideMenuSingleOption)return bM(e);const t=this.actions.filter(e=>!e.isDisabled||!e.isDisabled(this.rowData));return this.singleOption=null,0!==t.length?1===t.length?(this.singleOption=t[0],(e=>K`<${e}-button appearance="${e=>e.buttonAppearance}" part="actions-opener" class="actions-opener" @click=${e=>null==e?void 0:e.singleOption.callback(e.rowData)}?disabled=${e=>(null==e?void 0:e.singleOption.isDisabled)&&(null==e?void 0:e.singleOption.isDisabled(e.rowData))}>${e=>e.getLabel(null==e?void 0:e.singleOption.name)}</${e}-button>`)(e)):bM(e):void 0}}Oh([b],zM.prototype,"actions",void 0),Oh([de({attribute:"is-vertical",mode:"boolean"})],zM.prototype,"isVertical",void 0),Oh([de({attribute:"add-default-actions",mode:"boolean"})],zM.prototype,"addDefaultActions",void 0),Oh([de({attribute:"auto-close-on-action",mode:"boolean"})],zM.prototype,"autoCloseOnAction",void 0),Oh([b],zM.prototype,"classNames",void 0),Oh([b],zM.prototype,"definition",void 0),Oh([de],zM.prototype,"name",void 0),Oh([de({attribute:"open",mode:"boolean"})],zM.prototype,"open",void 0),Oh([de],zM.prototype,"buttonAppearance",void 0),Oh([de({attribute:"hide-disabled",mode:"boolean"})],zM.prototype,"hideDisabled",void 0),Oh([de({attribute:"hide-menu-single-option",mode:"boolean"})],zM.prototype,"hideMenuSingleOption",void 0),Oh([b],zM.prototype,"singleOption",void 0),zM.compose({baseName:"actions-menu",styles:(e,t)=>Me` ${kh()}`,template:yM});let CM=!1;try{"undefined"!=typeof GENX_ENABLE_AI&&(CM="true"===GENX_ENABLE_AI)}catch(Hx){}const LM=()=>CM||bg("ai");function xM(){return"undefined"!=typeof window&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)}Vm("foundation-ai");class MM{getStatus(){return Rh(this,void 0,void 0,function*(){return{provider:"none",model:""}})}interpretCriteria(e,t){return Rh(this,void 0,void 0,function*(){return null})}}class wM{constructor(){this.noopProvider=new MM}get(e){return e===wM.DEFAULT_NAME?this.noopProvider:void 0}default(){return this.noopProvider}defaultName(){return wM.DEFAULT_NAME}names(){return[wM.DEFAULT_NAME]}getStatus(e){return Rh(this,void 0,void 0,function*(){var t,i,c;return void 0!==e&&e!==wM.DEFAULT_NAME?null:null!==(c=yield null===(i=(t=this.noopProvider).getStatus)||void 0===i?void 0:i.call(t))&&void 0!==c?c:null})}listStatuses(){return Rh(this,void 0,void 0,function*(){var e,t,i;const c=null!==(i=yield null===(t=(e=this.noopProvider).getStatus)||void 0===t?void 0:t.call(e))&&void 0!==i?i:null;return[{name:wM.DEFAULT_NAME,isDefault:!0,status:c}]})}}wM.DEFAULT_NAME="default";const SM=mt.createInterface(e=>e.singleton(wM)),kM=Me` :host{display: block;width: 800px}.ai-criteria-search{display: flex;flex-direction: column;gap: calc(${fr} * 2px)}.ai-criteria-search-row{display: flex;flex-direction: row;gap: calc(${fr} * 2px);align-items: center}.criteria-input{height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) - 4) * 1px);flex: 1;min-width: 0}.criteria-chips-inline{height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) - 4) * 1px);flex: 1;min-width: 0;display: flex;align-items: center;gap: calc(${fr} * 1px);overflow-x: auto;padding: 0 calc(${fr} * 2px);background: var(--neutral-fill-input-rest);border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);border-radius: calc(var(--control-corner-radius) * 1px);scrollbar-width: none}.criteria-chips-inline::-webkit-scrollbar{display: none}.mic-icon{color: var(--neutral-foreground-rest);fill: currentColor}.criteria-toggle-button, .criteria-clear-button{flex-shrink: 0}.criteria-chip{display: inline-flex;align-items: center;flex-shrink: 0;gap: calc(${fr} * 1px);padding: calc(${fr} * 0.5px) calc(${fr} * 2px);background: var(--neutral-fill-rest);border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);border-radius: calc(${fr} * 4px);font-size: var(--type-ramp-minus-1-font-size);color: var(--neutral-foreground-rest);white-space: nowrap}.criteria-chip-field{font-weight: 600}.criteria-chip-operator{color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));font-style: italic}.criteria-chip-remove{display: inline-flex;align-items: center;justify-content: center;width: 14px;height: 14px;padding: 0;margin-left: calc(${fr} * 0.5px);background: none;border: none;cursor: pointer;color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));font-size: 10px;border-radius: 50%;line-height: 1}.criteria-chip-remove:hover{background: var(--neutral-fill-hover);color: var(--neutral-foreground-rest)}`,EM=K` ${e=>(e=>K` ${Ve(()=>LM(),K`<div class="ai-criteria-search"><div class="ai-criteria-search-row">${Ve(e=>!e.showingChips,K`<${e}-text-area ${Fe("textAreaRef")}class="criteria-input" placeholder="${e=>e.placeholder}" ?disabled=${e=>e.disabled||e.isInterpreting}:value=${fg(e=>e.inputValue,"string","input")}@blur=${e=>e.handleBlur()}rows="1"></${e}-text-area>`)} ${Ve(e=>e.showingChips,K`<div class="criteria-chips-inline">${We(e=>e.criteriaChips,K`<span class="criteria-chip"><span class="criteria-chip-field">${e=>e.fieldLabel}</span><span class="criteria-chip-operator">${e=>e.operatorLabel}</span>${Ve(e=>!!e.valueLabel,K`<span class="criteria-chip-value">${e=>e.valueLabel}</span>`)}<button class="criteria-chip-remove" aria-label="Remove filter" @click=${(e,t)=>t.parent.removeChip(e.groupIndex,e.clauseIndex)}>
58
58
  &#x2715;