@genesislcap/foundation-rapid-cdn 15.13.1 → 15.14.0-FUI-2595.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 Fd(e,t,i,o){var c,s=arguments.length,n=s<3?t:null===o?o=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>`)(bp(e,"rapid").prefix)} `,styles:Ce` .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%}}`})],Xv);class Jv{constructor(){this.pathHistory=[],this.actionHistory=[],this.isAuthenticated=!1,this.authenticationChangeListeners=mp()}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,o=`${`${"/"!==e?e:""}`}${t}${i}`;if(!this.config.trackPathExclusions.includes(o))return this.pathHistory.push(o),o}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=pt.getOrCreateDOMContainer().get(fp);t.postMessage("user-authentication-change",this.isAuthenticated),t.close()}userNameChanged(){m.notify(this,"username")}get username(){return m.track(this,"username"),this.userName}permissionChanged(){m.notify(this,"permissions")}get permissions(){return m.track(this,"permissions"),this.permission}profileChanged(){m.notify(this,"profiles")}get profiles(){return m.track(this,"profiles"),this.profile}hasAdminProfile(){return this.isAdmin()}}Nu([pp],Jv.prototype,"config",void 0),Nu([g],Jv.prototype,"pathHistory",void 0),Nu([g],Jv.prototype,"actionHistory",void 0),Nu([g],Jv.prototype,"isAuthenticated",void 0),Nu([g],Jv.prototype,"userKVs",void 0),Nu([g],Jv.prototype,"details",void 0),Nu([g],Jv.prototype,"permission",void 0),Nu([g],Jv.prototype,"profile",void 0),Nu([g],Jv.prototype,"sourceRef",void 0),Nu([g],Jv.prototype,"userName",void 0),Nu([g],Jv.prototype,"rawProperties",void 0);const eb=pt.createInterface(e=>e.singleton(Jv));class tb{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map,this.cachedResources=null,this.cachedRequests=new Map}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}getRequestFor(e){return this.cachedRequests.get(e)}hasRequestFor(e){return this.cachedRequests.has(e)}setRequestFor(e,t){this.cachedRequests.set(e,t)}}const ib=pt.createInterface(e=>e.singleton(tb));var ob;!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"}(ob||(ob={}));const cb={STRING:ob.STRING,ENUM:ob.ENUM,BOOLEAN:ob.BOOLEAN,INT:ob.NUMBER,LONG:ob.NUMBER,DOUBLE:ob.NUMBER,BIGDECIMAL:ob.NUMBER,DATE:ob.DATE,DATETIME:ob.DATETIME,NANO_TIMESTAMP:ob.NANO_TIMESTAMP};var sb;!function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(sb||(sb={}));const nb="datasource-status-changed",ab=e=>e?e.map(e=>{const t={name:e.NAME,type:cb[e.TYPE]||ob.STRING};if(e.TYPE===ob.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){cp.error(e),t.enumOptions=[]}return t}):null,rb=e=>{var t;const i=null==e?void 0:e.TYPE;if(i===sb.DATASERVER)return e.FIELD||[];if(i===sb.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 lb{constructor(){this.streamListeners=mp(),this.streamCompleteListeners=mp(),this.streamErrorListeners=mp(),this.commitListeners=mp(),this.metadataListeners=mp(),this.commitResponseListeners=mp()}addStreamListener(e,t,i){var o,c,s;const n=null===(o=this.streamListeners)||void 0===o?void 0:o.subscribe(e),a=null===(c=this.streamCompleteListeners)||void 0===c?void 0:c.subscribe(t),r=null===(s=this.streamErrorListeners)||void 0===s?void 0:s.subscribe(i);return()=>{n(),a(),r()}}onStreamEvent(e,t,i,o){var c;null===(c=this.streamListeners)||void 0===c||c.publish(new CustomEvent("connect-stream-event",{detail:{functions:o,message:t,resourceName:e,stream:i}}))}onStreamErrorEvent(e,t,i){var o;null===(o=this.streamErrorListeners)||void 0===o||o.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 o;null===(o=this.metadataListeners)||void 0===o||o.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 db=pt.createInterface(e=>e.singleton(lb)),hb=pt.createInterface(e=>e.aliasTo(db)),ub={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,heartbeatInterval:1e4,verboseHeartbeat:!1,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0},isWebSocketExpression:sp},pb=pt.createInterface(e=>e.instance(ub));var fb={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},mb={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"},gb={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 vb,bb,yb=function(e){var t=mb[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"}(vb||(vb={})),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"}(bb||(bb={}));var zb=this&&this.__assign||function(){return zb=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var c in t=arguments[i])Object.prototype.hasOwnProperty.call(t,c)&&(e[c]=t[c]);return e},zb.apply(this,arguments)};zb(zb({},fb),{getStatusCode:function(e){var t=gb[e];if(!t)throw new Error("Reason phrase does not exist: "+e);return t},getStatusText:yb});class xb{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 o=`${"/"!==e?e:""}`;this.returnUrl=`${o}${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 Cb=pt.createInterface(e=>e.singleton(xb));let Lb=class{constructor(e){this.serializer=e}get(e,t){return Ou(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"}));return this.handleResponse(i,t)})}post(e,t){return Ou(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"}));return this.handleResponse(i,t)})}handleResponse(e,t){return Ou(this,void 0,void 0,function*(){var i;if(e.redirected)return window.location.href=e.url,new Promise(()=>{});if(null===(i=t.onResponse)||void 0===i||i.call(t,e),304===e.status)return;if(!e.ok)throw function(e){const t=new Error(`HTTP error: ${e.status} ${e.statusText}`);return t.status=e.status,t.message=e.statusText,t}(e);return(t.serializer||this.serializer).deserialize(e)})}};Lb=Nu([Au(0,xm)],Lb);const Mb=pt.createInterface(e=>e.singleton(Lb)),wb={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},Vp&&Vp.length?JSON.parse(Vp):{})},kb=pt.createInterface(e=>e.instance(wb));var Sb,$b,Eb,Nb;!function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(Sb||(Sb={}));class Ab extends Error{constructor(e,t,i="Auth Failed \n"){super(i),this.sent=e,this.received=t,Object.setPrototypeOf(this,Ab.prototype)}isIgnorableError(){var e,t,i,o,c,s,n,a;return!!(null===(o=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===o?void 0:o.includes("request needs the user to be logged"))||!!(null===(a=null===(n=null===(s=null===(c=this.received)||void 0===c?void 0:c.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,o;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(o=null===(i=this.received)||void 0===i?void 0:i.DETAILS)||void 0===o?void 0:o.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"}($b||($b={})),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"}(Eb||(Eb={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(Nb||(Nb={}));const Ob=e=>Array.isArray(e)?e.map(Ob):e&&"object"==typeof e&&e.constructor===Object?Object.keys(e).sort().reduce((t,i)=>(t[i]=Ob(e[i]),t),{}):e;function Tb(e,t){return`${e}::${JSON.stringify(Ob(null!=t?t:{}))}`}const Rb=(e,t)=>!!Array.isArray(null==e?void 0:e.ERROR)&&(null==e?void 0:e.ERROR.some(e=>{var i,o;return(null===(i=e.CODE)||void 0===i?void 0:i.includes(`${t}`))||(null===(o=e.STATUS_CODE)||void 0===o?void 0:o.includes(`${t}`))}));let Ib=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case Sb.BASIC:t={USER_NAME:e.username,PASSWORD:e.password,MFA_CODE:e.mfaToken};break;case Sb.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken,MFA_CODE:e.mfaToken};break;case Sb.SSO:t={SSO_TOKEN:e.ssoToken};break;case Sb.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:Eb.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,i;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:Eb.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:Eb.DATA_LOGON,DETAILS:Object.assign({DATASOURCE_NAME:e},t),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:Eb.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:Eb.RESOURCES_REQUEST},e)}createMetaRequestMessage(e,t=Eb.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:Eb.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:Eb.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:Eb.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,i,o=e){return{USER_NAME:o,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:Eb.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:$b.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:$b.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===Eb.EVENT_LOGOUT&&(i["SESSION-ID"]=e.SESSION_ID),i}createHeartbeatPingMessage(e=!1){return{MESSAGE_TYPE:$b.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId(),VERBOSE:e,DETAILS:{},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}};Ib=Nu([Au(0,Cb),Au(1,Qv)],Ib);const Db=pt.createInterface(e=>e.singleton(Ib));var Fb;let _b=Fb=class{constructor(e,t){this.http=e,this.messageBuilder=t}toHttpHost(e){if(!e)return"";let t=e;return t.startsWith("ws")&&(t=t.replace("ws","http")),t.endsWith("/")||(t=t.concat("/")),t}post(e,t){return this.http.post(Fb.getUrl(e,t),{body:Fb.getBody(t),headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}get(e,t){return this.http.get(Fb.getUrl(e,t),{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}requestServer(e,t){let i=Fb.getUrl(e,t);const o=[];return t.REQUEST&&Object.keys(t.REQUEST).length>0&&Object.keys(t.REQUEST).forEach(e=>{const i=t.REQUEST[e];null==i||Number.isNaN(i)||o.push(`REQUEST.${e}=${encodeURIComponent(String(i))}`)}),t.DETAILS&&Object.keys(t.DETAILS).forEach(e=>{const i=t.DETAILS[e];null==i||Number.isNaN(i)||o.push(`${e}=${encodeURIComponent(String(i))}`)}),o.length>0&&(i=`${i}?${o.join("&")}`),cp.debug(`HTTP transport - REQUEST_SERVER GET URL: ${i}`),this.http.get(i,{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const i=t.MESSAGE_TYPE;let o=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return i===Eb.DATA_LOGON&&(o=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${o}`}};_b=Fb=Nu([Au(0,Mb),Au(1,Db)],_b);const Hb=pt.createInterface(e=>e.singleton(_b));function Pb(e,t,i){const o=e=>"function"==typeof e?e:()=>e,c=o(t),s=o(i);return(t,i)=>e(t,i)?c(t,i):s(t,i)}class Vb{constructor(e){this.path=e}}const Bb=new Set,Ub=Object.freeze({register(e){Bb.add(e)},unregister(e){Bb.delete(e)}}),jb=/^([a-z][a-z0-9+\-.]*:)?\/\//i,qb=Object.freeze({path:Object.freeze({get current(){return location.pathname+location.search},generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let o="config"in e?e:xy.find(e);for(;null!==o;){const e=yield o.config.generateRouteFromPath(t,i);if(null!==e)return e;o=o.parent}return null})},push(e,t=!0){e&&jb.test(e)?location.href=e:(history.pushState({},document.title,e),t&&qb.path.trigger(e))},replace(e,t=!0){e&&jb.test(e)?location.href=e:(history.replaceState({},document.title,e),t&&qb.path.trigger(e))},trigger(e){const t=new Vb(e);for(const e of Bb)e.enqueue(t)}}),name:Object.freeze({generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let o="config"in e?e:xy.find(e);for(;null!==o;){const e=yield o.config.generateRouteFromName(t,i);if(null!==e)return e;o=o.parent}return null})},push(e,t,i={},o=!0){return Ou(this,void 0,void 0,function*(){const c=yield qb.name.generateRoute(e,t,i);null!==c&&qb.path.push(c,o)})},replace(e,t,i={},o=!0){return Ou(this,void 0,void 0,function*(){const c=yield qb.name.generateRoute(e,t,i);null!==c&&qb.path.replace(c,o)})},trigger(e,t,i={}){return Ou(this,void 0,void 0,function*(){const o=yield qb.name.generateRoute(e,t,i);null!==o&&qb.path.trigger(o)})}})});class Gb{constructor(){this.queue=[],this.promise=null,this.resolve=null}connect(){this.enqueue(new Vb(qb.path.current)),window.addEventListener("popstate",this),Ub.register(this)}disconnect(){this.queue=[],this.promise=null,this.resolve=null,window.removeEventListener("popstate",this),Ub.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 Vb(qb.path.current))}}const Wb=encodeURIComponent,Yb=e=>Wb(e).replace("%24","$");function Kb(e,t,i){let o=[];if(null==t)return o;if(Array.isArray(t))for(let c=0,s=t.length;c<s;c++)if(i)o.push(`${Yb(e)}=${Wb(t[c])}`);else{const i=e+"["+("object"==typeof t[c]&&null!==t[c]?c:"")+"]";o=o.concat(Kb(i,t[c]))}else if("object"!=typeof t||i)o.push(`${Yb(e)}=${Wb(t)}`);else for(const i in t)o=o.concat(Kb(e+"["+i+"]",t[i]));return o}function Zb(e,t){return Array.isArray(e)?(e.push(t),e):void 0!==e?[e,t]:t}function Qb(e,t,i){let o=e;const c=t.length-1;for(let e=0;e<=c;e++){const s=""===t[e]?o.length:t[e];if(e<c){const i=o[s]&&"object"!=typeof o[s]?[o[s]]:o[s];o=o[s]=i||(isNaN(t[e+1])?{}:[])}else o=o[s]=i}}const Xb=Object.freeze({get current(){return location.search},build(e,t){let i=[];const o=Object.keys(e||{}).sort();for(let c=0,s=o.length;c<s;c++){const s=o[c];i=i.concat(Kb(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 o=i.replace(/\+/g," ").split("&");for(let e=0;e<o.length;e++){const i=o[e].split("="),c=decodeURIComponent(i[0]);if(!c)continue;let s=c.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?Qb(t,s,e):t[c]=Zb(t[c],e)}else t[c]=!0}return t}}),Jb=e=>e;class ey{constructor(e,t,i){this.path=e,this.name=t,this.caseSensitive=i}}class ty{constructor(e,t,i,o){this.route=e,this.paramNames=t,this.paramTypes=i,this.settings=o}get path(){return this.route.path}}class iy{constructor(e,t,i,o){this.endpoint=e,this.params=t,this.typedParams=i,this.queryParams=o,this.allParams=Object.assign(Object.assign({},t),o),this.allTypedParams=Object.assign(Object.assign({},i),o)}get settings(){return this.endpoint.settings}}class oy{constructor(e,t,i,o){var c;this.chars=e,this.states=t,this.skippedStates=i,this.result=o,this.head=t[t.length-1],this.endpoint=null===(c=this.head)||void 0===c?void 0:c.endpoint}advance(e){const{chars:t,states:i,skippedStates:o,result:c}=this;let s=null,n=0;const a=i[i.length-1];function r(l,d){if(l.isMatch(e)&&(1===++n?s=l:c.add(new oy(t.concat(e),i.concat(l),null===d?o:o.concat(d),c))),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&&c.remove(this)}finalize(){!function e(t,i){const o=i.nextStates;if(null!==o)if(1===o.length&&null===o[0].segment)e(t,o[0]);else for(const i of o)if(i.isOptional&&null!==i.endpoint){if(t.push(i),null!==i.nextStates)for(const o of i.nextStates)e(t,o);break}}(this.skippedStates,this.head)}getParams(){const{states:e,chars:t,endpoint:i}=this,o={};for(const e of i.paramNames)o[e]=void 0;for(let i=0,c=e.length;i<c;++i){const c=e[i];if(c.isDynamic){const e=c.segment.name;void 0===o[e]?o[e]=t[i]:o[e]+=t[i]}}return o}compareTo(e){const t=this.states,i=e.states;for(let e=0,o=0,c=Math.max(t.length,i.length);e<c;++e){let c=t[e];if(void 0===c)return 1;let s=i[o];if(void 0===s)return-1;let n=c.segment,a=s.segment;if(null===n){if(null===a){++o;continue}if(void 0===(c=t[++e]))return 1;n=c.segment}else if(null===a){if(void 0===(s=i[++o]))return-1;a=s.segment}if(n.kind<a.kind)return 1;if(n.kind>a.kind)return-1;++o}const o=this.skippedStates,c=e.skippedStates,s=o.length,n=c.length;if(s<n)return 1;if(s>n)return-1;for(let e=0;e<s;++e){const t=o[e],i=c[e];if(t.length<i.length)return 1;if(t.length>i.length)return-1}return 0}}function cy(e){return null!==e.head.endpoint}function sy(e,t){return e.compareTo(t)}class ny{constructor(e){this.candidates=[],this.candidates=[new oy([""],[e],[],this)]}get isEmpty(){return 0===this.candidates.length}getSolution(){const e=this.candidates.filter(cy);if(0===e.length)return null;for(const t of e)t.finalize();return e.sort(sy),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 ay{constructor(){this.names=new Map,this.paths=new Map,this.rootState=new ry(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,o=new ey(e.path,e.name||"",!0===e.caseSensitive),c=""===i?[""]:i.split("/").filter(ly),s=[],n=[];let a=this.rootState;const r=[];for(const e of c)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("?"),o=i?t[0].slice(0,-1):t[0];s.push(o);const c=new hy(o,i);r.push(c),a=c.appendTo(a);break}case"*":{const t=e.slice(1);s.push(t),n.push("string");const i=new uy(t);r.push(i),a=i.appendTo(a);break}default:{const t=new dy(e,o.caseSensitive);r.push(t),a=t.appendTo(a);break}}const l=new ty(o,s,n,t||null);a.setEndpoint(l),this.paths.set(i,r),e.name&&this.names.set(e.name,r)}recognize(e,t={}){return Ou(this,void 0,void 0,function*(){const i=Xb.separate(e),o=Xb.parse(i.queryString);(e=decodeURI(i.path)).startsWith("/")||(e=`/${e}`),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1));const c=new ny(this.rootState);for(let t=0,i=e.length;t<i;++t){const i=e.charAt(t);if(c.advance(i),c.isEmpty)return null}const s=c.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],o=t[r[e]]||Jb,c=l[i],s=yield o(c);d[i]=s}return new iy(n,l,d,o)})}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),o={};let c="";for(let t=0,s=e.length;t<s;t++){const s=e[t],n=s.generate(i,o);if(null==n){if(s instanceof hy&&!s.optional)throw new Error(`A value is required for route parameter '${s.name}'.`)}else c+="/",c+=n}"/"!==c.charAt(0)&&(c="/"+c);for(const e in o)delete i[e];const s=Xb.build(i);return c+=s?`?${s}`:"",c}}class ry{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,o=this.nextStates;return null===o?(i=void 0,o=this.nextStates=[]):i=null===e?o.find(e=>e.value===t):o.find(t=>{var i;return null===(i=t.segment)||void 0===i?void 0:i.equals(e)}),void 0===i&&o.push(i=new ry(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 ly(e){return e.length>0}class dy{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 o=0;o<i;++o)e=e.append(this,t.charAt(o));else for(let o=0;o<i;++o){const i=t.charAt(o);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 hy{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 uy{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 py="fast-child-route";function fy(e,t){return"command"in t?t.command:"redirect"in t?new Ty(t.redirect):Fy.fromDefinition(e,t)}const my=e=>{if(null==e)return!1;switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;default:return!1}},gy={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:my,bool:my};class vy{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 Oy),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 o=Object.assign(Object.assign(Object.assign({},t),i),{path:`${t.path}/${i.path}`});if("title"in t||"title"in i){const c=t.title||"",s=i.title||"";o.title=e.joinTitles(c,s)}if("name"in i){const e=t.name?t.name+"/":"";o.name=e+i.name}return o.children===t.children&&delete o.children,o});this.map(...i);continue}let e;if(e="command"in t?t.command:"redirect"in t?new Ty(t.redirect):Fy.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+`/*${py}`});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,o){return Ou(this,void 0,void 0,function*(){const c=yield e();return fy(t,c).createContributor(i,o)})}}:fy(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 Ou(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=Xb.separate(e),i=Xb.parse(t.queryString);return{route:new iy(new ty(new ey("*","",!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({},gy),this.converters):Object.assign(Object.assign({},this.owner.parent.routes.aggregateConverters()),this.converters)}}const by="$router";function yy(e){const t=e.parentElement;if(t)return t;{const t=e.getRootNode();if(t.host instanceof HTMLElement)return t.host}return null}function zy(e){let t=e;for(;t=yy(t);)if(by in t)return t[by];return null}const xy=Object.freeze({getOrCreateFor(e){const t=e[by];return void 0!==t?t:e[by]=new Cy(e)},find:e=>e[by]||zy(e),from(e){class t extends e{constructor(){super(),xy.getOrCreateFor(this)}get config(){return this[by].config}set config(e){this[by].config=e}}const i=t.prototype;if("connectedCallback"in i){const e=i.connectedCallback;i.connectedCallback=function(){e.call(this),this[by].connect()}}else i.connectedCallback=function(){this[by].connect()};if("disconnectedCallback"in i){const e=i.disconnectedCallback;i.disconnectedCallback=function(){e.call(this),this[by].disconnect()}}else i.disconnectedCallback=function(){this[by].disconnect()};return t}});class Cy{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=>Ou(this,void 0,void 0,function*(){const t=this.config.createNavigationProcess();yield t.run(this,e),this.navigationQueue.receive().then(this.onNavigationMessage)}),e[by]=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=zy(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,o=null===(t=this.route)||void 0===t?void 0:t.allParams;if(JSON.stringify(o)===JSON.stringify(i))return!1}return!0}beginRender(e,t){return Ou(this,void 0,void 0,function*(){return this.newRoute=e,this.newView=yield t.createView(),this.newView.bind(e.allTypedParams,Ly.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 Ou(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 Ou(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 Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}leave(e){return Ou(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 Ou(this,void 0,void 0,function*(){if(null!==this.parent){const t=e.route.allParams[py]||"",i=yield this.config.recognizeRoute(t);if(null===i){return this.config.createEventSink().onUnhandledNavigationMessage(this,new Vb(t)),void e.cancel()}this.childRoute=i.route,this.childCommandContributor=yield i.command.createContributor(this,i.route)}yield this.tunnel(e)})}enter(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}commit(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}tunnel(e){return Ou(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 o=[...this.config.findContributors(e.name),...Array.from(this.contributors)];for(const t of o)if(yield e.evaluateContributor(t,void 0,this),e.canceled)return})}}const Ly=Object.freeze({create:e=>Object.create(z,{router:{value:e}})}),My=Object.freeze({default:Object.freeze({begin(e,t,i){return Ou(this,void 0,void 0,function*(){})},rollback(e,t,i){return Ou(this,void 0,void 0,function*(){})},commit(e,t,i){return Ou(this,void 0,void 0,function*(){})}})});class wy{constructor(e=null,t=null,i=!0){this.template=e,this.runBeforeCommit=i,this.styles=null==t?null:Array.isArray(t)?Y.create(t):t instanceof Y?t:Y.create([t])}beforeCommit(e){return Ou(this,void 0,void 0,function*(){this.runBeforeCommit&&this.apply(e)})}afterCommit(e){return Ou(this,void 0,void 0,function*(){this.runBeforeCommit||this.apply(e)})}apply(e){e instanceof be&&(e.$fastController.template!==this.template&&(e.$fastController.template=this.template),e.$fastController.styles!==this.styles&&(e.$fastController.styles=this.styles))}}const ky=Object.freeze({default:new wy(W`<slot></slot>`)});function Sy(e,t){return t in e}const $y={lifecycle:!0,parameters:!0};class Ey extends x{constructor(e){super(),this.options=e}createPlaceholder(e){return u.createCustomAttributePlaceholder("fast-navigation-contributor",e)}createBehavior(e){return new Ny(e,this.options)}}class Ny{constructor(e,t){this.contributor=e,this.options=t,this.router=null}bind(e,t){if(this.options.lifecycle&&(this.router=t.router||xy.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 Ay(e){return new Ey(Object.assign({},$y,e))}class Oy{createContributor(){return Ou(this,void 0,void 0,function*(){return{navigate(e){return Ou(this,void 0,void 0,function*(){e.cancel()})}}})}}class Ty{constructor(e){this.redirect=e}createContributor(){return Ou(this,void 0,void 0,function*(){const e=this.redirect;return{navigate(t){return Ou(this,void 0,void 0,function*(){const i=t.router.config,o=(yield i.generateRouteFromName(e,t.route.allParams))||(yield i.generateRouteFromPath(e,t.route.allParams));if(null===o)throw new Error(`Invalid redirect. Name or path not found: ${e}`);t.cancel(()=>Ou(this,void 0,void 0,function*(){return qb.path.replace(o)}))})}}})}}function Ry(e){return W`<${e} ${Ay()}></${e}>`}function Iy(e){const t=document.createDocumentFragment();t.appendChild(e);const i=new j(t,[Ay().createBehavior(e)]);return{create:()=>i}}class Dy{constructor(e,t,i){this.router=e,this.route=t,this.command=i}construct(e){return Ou(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 Ou(this,void 0,void 0,function*(){yield this.operation.commit(),this.command.title&&e.setTitle(this.command.title)})}}class Fy{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 Ou(this,void 0,void 0,function*(){return new Dy(e,t,this)})}static fromDefinition(e,t){let i;i="template"in t?()=>Ou(this,void 0,void 0,function*(){let e=t.template;return"function"==typeof e&&(e=yield e()),e.create()}):()=>Ou(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=ue.forType(e);if(t)i=Ry(t.name);else if(e=yield e(),"string"==typeof e)i=Ry(e);else if(e instanceof HTMLElement)i=Iy(e);else{if(t=ue.forType(e),!t)throw new Error("Invalid value for element in route config.");i=Ry(t.name)}}else e instanceof HTMLElement?t.factory=i=Iy(e):t.factory=i=Ry(e);return i.create()});const o=new Fy(e,i);return t.layout&&(t.layout instanceof q?o.layout=new wy(t.layout):o.layout=t.layout),t.transition&&(o.transition=t.transition),t.title&&(o.title=t.title),o}}class _y{constructor(){this.handler=e=>{const{shouldHandleEvent:t,href:i}=this.getEventInfo(e);t&&(e.preventDefault(),qb.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 o=i.getAttribute("href");t.anchor=i,t.href=o;const c=1===e.which,s=o&&!("#"===o.charAt(0)||/^[a-z]+:/i.test(o));return t.shouldHandleEvent=c&&!!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 Hy{constructor(e,t,i,o,c){this.name=e,this.commitActions=o,this.cancelActions=c,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 Ou(this,void 0,void 0,function*(){Sy(e,this.name)&&(this.routes.push(t),this.routers.push(i),yield e[this.name](this),this.routes.pop(),this.routers.pop())})}}class Py{constructor(){this.phases=["navigate","leave","construct","enter","commit"]}run(e,t){return Ou(this,void 0,void 0,function*(){const i=e.config.createEventSink(),o=yield e.config.recognizeRoute(t.path);if(null===o)return void i.onUnhandledNavigationMessage(e,t);const c=o.route,s=o.command;i.onNavigationBegin(e,c,s);const n=[],a=[];let r=n;const l=[yield s.createContributor(e,c),e,this];for(const t of this.phases){const o=new Hy(t,c,e,n,a);if(i.onPhaseBegin(o),o.canceled)r=a;else for(const e of l)if(yield o.evaluateContributor(e),o.canceled){r=a;break}if(i.onPhaseEnd(o),o.canceled)break}yield Promise.all(r.map(e=>e())).then(()=>i.onNavigationEnd(e,c,s))})}commit(e){const t=e.router.config.createTitleBuilder();document.title=t.buildTitle(e.router.config.title,e.titles)}}class Vy{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 By{onUnhandledNavigationMessage(e,t){}onNavigationBegin(e,t,i){}onPhaseBegin(e){}onPhaseEnd(e){}onNavigationEnd(e,t,i){}}class Uy{constructor(){this.isConfigured=!1,this.routes=new vy(this),this.contributors=[],this.defaultLayout=ky.default,this.defaultTransition=My.default,this.title="",this.parent=null}createNavigationQueue(){return this.construct(Gb)}createLinkHandler(){return this.construct(_y)}createNavigationProcess(){return new Py}createEventSink(){return this.construct(By)}createTitleBuilder(){return this.construct(Vy)}createRouteRecognizer(){return this.construct(ay)}construct(e){return null!==this.parent?this.parent.construct(e):new e}recognizeRoute(e){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.recognize(e)})}generateRouteFromName(e,t){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromName(e,t)})}generateRouteFromPath(e,t){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromPath(e,t)})}findContributors(e){return this.contributors.filter(t=>Sy(t,e))}cached(e){let t=null;return()=>Ou(this,void 0,void 0,function*(){return null===t&&(t=new e),t})}ensureConfigured(){return Ou(this,void 0,void 0,function*(){this.isConfigured||(yield this.configure(),this.isConfigured=!0)})}}let jy=class extends(xy.from(be)){};jy=Nu([ye("fast-router")],jy);const qy=[];setTimeout(()=>{qy.length&&console.warn(`${qy.length} attribute deprecation notice(s):\n ${qy.join("\n")}`)},5e3);const Gy="reauthActionLock";var Wy;function Yy(){return Ou(this,arguments,void 0,function*(e={}){const{reloadOnFailure:t=!0}=e;if(function(){const e=parseInt(localStorage.getItem(Gy)||"0");Date.now()-e>3e4&&localStorage.removeItem(Gy)}(),localStorage.getItem(Gy)||(localStorage.setItem(Gy,Date.now().toString()),0))return Wy.HANDLED_BY_OTHER_TAB;try{if(yield function(){return Ou(this,void 0,void 0,function*(){const e=yield fetch(Wp,{credentials:"include"});return"EVENT_LOGIN_DETAILS_ACK"===(yield e.json()).MESSAGE_TYPE})}())return Wy.ALREADY_VALID;return(yield function(){return Ou(this,void 0,void 0,function*(){const e=pt.getOrCreateDOMContainer().get(Mb);return"EVENT_LOGIN_AUTH_ACK"===(yield e.post(Gp,{body:JSON.stringify({DETAILS:{},MESSAGE_TYPE:"EVENT_LOGIN_AUTH"})})).MESSAGE_TYPE})}())?Wy.SUCCESS:(t&&window.location.reload(),Wy.FAILED)}finally{localStorage.removeItem(Gy)}})}!function(e){e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.HANDLED_BY_OTHER_TAB="HANDLED_BY_OTHER_TAB",e.ALREADY_VALID="ALREADY_VALID"}(Wy||(Wy={}));const Ky=(e,t)=>((null==t?void 0:t.ROW)&&e&&e.length>0?t.ROW.forEach(t=>{const i=t;if(i&&i.DETAILS){const o=i.DETAILS.ROW_REF,c=i.DETAILS.OPERATION;"INSERT"===c&&(e.find(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===o})||e.unshift(i)),"DELETE"===c&&(e=e.filter(e=>{var i,o;return(null===(i=t.DETAILS)||void 0===i?void 0:i.ROW_REF)!==(null===(o=e.DETAILS)||void 0===o?void 0:o.ROW_REF)})),"MODIFY"===c&&(e=e.map(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===o?Object.assign(Object.assign({},e),i):e}))}}):!t||e&&0!==e.length||(e=[...new Set(t.ROW)]),e);var Zy;let Qy=Zy=class{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,i,o,c,s,n){var a;this.http=e,this.messageBuilder=t,this.session=i,this.metaCache=o,this.serializer=c,this.config=s,this.transport=n,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new ig(this._isConnected),this.isConnected$=null===(a=this.isConnectedSubject)||void 0===a?void 0:a.asObservable(),this.ongoingTurbo={},this.streams=new Map,this.inFlightRequests=new Map,this.ongoingRefresh=null}handleSessionRefresh(){return this.ongoingRefresh||(this.ongoingRefresh=(()=>Ou(this,void 0,void 0,function*(){const e=this.host;this.disconnect();let t=yield Yy();return t===Wy.HANDLED_BY_OTHER_TAB&&(yield new Promise(e=>{setTimeout(e,Zy.REAUTH_WAIT_MS)}),t=yield Yy()),(t===Wy.SUCCESS||t===Wy.ALREADY_VALID)&&(this.connect(e),!0)}))().finally(()=>{this.ongoingRefresh=null})),this.ongoingRefresh}checkHost(){return Ou(this,void 0,void 0,function*(){try{return this.getMessage({MESSAGE_TYPE:$b.HEARTBEAT_PING,SOURCE_REF:"host check"}).then(e=>e.MESSAGE_TYPE===$b.HEARTBEAT_PONG)}catch(e){return cp.error(e),!1}})}send(e,t){return Ou(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot send message: session refresh failed")}return this.transport.post(this.host,e)})}httpMode(){return!0}setValidSession(e){cp.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}connect(e){return Ou(this,void 0,void 0,function*(){return this.host=this.transport.toHttpHost(e),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 Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return cp.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.send(i).then(e=>(this.dataLogoff(i.SOURCE_REF).catch(e=>cp.error(e)),e))})}stream(e,t,i,o){var c,s;const n=this.messageBuilder.createDataLogonMessage(e,o);cp.debug(`HTTP MODE - ${n.MESSAGE_TYPE} (stream) message created -> `,n);const a=n.SOURCE_REF,r=(null===(s=null===(c=this.config.polling)||void 0===c?void 0:c.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 ig(r),RESOURCE_NAME:e});const l=this.streams.get(a).POLLING_FREQUENCY,d=lv(Yg(this.send(n)),l.pipe(hv(()=>"visible"===document.visibilityState)).pipe(fv(e=>{return void 0===(t=e)&&(t=0),void 0===i&&(i=xg),t<0&&(t=0),dv(t,t,i);var t,i})).pipe(fv(()=>Yg(this.getMessage(n))))).pipe(mv(()=>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,o=void 0===i?1/0:i,c=t.delay,s=t.resetOnSuccess,n=void 0!==s&&s;return o<=0?Um:Wm(function(e,t){var i,s=0,a=function(){var r=!1;i=e.subscribe(Ym(t,function(e){n&&(s=0),t.next(e)},void 0,function(e){if(s++<o){var n=function(){i?(i.unsubscribe(),i=null,a()):r=!0};if(null!=c){var l="number"==typeof c?dv(c):Vg(c(e,s)),d=Ym(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:Zy.MAX_RETRIES,delay:(e,t)=>{const i=e;cp.error(`Retry ${t}/${Zy.MAX_RETRIES}:`,i.status,i);if(!(0===i.status||i.status&&i.status>=vb.BAD_REQUEST&&i.status<vb.INTERNAL_SERVER_ERROR))throw e;return i.status===vb.NOT_FOUND&&this.streams.delete(a),i.status===vb.UNAUTHORIZED?Yg(this.handleSessionRefresh()):dv(Zy.RETRY_DELAY_MS)}}),(h=()=>{cp.debug(`Terminating stream for ${e} - ${a}`),this.dataLogoff(a)},Wm(function(e,t){try{e.subscribe(t)}finally{t.add(h)}})));var h;return this.streams.get(a).STREAM=d,d}streamState(e,t=()=>{},i=()=>{},o,c=[]){return this.stream(e,t,i,o).pipe(uv(Ky,c))}streamWithoutAutoTeardown(e,t,i,o){return cp.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0"),this.stream(e,t,i,o)}getMessage(e){return Ou(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot get message: session refresh failed")}return this.transport.get(this.host,e)})}getMoreRows(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return cp.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)})}getMoreColumns(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.send(t)})}dataLogoff(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then(t=>(this.streams.has(e)&&(cp.debug(`Removing stream ${e}`),this.streams.delete(e)),t))})}getMetadata(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasMetadataFor(e))return cp.debug(`HTTP MODE - Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const i=this.messageBuilder.createMetaRequestMessage(e);cp.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (metadata) message created -> `,i);const o=yield this.send(i).then(e=>e.DETAILS);return Object.keys(o).length&&this.metaCache.setMetadataFor(e,o),o})}getJSONSchema(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMetaRequestMessage(e,Eb.JSON_SCHEMA_REQUEST);return cp.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)})}request(e,t){return Ou(this,arguments,void 0,function*(e,t,i=!1){const o=Tb(e,t);if(i&&this.metaCache.hasRequestFor(o))return cp.debug(`HTTP MODE - Cached request response retrieved for ${o}`),this.metaCache.getRequestFor(o);const c=this.inFlightRequests.get(o);if(c)return cp.debug(`HTTP MODE - In-flight request collapsed for ${o}`),c;const s=this.messageBuilder.createRequestMessage(e,t);cp.debug(`HTTP MODE! - ${s.MESSAGE_TYPE} (request server) message created -> `,s);const n=this.transport.requestServer(this.host,s).finally(()=>{this.inFlightRequests.delete(o)});this.inFlightRequests.set(o,n);const a=yield n;return i&&a&&this.metaCache.setRequestFor(o,a),a})}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return cp.debug("HTTP MODE - Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);cp.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (getResources) message created -> `,i);const o=yield this.send(i);return this.metaCache.setResources(o),o})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);return cp.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 cp.debug(`${e} polling frequency is already accelerated.`);const o=this.config.polling.POLLING_MAP[e];if(!(null==o?void 0:o.TEMP_FREQUENCY)||!o.AMOUNT_OF_POLLS)return;const c=o.TEMP_FREQUENCY,s=c*o.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 o.QUERIES)a[e]=c,n[e]||(n[e]=this.config.polling.POLLING_FREQUENCY);cp.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${c}ms DURATION=${s}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout(()=>{cp.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,cp.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)})}}};Qy.REAUTH_WAIT_MS=5e3,Qy.RETRY_DELAY_MS=1e3,Qy.MAX_RETRIES=3,Nu([g],Qy.prototype,"host",void 0),Nu([g],Qy.prototype,"isWorking",void 0),Nu([g],Qy.prototype,"_isConnected",void 0),Nu([v],Qy.prototype,"isConnected",null),Qy=Zy=Nu([Au(0,Mb),Au(1,Db),Au(2,Cb),Au(3,ib),Au(4,xm),Au(5,kb),Au(6,Hb)],Qy);const Xy=pt.createInterface(e=>e.singleton(Qy));var Jy={url:"",deserializer:function(e){return JSON.parse(e.data)},serializer:function(e){return JSON.stringify(e)}},ez=function(e){function t(t,i){var o=e.call(this)||this;if(o._socket=null,t instanceof jm)o.destination=i,o.source=t;else{var c=o._config=$u({},Jy);if(o._output=new eg,"string"==typeof t)c.url=t;else for(var s in t)t.hasOwnProperty(s)&&(c[s]=t[s]);if(!c.WebSocketCtor&&WebSocket)c.WebSocketCtor=WebSocket;else if(!c.WebSocketCtor)throw new Error("no WebSocket constructor can be found");o.destination=new cg}return o}return Su(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 cg),this._output=new eg},t.prototype.multiplex=function(e,t,i){var o=this;return new jm(function(c){try{o.next(e())}catch(e){c.error(e)}var s=o.subscribe({next:function(e){try{i(e)&&c.next(e)}catch(e){c.error(e)}},error:function(e){return c.error(e)},complete:function(){return c.complete()}});return function(){try{o.next(t())}catch(e){c.error(e)}s.unsubscribe()}})},t.prototype._connectSocket=function(){var e=this,t=this._config,i=t.WebSocketCtor,o=t.protocol,c=t.url,s=t.binaryType,n=this._output,a=null;try{a=o?new i(c,o):new i(c),this._socket=a,s&&(this._socket.binaryType=s)}catch(e){return void n.error(e)}var r=new km(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 o=e.destination;e.destination=Im.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()}),o&&o instanceof cg&&r.add(o.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}(tg);const tz=1e4,iz=6e4;var oz;!function(e){e.Linear="linear",e.Exponential="exponential"}(oz||(oz={}));const cz=(e,t)=>{const{reconnectInterval:i=tz}=e,o=i>iz?iz:i,c=Math.round(Math.log2(iz/o));return o*Math.pow(2,t%c)},sz=e=>{const{reconnectInterval:t=tz}=e;return t>iz?iz:t};class nz{constructor(){this.isConfigured=!1,this.isConnecting=!1,this.isConnected=!1,this.isReconnecting=!1,this.reconnectionLimitReached=!1,this.isConnectedSubject=new ig(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}}Nu([g],nz.prototype,"isConfigured",void 0),Nu([g],nz.prototype,"isConnecting",void 0),Nu([g],nz.prototype,"isConnected",void 0),Nu([g],nz.prototype,"isReconnecting",void 0),Nu([g],nz.prototype,"reconnectionLimitReached",void 0),Nu([g],nz.prototype,"closedCode",void 0),Nu([g],nz.prototype,"closedReason",void 0),Nu([g],nz.prototype,"closedClean",void 0),Nu([eb],nz.prototype,"user",void 0);const az=pt.createInterface(e=>e.singleton(nz));class rz{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 lz extends eg{constructor(){super()}}class dz{constructor(e,t,i,o){this._message=e,this._onMessage=t,this._onError=i,this._isSubscription=o}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}let hz=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 cp.deprecated("get hasValidSession","Use `User.isAuthenticated` from `@genesislcap/foundation-user` instead.","15.0.0"),this.user.isAuthenticated}set hasValidSession(e){cp.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:Pp}constructor(e,t,i,o,c,s,n){this.messageBuilder=e,this.session=t,this.serializer=i,this.uuid=o,this.status=c,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=Pp,t,i){var o;return this.url=e,this.connectOptions=null!=t?t:this.config.connect,this.reconnectOptions=null!=i?i:this.config.reconnect,(null===(o=this.config.isWebSocketExpression)||void 0===o?void 0:o.test(this.host))?new Promise(e=>{var t,i,o,c;cp.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 ez({url:this.url,openObserver:{next:()=>{this.session.setSessionStorageItem("hostUrl",this.url),this.status.isConnected=!0,this.prepareHeartbeat(),cp.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{this.status.onClose(t),this.isDisconnectedByServer&&cp.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!==(c=null===(o=this.connectOptions)||void 0===o?void 0:o.connectObserver)&&void 0!==c?c:{next:e=>Ou(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,cp.info,i);const{SOURCE_REF:o,MESSAGE_TYPE:c}=e,s=this.getMessageHandler(o,c);if(!s)return void(e.MESSAGE_TYPE===$b.MSG_NACK&&e.ERROR&&e.ERROR.forEach(t=>{cp.error(`MessageType: ${e.MESSAGE_TYPE} | Error Details:`,t)}));let n=!1;switch(e.MESSAGE_TYPE){case Eb.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 $b.LOGOUT_ACK:return s.onReceivedMessage.call(this,e),void this.cleanMessages();case $b.LOGON_ACK:return;case $b.LOGOFF_ACK:break;case $b.QUERY_UPDATE:s.isSubscription||this.sendDataLogoff(o);break;case $b.MSG_NACK:case $b.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(o)}),error:e=>{cp.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.isDisconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():cp.info("Connection is now closed")}}),this.status.isConfigured=!0}):(cp.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`),void cp.warn("Make sure the host url starts with wss:// or ws://"))}handleExpiredSession(){return Ou(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 Ou(this,void 0,void 0,function*(){const e=yield Yy();e!==Wy.HANDLED_BY_OTHER_TAB?e!==Wy.FAILED&&(yield this.connect()):function(e){const t=i=>{i.key===Gy&&null===i.newValue&&(e(),window.removeEventListener("storage",t))};window.addEventListener("storage",t)}(()=>this.connect())})}updateSessionAndSubscriptions(e){(null==e?void 0:e.MESSAGE_TYPE)===Eb.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,o;this.heartbeatTicker&&this.heartbeatTicker.stop();const c=()=>Ou(this,void 0,void 0,function*(){var e,t,i;if(!this.isConnected)return;const o=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(o);const c=yield this.send(o);this.user.isAuthenticated&&!c.IS_AUTHENTICATED&&this.handleExpiredSession(),(null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatPongCallback)&&this.connectOptions.heartbeatPongCallback(c),this.heartbeatIsEnabled=c.MESSAGE_TYPE===$b.HEARTBEAT_PONG&&c.SOURCE_REF===o.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!==(o=null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatInterval)&&void 0!==o?o:this.heartbeatInterval;this.heartbeatTicker=new rz(e),this.heartbeatTicker.start(()=>{this.websocket&&this.isConnected&&(c(),this.heartbeatLoggingIsEnabled&&cp.debug(`Sending a heartbeat ping every ${e} ms`))})}}reconnect(){var e,t,i,o,c;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)===oz.Exponential?cz:sz,a=this.isConnectedSubject.asObservable().pipe(fv(e=>e?Kg(-1):((e,t)=>new jm(i=>{let o,c=0;return function s(){i.next(c),clearTimeout(o),o=setTimeout(s,t(e,c)),c+=1}(),()=>{clearTimeout(o)}}))(this.reconnectOptions,n).pipe(av(e=>{var t,i,o;let c;return c=(null===(t=this.connectOptions)||void 0===t?void 0:t.alwaysOn)?e+1:null!==(o=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectAttempts)&&void 0!==o?o:10,e<c?Kg(e):(this.status.reconnectionLimitReached=!0,Zg(()=>new Error(`Max reconnect attempts ${c} reached.`)))}))),mv(()=>this.websocket&&!this.isConnected));a.subscribe(null!==(c=null===(o=this.reconnectOptions)||void 0===o?void 0:o.reconnectObserver)&&void 0!==c?c:{next:e=>{cp.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;cp.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.status.isReconnecting=!1},complete:()=>{cp.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 lz,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,cp.info,i),new Promise((i,o)=>{const c=e=>{i(e)},s=e=>{o(e)};t&&this.setMessageHandler(e,c,s),this.websocket.next(e)})}sendForStream(e,t,i,o){if(!this.isConnected)return Zg(()=>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,cp.info,c),this.setMessageHandler(e,t,i,!0),u.queueUpdate(()=>this.websocket.next(e)),new jm(t=>{const i=this.wsMessages.pipe(hv(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),o&&o()}})}sendForStreamWithoutTeardown(e,t,i){if(!this.isConnected)return Zg(()=>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,cp.info,o),this.setMessageHandler(e,t,i,!0),this.websocket.next(e),this.wsMessages.pipe(hv(t=>t.SOURCE_REF===e.SOURCE_REF))}setMessageHandler(e,t,i,o=!1){const c=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,cp.debug,c),this.wsMessageHandlers.set(e.SOURCE_REF,new dz(e,t,i,o))}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,cp.debug,i),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,i){switch(e){case Eb.DATA_LOGOFF:t(i);break;case $b.HEARTBEAT_PING:case $b.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(i);break;default:this.messageLoggingIsEnabled&&t(i)}}};Nu([g],hz.prototype,"websocket",void 0),Nu([g],hz.prototype,"wsMessages",void 0),Nu([g],hz.prototype,"wsMessageHandlers",void 0),Nu([Mb],hz.prototype,"http",void 0),Nu([g],hz.prototype,"heartbeatIsEnabled",void 0),hz=Nu([Au(0,Db),Au(1,Cb),Au(2,xm),Au(3,Qv),Au(4,az),Au(5,eb),Au(6,pb)],hz);const uz=pt.createInterface(e=>e.singleton(hz));let pz=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,o,c,s){this.socket=e,this.messageBuilder=t,this.metaCache=i,this.events=o,this.config=c,this.transport=s,this.isWorking=!1,this.inFlightRequests=new Map}httpMode(){return!1}get useHttpReqRep(){return"true"===_p||Rp("forceHttpReqRep")}get httpHost(){return this.transport.toHttpHost(this.socket.host)}sendReqRep(e){return this.useHttpReqRep?this.transport.post(this.httpHost,e):this.socket.send(e)}setValidSession(e){cp.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 Ou(this,arguments,void 0,function*(e=Pp){return this.socket.reset(),this.socket.connect(e,this.config.connect,this.config.reconnect)})}disconnect(){this.socket.reset()}snapshot(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return cp.debug(`${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.socket.send(i)})}stream(e,t,i,o){const c=this.messageBuilder.createDataLogonMessage(e,o);cp.debug(`${c.MESSAGE_TYPE} (stream) message created -> `,c);const s=performance.now();let n=null;const a=this.socket.sendForStream(c,(...i)=>{null===n&&(n=performance.now(),cp.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,c,a,{onMessage:t,onError:i}),a}streamState(e,t=()=>{},i=()=>{},o,c=[]){return this.stream(e,t,i,o).pipe(uv(Ky,c))}streamWithoutAutoTeardown(e,t,i,o){cp.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0");const c=this.messageBuilder.createDataLogonMessage(e,o);cp.debug(`${c.MESSAGE_TYPE} (stream without auto-teardown) message created -> `,c);const s=this.socket.sendForStreamWithoutTeardown(c,t,t=>{i(t),this.events.onStreamErrorEvent(e,s,t)});return this.events.onStreamEvent(e,c,s,{onMessage:t,onError:i}),s}getMoreRows(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createMoreRowsMessage(e,t);return cp.debug(`${i.MESSAGE_TYPE} message created -> `,i),this.socket.send(i,!1)})}getMoreColumns(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.socket.send(t)})}dataLogoff(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return cp.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)})}getMetadata(e){return Ou(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasMetadataFor(e))return cp.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const o=this.messageBuilder.createMetaRequestMessage(e);let c,s;cp.debug(`${o.MESSAGE_TYPE} (metadata) message created -> `,o);try{this.isWorking=!0;const t=yield this.sendReqRep(o);c=null!==(i=null==t?void 0:t.DETAILS)&&void 0!==i?i:{},Object.keys(c).length&&this.metaCache.setMetadataFor(e,c)}catch(e){throw s=e,cp.error(e),e instanceof Error?e:new Error(String(e))}finally{this.events.onMetadataEvent(e,o,s),this.isWorking=!1}return c})}getJSONSchema(e){return Ou(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasJsonSchemaFor(e))return cp.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const o=this.messageBuilder.createMetaRequestMessage(e,Eb.JSON_SCHEMA_REQUEST);let c;cp.debug(`${o.MESSAGE_TYPE} (json schema) message created -> `,o);try{this.isWorking=!0,c=null!==(i=yield this.sendReqRep(o))&&void 0!==i?i:{},Object.keys(c).length&&this.metaCache.setJsonSchemaFor(e,c)}catch(e){cp.error(e)}finally{this.isWorking=!1}return c})}request(e,t){return Ou(this,arguments,void 0,function*(e,t,i=!1){const o=Tb(e,t);if(i&&this.metaCache.hasRequestFor(o))return cp.debug(`Cached request response retrieved for ${o}`),this.metaCache.getRequestFor(o);const c=this.inFlightRequests.get(o);if(c)return cp.debug(`In-flight request collapsed for ${o}`),c;const s=this.messageBuilder.createRequestMessage(e,t);cp.debug(`${s.MESSAGE_TYPE} (request server) message created -> `,s);const n=(this.useHttpReqRep?this.transport.requestServer(this.httpHost,s):this.socket.send(s)).finally(()=>{this.inFlightRequests.delete(o)});this.inFlightRequests.set(o,n);const a=yield n;return i&&a&&this.metaCache.setRequestFor(o,a),a})}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return cp.debug("Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);cp.debug(`${i.MESSAGE_TYPE} (resources) message created -> `,i);const o=yield this.sendReqRep(i);return this.metaCache.setResources(o),o})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);cp.debug(`${i.MESSAGE_TYPE} (commit) message created -> `,i);const o=this.sendReqRep(i);return this.events.onCommitEvent(e,i),o.then(t=>(this.events.onCommitResponseEvent(e,t),t))})}};Nu([g],pz.prototype,"isWorking",void 0),pz=Nu([Au(0,uz),Au(1,Db),Au(2,ib),Au(3,hb),Au(4,pb),Au(5,Hb)],pz);const fz="true"===Fp||Rp("forceHttp"),mz=pt.createInterface(e=>e.singleton(pz)),gz=pt.createInterface(e=>fz?e.aliasTo(Xy):e.aliasTo(mz));class vz{serialize(e){return cp.deprecated("serialize","Use `serialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),JSON.stringify(e)}deserialize(e){return cp.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>`)(bp(e,"rapid").prefix)} `,styles:Ce` .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%}}`})],Xv);class Jv{constructor(){this.pathHistory=[],this.actionHistory=[],this.isAuthenticated=!1,this.authenticationChangeListeners=mp()}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,o=`${`${"/"!==e?e:""}`}${t}${i}`;if(!this.config.trackPathExclusions.includes(o))return this.pathHistory.push(o),o}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=pt.getOrCreateDOMContainer().get(fp);t.postMessage("user-authentication-change",this.isAuthenticated),t.close()}userNameChanged(){m.notify(this,"username")}get username(){return m.track(this,"username"),this.userName}permissionChanged(){m.notify(this,"permissions")}get permissions(){return m.track(this,"permissions"),this.permission}profileChanged(){m.notify(this,"profiles")}get profiles(){return m.track(this,"profiles"),this.profile}hasAdminProfile(){return this.isAdmin()}}Nu([pp],Jv.prototype,"config",void 0),Nu([g],Jv.prototype,"pathHistory",void 0),Nu([g],Jv.prototype,"actionHistory",void 0),Nu([g],Jv.prototype,"isAuthenticated",void 0),Nu([g],Jv.prototype,"userKVs",void 0),Nu([g],Jv.prototype,"details",void 0),Nu([g],Jv.prototype,"permission",void 0),Nu([g],Jv.prototype,"profile",void 0),Nu([g],Jv.prototype,"sourceRef",void 0),Nu([g],Jv.prototype,"userName",void 0),Nu([g],Jv.prototype,"rawProperties",void 0);const eb=pt.createInterface(e=>e.singleton(Jv));class tb{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map,this.cachedResources=null,this.cachedRequests=new Map}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}getRequestFor(e){return this.cachedRequests.get(e)}hasRequestFor(e){return this.cachedRequests.has(e)}setRequestFor(e,t){this.cachedRequests.set(e,t)}}const ib=pt.createInterface(e=>e.singleton(tb));var ob;!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"}(ob||(ob={}));const cb={STRING:ob.STRING,ENUM:ob.ENUM,BOOLEAN:ob.BOOLEAN,INT:ob.NUMBER,LONG:ob.NUMBER,DOUBLE:ob.NUMBER,BIGDECIMAL:ob.NUMBER,DATE:ob.DATE,DATETIME:ob.DATETIME,NANO_TIMESTAMP:ob.NANO_TIMESTAMP};var sb;!function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(sb||(sb={}));const nb="datasource-status-changed",ab=e=>e?e.map(e=>{const t={name:e.NAME,type:cb[e.TYPE]||ob.STRING};if(e.TYPE===ob.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){cp.error(e),t.enumOptions=[]}return t}):null,rb=e=>{var t;const i=null==e?void 0:e.TYPE;if(i===sb.DATASERVER)return e.FIELD||[];if(i===sb.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 lb{constructor(){this.streamListeners=mp(),this.streamCompleteListeners=mp(),this.streamErrorListeners=mp(),this.commitListeners=mp(),this.metadataListeners=mp(),this.commitResponseListeners=mp()}addStreamListener(e,t,i){var o,c,s;const n=null===(o=this.streamListeners)||void 0===o?void 0:o.subscribe(e),a=null===(c=this.streamCompleteListeners)||void 0===c?void 0:c.subscribe(t),r=null===(s=this.streamErrorListeners)||void 0===s?void 0:s.subscribe(i);return()=>{n(),a(),r()}}onStreamEvent(e,t,i,o){var c;null===(c=this.streamListeners)||void 0===c||c.publish(new CustomEvent("connect-stream-event",{detail:{functions:o,message:t,resourceName:e,stream:i}}))}onStreamErrorEvent(e,t,i){var o;null===(o=this.streamErrorListeners)||void 0===o||o.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 o;null===(o=this.metadataListeners)||void 0===o||o.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 db=pt.createInterface(e=>e.singleton(lb)),hb=pt.createInterface(e=>e.aliasTo(db)),ub={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,heartbeatInterval:1e4,verboseHeartbeat:!1,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0},isWebSocketExpression:sp},pb=pt.createInterface(e=>e.instance(ub));var fb={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},mb={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"},gb={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 vb,bb,yb=function(e){var t=mb[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"}(vb||(vb={})),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"}(bb||(bb={}));var zb=this&&this.__assign||function(){return zb=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var c in t=arguments[i])Object.prototype.hasOwnProperty.call(t,c)&&(e[c]=t[c]);return e},zb.apply(this,arguments)};zb(zb({},fb),{getStatusCode:function(e){var t=gb[e];if(!t)throw new Error("Reason phrase does not exist: "+e);return t},getStatusText:yb});class xb{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 o=`${"/"!==e?e:""}`;this.returnUrl=`${o}${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 Cb=pt.createInterface(e=>e.singleton(xb));let Lb=class{constructor(e){this.serializer=e}get(e,t){return Ou(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"}));return this.handleResponse(i,t)})}post(e,t){return Ou(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"}));return this.handleResponse(i,t)})}handleResponse(e,t){return Ou(this,void 0,void 0,function*(){var i;if(e.redirected)return window.location.href=e.url,new Promise(()=>{});if(null===(i=t.onResponse)||void 0===i||i.call(t,e),304===e.status)return;if(!e.ok)throw function(e){const t=new Error(`HTTP error: ${e.status} ${e.statusText}`);return t.status=e.status,t.message=e.statusText,t}(e);return(t.serializer||this.serializer).deserialize(e)})}};Lb=Nu([Au(0,xm)],Lb);const Mb=pt.createInterface(e=>e.singleton(Lb)),wb={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},Vp&&Vp.length?JSON.parse(Vp):{})},kb=pt.createInterface(e=>e.instance(wb));var Sb,$b,Eb,Nb;!function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(Sb||(Sb={}));class Ab extends Error{constructor(e,t,i="Auth Failed \n"){super(i),this.sent=e,this.received=t,Object.setPrototypeOf(this,Ab.prototype)}isIgnorableError(){var e,t,i,o,c,s,n,a;return!!(null===(o=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===o?void 0:o.includes("request needs the user to be logged"))||!!(null===(a=null===(n=null===(s=null===(c=this.received)||void 0===c?void 0:c.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,o;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(o=null===(i=this.received)||void 0===i?void 0:i.DETAILS)||void 0===o?void 0:o.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"}($b||($b={})),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"}(Eb||(Eb={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(Nb||(Nb={}));const Ob=e=>Array.isArray(e)?e.map(Ob):e&&"object"==typeof e&&e.constructor===Object?Object.keys(e).sort().reduce((t,i)=>(t[i]=Ob(e[i]),t),{}):e;function Tb(e,t){return`${e}::${JSON.stringify(Ob(null!=t?t:{}))}`}const Rb=(e,t)=>!!Array.isArray(null==e?void 0:e.ERROR)&&(null==e?void 0:e.ERROR.some(e=>{var i,o;return(null===(i=e.CODE)||void 0===i?void 0:i.includes(`${t}`))||(null===(o=e.STATUS_CODE)||void 0===o?void 0:o.includes(`${t}`))}));let Ib=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case Sb.BASIC:t={USER_NAME:e.username,PASSWORD:e.password,MFA_CODE:e.mfaToken};break;case Sb.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken,MFA_CODE:e.mfaToken};break;case Sb.SSO:t={SSO_TOKEN:e.ssoToken};break;case Sb.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:Eb.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,i;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:Eb.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:Eb.DATA_LOGON,DETAILS:Object.assign({DATASOURCE_NAME:e},t),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:Eb.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:Eb.RESOURCES_REQUEST},e)}createMetaRequestMessage(e,t=Eb.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:Eb.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:Eb.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:Eb.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,i,o=e){return{USER_NAME:o,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:Eb.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:$b.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:$b.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===Eb.EVENT_LOGOUT&&(i["SESSION-ID"]=e.SESSION_ID),i}createHeartbeatPingMessage(e=!1){return{MESSAGE_TYPE:$b.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId(),VERBOSE:e,DETAILS:{},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}};Ib=Nu([Au(0,Cb),Au(1,Qv)],Ib);const Db=pt.createInterface(e=>e.singleton(Ib));var Fb;let _b=Fb=class{constructor(e,t){this.http=e,this.messageBuilder=t}toHttpHost(e){if(!e)return"";let t=e;return t.startsWith("ws")&&(t=t.replace("ws","http")),t.endsWith("/")||(t=t.concat("/")),t}post(e,t){return this.http.post(Fb.getUrl(e,t),{body:Fb.getBody(t),headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}get(e,t){return this.http.get(Fb.getUrl(e,t),{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}requestServer(e,t){let i=Fb.getUrl(e,t);const o=[];return t.REQUEST&&Object.keys(t.REQUEST).length>0&&Object.keys(t.REQUEST).forEach(e=>{const i=t.REQUEST[e];null==i||Number.isNaN(i)||o.push(`REQUEST.${e}=${encodeURIComponent(String(i))}`)}),t.DETAILS&&Object.keys(t.DETAILS).forEach(e=>{const i=t.DETAILS[e];null==i||Number.isNaN(i)||o.push(`${e}=${encodeURIComponent(String(i))}`)}),o.length>0&&(i=`${i}?${o.join("&")}`),cp.debug(`HTTP transport - REQUEST_SERVER GET URL: ${i}`),this.http.get(i,{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const i=t.MESSAGE_TYPE;let o=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return i===Eb.DATA_LOGON&&(o=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${o}`}};_b=Fb=Nu([Au(0,Mb),Au(1,Db)],_b);const Hb=pt.createInterface(e=>e.singleton(_b));function Pb(e,t,i){const o=e=>"function"==typeof e?e:()=>e,c=o(t),s=o(i);return(t,i)=>e(t,i)?c(t,i):s(t,i)}class Vb{constructor(e){this.path=e}}const Bb=new Set,Ub=Object.freeze({register(e){Bb.add(e)},unregister(e){Bb.delete(e)}}),jb=/^([a-z][a-z0-9+\-.]*:)?\/\//i,qb=Object.freeze({path:Object.freeze({get current(){return location.pathname+location.search},generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let o="config"in e?e:xy.find(e);for(;null!==o;){const e=yield o.config.generateRouteFromPath(t,i);if(null!==e)return e;o=o.parent}return null})},push(e,t=!0){e&&jb.test(e)?location.href=e:(history.pushState({},document.title,e),t&&qb.path.trigger(e))},replace(e,t=!0){e&&jb.test(e)?location.href=e:(history.replaceState({},document.title,e),t&&qb.path.trigger(e))},trigger(e){const t=new Vb(e);for(const e of Bb)e.enqueue(t)}}),name:Object.freeze({generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let o="config"in e?e:xy.find(e);for(;null!==o;){const e=yield o.config.generateRouteFromName(t,i);if(null!==e)return e;o=o.parent}return null})},push(e,t,i={},o=!0){return Ou(this,void 0,void 0,function*(){const c=yield qb.name.generateRoute(e,t,i);null!==c&&qb.path.push(c,o)})},replace(e,t,i={},o=!0){return Ou(this,void 0,void 0,function*(){const c=yield qb.name.generateRoute(e,t,i);null!==c&&qb.path.replace(c,o)})},trigger(e,t,i={}){return Ou(this,void 0,void 0,function*(){const o=yield qb.name.generateRoute(e,t,i);null!==o&&qb.path.trigger(o)})}})});class Gb{constructor(){this.queue=[],this.promise=null,this.resolve=null}connect(){this.enqueue(new Vb(qb.path.current)),window.addEventListener("popstate",this),Ub.register(this)}disconnect(){this.queue=[],this.promise=null,this.resolve=null,window.removeEventListener("popstate",this),Ub.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 Vb(qb.path.current))}}const Wb=encodeURIComponent,Yb=e=>Wb(e).replace("%24","$");function Kb(e,t,i){let o=[];if(null==t)return o;if(Array.isArray(t))for(let c=0,s=t.length;c<s;c++)if(i)o.push(`${Yb(e)}=${Wb(t[c])}`);else{const i=e+"["+("object"==typeof t[c]&&null!==t[c]?c:"")+"]";o=o.concat(Kb(i,t[c]))}else if("object"!=typeof t||i)o.push(`${Yb(e)}=${Wb(t)}`);else for(const i in t)o=o.concat(Kb(e+"["+i+"]",t[i]));return o}function Zb(e,t){return Array.isArray(e)?(e.push(t),e):void 0!==e?[e,t]:t}function Qb(e,t,i){let o=e;const c=t.length-1;for(let e=0;e<=c;e++){const s=""===t[e]?o.length:t[e];if(e<c){const i=o[s]&&"object"!=typeof o[s]?[o[s]]:o[s];o=o[s]=i||(isNaN(t[e+1])?{}:[])}else o=o[s]=i}}const Xb=Object.freeze({get current(){return location.search},build(e,t){let i=[];const o=Object.keys(e||{}).sort();for(let c=0,s=o.length;c<s;c++){const s=o[c];i=i.concat(Kb(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 o=i.replace(/\+/g," ").split("&");for(let e=0;e<o.length;e++){const i=o[e].split("="),c=decodeURIComponent(i[0]);if(!c)continue;let s=c.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?Qb(t,s,e):t[c]=Zb(t[c],e)}else t[c]=!0}return t}}),Jb=e=>e;class ey{constructor(e,t,i){this.path=e,this.name=t,this.caseSensitive=i}}class ty{constructor(e,t,i,o){this.route=e,this.paramNames=t,this.paramTypes=i,this.settings=o}get path(){return this.route.path}}class iy{constructor(e,t,i,o){this.endpoint=e,this.params=t,this.typedParams=i,this.queryParams=o,this.allParams=Object.assign(Object.assign({},t),o),this.allTypedParams=Object.assign(Object.assign({},i),o)}get settings(){return this.endpoint.settings}}class oy{constructor(e,t,i,o){var c;this.chars=e,this.states=t,this.skippedStates=i,this.result=o,this.head=t[t.length-1],this.endpoint=null===(c=this.head)||void 0===c?void 0:c.endpoint}advance(e){const{chars:t,states:i,skippedStates:o,result:c}=this;let s=null,n=0;const a=i[i.length-1];function r(l,d){if(l.isMatch(e)&&(1===++n?s=l:c.add(new oy(t.concat(e),i.concat(l),null===d?o:o.concat(d),c))),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&&c.remove(this)}finalize(){!function e(t,i){const o=i.nextStates;if(null!==o)if(1===o.length&&null===o[0].segment)e(t,o[0]);else for(const i of o)if(i.isOptional&&null!==i.endpoint){if(t.push(i),null!==i.nextStates)for(const o of i.nextStates)e(t,o);break}}(this.skippedStates,this.head)}getParams(){const{states:e,chars:t,endpoint:i}=this,o={};for(const e of i.paramNames)o[e]=void 0;for(let i=0,c=e.length;i<c;++i){const c=e[i];if(c.isDynamic){const e=c.segment.name;void 0===o[e]?o[e]=t[i]:o[e]+=t[i]}}return o}compareTo(e){const t=this.states,i=e.states;for(let e=0,o=0,c=Math.max(t.length,i.length);e<c;++e){let c=t[e];if(void 0===c)return 1;let s=i[o];if(void 0===s)return-1;let n=c.segment,a=s.segment;if(null===n){if(null===a){++o;continue}if(void 0===(c=t[++e]))return 1;n=c.segment}else if(null===a){if(void 0===(s=i[++o]))return-1;a=s.segment}if(n.kind<a.kind)return 1;if(n.kind>a.kind)return-1;++o}const o=this.skippedStates,c=e.skippedStates,s=o.length,n=c.length;if(s<n)return 1;if(s>n)return-1;for(let e=0;e<s;++e){const t=o[e],i=c[e];if(t.length<i.length)return 1;if(t.length>i.length)return-1}return 0}}function cy(e){return null!==e.head.endpoint}function sy(e,t){return e.compareTo(t)}class ny{constructor(e){this.candidates=[],this.candidates=[new oy([""],[e],[],this)]}get isEmpty(){return 0===this.candidates.length}getSolution(){const e=this.candidates.filter(cy);if(0===e.length)return null;for(const t of e)t.finalize();return e.sort(sy),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 ay{constructor(){this.names=new Map,this.paths=new Map,this.rootState=new ry(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,o=new ey(e.path,e.name||"",!0===e.caseSensitive),c=""===i?[""]:i.split("/").filter(ly),s=[],n=[];let a=this.rootState;const r=[];for(const e of c)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("?"),o=i?t[0].slice(0,-1):t[0];s.push(o);const c=new hy(o,i);r.push(c),a=c.appendTo(a);break}case"*":{const t=e.slice(1);s.push(t),n.push("string");const i=new uy(t);r.push(i),a=i.appendTo(a);break}default:{const t=new dy(e,o.caseSensitive);r.push(t),a=t.appendTo(a);break}}const l=new ty(o,s,n,t||null);a.setEndpoint(l),this.paths.set(i,r),e.name&&this.names.set(e.name,r)}recognize(e,t={}){return Ou(this,void 0,void 0,function*(){const i=Xb.separate(e),o=Xb.parse(i.queryString);(e=decodeURI(i.path)).startsWith("/")||(e=`/${e}`),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1));const c=new ny(this.rootState);for(let t=0,i=e.length;t<i;++t){const i=e.charAt(t);if(c.advance(i),c.isEmpty)return null}const s=c.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],o=t[r[e]]||Jb,c=l[i],s=yield o(c);d[i]=s}return new iy(n,l,d,o)})}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),o={};let c="";for(let t=0,s=e.length;t<s;t++){const s=e[t],n=s.generate(i,o);if(null==n){if(s instanceof hy&&!s.optional)throw new Error(`A value is required for route parameter '${s.name}'.`)}else c+="/",c+=n}"/"!==c.charAt(0)&&(c="/"+c);for(const e in o)delete i[e];const s=Xb.build(i);return c+=s?`?${s}`:"",c}}class ry{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,o=this.nextStates;return null===o?(i=void 0,o=this.nextStates=[]):i=null===e?o.find(e=>e.value===t):o.find(t=>{var i;return null===(i=t.segment)||void 0===i?void 0:i.equals(e)}),void 0===i&&o.push(i=new ry(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 ly(e){return e.length>0}class dy{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 o=0;o<i;++o)e=e.append(this,t.charAt(o));else for(let o=0;o<i;++o){const i=t.charAt(o);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 hy{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 uy{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 py="fast-child-route";function fy(e,t){return"command"in t?t.command:"redirect"in t?new Ty(t.redirect):Fy.fromDefinition(e,t)}const my=e=>{if(null==e)return!1;switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;default:return!1}},gy={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:my,bool:my};class vy{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 Oy),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 o=Object.assign(Object.assign(Object.assign({},t),i),{path:`${t.path}/${i.path}`});if("title"in t||"title"in i){const c=t.title||"",s=i.title||"";o.title=e.joinTitles(c,s)}if("name"in i){const e=t.name?t.name+"/":"";o.name=e+i.name}return o.children===t.children&&delete o.children,o});this.map(...i);continue}let e;if(e="command"in t?t.command:"redirect"in t?new Ty(t.redirect):Fy.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+`/*${py}`});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,o){return Ou(this,void 0,void 0,function*(){const c=yield e();return fy(t,c).createContributor(i,o)})}}:fy(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 Ou(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=Xb.separate(e),i=Xb.parse(t.queryString);return{route:new iy(new ty(new ey("*","",!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({},gy),this.converters):Object.assign(Object.assign({},this.owner.parent.routes.aggregateConverters()),this.converters)}}const by="$router";function yy(e){const t=e.parentElement;if(t)return t;{const t=e.getRootNode();if(t.host instanceof HTMLElement)return t.host}return null}function zy(e){let t=e;for(;t=yy(t);)if(by in t)return t[by];return null}const xy=Object.freeze({getOrCreateFor(e){const t=e[by];return void 0!==t?t:e[by]=new Cy(e)},find:e=>e[by]||zy(e),from(e){class t extends e{constructor(){super(),xy.getOrCreateFor(this)}get config(){return this[by].config}set config(e){this[by].config=e}}const i=t.prototype;if("connectedCallback"in i){const e=i.connectedCallback;i.connectedCallback=function(){e.call(this),this[by].connect()}}else i.connectedCallback=function(){this[by].connect()};if("disconnectedCallback"in i){const e=i.disconnectedCallback;i.disconnectedCallback=function(){e.call(this),this[by].disconnect()}}else i.disconnectedCallback=function(){this[by].disconnect()};return t}});class Cy{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=>Ou(this,void 0,void 0,function*(){const t=this.config.createNavigationProcess();yield t.run(this,e),this.navigationQueue.receive().then(this.onNavigationMessage)}),e[by]=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=zy(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,o=null===(t=this.route)||void 0===t?void 0:t.allParams;if(JSON.stringify(o)===JSON.stringify(i))return!1}return!0}beginRender(e,t){return Ou(this,void 0,void 0,function*(){return this.newRoute=e,this.newView=yield t.createView(),this.newView.bind(e.allTypedParams,Ly.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 Ou(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 Ou(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 Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}leave(e){return Ou(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 Ou(this,void 0,void 0,function*(){if(null!==this.parent){const t=e.route.allParams[py]||"",i=yield this.config.recognizeRoute(t);if(null===i){return this.config.createEventSink().onUnhandledNavigationMessage(this,new Vb(t)),void e.cancel()}this.childRoute=i.route,this.childCommandContributor=yield i.command.createContributor(this,i.route)}yield this.tunnel(e)})}enter(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}commit(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}tunnel(e){return Ou(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 o=[...this.config.findContributors(e.name),...Array.from(this.contributors)];for(const t of o)if(yield e.evaluateContributor(t,void 0,this),e.canceled)return})}}const Ly=Object.freeze({create:e=>Object.create(z,{router:{value:e}})}),My=Object.freeze({default:Object.freeze({begin(e,t,i){return Ou(this,void 0,void 0,function*(){})},rollback(e,t,i){return Ou(this,void 0,void 0,function*(){})},commit(e,t,i){return Ou(this,void 0,void 0,function*(){})}})});class wy{constructor(e=null,t=null,i=!0){this.template=e,this.runBeforeCommit=i,this.styles=null==t?null:Array.isArray(t)?Y.create(t):t instanceof Y?t:Y.create([t])}beforeCommit(e){return Ou(this,void 0,void 0,function*(){this.runBeforeCommit&&this.apply(e)})}afterCommit(e){return Ou(this,void 0,void 0,function*(){this.runBeforeCommit||this.apply(e)})}apply(e){e instanceof be&&(e.$fastController.template!==this.template&&(e.$fastController.template=this.template),e.$fastController.styles!==this.styles&&(e.$fastController.styles=this.styles))}}const ky=Object.freeze({default:new wy(W`<slot></slot>`)});function Sy(e,t){return t in e}const $y={lifecycle:!0,parameters:!0};class Ey extends x{constructor(e){super(),this.options=e}createPlaceholder(e){return u.createCustomAttributePlaceholder("fast-navigation-contributor",e)}createBehavior(e){return new Ny(e,this.options)}}class Ny{constructor(e,t){this.contributor=e,this.options=t,this.router=null}bind(e,t){if(this.options.lifecycle&&(this.router=t.router||xy.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 Ay(e){return new Ey(Object.assign({},$y,e))}class Oy{createContributor(){return Ou(this,void 0,void 0,function*(){return{navigate(e){return Ou(this,void 0,void 0,function*(){e.cancel()})}}})}}class Ty{constructor(e){this.redirect=e}createContributor(){return Ou(this,void 0,void 0,function*(){const e=this.redirect;return{navigate(t){return Ou(this,void 0,void 0,function*(){const i=t.router.config,o=(yield i.generateRouteFromName(e,t.route.allParams))||(yield i.generateRouteFromPath(e,t.route.allParams));if(null===o)throw new Error(`Invalid redirect. Name or path not found: ${e}`);t.cancel(()=>Ou(this,void 0,void 0,function*(){return qb.path.replace(o)}))})}}})}}function Ry(e){return W`<${e} ${Ay()}></${e}>`}function Iy(e){const t=document.createDocumentFragment();t.appendChild(e);const i=new j(t,[Ay().createBehavior(e)]);return{create:()=>i}}class Dy{constructor(e,t,i){this.router=e,this.route=t,this.command=i}construct(e){return Ou(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 Ou(this,void 0,void 0,function*(){yield this.operation.commit(),this.command.title&&e.setTitle(this.command.title)})}}class Fy{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 Ou(this,void 0,void 0,function*(){return new Dy(e,t,this)})}static fromDefinition(e,t){let i;i="template"in t?()=>Ou(this,void 0,void 0,function*(){let e=t.template;return"function"==typeof e&&(e=yield e()),e.create()}):()=>Ou(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=ue.forType(e);if(t)i=Ry(t.name);else if(e=yield e(),"string"==typeof e)i=Ry(e);else if(e instanceof HTMLElement)i=Iy(e);else{if(t=ue.forType(e),!t)throw new Error("Invalid value for element in route config.");i=Ry(t.name)}}else e instanceof HTMLElement?t.factory=i=Iy(e):t.factory=i=Ry(e);return i.create()});const o=new Fy(e,i);return t.layout&&(t.layout instanceof q?o.layout=new wy(t.layout):o.layout=t.layout),t.transition&&(o.transition=t.transition),t.title&&(o.title=t.title),o}}class _y{constructor(){this.handler=e=>{const{shouldHandleEvent:t,href:i}=this.getEventInfo(e);t&&(e.preventDefault(),qb.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 o=i.getAttribute("href");t.anchor=i,t.href=o;const c=1===e.which,s=o&&!("#"===o.charAt(0)||/^[a-z]+:/i.test(o));return t.shouldHandleEvent=c&&!!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 Hy{constructor(e,t,i,o,c){this.name=e,this.commitActions=o,this.cancelActions=c,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 Ou(this,void 0,void 0,function*(){Sy(e,this.name)&&(this.routes.push(t),this.routers.push(i),yield e[this.name](this),this.routes.pop(),this.routers.pop())})}}class Py{constructor(){this.phases=["navigate","leave","construct","enter","commit"]}run(e,t){return Ou(this,void 0,void 0,function*(){const i=e.config.createEventSink(),o=yield e.config.recognizeRoute(t.path);if(null===o)return void i.onUnhandledNavigationMessage(e,t);const c=o.route,s=o.command;i.onNavigationBegin(e,c,s);const n=[],a=[];let r=n;const l=[yield s.createContributor(e,c),e,this];for(const t of this.phases){const o=new Hy(t,c,e,n,a);if(i.onPhaseBegin(o),o.canceled)r=a;else for(const e of l)if(yield o.evaluateContributor(e),o.canceled){r=a;break}if(i.onPhaseEnd(o),o.canceled)break}yield Promise.all(r.map(e=>e())).then(()=>i.onNavigationEnd(e,c,s))})}commit(e){const t=e.router.config.createTitleBuilder();document.title=t.buildTitle(e.router.config.title,e.titles)}}class Vy{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 By{onUnhandledNavigationMessage(e,t){}onNavigationBegin(e,t,i){}onPhaseBegin(e){}onPhaseEnd(e){}onNavigationEnd(e,t,i){}}class Uy{constructor(){this.isConfigured=!1,this.routes=new vy(this),this.contributors=[],this.defaultLayout=ky.default,this.defaultTransition=My.default,this.title="",this.parent=null}createNavigationQueue(){return this.construct(Gb)}createLinkHandler(){return this.construct(_y)}createNavigationProcess(){return new Py}createEventSink(){return this.construct(By)}createTitleBuilder(){return this.construct(Vy)}createRouteRecognizer(){return this.construct(ay)}construct(e){return null!==this.parent?this.parent.construct(e):new e}recognizeRoute(e){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.recognize(e)})}generateRouteFromName(e,t){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromName(e,t)})}generateRouteFromPath(e,t){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromPath(e,t)})}findContributors(e){return this.contributors.filter(t=>Sy(t,e))}cached(e){let t=null;return()=>Ou(this,void 0,void 0,function*(){return null===t&&(t=new e),t})}ensureConfigured(){return Ou(this,void 0,void 0,function*(){this.isConfigured||(yield this.configure(),this.isConfigured=!0)})}}let jy=class extends(xy.from(be)){};jy=Nu([ye("fast-router")],jy);const qy=[];setTimeout(()=>{qy.length&&console.warn(`${qy.length} attribute deprecation notice(s):\n ${qy.join("\n")}`)},5e3);const Gy="reauthActionLock";var Wy;function Yy(){return Ou(this,arguments,void 0,function*(e={}){const{reloadOnFailure:t=!0}=e;if(function(){const e=parseInt(localStorage.getItem(Gy)||"0");Date.now()-e>3e4&&localStorage.removeItem(Gy)}(),localStorage.getItem(Gy)||(localStorage.setItem(Gy,Date.now().toString()),0))return Wy.HANDLED_BY_OTHER_TAB;try{if(yield function(){return Ou(this,void 0,void 0,function*(){const e=yield fetch(Wp,{credentials:"include"});return"EVENT_LOGIN_DETAILS_ACK"===(yield e.json()).MESSAGE_TYPE})}())return Wy.ALREADY_VALID;return(yield function(){return Ou(this,void 0,void 0,function*(){const e=pt.getOrCreateDOMContainer().get(Mb);return"EVENT_LOGIN_AUTH_ACK"===(yield e.post(Gp,{body:JSON.stringify({DETAILS:{},MESSAGE_TYPE:"EVENT_LOGIN_AUTH"})})).MESSAGE_TYPE})}())?Wy.SUCCESS:(t&&window.location.reload(),Wy.FAILED)}finally{localStorage.removeItem(Gy)}})}!function(e){e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.HANDLED_BY_OTHER_TAB="HANDLED_BY_OTHER_TAB",e.ALREADY_VALID="ALREADY_VALID"}(Wy||(Wy={}));const Ky=(e,t)=>((null==t?void 0:t.ROW)&&e&&e.length>0?t.ROW.forEach(t=>{const i=t;if(i&&i.DETAILS){const o=i.DETAILS.ROW_REF,c=i.DETAILS.OPERATION;"INSERT"===c&&(e.find(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===o})||e.unshift(i)),"DELETE"===c&&(e=e.filter(e=>{var i,o;return(null===(i=t.DETAILS)||void 0===i?void 0:i.ROW_REF)!==(null===(o=e.DETAILS)||void 0===o?void 0:o.ROW_REF)})),"MODIFY"===c&&(e=e.map(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===o?Object.assign(Object.assign({},e),i):e}))}}):!t||e&&0!==e.length||(e=[...new Set(t.ROW)]),e);var Zy;let Qy=Zy=class{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,i,o,c,s,n){var a;this.http=e,this.messageBuilder=t,this.session=i,this.metaCache=o,this.serializer=c,this.config=s,this.transport=n,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new ig(this._isConnected),this.isConnected$=null===(a=this.isConnectedSubject)||void 0===a?void 0:a.asObservable(),this.ongoingTurbo={},this.streams=new Map,this.inFlightRequests=new Map,this.ongoingRefresh=null}handleSessionRefresh(){return this.ongoingRefresh||(this.ongoingRefresh=(()=>Ou(this,void 0,void 0,function*(){const e=this.host;this.disconnect();let t=yield Yy();return t===Wy.HANDLED_BY_OTHER_TAB&&(yield new Promise(e=>{setTimeout(e,Zy.REAUTH_WAIT_MS)}),t=yield Yy()),(t===Wy.SUCCESS||t===Wy.ALREADY_VALID)&&(this.connect(e),!0)}))().finally(()=>{this.ongoingRefresh=null})),this.ongoingRefresh}checkHost(){return Ou(this,void 0,void 0,function*(){try{return this.getMessage({MESSAGE_TYPE:$b.HEARTBEAT_PING,SOURCE_REF:"host check"}).then(e=>e.MESSAGE_TYPE===$b.HEARTBEAT_PONG)}catch(e){return cp.error(e),!1}})}send(e,t){return Ou(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot send message: session refresh failed")}return this.transport.post(this.host,e)})}httpMode(){return!0}setValidSession(e){cp.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}connect(e){return Ou(this,void 0,void 0,function*(){return this.host=this.transport.toHttpHost(e),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 Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return cp.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.send(i).then(e=>(this.dataLogoff(i.SOURCE_REF).catch(e=>cp.error(e)),e))})}stream(e,t,i,o){var c,s;const n=this.messageBuilder.createDataLogonMessage(e,o);cp.debug(`HTTP MODE - ${n.MESSAGE_TYPE} (stream) message created -> `,n);const a=n.SOURCE_REF,r=(null===(s=null===(c=this.config.polling)||void 0===c?void 0:c.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 ig(r),RESOURCE_NAME:e});const l=this.streams.get(a).POLLING_FREQUENCY,d=lv(Yg(this.send(n)),l.pipe(hv(()=>"visible"===document.visibilityState)).pipe(fv(e=>{return void 0===(t=e)&&(t=0),void 0===i&&(i=xg),t<0&&(t=0),dv(t,t,i);var t,i})).pipe(fv(()=>Yg(this.getMessage(n))))).pipe(mv(()=>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,o=void 0===i?1/0:i,c=t.delay,s=t.resetOnSuccess,n=void 0!==s&&s;return o<=0?Um:Wm(function(e,t){var i,s=0,a=function(){var r=!1;i=e.subscribe(Ym(t,function(e){n&&(s=0),t.next(e)},void 0,function(e){if(s++<o){var n=function(){i?(i.unsubscribe(),i=null,a()):r=!0};if(null!=c){var l="number"==typeof c?dv(c):Vg(c(e,s)),d=Ym(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:Zy.MAX_RETRIES,delay:(e,t)=>{const i=e;cp.error(`Retry ${t}/${Zy.MAX_RETRIES}:`,i.status,i);if(!(0===i.status||i.status&&i.status>=vb.BAD_REQUEST&&i.status<vb.INTERNAL_SERVER_ERROR))throw e;return i.status===vb.NOT_FOUND&&this.streams.delete(a),i.status===vb.UNAUTHORIZED?Yg(this.handleSessionRefresh()):dv(Zy.RETRY_DELAY_MS)}}),(h=()=>{cp.debug(`Terminating stream for ${e} - ${a}`),this.dataLogoff(a)},Wm(function(e,t){try{e.subscribe(t)}finally{t.add(h)}})));var h;return this.streams.get(a).STREAM=d,d}streamState(e,t=()=>{},i=()=>{},o,c=[]){return this.stream(e,t,i,o).pipe(uv(Ky,c))}streamWithoutAutoTeardown(e,t,i,o){return cp.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0"),this.stream(e,t,i,o)}getMessage(e){return Ou(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot get message: session refresh failed")}return this.transport.get(this.host,e)})}getMoreRows(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return cp.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)})}getMoreColumns(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.send(t)})}dataLogoff(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then(t=>(this.streams.has(e)&&(cp.debug(`Removing stream ${e}`),this.streams.delete(e)),t))})}getMetadata(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasMetadataFor(e))return cp.debug(`HTTP MODE - Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const i=this.messageBuilder.createMetaRequestMessage(e);cp.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (metadata) message created -> `,i);const o=yield this.send(i).then(e=>e.DETAILS);return Object.keys(o).length&&this.metaCache.setMetadataFor(e,o),o})}getJSONSchema(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMetaRequestMessage(e,Eb.JSON_SCHEMA_REQUEST);return cp.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)})}request(e,t){return Ou(this,arguments,void 0,function*(e,t,i=!1){const o=Tb(e,t);if(i&&this.metaCache.hasRequestFor(o))return cp.debug(`HTTP MODE - Cached request response retrieved for ${o}`),this.metaCache.getRequestFor(o);const c=this.inFlightRequests.get(o);if(c)return cp.debug(`HTTP MODE - In-flight request collapsed for ${o}`),c;const s=this.messageBuilder.createRequestMessage(e,t);cp.debug(`HTTP MODE! - ${s.MESSAGE_TYPE} (request server) message created -> `,s);const n=this.transport.requestServer(this.host,s).finally(()=>{this.inFlightRequests.delete(o)});this.inFlightRequests.set(o,n);const a=yield n;return i&&a&&this.metaCache.setRequestFor(o,a),a})}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return cp.debug("HTTP MODE - Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);cp.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (getResources) message created -> `,i);const o=yield this.send(i);return this.metaCache.setResources(o),o})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);return cp.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 cp.debug(`${e} polling frequency is already accelerated.`);const o=this.config.polling.POLLING_MAP[e];if(!(null==o?void 0:o.TEMP_FREQUENCY)||!o.AMOUNT_OF_POLLS)return;const c=o.TEMP_FREQUENCY,s=c*o.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 o.QUERIES)a[e]=c,n[e]||(n[e]=this.config.polling.POLLING_FREQUENCY);cp.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${c}ms DURATION=${s}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout(()=>{cp.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,cp.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)})}}};Qy.REAUTH_WAIT_MS=5e3,Qy.RETRY_DELAY_MS=1e3,Qy.MAX_RETRIES=3,Nu([g],Qy.prototype,"host",void 0),Nu([g],Qy.prototype,"isWorking",void 0),Nu([g],Qy.prototype,"_isConnected",void 0),Nu([v],Qy.prototype,"isConnected",null),Qy=Zy=Nu([Au(0,Mb),Au(1,Db),Au(2,Cb),Au(3,ib),Au(4,xm),Au(5,kb),Au(6,Hb)],Qy);const Xy=pt.createInterface(e=>e.singleton(Qy));var Jy={url:"",deserializer:function(e){return JSON.parse(e.data)},serializer:function(e){return JSON.stringify(e)}},ez=function(e){function t(t,i){var o=e.call(this)||this;if(o._socket=null,t instanceof jm)o.destination=i,o.source=t;else{var c=o._config=$u({},Jy);if(o._output=new eg,"string"==typeof t)c.url=t;else for(var s in t)t.hasOwnProperty(s)&&(c[s]=t[s]);if(!c.WebSocketCtor&&WebSocket)c.WebSocketCtor=WebSocket;else if(!c.WebSocketCtor)throw new Error("no WebSocket constructor can be found");o.destination=new cg}return o}return Su(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 cg),this._output=new eg},t.prototype.multiplex=function(e,t,i){var o=this;return new jm(function(c){try{o.next(e())}catch(e){c.error(e)}var s=o.subscribe({next:function(e){try{i(e)&&c.next(e)}catch(e){c.error(e)}},error:function(e){return c.error(e)},complete:function(){return c.complete()}});return function(){try{o.next(t())}catch(e){c.error(e)}s.unsubscribe()}})},t.prototype._connectSocket=function(){var e=this,t=this._config,i=t.WebSocketCtor,o=t.protocol,c=t.url,s=t.binaryType,n=this._output,a=null;try{a=o?new i(c,o):new i(c),this._socket=a,s&&(this._socket.binaryType=s)}catch(e){return void n.error(e)}var r=new km(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 o=e.destination;e.destination=Im.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()}),o&&o instanceof cg&&r.add(o.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}(tg);const tz=1e4,iz=6e4;var oz;!function(e){e.Linear="linear",e.Exponential="exponential"}(oz||(oz={}));const cz=(e,t)=>{const{reconnectInterval:i=tz}=e,o=i>iz?iz:i,c=Math.round(Math.log2(iz/o));return o*Math.pow(2,t%c)},sz=e=>{const{reconnectInterval:t=tz}=e;return t>iz?iz:t};class nz{constructor(){this.isConfigured=!1,this.isConnecting=!1,this.isConnected=!1,this.isReconnecting=!1,this.reconnectionLimitReached=!1,this.isConnectedSubject=new ig(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}}Nu([g],nz.prototype,"isConfigured",void 0),Nu([g],nz.prototype,"isConnecting",void 0),Nu([g],nz.prototype,"isConnected",void 0),Nu([g],nz.prototype,"isReconnecting",void 0),Nu([g],nz.prototype,"reconnectionLimitReached",void 0),Nu([g],nz.prototype,"closedCode",void 0),Nu([g],nz.prototype,"closedReason",void 0),Nu([g],nz.prototype,"closedClean",void 0),Nu([eb],nz.prototype,"user",void 0);const az=pt.createInterface(e=>e.singleton(nz));class rz{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 lz extends eg{constructor(){super()}}class dz{constructor(e,t,i,o){this._message=e,this._onMessage=t,this._onError=i,this._isSubscription=o}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}let hz=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 cp.deprecated("get hasValidSession","Use `User.isAuthenticated` from `@genesislcap/foundation-user` instead.","15.0.0"),this.user.isAuthenticated}set hasValidSession(e){cp.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:Pp}constructor(e,t,i,o,c,s,n){this.messageBuilder=e,this.session=t,this.serializer=i,this.uuid=o,this.status=c,this.user=s,this.config=n,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.heartbeatTimeoutMultiplier=2,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.connectionEpoch=0,this.sendHeartbeat=()=>Ou(this,void 0,void 0,function*(){var e,t,i,o,c,s,n;if(!this.isConnected)return;const a=this.connectionEpoch,r=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(r);const l=null!==(o=null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatTimeout)&&void 0!==o?o:(null!==(s=null===(c=this.connectOptions)||void 0===c?void 0:c.heartbeatInterval)&&void 0!==s?s:this.heartbeatInterval)*this.heartbeatTimeoutMultiplier;let d;const h=new Promise((e,t)=>{d=setTimeout(()=>t(new Error(`Heartbeat pong not received within ${l}ms`)),l)});try{const e=yield Promise.race([this.send(r),h]);this.user.isAuthenticated&&!e.IS_AUTHENTICATED&&this.handleExpiredSession(),(null===(n=this.connectOptions)||void 0===n?void 0:n.heartbeatPongCallback)&&this.connectOptions.heartbeatPongCallback(e),this.heartbeatIsEnabled=e.MESSAGE_TYPE===$b.HEARTBEAT_PONG&&e.SOURCE_REF===r.SOURCE_REF}catch(e){cp.debug("Heartbeat failed, forcing reconnect: ",e),this.removeMessageHandler(r.SOURCE_REF),this.forceReconnect(a,e)}finally{clearTimeout(d)}}),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=Pp,t,i){var o;return this.url=e,this.connectOptions=null!=t?t:this.config.connect,this.reconnectOptions=null!=i?i:this.config.reconnect,(null===(o=this.config.isWebSocketExpression)||void 0===o?void 0:o.test(this.host))?new Promise(e=>{var t,i,o,c;cp.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();const s=this.websocket=new ez({url:this.url,openObserver:{next:()=>{this.websocket===s&&(this.session.setSessionStorageItem("hostUrl",this.url),this.status.isConnected=!0,this.connectionEpoch+=1,this.prepareHeartbeat(),cp.info("WebSocket connection is now open"),e(this.isConnected))}},closeObserver:{next:t=>{this.websocket===s&&(this.status.onClose(t),this.isDisconnectedByServer&&cp.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!==(c=null===(o=this.connectOptions)||void 0===o?void 0:o.connectObserver)&&void 0!==c?c:{next:e=>Ou(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,cp.info,i);const{SOURCE_REF:o,MESSAGE_TYPE:c}=e,s=this.getMessageHandler(o,c);if(!s)return void(e.MESSAGE_TYPE===$b.MSG_NACK&&e.ERROR&&e.ERROR.forEach(t=>{cp.error(`MessageType: ${e.MESSAGE_TYPE} | Error Details:`,t)}));let n=!1;switch(e.MESSAGE_TYPE){case Eb.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 $b.LOGOUT_ACK:return s.onReceivedMessage.call(this,e),void this.cleanMessages();case $b.LOGON_ACK:return;case $b.LOGOFF_ACK:break;case $b.QUERY_UPDATE:s.isSubscription||this.sendDataLogoff(o);break;case $b.MSG_NACK:case $b.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(o)}),error:e=>{cp.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.isDisconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():cp.info("Connection is now closed")}}),this.status.isConfigured=!0}):(cp.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`),void cp.warn("Make sure the host url starts with wss:// or ws://"))}handleExpiredSession(){return Ou(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 Ou(this,void 0,void 0,function*(){const e=yield Yy();e!==Wy.HANDLED_BY_OTHER_TAB?e!==Wy.FAILED&&(yield this.connect()):function(e){const t=i=>{i.key===Gy&&null===i.newValue&&(e(),window.removeEventListener("storage",t))};window.addEventListener("storage",t)}(()=>this.connect())})}updateSessionAndSubscriptions(e){(null==e?void 0:e.MESSAGE_TYPE)===Eb.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,o;if(this.heartbeatTicker&&this.heartbeatTicker.stop(),null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeat)&&void 0!==t?t:this.heartbeatIsEnabled){const e=null!==(o=null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatInterval)&&void 0!==o?o:this.heartbeatInterval;this.heartbeatTicker=new rz(e),this.heartbeatTicker.start(()=>{this.websocket&&this.isConnected&&(this.sendHeartbeat().catch(e=>cp.debug("Unhandled heartbeat error: ",e)),this.heartbeatLoggingIsEnabled&&cp.debug(`Sending a heartbeat ping every ${e} ms`))})}}reconnect(){var e,t,i,o,c;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)===oz.Exponential?cz:sz,a=this.isConnectedSubject.asObservable().pipe(fv(e=>e?Kg(-1):((e,t)=>new jm(i=>{let o,c=0;return function s(){i.next(c),clearTimeout(o),o=setTimeout(s,t(e,c)),c+=1}(),()=>{clearTimeout(o)}}))(this.reconnectOptions,n).pipe(av(e=>{var t,i,o;let c;return c=(null===(t=this.connectOptions)||void 0===t?void 0:t.alwaysOn)?e+1:null!==(o=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectAttempts)&&void 0!==o?o:10,e<c?Kg(e):(this.status.reconnectionLimitReached=!0,Zg(()=>new Error(`Max reconnect attempts ${c} reached.`)))}))),mv(()=>this.websocket&&!this.isConnected));a.subscribe(null!==(c=null===(o=this.reconnectOptions)||void 0===o?void 0:o.reconnectObserver)&&void 0!==c?c:{next:e=>{cp.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;cp.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.status.isReconnecting=!1},complete:()=>{cp.info(this.isConnected?"Reconnected":"Disconnected"),this.status.isReconnecting=!1,this.wsMessageHandlers.forEach(e=>{e.isSubscription&&this.websocket.next(e.sentMessage)})}})}forceReconnect(e,t){if(e!==this.connectionEpoch||!this.websocket)return;const i=t instanceof Error?t:new Error(String(t));cp.debug("Forcing socket closed due to heartbeat timeout: ",i),this.status.onClose({code:4e3,reason:"Heartbeat timeout",wasClean:!1}),this.websocket.error({code:4e3,reason:"Heartbeat timeout"}),this.reconnect()}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 lz,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,cp.info,i),new Promise((i,o)=>{const c=e=>{i(e)},s=e=>{o(e)};t&&this.setMessageHandler(e,c,s),this.websocket.next(e)})}sendForStream(e,t,i,o){if(!this.isConnected)return Zg(()=>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,cp.info,c),this.setMessageHandler(e,t,i,!0),u.queueUpdate(()=>this.websocket.next(e)),new jm(t=>{const i=this.wsMessages.pipe(hv(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),o&&o()}})}sendForStreamWithoutTeardown(e,t,i){if(!this.isConnected)return Zg(()=>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,cp.info,o),this.setMessageHandler(e,t,i,!0),this.websocket.next(e),this.wsMessages.pipe(hv(t=>t.SOURCE_REF===e.SOURCE_REF))}setMessageHandler(e,t,i,o=!1){const c=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,cp.debug,c),this.wsMessageHandlers.set(e.SOURCE_REF,new dz(e,t,i,o))}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,cp.debug,i),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,i){switch(e){case Eb.DATA_LOGOFF:t(i);break;case $b.HEARTBEAT_PING:case $b.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(i);break;default:this.messageLoggingIsEnabled&&t(i)}}};Nu([g],hz.prototype,"websocket",void 0),Nu([g],hz.prototype,"wsMessages",void 0),Nu([g],hz.prototype,"wsMessageHandlers",void 0),Nu([Mb],hz.prototype,"http",void 0),Nu([g],hz.prototype,"heartbeatIsEnabled",void 0),hz=Nu([Au(0,Db),Au(1,Cb),Au(2,xm),Au(3,Qv),Au(4,az),Au(5,eb),Au(6,pb)],hz);const uz=pt.createInterface(e=>e.singleton(hz));let pz=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,o,c,s){this.socket=e,this.messageBuilder=t,this.metaCache=i,this.events=o,this.config=c,this.transport=s,this.isWorking=!1,this.inFlightRequests=new Map}httpMode(){return!1}get useHttpReqRep(){return"true"===_p||Rp("forceHttpReqRep")}get httpHost(){return this.transport.toHttpHost(this.socket.host)}sendReqRep(e){return this.useHttpReqRep?this.transport.post(this.httpHost,e):this.socket.send(e)}setValidSession(e){cp.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 Ou(this,arguments,void 0,function*(e=Pp){return this.socket.reset(),this.socket.connect(e,this.config.connect,this.config.reconnect)})}disconnect(){this.socket.reset()}snapshot(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return cp.debug(`${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.socket.send(i)})}stream(e,t,i,o){const c=this.messageBuilder.createDataLogonMessage(e,o);cp.debug(`${c.MESSAGE_TYPE} (stream) message created -> `,c);const s=performance.now();let n=null;const a=this.socket.sendForStream(c,(...i)=>{null===n&&(n=performance.now(),cp.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,c,a,{onMessage:t,onError:i}),a}streamState(e,t=()=>{},i=()=>{},o,c=[]){return this.stream(e,t,i,o).pipe(uv(Ky,c))}streamWithoutAutoTeardown(e,t,i,o){cp.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0");const c=this.messageBuilder.createDataLogonMessage(e,o);cp.debug(`${c.MESSAGE_TYPE} (stream without auto-teardown) message created -> `,c);const s=this.socket.sendForStreamWithoutTeardown(c,t,t=>{i(t),this.events.onStreamErrorEvent(e,s,t)});return this.events.onStreamEvent(e,c,s,{onMessage:t,onError:i}),s}getMoreRows(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createMoreRowsMessage(e,t);return cp.debug(`${i.MESSAGE_TYPE} message created -> `,i),this.socket.send(i,!1)})}getMoreColumns(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.socket.send(t)})}dataLogoff(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return cp.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)})}getMetadata(e){return Ou(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasMetadataFor(e))return cp.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const o=this.messageBuilder.createMetaRequestMessage(e);let c,s;cp.debug(`${o.MESSAGE_TYPE} (metadata) message created -> `,o);try{this.isWorking=!0;const t=yield this.sendReqRep(o);c=null!==(i=null==t?void 0:t.DETAILS)&&void 0!==i?i:{},Object.keys(c).length&&this.metaCache.setMetadataFor(e,c)}catch(e){throw s=e,cp.error(e),e instanceof Error?e:new Error(String(e))}finally{this.events.onMetadataEvent(e,o,s),this.isWorking=!1}return c})}getJSONSchema(e){return Ou(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasJsonSchemaFor(e))return cp.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const o=this.messageBuilder.createMetaRequestMessage(e,Eb.JSON_SCHEMA_REQUEST);let c;cp.debug(`${o.MESSAGE_TYPE} (json schema) message created -> `,o);try{this.isWorking=!0,c=null!==(i=yield this.sendReqRep(o))&&void 0!==i?i:{},Object.keys(c).length&&this.metaCache.setJsonSchemaFor(e,c)}catch(e){cp.error(e)}finally{this.isWorking=!1}return c})}request(e,t){return Ou(this,arguments,void 0,function*(e,t,i=!1){const o=Tb(e,t);if(i&&this.metaCache.hasRequestFor(o))return cp.debug(`Cached request response retrieved for ${o}`),this.metaCache.getRequestFor(o);const c=this.inFlightRequests.get(o);if(c)return cp.debug(`In-flight request collapsed for ${o}`),c;const s=this.messageBuilder.createRequestMessage(e,t);cp.debug(`${s.MESSAGE_TYPE} (request server) message created -> `,s);const n=(this.useHttpReqRep?this.transport.requestServer(this.httpHost,s):this.socket.send(s)).finally(()=>{this.inFlightRequests.delete(o)});this.inFlightRequests.set(o,n);const a=yield n;return i&&a&&this.metaCache.setRequestFor(o,a),a})}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return cp.debug("Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);cp.debug(`${i.MESSAGE_TYPE} (resources) message created -> `,i);const o=yield this.sendReqRep(i);return this.metaCache.setResources(o),o})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);cp.debug(`${i.MESSAGE_TYPE} (commit) message created -> `,i);const o=this.sendReqRep(i);return this.events.onCommitEvent(e,i),o.then(t=>(this.events.onCommitResponseEvent(e,t),t))})}};Nu([g],pz.prototype,"isWorking",void 0),pz=Nu([Au(0,uz),Au(1,Db),Au(2,ib),Au(3,hb),Au(4,pb),Au(5,Hb)],pz);const fz="true"===Fp||Rp("forceHttp"),mz=pt.createInterface(e=>e.singleton(pz)),gz=pt.createInterface(e=>fz?e.aliasTo(Xy):e.aliasTo(mz));class vz{serialize(e){return cp.deprecated("serialize","Use `serialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),JSON.stringify(e)}deserialize(e){return cp.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 bz(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var o in i)"__proto__"!==o&&(e[o]=i[o])}return e}pt.createInterface(e=>e.singleton(vz));var yz={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 zz=function e(t,i){function o(e,o,c){if("undefined"!=typeof document){"number"==typeof(c=bz({},i,c)).expires&&(c.expires=new Date(Date.now()+864e5*c.expires)),c.expires&&(c.expires=c.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var n in c)c[n]&&(s+="; "+n,!0!==c[n]&&(s+="="+c[n].split(";")[0]));return document.cookie=e+"="+t.write(o,e)+s}}return Object.create({set:o,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var i=document.cookie?document.cookie.split("; "):[],o={},c=0;c<i.length;c++){var s=i[c].split("="),n=s.slice(1).join("=");try{var a=decodeURIComponent(s[0]);if(a in o||(o[a]=t.read(n,a)),e===a)break}catch{}}return e?o[e]:o}},remove:function(e,t){o(e,"",bz({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,bz({},this.attributes,t))},withConverter:function(t){return e(bz({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(i)},converter:{value:Object.freeze(t)}})}(yz,{path:"/"});const xz=pt.createInterface();function Cz(){return(null===navigator||void 0===navigator?void 0:navigator.credentials)?"PasswordCredential"in window||(cp.warn("PasswordCredential not available in this browser."),!1):(cp.warn("CredentialsContainer not available in this browser."),!1)}const Lz=":";function Mz(e="",t=Lz,i){return e.split(t,i).map(e=>e.trim()).filter(e=>""!==e)}function wz(e,t=Lz){const i="string"==typeof e&&e.trim();return!!i&&i.includes(t)}function kz(e,t=Lz){return"string"==typeof e&&e.trim()?(e.match(new RegExp(t,"g"))||[]).length:0}function Sz(e,t=Lz){for(const i of e)if(wz(i,t))return i;return e.find(e=>"string"==typeof e&&""!==e.trim())}function $z(e,t,i){const o="string"==typeof e&&e.trim();return!o||i&&!o.includes(i)||kz(o)>1?i&&t&&i!==t?`${t}:${i}`:t||i:o}function Ez(e="credential"){cp.warn(`Unable to migrate legacy ${e} to latest format. Please remove from your browser.`)}const Nz={password:!0,mediation:"optional"},Az={cookie:{path:"/",name:"credentials",expires:7300,storePasswords:!1}};let Oz=class{constructor(e,t=Az){this.session=e,this.config=t}createBasicCredentials(e){return{type:Sb.BASIC,username:e.username,password:e.password,mfaToken:this.getMFAToken()}}createRefreshCredentials(e){var t,i,o;return{type:Sb.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!==(o=null==e?void 0:e.mfaToken)&&void 0!==o?o:this.getMFAToken()}}createSSOCredentials(e){var t;return{type:Sb.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(Lz)&&kz(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]=Mz(t.name||t.id),[o,c]=Mz(Sz([t.id,t.name]));return[{id:$z(t.id||t.name,i,c),name:i,password:t.password||""},!0]}catch(e){Ez("PasswordCredential")}if(t)try{const e=t,[i]=Mz(e.name||e.username||e.organisation),[o,c]=Mz(Sz([e.organisation||e.username||e.name]));return[{id:$z(e.id||e.username||e.name,i,c),name:i,password:e.password||""},!1]}catch(e){Ez("cookie")}return[void 0,!1]}storeCredentialsInContainer(e){return Ou(this,void 0,void 0,function*(){if(!Cz())return;const t=new PasswordCredential(e);return cp.debug("Storing credentials in CredentialsContainer"),navigator.credentials.store(t)})}getCredentialsFromContainer(){return Ou(this,arguments,void 0,function*(e=Nz){if(Cz())return cp.debug("Getting credentials from CredentialsContainer"),yield navigator.credentials.get(e)})}storeCredentialsInCookie(e){const t=Eu(e,["password"]),i=this.config.cookie.storePasswords?e:t;return cp.debug("Storing credentials in cookie"),!!zz.set(this.config.cookie.name,JSON.stringify(i),{expires:this.config.cookie.expires,domain:location.hostname,path:this.config.cookie.path,secure:!0})}getCredentialsFromCookie(){cp.debug("Getting credentials from cookie");const e=zz.get(this.config.cookie.name);return e?JSON.parse(e):void 0}storeCredentials(e){return Ou(this,void 0,void 0,function*(){if(Cz()){const t=yield this.storeCredentialsInContainer(e);return Promise.resolve(!!t)}return Promise.resolve(this.storeCredentialsInCookie(e))})}getCredentials(e){return Ou(this,void 0,void 0,function*(){return Cz()?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(){zz.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 Cz()&&navigator.credentials.preventSilentAccess()}};Oz=Nu([Au(0,Cb),Au(1,vt(xz))],Oz);const Tz=pt.createInterface(e=>e.singleton(Oz)),Rz=e=>Array.isArray(e)?e.map(e=>null!=e?e:""):[],Iz=e=>{try{if("EVENT_LOGIN_AUTH_ACK"===(null==e?void 0:e.MESSAGE_TYPE)){const{DETAILS:o}=e,c={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:o?{system:(i=o.SYSTEM,i?{date:i.DATE}:null),heartbeatIntervalSecs:o.HEARTBEAT_INTERVAL_SECS,failedLoginAttempts:o.FAILED_LOGIN_ATTEMPTS,rejectedLoginAttempts:o.REJECTED_LOGIN_ATTEMPTS,lastLoginDatetime:o.LAST_LOGIN_DATETIME,daysToPasswordExpiry:o.DAYS_TO_PASSWORD_EXPIRY,product:(t=o.PRODUCT,t?t.map(e=>({name:e.NAME,version:e.VERSION})):[])}:null,permission:Rz(e.PERMISSION),profile:Rz(e.PROFILE)};return c}throw new Error("No Entity mapping implementation for provided DTO")}catch(e){throw cp.error(e),e}var t,i};let Dz=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,o,c){this.session=e,this.connect=t,this.messageBuilder=i,this.credentialManager=o,this.currentUser=c,this.isWorking=!1,this.isLoggedInSubject=new ig(this.isLoggedIn),this.currentUser.addAuthenticationChangeListener(e=>{var t;null===(t=this.isLoggedInSubject)||void 0===t||t.next(e.detail)})}login(e){return Ou(this,void 0,void 0,function*(){var t;this.isWorking=!0;try{const i=this.messageBuilder.createLoginMessage(e),o=yield this.connect.send(i);if(!o||o.ERROR||(null===(t=o.DETAILS)||void 0===t?void 0:t.ERROR))throw new Ab(i,o);this.applyAuthResults({authToken:o.SESSION_AUTH_TOKEN,refreshToken:o.REFRESH_AUTH_TOKEN,profiles:o.PROFILE,username:o.USER_NAME,permissions:o.PERMISSION,sessionId:o.SESSION_ID}),this.currentUser.set(Iz(o)),this.session.setAuthResult(o),cp.debug("Login Authentication Result:",o)}catch(e){if(cp.error("Login Authentication Error:",e),!(e instanceof Ab&&e.isIgnorableError()))throw this.removeAuthResults(),this.currentUser.unset(),e;cp.warn("Ignoring authentication error as it is a known edge case.")}finally{this.isWorking=!1}return this.loggedUserResult})}logout(){return Ou(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:o,DETAILS:c,ERROR:s,MESSAGE_TYPE:n,OIDC_LOGOUT_URL:a}=yield this.connect.send(i),r=null!==(e=null==c?void 0:c.ERROR)&&void 0!==e?e:s,l=n===$b.LOGOUT_NACK;l&&cp.warn("Unexpected Logout NACK received during logout.",r),t={success:n===$b.LOGOUT_ACK||o===Nb.SESSION_NOT_FOUND||!l,error:r},a&&window.open(a,"_self")}catch(e){const i=new Ab(e.sentMessage,e.receivedMessage);if(cp.error("Logout Authentication Error:",i),!i.isIgnorableError())throw e;cp.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 Ou(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)===Eb.EVENT_LOGIN_AUTH_ACK)return this.session.setAuthResult(t),this.currentUser.set(Iz(t)),this.applyAuthResults(this.getLoggedUserFromMessage(t)),!0}return this.session.deleteUserFromSessionStorage(),this.currentUser.unset(),!1})}ensureConnection(){return Ou(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,o=e.REFRESH_AUTH_TOKEN;return t&&i&&o?{username:t,authToken:i,refreshToken:o,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}};Nu([g],Dz.prototype,"isWorking",void 0),Nu([g],Dz.prototype,"loggedUserResult",void 0),Dz=Nu([Au(0,Cb),Au(1,gz),Au(2,Db),Au(3,Tz),Au(4,eb)],Dz);const Fz=pt.createInterface(e=>e.singleton(Dz));function _z(e,t){const i=new Date(e),o=i.getUTCFullYear(),c=String(i.getUTCMonth()+1).padStart(2,"0"),s=String(i.getUTCDate()).padStart(2,"0");if(t)return`${o}${c}${s}`;return`${o}${c}${s}-${String(i.getUTCHours()).padStart(2,"0")}:${String(i.getUTCMinutes()).padStart(2,"0")}`}function Hz(e,t="ROW_REF"){const i=e=>{var i;const o=null!==(i=e.DETAILS[t])&&void 0!==i?i:e[t],c=Object.assign(Object.assign({},e),{[t]:o});return delete c.DETAILS,c},o=[],c=[],s=[];for(const t of e.ROW)if(t.DETAILS)switch(t.DETAILS.OPERATION){case"INSERT":o.push(i(t));break;case"MODIFY":s.push(i(t));break;case"DELETE":c.push(i(t));break;default:cp.error(`Unsupported operation type: '${t.DETAILS.OPERATION}'`)}return{inserts:o,deletes:c,updates:s,SOURCE_REF:e.SOURCE_REF}}class Pz{}Pz.MAX_ROWS_250=250,Pz.MAX_VIEW_1000=1e3,Pz.REQ_REP_POLLING_INTERVAL_MS=1e4,Pz.DATASERVER_ROW_ID="ROW_REF",Pz.REQUEST_SERVER_ROW_ID="RECORD_ID",Pz.DEFAULT_PAGINATION_PAGE_SIZE=25,Pz.DEFAULT_REQ_REP_OFFSET=0;const Vz={options:{criteria:"",isSnapshot:!1,maxRows:Pz.MAX_ROWS_250,maxView:Pz.MAX_VIEW_1000,pollingInterval:Pz.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+)\)/,o=e.match(i);if(o){const[,e]=o,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+), ?['"](.+)['"]\)/,o=e.match(i);if(o){const[,e,i]=o;t[`${e}_FROM`]=i}break}case"dateTimeIsLessEqual":{const i=/Expr\.dateTimeIsLessEqual\((\w+), ?['"](.+)['"]\)/,o=e.match(i);if(o){const[,e,i]=o;t[`${e}_TO`]=i}break}case"dateIsGreaterEqual":{const i=/Expr\.dateIsGreaterEqual\((\w+), ?['"](.+)['"]\)/,o=e.match(i);if(o){const[,e,i]=o;t[`${e}_FROM`]=i}break}case"dateIsLessEqual":{const i=/Expr\.dateIsLessEqual\((\w+), ?['"](.+)['"]\)/,o=e.match(i);if(o){const[,e,i]=o;t[`${e}_TO`]=i}break}case"containsIgnoreCase":{const i=/Expr\.containsIgnoreCase\((\w+), ?['"](.+)['"]\)/,o=e.match(i);if(o){const[,e,i]=o;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,o]=t,c=parseInt(o,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_FROM`]=_z(c,n)}const o=e.match(/([A-Z_]+)\s*<=\s*(\d+)/);if(o){const[,e,t]=o,c=parseInt(t,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_TO`]=_z(c,n)}}else!function(e,t){const i=e.substr(0,e.indexOf("=")).trim().replace(/["']/g,""),o=e.substr(e.lastIndexOf("=")+1,e.length).trim().replace(/["']/g,"");t[i]=o}(e,i)}),i},dataServerResultFilter:Hz},Bz=pt.createInterface(e=>e.instance(Vz)),Uz=e=>{class t extends e{constructor(){super(),this.hasOwnProperty("onDatasourceStatusChanged")||(this.onDatasourceStatusChanged=e=>{var t;const i=void 0!==this.data;this.resourceName||i||cp.warn("Target classes must have a resourceName or data property to use the DatasourceEventHandler mixin.");const o=e.detail;if(o.name===this.resourceName){const e=null!==(t=this.datasourceStatus)&&void 0!==t?t:{isInitialized:!1,hasMetadata:!1};(e.isInitialized!==o.isInitialized||o.metadataRequired&&e.hasMetadata!==o.hasMetadata)&&(this.datasourceStatus=o)}})}datasourceStatusChanged(e,t){cp.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(nb,this.onDatasourceStatusChanged,{passive:!0,capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(nb,this.onDatasourceStatusChanged,{capture:!0})}}return Nu([g],t.prototype,"datasourceStatus",void 0),t},jz={throwWhenUnavailable:!0,throwWhenUnknown:!1},qz=pt.createInterface(e=>e.instance(jz)),Gz=dp("genesis-resources");let Wz=class{constructor(e,t){this.connect=e,this.config=t}isValidResource(e){return Ou(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 Ou(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(cp.error(i),this.config.throwWhenUnknown)throw new Error(i)})}getAllResources(){return Ou(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 Ou(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(cp.error(e),this.config.throwWhenUnavailable)throw new Error(e)}this.postLoadedMessage(),this.resourcesPromise=void 0}})}postLoadedMessage(){const e=pt.getOrCreateDOMContainer().get(Gz);e.postMessage("resources-loaded",this.resources),e.close()}};Wz=Nu([Au(0,gz),Au(1,qz)],Wz);const Yz=pt.createInterface(e=>e.singleton(Wz));let Kz=class{get initialized(){var e;return!!(null===(e=this.status)||void 0===e?void 0:e.isInitialized)}constructor(e,t,i,o,c){this.connect=e,this.auth=t,this.resources=i,this.config=o,this.connectEvents=c,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 eg}triggerPoll(){this.pollTrigger$.next()}validResourceName(e){return cp.deprecated("Datasource.validResourceName","Use `GenesisResources.isValidResource` instead."),!!e&&!!e.trim().length}init(e){return Ou(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 o=this.options.resourceName;if(!(this.connect.isConnected||(yield this.connect.connect())))return cp.error(`Unable to connect to ${this.connect.host} to get ${o} datasource`),this.reportStatus(),!1;return(yield this.resources.isValidResource(o))?(this.resourceType=yield this.resources.getResourceTypeFor(o),this.resourceType?(this.fetchMetadataRequired&&(yield this.fetchAndApplyMetadata(this.options.resourceName),this._allParams=null),cp.debug(`Initializing ${o} datasource from ${this.connect.host}`),!this.options.isSnapshot&&i&&(this.pollTrigger$=new eg,this.stream=yield this.createStream()),cp.debug(`${o} datasource initialization ${this.initialized?"was successful.":"has failed."}`),this.reportStatus(),this.initialized):(cp.error(`Unable to get the resource type for ${o} datasource from ${this.connect.host}`),this.reportStatus(),!1)):(cp.error(`${o} datasource does not exist on ${this.connect.host}`),this.reportStatus(),!1)})}startStream(){return Ou(this,void 0,void 0,function*(){this.options.isSnapshot||void 0!==this.stream||(this.stream=yield this.createStream())})}destroy(){var e,t;cp.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);cp.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},cp.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=Eu(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 Ou(this,void 0,void 0,function*(){switch(cp.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`),this.resourceType){case sb.DATASERVER:return this.connect.snapshot(this.options.resourceName,Object.assign(Object.assign({},this.dataserverOnlyParams),e));case sb.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 Ou(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 Ou(this,void 0,void 0,function*(){if(![sb.DATASERVER,sb.REQUEST_SERVER].includes(this.resourceType))throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);return this.resourceType===sb.DATASERVER?this.createDataserverStream():(cp.debug(`Creating fake stream by polling ${this.options.resourceName} REQUEST_SERVER`),this.createReqRepStream())})}createDataserverStream(){return Ou(this,void 0,void 0,function*(){return this.connect.stream(this.options.resourceName,e=>{},e=>cp.error(e),this.dataserverOnlyParams)})}createReqRepStream(){this.commitResponseUnsubscribe=this.connectEvents.addCommitResponseListener(e=>{var t;const{eventName:i,response:o}=e.detail;this.options.pollTriggerEvents&&this.options.pollTriggerEvents.includes(i)&&(null===(t=o.MESSAGE_TYPE)||void 0===t?void 0:t.endsWith("_ACK"))&&(cp.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===sb.REQUEST_SERVER&&this.loadMoreCount>0){const t=25,i=(this.options.maxRows||t)*(this.loadMoreCount+1);e.DETAILS.MAX_ROWS=i}return sv([this.connect.isConnected$,this.auth.isLoggedIn$]).pipe(mv(()=>this.connect.isConnected&&this.auth.isLoggedIn),fv(()=>Yg(this.snapshot(e))))};return e?this.pollTrigger$.pipe(pv(0),fv(()=>dv(0,e).pipe(fv(t)))):this.pollTrigger$.pipe(pv(0),fv(t))}fetchAndApplyMetadata(e){return Ou(this,void 0,void 0,function*(){var t,i,o,c;try{cp.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!==(o=e.CRITERIA_FIELDS)&&void 0!==o?o:[],this.originalFieldDef=rb(e),this.fieldMetadata=ab(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===(c=this.fieldMetadata)||void 0===c?void 0:c.length)>0})}catch(t){cp.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),cp.debug(`Dispatching '${nb}'`,this.status),null==i||i.dispatchEvent(new CustomEvent(nb,{detail:this.status,bubbles:i!==document,composed:!0}))}normaliseStatus(e){var t,i,o,c,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!==(o=e.hasMetadata)&&void 0!==o?o:(null===(c=this.fieldMetadata)||void 0===c?void 0:c.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}};Nu([g],Kz.prototype,"status",void 0),Nu([g],Kz.prototype,"fetchMetadataRequired",void 0),Nu([g],Kz.prototype,"startStreamRequired",void 0),Nu([g],Kz.prototype,"originalFieldDef",void 0),Nu([g],Kz.prototype,"fieldMetadata",void 0),Nu([g],Kz.prototype,"requestFields",void 0),Nu([g],Kz.prototype,"customRequestFields",void 0),Nu([g],Kz.prototype,"availableIndexes",void 0),Nu([g],Kz.prototype,"availableSortableFields",void 0),Nu([g],Kz.prototype,"availableCriteriaFields",void 0),Nu([g],Kz.prototype,"criteriaOnlyRequest",void 0),Nu([g],Kz.prototype,"loadMoreCount",void 0),Nu([g],Kz.prototype,"readOnly",void 0),Nu([g],Kz.prototype,"stream",void 0),Kz=Nu([Au(0,gz),Au(1,Fz),Au(2,Yz),Au(3,Bz),Au(4,db)],Kz);const Zz=pt.createInterface(e=>e.transient(Kz));class Qz extends Kz{constructor(){super(...arguments),this.entityCache=[],this.entityMap=new Map,this.rowId="ROW_REF",this.initialize=e=>Ou(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===$b.LOGOFF_ACK;const t=e.ROW;!this.subscriptionLoggedOff&&t&&this.updateCache(this.config.dataServerResultFilter(e,this.rowId))}),!0):(cp.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],o=this.entityMap.get(i);if(o&&t)throw new Error("Existing entity found in map while inserting.");const c=this.mapper.fromDTO(e),s=o?Object.assign(Object.assign({},o),c):c;this.entityMap.set(i,s)})}}function Xz(e,t=";"){return e?e.split(t).map(e=>e.trim()).sort((e,t)=>e.localeCompare(t)).join(t):e}pt.createInterface(e=>e.transient(Qz));const Jz="system-health-changed",ex={windowEvents:["online","offline","pageshow"],documentEvents:["visibilitychange"],genesisConnectEvents:["stream","commit"],ignoredGenesisResources:[],startDelay:5e3,checkInterval:1e4,checkTimeout:3e3,resourceChecks:e=>Ou(void 0,void 0,void 0,function*(){const t=pt.getOrCreateDOMContainer().get(gz),i=yield t.getMoreColumns(e),o=Date.now(),c=i;return{isConnected:i.MESSAGE_TYPE===$b.MORE_COLUMNS_ACK,lastUpdated:o,lastMessage:c}}),resourceDataLogon:({message:e,functions:t})=>{const{onMessage:i,onError:o}=t;pt.getOrCreateDOMContainer().get(uz).sendForStream(e,i,o)}},tx=pt.createInterface(e=>e.instance(ex));var ix,ox={exports:{}};var cx,sx,nx=(ix||(ix=1,function(e){e.exports=function(e){var t={};function i(o){if(t[o])return t[o].exports;var c=t[o]={i:o,l:!1,exports:{}};return e[o].call(c.exports,c,c.exports,i),c.l=!0,c.exports}return i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},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 o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var c in e)i.d(o,c,function(t){return e[t]}.bind(null,c));return o},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 o=i(18),c=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],o=t[1];if(10===i)switch(o){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,o){void 0===o&&(o=!1);var c=e.getVersionPrecision(t),s=e.getVersionPrecision(i),n=Math.max(c,s),a=0,r=e.map([t,i],function(t){var i=n-e.getVersionPrecision(t),o=t+new Array(i+1).join(".0");return e.map(o.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(o&&(a=n-Math.min(c,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,o=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(i=0;i<e.length;i+=1)o.push(t(e[i]));return o},e.find=function(e,t){var i,o;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,o=e.length;i<o;i+=1){var c=e[i];if(t(c,i))return c}},e.assign=function(e){for(var t,i,o=e,c=arguments.length,s=new Array(c>1?c-1:0),n=1;n<c;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){o[t]=e[t]})};for(t=0,i=s.length;t<i;t+=1)a();return e},e.getBrowserAlias=function(e){return o.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return o.BROWSER_MAP[e]||""},e}();t.default=c,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 o,c=(o=i(91))&&o.__esModule?o:{default:o},s=i(18);function n(e,t){for(var i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}var a=function(){function e(){}var t,i,o;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 c.default(e,t,i)},e.parse=function(e,t){return void 0===t&&(t=null),new c.default(e,t).getResult()},t=e,o=[{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),o&&n(t,o),e}();t.default=a,e.exports=t.default},91:function(e,t,i){t.__esModule=!0,t.default=void 0;var o=r(i(92)),c=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 o=!1;"boolean"==typeof t?(o=t,this._hints=i):this._hints=null!=t&&"object"==typeof t?t:null,this.parsedResult={},!0!==o&&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(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.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(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.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={},o=0,c={},s=0;if(Object.keys(e).forEach(function(t){var n=e[t];"string"==typeof n?(c[t]=n,s+=1):"object"==typeof n&&(i[t]=n,o+=1)}),o>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 h=this.satisfies(i[d]);if(void 0!==h)return h}}if(s>0){var u=Object.keys(c),p=a.default.find(u,function(e){return t.isBrowser(e,!0)});if(void 0!==p)return this.compareVersion(c[p])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var i=this.getBrowserName().toLowerCase(),o=e.toLowerCase(),c=a.default.getBrowserTypeByAlias(o);return t&&c&&(o=c.toLowerCase()),o===i},t.compareVersion=function(e){var t=[0],i=e,o=!1,c=this.getBrowserVersion();if("string"==typeof c)return">"===e[0]||"<"===e[0]?(i=e.substr(1),"="===e[1]?(o=!0,i=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?i=e.substr(1):"~"===e[0]&&(o=!0,i=e.substr(1)),t.indexOf(a.default.compareVersions(c,i,o))>-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 o,c=(o=i(17))&&o.__esModule?o:{default:o},s=/version\/(\d+(\.?_?\d+)+)/i,n=[{test:[/gptbot/i],describe:function(e){var t={name:"GPTBot"},i=c.default.getFirstMatch(/gptbot\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chatgpt-user/i],describe:function(e){var t={name:"ChatGPT-User"},i=c.default.getFirstMatch(/chatgpt-user\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/oai-searchbot/i],describe:function(e){var t={name:"OAI-SearchBot"},i=c.default.getFirstMatch(/oai-searchbot\/(\d+(\.\d+)+)/i,e)||c.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=c.default.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(e){var t={name:"Omgilibot"},i=c.default.getFirstMatch(/(?:omgilibot|webzio-extended)\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/diffbot/i],describe:function(e){var t={name:"Diffbot"},i=c.default.getFirstMatch(/diffbot\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexitybot/i],describe:function(e){var t={name:"PerplexityBot"},i=c.default.getFirstMatch(/perplexitybot\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexity-user/i],describe:function(e){var t={name:"Perplexity-User"},i=c.default.getFirstMatch(/perplexity-user\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/youbot/i],describe:function(e){var t={name:"YouBot"},i=c.default.getFirstMatch(/youbot\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-webindexer/i],describe:function(e){var t={name:"Meta-WebIndexer"},i=c.default.getFirstMatch(/meta-webindexer\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalads/i],describe:function(e){var t={name:"Meta-ExternalAds"},i=c.default.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalagent/i],describe:function(e){var t={name:"Meta-ExternalAgent"},i=c.default.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalfetcher/i],describe:function(e){var t={name:"Meta-ExternalFetcher"},i=c.default.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},i=c.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/linespider/i],describe:function(e){var t={name:"Linespider"},i=c.default.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/amazonbot/i],describe:function(e){var t={name:"AmazonBot"},i=c.default.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/bingbot/i],describe:function(e){var t={name:"BingCrawler"},i=c.default.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/baiduspider/i],describe:function(e){var t={name:"BaiduSpider"},i=c.default.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/duckduckbot/i],describe:function(e){var t={name:"DuckDuckBot"},i=c.default.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ia_archiver/i],describe:function(e){var t={name:"InternetArchiveCrawler"},i=c.default.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i,e)||c.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=c.default.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},i=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},i=c.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},i=c.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},i=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},i=c.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},i=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||c.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=c.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},i=c.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=c.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=c.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=c.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},i=c.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},i=c.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=c.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},i=c.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},i=c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(s,e)||c.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=c.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},i=c.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},i=c.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/librewolf/i],describe:function(e){var t={name:"LibreWolf"},i=c.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=c.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=c.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=c.default.getFirstMatch(/(?:sogoumobilebrowser)[\s/](\d+(\.?_?\d+)+)/i,e),o=c.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),s=c.default.getFirstMatch(/se ([\d.]+)x/i,e),n=i||o||s;return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},i=c.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 o=t.getBrandVersion("DuckDuckGo");if(o)return i.version=o,i}var s=c.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 o=t.getBrandVersion("Brave");if(o)return i.version=o,i}return i}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},i=c.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},i=c.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=c.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=c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},i=c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},i=c.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:c.default.getFirstMatch(t,e),version:c.default.getSecondMatch(t,e)}}}];t.default=n,e.exports=t.default},93:function(e,t,i){t.__esModule=!0,t.default=void 0;var o,c=(o=i(17))&&o.__esModule?o:{default:o},s=i(18),n=[{test:[/Roku\/DVP/],describe:function(e){var t=c.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=c.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=c.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),i=c.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=c.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return i&&(t.version=i),t}},{test:[/macintosh/i],describe:function(e){var t=c.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),i=c.default.getMacOSVersionName(t),o={name:s.OS_MAP.MacOS,version:t};return i&&(o.versionName=i),o}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=c.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=c.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=c.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),i=c.default.getAndroidVersionName(t),o={name:s.OS_MAP.Android,version:t};return i&&(o.versionName=i),o}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=c.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=c.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||c.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||c.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=c.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=c.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=c.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 o,c=(o=i(17))&&o.__esModule?o:{default:o},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=c.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=c.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=c.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 o,c=(o=i(17))&&o.__esModule?o:{default:o},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=c.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=c.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=c.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=c.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=c.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}}];t.default=n,e.exports=t.default}})}(ox)),ox.exports),ax=of(nx);var rx,lx=function(){if(sx)return cx;sx=1,cx=s,s.default=s,s.stable=l,s.stableStringify=l;var e="[...]",t="[Circular]",i=[],o=[];function c(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function s(e,t,s,n){var r;void 0===n&&(n=c()),a(e,"",0,[],void 0,0,n);try{r=0===o.length?JSON.stringify(e,t,s):JSON.stringify(e,h(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,c,s){var n=Object.getOwnPropertyDescriptor(s,c);void 0!==n.get?n.configurable?(Object.defineProperty(s,c,{value:e}),i.push([s,c,t,n])):o.push([t,c,e]):(s[c]=e,i.push([s,c,t]))}function a(i,o,c,s,r,l,d){var h;if(l+=1,"object"==typeof i&&null!==i){for(h=0;h<s.length;h++)if(s[h]===i)return void n(t,i,o,r);if(void 0!==d.depthLimit&&l>d.depthLimit)return void n(e,i,o,r);if(void 0!==d.edgesLimit&&c+1>d.edgesLimit)return void n(e,i,o,r);if(s.push(i),Array.isArray(i))for(h=0;h<i.length;h++)a(i[h],h,h,s,i,l,d);else{var u=Object.keys(i);for(h=0;h<u.length;h++){var p=u[h];a(i[p],p,h,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=c());var a,r=d(e,"",0,[],void 0,0,n)||e;try{a=0===o.length?JSON.stringify(r,t,s):JSON.stringify(r,h(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(o,c,s,a,l,h,u){var p;if(h+=1,"object"==typeof o&&null!==o){for(p=0;p<a.length;p++)if(a[p]===o)return void n(t,o,c,l);try{if("function"==typeof o.toJSON)return}catch(e){return}if(void 0!==u.depthLimit&&h>u.depthLimit)return void n(e,o,c,l);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void n(e,o,c,l);if(a.push(o),Array.isArray(o))for(p=0;p<o.length;p++)d(o[p],p,p,a,o,h,u);else{var f={},m=Object.keys(o).sort(r);for(p=0;p<m.length;p++){var g=m[p];d(o[g],g,p,a,o,h,u),f[g]=o[g]}if(void 0===l)return f;i.push([l,c,o]),l[c]=f}a.pop()}}function h(e){return e=void 0!==e?e:function(e,t){return t},function(t,i){if(o.length>0)for(var c=0;c<o.length;c++){var s=o[c];if(s[1]===t&&s[0]===i){i=s[2],o.splice(c,1);break}}return e.call(this,t,i)}}return cx}(),dx=of(lx);const hx=op("network-monitor",{level:Bu.info}),ux=Date.now(),px=(null===(rx=window.navigator)||void 0===rx?void 0:rx.userAgent)?ax.parse(window.navigator.userAgent):void 0,fx=(e,t={depthLimit:10,edgesLimit:10})=>e instanceof Event?`'${e.type}' Event`:"string"==typeof e?e:dx(e,void 0,2,t);class mx{constructor(){this.unsubscribableObservers=[],this.runAllChecks=(e,t)=>Ou(this,void 0,void 0,function*(){if(!this.isReady||this.isRunningChecks&&!t)return;hx.info("Run health checks, triggered by",fx(e),"| Active resources",this.resources.size),this.isRunningChecks=!0,this.synchroniseCheckInterval();let i=this.getFormattedTimestamp(this.getNowTimestamp());const o=yield this.isOnlineCheck();o?hx.debug(`Network connected at ${i}`):hx.warn(`Network disconnected at ${i}`);const c=this.normaliseSerializedSocketStatus(this.socketStatus.serialize(),o),s=this.preFlightSocketChecks(c);if(s||hx.debug("Socket pre-flight checks failed"),!o||!s){hx.debug("Aborting remaining health checks");const e=[...this.resources].reduce((e,[t,i])=>{const c=e[i.resourceName];return c?(c.sourceRef=[...c.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},o)})},{});return this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:o,resources:e,resourcesAllConnected:!1,socket:c}),void(this.isRunningChecks=!1)}let n=!0;const a=[];this.resources.forEach((e,t)=>{const{resourceName:o,message:c,functions:s}=e,{resourceChecks:r=this.config.resourceChecks,resourceDataLogon:l=this.config.resourceDataLogon}=s,{SOURCE_REF:d}=c;let h,u,p,f,m,g=!1;a.push((()=>Ou(this,void 0,void 0,function*(){var c,s,a;try{hx.debug(`Running health check against ${o}`);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,h=e.lastUpdated,u=e.lastMessage,f=e.timeout}catch(e){g=!1,h=this.getNowTimestamp(),p=e,u=null!==(c=null==e?void 0:e.receivedMessage)&&void 0!==c?c:e}return m=(null==u?void 0:u.MESSAGE_TYPE)===$b.MSG_NACK||Rb(u,vb.NOT_FOUND),i=this.getFormattedTimestamp(null!=h?h:this.getNowTimestamp()),g?hx.debug(`${o} is healthy at ${i}`):hx.warn(`${o} is not healthy at ${i}`),u&&hx.debug(`${o} messaged at ${i}`,fx(u)),p&&hx.error(`${o} errored at ${i}`,fx(p)),f&&hx.warn(`${o} timed out at ${i}`),m&&(hx.error(`${o} issue, re-attempting data logon at ${i}`),l(e)),n&&(n=g),{name:o,sourceRef:[d],isConnected:g,lastUpdated:h,lastError:p}}))())});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 hx.warn("Unexpected promise rejection occurred. Please check any custom resourceChecks return MonitoredResourceChecksResult."),e},{});hx.debug("Health checks complete"),this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:o,resources:r,resourcesAllConnected:n,socket:c}),this.isRunningChecks=!1}),void 0!==this.config.logLevel&&(hx.level=this.config.logLevel)}create(){this.resources?hx.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:o,stream:c}=e;this.config.ignoredGenesisResources.includes(o)||this.addResource(c,{functions:t,message:i,resourceName:o})},({detail:e})=>{const{resourceName:t,stream:i}=e;this.config.ignoredGenesisResources.includes(t)||this.removeResource(i)},({detail:e})=>{var t;const{resourceName:i,stream:o,error:c}=e,s=null!==(t=c.receivedMessage)&&void 0!==t?t:c;let n="";Rb(s,vb.NOT_FOUND)?n="Please check the resource is running.":Rb(s,vb.FORBIDDEN)&&(n="You are not authorised to access this resource, removing it from monitoring.",this.removeResource(o)),hx.error(`${i} errored at ${this.getFormattedTimestamp(this.getNowTimestamp())}.`,n,c)})),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&&hx.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?hx.debug:hx.warn)("Emitting 'system-health-changed' event",fx(this.status)),null==i||i.dispatchEvent(new CustomEvent(Jz,{detail:this.status,bubbles:i!==document,composed:!0})),this.status.socket.reconnectionLimitReached&&(hx.debug("Network monitoring no longer required. Please check your network and reload your application."),this.destroy())}reportStabilityToGenesis(e){return Ou(this,void 0,void 0,function*(){return hx.debug("User requested report stability to Genesis."),hx.info("Please attach this data to your Genesis Support request: \n",JSON.stringify(e,null,2)),!0})}normaliseResourceHealth(e,t=!0){var i;const o=!!t&&e.isConnected,c=null!==(i=e.lastUpdated)&&void 0!==i?i:this.getNowTimestamp();return Object.assign(Object.assign({},e),{isConnected:o,lastUpdated:c})}normaliseSerializedSocketStatus(e,t=!0){const i=!!t&&e.isConnected,o=!i;return Object.assign(Object.assign({},e),{isConnected:i,isDisconnected:o})}normaliseEventDetail(e){var t,i,o,c;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!==(o=e.lastUpdated)&&void 0!==o?o:this.getNowTimestamp(),a=null!==(c=e.nextUpdate)&&void 0!==c?c:this.getNextTimestamp(),r=e.isAuthenticated&&this.user?this.user.username:void 0,l=Object.assign(Object.assign({},e),{browserInformation:px,username:r,isHealthy:s,lastUpdated:n,nextUpdate:a,firstUpdated:ux,runAllChecks:()=>{hx.debug("User activated run checks command starting."),this.runAllChecks("user requested")},reportStabilityToGenesis:()=>this.reportStabilityToGenesis(l)});return l}preFlightSocketChecks(e){if(!e.isConfigured)return hx.debug("Socket not configured"),!1;if(e.isReconnecting)return hx.debug("Socket reconnecting"),!1;if(e.isConnecting)return hx.debug("Socket connecting"),!1;if(e.isDisconnected){const t=e.isDisconnectedByServer?`by the server, code: ${e.closedCode}, reason: ${e.closedReason}`:"";return hx.debug(`Socket disconnected ${t}`),e.reconnectionLimitReached&&hx.debug("Socket reconnection limit reached"),!1}const t=this.user.isAuthenticated?"with":"without";return hx.debug(`Socket connected ${t} valid session`),!0}getFormattedTimestamp(e){return Zp(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)}}Nu([tx],mx.prototype,"config",void 0),Nu([az],mx.prototype,"socketStatus",void 0),Nu([db],mx.prototype,"connectEvents",void 0),Nu([eb],mx.prototype,"user",void 0),Nu([g],mx.prototype,"status",void 0);const gx=pt.createInterface(e=>e.singleton(mx)),vx={account:"genesis",namespace:"default",authKey:"kv-default",authEmail:void 0},bx=pt.createInterface();var yx,zx;!function(e){e.REQ_KEY_VALUE_LIST="REQ_KEY_VALUE_LIST",e.REQ_KEY_VALUE_READ="REQ_KEY_VALUE_READ"}(yx||(yx={})),function(e){e.EVENT_KEY_VALUE_PUT="EVENT_KEY_VALUE_PUT",e.EVENT_KEY_VALUE_DELETE="EVENT_KEY_VALUE_DELETE"}(zx||(zx={}));let xx=class{constructor(e,t,i=vx){this.connect=e,this.user=t,this.kvStorageConfig=i}delete(e){return Ou(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 Ou(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}},o=yield this.connect.request(yx.REQ_KEY_VALUE_READ,i);if(o&&o.REPLY&&o.REPLY.length>0){const t=o.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=Op(e);return"string"==typeof t&&t.startsWith("str:")&&(t=Op(t)),"string"==typeof t&&t.startsWith("bin:")&&(t=Op(t)),t}list(){return Ou(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(yx.REQ_KEY_VALUE_LIST,t);if(i&&i.REPLY&&i.REPLY.length>0){return i.REPLY.map(e=>e.KEY)}return[]})}put(e){return Ou(this,void 0,void 0,function*(){const t={DETAILS:{RECORDS:e.map(e=>({KEY:e.key,VALUE:e.base64?Tp(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}})}};xx=Nu([Au(0,gz),Au(1,eb),Au(2,vt(bx))],xx),pt.createInterface(e=>e.singleton(xx));class Cx{constructor(){this.isWorking=!1,this.loggedUserResult=null,this.currentUser=null,this.isLoggedIn=!1,this.isLoggedInSubject=new ig(!1)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}login(e){return Ou(this,void 0,void 0,function*(){return Promise.resolve(this.nextLoginResult)})}logout(){return Ou(this,void 0,void 0,function*(){return Promise.resolve(this.nextLogoutResult)})}reAuthFromSession(){return Ou(this,void 0,void 0,function*(){return Promise.resolve(this.nextReAuthResult)})}setTestUser(e={}){this.currentUser=new Jv,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)}}Nu([g],Cx.prototype,"isWorking",void 0),Nu([g],Cx.prototype,"loggedUserResult",void 0),Nu([g],Cx.prototype,"currentUser",void 0),Nu([g],Cx.prototype,"isLoggedIn",void 0);class Lx{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,o;this.availableIndexes=null!==(t=e.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(i=e.SORTABLE_FIELDS)&&void 0!==i?i:[],this.availableCriteriaFields=null!==(o=e.CRITERIA_FIELDS)&&void 0!==o?o:[],this.originalFieldDef=rb(e),this.fieldMetadata=ab(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=Yg(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){}}Nu([g],Lx.prototype,"status",void 0),Nu([g],Lx.prototype,"fetchMetadataRequired",void 0),Nu([g],Lx.prototype,"originalFieldDef",void 0),Nu([g],Lx.prototype,"fieldMetadata",void 0),Nu([g],Lx.prototype,"requestFields",void 0),Nu([g],Lx.prototype,"customRequestFields",void 0),Nu([g],Lx.prototype,"availableIndexes",void 0),Nu([g],Lx.prototype,"availableSortableFields",void 0),Nu([g],Lx.prototype,"availableCriteriaFields",void 0),Nu([g],Lx.prototype,"criteriaOnlyRequest",void 0),pt.createInterface(e=>e.aliasTo(eb));const Mx=op("foundation-ui");class wx extends(Uz(qt)){constructor(){super(...arguments),this.withGridInit=!0,this.isSnapshot=!1,this.maxRows=Pz.MAX_ROWS_250,this.maxView=Pz.MAX_VIEW_1000,this.resourceName="",this.reverse=!1,this.withTimestampFormatting=!0,this.requiresFullDataRefresh=!0,this.moreRowsAvailable=!1,this.nextRequestOffset=0,this.rowsSyncedWithStream=new Map,this.dataSubWasLoggedOff=!1,this.criteriaFromFilters=new Map,this.update=new ig(new Map),this.fetchGeneration=0}criteriaChanged(e,t){const i=e!==Xz(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}get effectiveRowId(){var e;return this.rowId?this.rowId:(null===(e=this.datasource)||void 0===e?void 0:e.resourceType)===sb.REQUEST_SERVER?Pz.REQUEST_SERVER_ROW_ID:Pz.DATASERVER_ROW_ID}reset(){this.requiresFullDataRefresh=!0,this.fetchGenesisData()}fetchGenesisData(){return Ou(this,arguments,void 0,function*(e=!0){var t,i;null===(t=this.dataSub)||void 0===t||t.unsubscribe(),this.dataSub=void 0,this.moreRowsAvailable=!1,this.nextRequestOffset=0,this.fetchGeneration+=1;const o=this.fetchGeneration,c=()=>o!==this.fetchGeneration;if(this.data)return void this.syncComponentData(this.data);const s=e||!this.datasource.initialized;s||(this.connect.dataLogoff(this.sourceRef),this.clearData()),this.sourceRef=void 0;const n=yield this.datasource.init(this.datasourceOptions(),s);if(!c())if(n){if(this.isSnapshot){const e=yield this.datasource.snapshot();if(c())return;const t=this.filterSnapshotResult(e);return this.updateRequestPagingState(e,null!==(i=null==t?void 0:t.length)&&void 0!==i?i:0,this.initialRequestOffset()),void this.syncComponentData(t)}Mx.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,"boolean"==typeof e.MORE_ROWS&&(this.moreRowsAvailable=e.MORE_ROWS);const t=e.MESSAGE_TYPE;if(t&&t===$b.LOGOFF_ACK)this.dataSubWasLoggedOff=!0;else if(this.dataSubWasLoggedOff=!1,e.ROW){const t=Hz(e);this.handleStreamUpdate(t)}else this.handleStreamUpdate(e)})}else this.handleError({message:`Genesis Datasource init failed for ${this.resourceName}`,loggerType:"error"})})}initDatasource(){return Ou(this,void 0,void 0,function*(){yield this.datasource.init(this.datasourceOptions(),!0)})}canRequestMoreRows(){if(!this.isConnected||!this.datasource||!this.moreRowsAvailable)return!1;switch(this.datasource.resourceType){case sb.REQUEST_SERVER:return!0;case sb.DATASERVER:return!!this.sourceRef&&!this.dataSubWasLoggedOff;default:return!1}}requestMoreRows(){return Ou(this,void 0,void 0,function*(){var e;if(this.canRequestMoreRows())try{if(this.datasource.resourceType===sb.DATASERVER)return void(yield this.connect.getMoreRows(this.sourceRef));const t=this.fetchGeneration,i=this.nextRequestOffset;this.moreRowsAvailable=!1;const o=yield this.datasource.snapshot({DETAILS:Object.assign(Object.assign({},null===(e=this.datasource.requestOnlyParams)||void 0===e?void 0:e.DETAILS),{OFFSET:i})});if(t!==this.fetchGeneration)return;const c=Array.isArray(null==o?void 0:o.REPLY)?o.REPLY:[];this.updateRequestPagingState(o,c.length,i),c.length>0&&this.handleStreamInserts(c)}catch(e){throw this.moreRowsAvailable=!0,this.handleError({message:`Failed to request more rows for ${this.resourceName}`,loggerType:"error",loggerArgs:[e]}),e}})}filterSnapshotResult(e){if(e)return Array.isArray(e)?e:e.REPLY?e.REPLY:e.ROW?Hz(e).inserts:void 0}updateRequestPagingState(e,t,i){if(Array.isArray(e)||!e)return void(this.moreRowsAvailable=!1);const o=e,c=o.NEXT_OFFSET,s="number"==typeof c&&c>i,n=Number(this.maxRows)||0,a=t>0&&n>0&&t>=n;this.moreRowsAvailable="boolean"==typeof o.MORE_ROWS?o.MORE_ROWS:-1!==c&&(s||a),this.nextRequestOffset=s?c:i+t}initialRequestOffset(){var e,t;return Number(null===(t=null===(e=this.datasource.requestOnlyParams)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.OFFSET)||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)return null===(i=e.REPLY)||void 0===i||i.forEach(e=>{this.rowsSyncedWithStream.set(e[this.effectiveRowId],e)}),void this.syncComponentData(Array.from(this.rowsSyncedWithStream.values()));this.handleStreamInserts(e.REPLY);const o=Array.from(this.rowsSyncedWithStream.values()).filter(t=>!e.REPLY.includes(t));this.handleStreamDeletes(o)}applyDataserverData(e){var t,i,o,c;if(this.requiresFullDataRefresh){null===(t=e.inserts)||void 0===t||t.forEach(e=>{this.rowsSyncedWithStream.set(e[this.effectiveRowId],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===(o=e.deletes)||void 0===o?void 0:o.length)>0&&this.handleStreamDeletes(e.deletes),(null===(c=e.updates)||void 0===c?void 0:c.length)>0&&this.handleStreamUpdates(e.updates)}buildCriteria(){var e;return Xz(((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:o=[]}=e;t&&Mx[i](t,...o)}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===ob.DATE||t===ob.DATETIME?Qp(e,t===ob.DATETIME):e}}Nu([gz],wx.prototype,"connect",void 0),Nu([Zz],wx.prototype,"datasource",void 0),Nu([re({mode:"boolean"})],wx.prototype,"withGridInit",void 0),Nu([re],wx.prototype,"criteria",void 0),Nu([g],wx.prototype,"data",void 0),Nu([re],wx.prototype,"fields",void 0),Nu([re({mode:"boolean"})],wx.prototype,"isSnapshot",void 0),Nu([re],wx.prototype,"maxRows",void 0),Nu([re],wx.prototype,"maxView",void 0),Nu([re],wx.prototype,"orderBy",void 0),Nu([re],wx.prototype,"request",void 0),Nu([re],wx.prototype,"resourceName",void 0),Nu([re({mode:"boolean"})],wx.prototype,"reverse",void 0),Nu([re],wx.prototype,"rowId",void 0),Nu([re({mode:"boolean",attribute:"with-timestamp-formatting"})],wx.prototype,"withTimestampFormatting",void 0);const kx=(e,t)=>!e.composedPath().includes(t),Sx=(e,t)=>e.composedPath().includes(t),$x=e=>e.tagName.toLowerCase().split("-")[0];const Ex=op("foundation-criteria");var Nx;!function(e){e.AND="&&",e.OR="||",e.NOT="!",e.GT=">",e.GE=">=",e.LT="<",e.LE="<=",e.NE="!=",e.EQ="=="}(Nx||(Nx={}));class Ax{constructor(e){this.$$operator=e}static And(){return new Ax(Nx.AND)}static Or(){return new Ax(Nx.OR)}static Not(){return new Ax(Nx.NOT)}static GreaterThan(){return new Ax(Nx.GT)}static GreaterThanOrEqual(){return new Ax(Nx.GE)}static LessThan(){return new Ax(Nx.LT)}static LessThanOrEqual(){return new Ax(Nx.LE)}static NotEqual(){return new Ax(Nx.NE)}static Equal(){return new Ax(Nx.EQ)}get operator(){return this.$$operator}}const Ox=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},Tx=e=>t=>`${t.field} ${e} ${Ox(t)}`,Rx={AND:e=>Tx(Nx.AND)(e),OR:e=>Tx(Nx.OR)(e),NOT:e=>Tx(Nx.NOT)(e),GT:e=>Tx(Nx.GT)(e),GE:e=>Tx(Nx.GE)(e),LT:e=>Tx(Nx.LT)(e),LE:e=>Tx(Nx.LE)(e),NE:e=>Tx(Nx.NE)(e),EQ:e=>Tx(Nx.EQ)(e),equals:e=>`${e.field}.equals(${Ox(e)})`,equalsIgnoreCase:e=>`${e.field}.equalsIgnoreCase(${Ox(e)})`,contains:e=>`Expr.contains(${e.field}, ${Ox(e)})`,fieldContains:e=>`${e.field}.contains(${Ox(e)})`,containsIgnoreCase:e=>`Expr.containsIgnoreCase(${e.field}, ${Ox(e)})`,startsWith:e=>`${e.field}.startsWith(${Ox(e)})`,endsWith:e=>`${e.field}.endsWith(${Ox(e)})`,dateIsToday:e=>`Expr.dateIsToday(${e.field})`,dateIsEqual:e=>`Expr.dateIsEqual(${e.field}, ${Ox(e)})`,dateIsGreaterEqual:e=>`Expr.dateIsGreaterEqual(${e.field}, ${Ox(e)})`,dateIsLessEqual:e=>`Expr.dateIsLessEqual(${e.field}, ${Ox(e)})`,dateTimeIsGreaterEqual:e=>`Expr.dateTimeIsGreaterEqual(${e.field}, ${Ox(e)})`,dateTimeIsLessEqual:e=>`Expr.dateTimeIsLessEqual(${e.field}, ${Ox(e)})`},Ix=e=>Array.isArray(e)?e:[e],Dx="default";class Fx{constructor(){this.expressions={},this.And=(e,t={})=>this.withExpression(e,t,Ax.And()),this.Or=(e,t={})=>this.withExpression(e,t,Ax.Or()),this.Not=(e,t={})=>this.withExpression(e,t,Ax.Not())}withExpression(e,t={},i=Ax.And()){const{condition:o,join:c,groupName:s}=t,n=(e,t=Dx)=>{var s;const n=null!==(s=this.expressions[t])&&void 0!==s?s:[];this.expressions[t]=[...n,{join:i||c,condition:o,expression:e}]};if(Array.isArray(e))if(c){const t=e.filter(e=>{const t=e instanceof Ax;return t&&Ex.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=c,t.flat().flatMap((e,t,i)=>i.length-1!==t?[e,a]:e));n(e,Dx)}}else n(e,Dx);else n(e,"string"==typeof e?Dx: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,o)=>this.parseExpression(e,o[i-1],t)).join("")})`}),{});return e?e(t):`(${Object.values(t).join(" && ")})`}reset(){this.expressions={}}parseExpression(e,t,i){const o=[];return i&&t&&o.push(` ${i.operator} `),"string"==typeof e?o.push(e):Array.isArray(e)?(e.forEach((e,t,i)=>{if(e instanceof Ax){if(i[t-1]instanceof Ax)throw new Error("Adjacent Join operations detected")}}),o.push(`(${e.map(e=>this.parseExpression(e,void 0)).join("")})`)):e instanceof Ax?o.push(` ${e.operator} `):e&&o.push(e.serialiser(e)),o.join("")}}class _x{constructor(e){this.serialiser=Rx.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 Hx=class extends be{constructor(){super(...arguments),this.criteriaOptions=[],this.createCriteria=e=>{const t=new Fx,{field:i,serialiser:o,value:c}=e;return Array.isArray(i)||Array.isArray(c)?t.And(Ix(c).map(e=>Ix(i).map(t=>(new _x).withField(t).withValue(e).withSerialiser(o).build())),{join:Ax.Or()}):t.And((new _x).withField(i).withValue(c).withSerialiser(o).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 Px(e,t){var i;const o=new Fx;o.withExpression((new _x).withField(null!==(i=e.labelField)&&void 0!==i?i:e.valueField).withValue(t).withSerialiser(Rx.containsIgnoreCase).build()),e.baseCriteria?e.criteria=`${e.baseCriteria} && ${o.build()}`:e.criteria=o.build()}Nu([g],Hx.prototype,"criteriaOptions",void 0),Nu([g],Hx.prototype,"prefix",void 0),Nu([g],Hx.prototype,"value",void 0),Nu([g],Hx.prototype,"selectedLabel",void 0),Hx=Nu([ye({name:"criteria-segmented-control",template:((e="rapid")=>W`<${e}-segmented-control :value="${Ep(e=>e.selectedLabel)}"><slot name="label" slot='label'></slot>${qe(e=>e.criteriaOptions,W`<${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:Ce``})],Hx);const Vx=(e,t,i)=>W`<${t}-icon tooltip="${()=>e}" name="${()=>i}"></${t}-icon>`,Bx=e=>W`<${e}-button ${Ie("actionsOpener")}id="actiosnMenuTrigger" class="actions-opener${e=>e.open?" opened":""}" appearance="${e=>e.buttonAppearance}" part="actions-opener" @click=${e=>e.toggleActionsMenuVisibility()}>${e=>e.open?"✖":W` ${e.name} `}</${e}-button><${e}-menu ${Ie("actionsMenu")}popover="manual" class="actions-menu ${e=>e.classNames}" part="actions-menu">${qe(e=>e.allActions,W` ${He((e,t)=>e.isDisabled&&e.isDisabled(t.parent.rowData),W`<${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>`)} ${He((e,t)=>!e.isDisabled||!e.isDisabled(t.parent.rowData),W`<${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>`,Ux=W`<div class="actions-container${e=>e.isVertical?" actions-vertical":""}" part="actions-container">${e=>e.getTemplate($x(e))}</div>`;class jx extends qt{constructor(){super(...arguments),this.isVertical=!1,this.addDefaultActions=!0,this.autoCloseOnAction=!0,this.name="Actions",this.open=!1,this.hideDisabled=!1,this.hideMenuSingleOption=!1}disconnectedCallback(){var e;(null===(e=this.actionsMenu)||void 0===e?void 0:e.matches(":popover-open"))&&this.actionsMenu.hidePopover(),super.disconnectedCallback()}updateMenuPosition(){const e=this.actionsOpener.getBoundingClientRect();this.actionsMenu.style.position="fixed",this.actionsMenu.style.top=`${e.top}px`,this.actionsMenu.style.left="auto",this.actionsMenu.style.right=window.innerWidth-e.right+"px"}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(){var e;this.classNames=Jt(["visible",this.open],["hidden",!this.open]),this.open?(this.updateMenuPosition(),this.actionsMenu.showPopover()):(null===(e=this.actionsMenu)||void 0===e?void 0:e.matches(":popover-open"))&&this.actionsMenu.hidePopover()}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 Bx(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=>W`<${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)):Bx(e):void 0}}Nu([g],jx.prototype,"actions",void 0),Nu([re({attribute:"is-vertical",mode:"boolean"})],jx.prototype,"isVertical",void 0),Nu([re({attribute:"add-default-actions",mode:"boolean"})],jx.prototype,"addDefaultActions",void 0),Nu([re({attribute:"auto-close-on-action",mode:"boolean"})],jx.prototype,"autoCloseOnAction",void 0),Nu([g],jx.prototype,"classNames",void 0),Nu([g],jx.prototype,"definition",void 0),Nu([re],jx.prototype,"name",void 0),Nu([re({attribute:"open",mode:"boolean"})],jx.prototype,"open",void 0),Nu([re],jx.prototype,"buttonAppearance",void 0),Nu([re({attribute:"hide-disabled",mode:"boolean"})],jx.prototype,"hideDisabled",void 0),Nu([re({attribute:"hide-menu-single-option",mode:"boolean"})],jx.prototype,"hideMenuSingleOption",void 0),Nu([g],jx.prototype,"singleOption",void 0),jx.compose({baseName:"actions-menu",styles:(e,t)=>Ce` ${wu()}`,template:Ux});let qx=!1;try{"undefined"!=typeof GENX_ENABLE_AI&&(qx="true"===GENX_ENABLE_AI)}catch(rx){}const Gx=()=>qx||Rp("ai");function Wx(){return"undefined"!=typeof window&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)}op("foundation-ai");class Yx{getStatus(){return Ou(this,void 0,void 0,function*(){return{provider:"none",model:""}})}interpretCriteria(e,t){return Ou(this,void 0,void 0,function*(){return null})}}const Kx=Object.freeze({anthropic:"Anthropic",gemini:"Gemini",openai:"OpenAI",chrome:"Chrome"});Object.freeze(["anthropic","gemini"]),new Map(Object.entries(Kx).map(([e,t])=>[t.toLowerCase(),e]));class Zx{constructor(){this.noopProvider=new Yx}get(e){return e===Zx.DEFAULT_NAME?this.noopProvider:void 0}default(){return this.noopProvider}defaultName(){return Zx.DEFAULT_NAME}names(){return[Zx.DEFAULT_NAME]}getStatus(e){return Ou(this,void 0,void 0,function*(){var t,i,o;return void 0!==e&&e!==Zx.DEFAULT_NAME?null:null!==(o=yield null===(i=(t=this.noopProvider).getStatus)||void 0===i?void 0:i.call(t))&&void 0!==o?o:null})}listStatuses(){return Ou(this,void 0,void 0,function*(){var e,t,i;const o=null!==(i=yield null===(t=(e=this.noopProvider).getStatus)||void 0===t?void 0:t.call(e))&&void 0!==i?i:null;return[{name:Zx.DEFAULT_NAME,isDefault:!0,status:o}]})}}Zx.DEFAULT_NAME="default";const Qx=pt.createInterface(e=>e.singleton(Zx)),Xx=Ce` :host{display: block;width: 800px}.ai-criteria-search{display: flex;flex-direction: column;gap: calc(${hr} * 2px)}.ai-criteria-search-row{display: flex;flex-direction: row;gap: calc(${hr} * 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(${hr} * 1px);overflow-x: auto;padding: 0 calc(${hr} * 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(${hr} * 1px);padding: calc(${hr} * 0.5px) calc(${hr} * 2px);background: var(--neutral-fill-rest);border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);border-radius: calc(${hr} * 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(${hr} * 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)}`,Jx=W` ${e=>(e=>W` ${He(()=>Gx(),W`<div class="ai-criteria-search"><div class="ai-criteria-search-row">${He(e=>!e.showingChips,W`<${e}-text-area ${Ie("textAreaRef")}class="criteria-input" placeholder="${e=>e.placeholder}" ?disabled=${e=>e.disabled||e.isInterpreting}:value=${Ep(e=>e.inputValue,"string","input")}@blur=${e=>e.handleBlur()}rows="1"></${e}-text-area>`)} ${He(e=>e.showingChips,W`<div class="criteria-chips-inline">${qe(e=>e.criteriaChips,W`<span class="criteria-chip"><span class="criteria-chip-field">${e=>e.fieldLabel}</span><span class="criteria-chip-operator">${e=>e.operatorLabel}</span>${He(e=>!!e.valueLabel,W`<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;