@genesislcap/foundation-rapid-cdn 14.464.0 → 14.464.1-alpha-9b6067d.0
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.
|
@@ -54,7 +54,7 @@ function Fd(e,t,i,c){var o,s=arguments.length,n=s<3?t:null===c?c=Object.getOwnPr
|
|
|
54
54
|
Continue Session </${e}-button><${e}-button appearance="outline" @click=${e=>e.handleLogout()}class="logout-button">
|
|
55
55
|
Logout Now </${e}-button></div></div></${e}-card></div>`)(eg(e,"rapid").prefix)} `,styles:xe` .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%}}`})],Nz);class Az{constructor(){this.pathHistory=[],this.actionHistory=[],this.isAuthenticated=!1,this.authenticationChangeListeners=Qm()}set(e){return this.config.setUser(this,e)}unset(){return this.config.unsetUser(this)}get isAnonymous(){return!this.isAuthenticated}isAdmin(){return this.hasProfile("ADMIN")}isBanned(){return this.hasProfile("BANNED")}hasPermission(e){return this.hasKey(this.permission,e)}hasProfile(e){return this.hasKey(this.profile,e)}trackPath(){const{pathname:e,search:t,hash:i}=location,c=`${`${"/"!==e?e:""}`}${t}${i}`;if(!this.config.trackPathExclusions.includes(c))return this.pathHistory.push(c),c}clearPaths(){this.pathHistory=[]}lastPath(){const e=this.pathHistory.length;return e>0?this.pathHistory[e-1]:void 0}trackAction(e){this.config.trackActionExclusions.includes(e)||this.actionHistory.push(e)}clearActions(){this.actionHistory=[]}lastAction(){const e=this.actionHistory.length;return e>0?this.actionHistory[e-1]:void 0}clearTrackingHistory(){this.clearPaths(),this.clearActions()}hasKey(e,t){return!!(e&&e.length&&t)&&(Array.isArray(t)||(t=[t]),t.some(t=>e.includes(t)))}addAuthenticationChangeListener(e){var t;return null===(t=this.authenticationChangeListeners)||void 0===t?void 0:t.subscribe(e)}isAuthenticatedChanged(){var e;null===(e=this.authenticationChangeListeners)||void 0===e||e.publish(new CustomEvent("user-authentication-change",{detail:this.isAuthenticated}));const t=ft.getOrCreateDOMContainer().get(Zm);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([Km],Az.prototype,"config",void 0),Nu([g],Az.prototype,"pathHistory",void 0),Nu([g],Az.prototype,"actionHistory",void 0),Nu([g],Az.prototype,"isAuthenticated",void 0),Nu([g],Az.prototype,"userKVs",void 0),Nu([g],Az.prototype,"details",void 0),Nu([g],Az.prototype,"permission",void 0),Nu([g],Az.prototype,"profile",void 0),Nu([g],Az.prototype,"sourceRef",void 0),Nu([g],Az.prototype,"userName",void 0),Nu([g],Az.prototype,"rawProperties",void 0);const Oz=ft.createInterface(e=>e.singleton(Az));class Tz{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 Rz=ft.createInterface(e=>e.singleton(Tz));var Iz;!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"}(Iz||(Iz={}));const Dz={STRING:Iz.STRING,ENUM:Iz.ENUM,BOOLEAN:Iz.BOOLEAN,INT:Iz.NUMBER,LONG:Iz.NUMBER,DOUBLE:Iz.NUMBER,BIGDECIMAL:Iz.NUMBER,DATE:Iz.DATE,DATETIME:Iz.DATETIME,NANO_TIMESTAMP:Iz.NANO_TIMESTAMP};var Fz;!function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(Fz||(Fz={}));const Hz="datasource-status-changed",_z=e=>e?e.map(e=>{const t={name:e.NAME,type:Dz[e.TYPE]||Iz.STRING};if(e.TYPE===Iz.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){Pm.error(e),t.enumOptions=[]}return t}):null,Pz=e=>{var t;const i=null==e?void 0:e.TYPE;if(i===Fz.DATASERVER)return e.FIELD||[];if(i===Fz.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 Vz{constructor(){this.streamListeners=Qm(),this.streamCompleteListeners=Qm(),this.streamErrorListeners=Qm(),this.commitListeners=Qm(),this.metadataListeners=Qm(),this.commitResponseListeners=Qm()}addStreamListener(e,t,i){var c,o,s;const n=null===(c=this.streamListeners)||void 0===c?void 0:c.subscribe(e),a=null===(o=this.streamCompleteListeners)||void 0===o?void 0:o.subscribe(t),r=null===(s=this.streamErrorListeners)||void 0===s?void 0:s.subscribe(i);return()=>{n(),a(),r()}}onStreamEvent(e,t,i,c){var o;null===(o=this.streamListeners)||void 0===o||o.publish(new CustomEvent("connect-stream-event",{detail:{functions:c,message:t,resourceName:e,stream:i}}))}onStreamErrorEvent(e,t,i){var c;null===(c=this.streamErrorListeners)||void 0===c||c.publish(new CustomEvent("connect-stream-error-event",{detail:{resourceName:e,stream:t,error:i}}))}onStreamCompleteEvent(e,t){var i;null===(i=this.streamCompleteListeners)||void 0===i||i.publish(new CustomEvent("connect-stream-complete-event",{detail:{resourceName:e,stream:t}}))}addCommitListener(e){var t;return null===(t=this.commitListeners)||void 0===t?void 0:t.subscribe(e)}onCommitEvent(e,t){var i;null===(i=this.commitListeners)||void 0===i||i.publish(new CustomEvent("connect-commit-event",{detail:{eventName:e,message:t}}))}addMetadataListener(e){var t;return null===(t=this.metadataListeners)||void 0===t?void 0:t.subscribe(e)}onMetadataEvent(e,t,i){var c;null===(c=this.metadataListeners)||void 0===c||c.publish(new CustomEvent("connect-metadata-event",{detail:{resourceName:e,message:t,error:i}}))}addCommitResponseListener(e){var t;return null===(t=this.commitResponseListeners)||void 0===t?void 0:t.subscribe(e)}onCommitResponseEvent(e,t){var i;null===(i=this.commitResponseListeners)||void 0===i||i.publish(new CustomEvent("connect-commit-response-event",{detail:{eventName:e,response:t}}))}}const Bz=ft.createInterface(e=>e.singleton(Vz)),Uz=ft.createInterface(e=>e.aliasTo(Bz)),jz={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,heartbeatInterval:1e4,verboseHeartbeat:!1,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0},isWebSocketExpression:Vm},qz=ft.createInterface(e=>e.instance(jz));var Gz={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},Wz={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"},Yz={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 Kz,Zz,Qz=function(e){var t=Wz[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"}(Kz||(Kz={})),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"}(Zz||(Zz={}));var Xz=this&&this.__assign||function(){return Xz=Object.assign||function(e){for(var t,i=1,c=arguments.length;i<c;i++)for(var o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Xz.apply(this,arguments)};Xz(Xz({},Gz),{getStatusCode:function(e){var t=Yz[e];if(!t)throw new Error("Reason phrase does not exist: "+e);return t},getStatusText:Qz});class Jz{constructor(){this.storageKeyPrefix="",this.returnUrl=this.getSessionStorageItem("returnUrl")||""}deleteUserFromSessionStorage(){["authToken","refreshToken","sessionId","ssoToken"].forEach(e=>this.removeSessionStorageItem(e)),this.removeLocalStorageItem("refreshToken")}setStorageKeyPrefix(e){this.storageKeyPrefix=`${e.replace(/\s/g,"")}/`}setAuthResult(e){var t;this.setSessionStorageItem("authToken",e.SESSION_AUTH_TOKEN),this.setSessionStorageItem("refreshToken",e.REFRESH_AUTH_TOKEN),this.setSessionStorageItem("username",e.USER_NAME),this.setSessionStorageItem("sessionId",e.SESSION_ID),(null===(t=e.DETAILS)||void 0===t?void 0:t.MFA_CODE)&&this.setSessionStorageItem("mfaToken",e.DETAILS.MFA_CODE)}captureReturnUrl(){const{pathname:e,search:t,hash:i}=location;if(e&&(e.includes("/login")||e.includes("/auth")))return;const c=`${"/"!==e?e:""}`;this.returnUrl=`${c}${t}${i}`,this.setSessionStorageItem("returnUrl",this.returnUrl)}setItem(e,t,i){"local"===i?localStorage.setItem(this.storageKeyPrefix+e,t):sessionStorage.setItem(this.storageKeyPrefix+e,t)}getItem(e,t){return"local"===t?localStorage.getItem(this.storageKeyPrefix+e):sessionStorage.getItem(this.storageKeyPrefix+e)}removeItem(e,t){"local"===t?localStorage.removeItem(this.storageKeyPrefix+e):sessionStorage.removeItem(this.storageKeyPrefix+e)}setLocalStorageItem(e,t){this.setItem(e,t,"local")}setSessionStorageItem(e,t){this.setItem(e,t,"session")}getLocalStorageItem(e){return this.getItem(e,"local")}getSessionStorageItem(e){return this.getItem(e,"session")}removeLocalStorageItem(e){this.removeItem(e,"local")}removeSessionStorageItem(e){this.removeItem(e,"session")}}const eC=ft.createInterface(e=>e.singleton(Jz));function tC(e){const t=new Error(`HTTP error: ${e.status} ${e.statusText}`);return t.status=e.status,t.message=e.statusText,t}let iC=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"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw tC(i);return(t.serializer||this.serializer).deserialize(i)})}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"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw tC(i);return(t.serializer||this.serializer).deserialize(i)})}};iC=Nu([Au(0,Jv)],iC);const cC=ft.createInterface(e=>e.singleton(iC)),oC={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},xg&&xg.length?JSON.parse(xg):{})},sC=ft.createInterface(e=>e.instance(oC));var nC,aC,rC,lC;!function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(nC||(nC={}));class dC extends Error{constructor(e,t,i="Auth Failed \n"){super(i),this.sent=e,this.received=t,Object.setPrototypeOf(this,dC.prototype)}isIgnorableError(){var e,t,i,c,o,s,n,a;return!!(null===(c=null===(i=null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)||void 0===i?void 0:i.toLowerCase())||void 0===c?void 0:c.includes("request needs the user to be logged"))||!!(null===(a=null===(n=null===(s=null===(o=this.received)||void 0===o?void 0:o.DETAILS)||void 0===s?void 0:s.ERROR)||void 0===n?void 0:n.toLowerCase())||void 0===a?void 0:a.includes("is not logged in"))}getMessageError(){var e,t;return Array.isArray(null===(e=this.received)||void 0===e?void 0:e.ERROR)?null===(t=this.received)||void 0===t?void 0:t.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}getDetailsError(){var e,t,i,c;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(c=null===(i=this.received)||void 0===i?void 0:i.DETAILS)||void 0===c?void 0:c.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}hasPasswordExpiredError(){return this.hasErrorCode("PASSWORD_EXPIRED")}hasMFAError(){return this.hasErrorCode("MFA_REQUIRED")||this.hasErrorCode("MFA_FAILED")}requiresTermsAndConditions(){return this.hasErrorCode("TERMS_ACCEPTANCE_REQUIRED")}hasErrorCode(e){var t,i;return!!Array.isArray(null===(t=this.received)||void 0===t?void 0:t.ERROR)&&(null===(i=this.received)||void 0===i?void 0:i.ERROR.some(t=>t.CODE===e))}errorDetailFormatter(e){return`\n ${e.CODE}: \n ${e.TEXT}`}}!function(e){e.LOGON_ACK="LOGON_ACK",e.LOGON_NACK="LOGON_NACK",e.LOGOFF_ACK="LOGOFF_ACK",e.LOGOFF_NACK="LOGOFF_NACK",e.HEARTBEAT_PING="HEARTBEAT_PING",e.HEARTBEAT_PONG="HEARTBEAT_PONG",e.MORE_ROWS="MORE_ROWS",e.MORE_COLUMNS="MORE_COLUMNS",e.MORE_COLUMNS_ACK="MORE_COLUMNS_ACK",e.MSG_ACK="MSG_ACK",e.MSG_NACK="MSG_NACK",e.LOGOUT_ACK="LOGOUT_ACK",e.LOGOUT_NACK="LOGOUT_NACK",e.QUERY_UPDATE="QUERY_UPDATE"}(aC||(aC={})),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"}(rC||(rC={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(lC||(lC={}));const hC=e=>Array.isArray(e)?e.map(hC):e&&"object"==typeof e&&e.constructor===Object?Object.keys(e).sort().reduce((t,i)=>(t[i]=hC(e[i]),t),{}):e;function uC(e,t){return`${e}::${JSON.stringify(hC(null!=t?t:{}))}`}const fC=(e,t)=>!!Array.isArray(null==e?void 0:e.ERROR)&&(null==e?void 0:e.ERROR.some(e=>{var i,c;return(null===(i=e.CODE)||void 0===i?void 0:i.includes(`${t}`))||(null===(c=e.STATUS_CODE)||void 0===c?void 0:c.includes(`${t}`))}));let pC=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case nC.BASIC:t={USER_NAME:e.username,PASSWORD:e.password,MFA_CODE:e.mfaToken};break;case nC.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken,MFA_CODE:e.mfaToken};break;case nC.SSO:t={SSO_TOKEN:e.ssoToken};break;case nC.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,i;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.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:rC.DATA_LOGON,DETAILS:Object.assign({DATASOURCE_NAME:e},t),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:rC.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:rC.RESOURCES_REQUEST},e)}createMetaRequestMessage(e,t=rC.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:rC.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:rC.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:rC.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,i,c=e){return{USER_NAME:c,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.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:aC.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:aC.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===rC.EVENT_LOGOUT&&(i["SESSION-ID"]=e.SESSION_ID),i}createHeartbeatPingMessage(e=!1){return{MESSAGE_TYPE:aC.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId(),VERBOSE:e,DETAILS:{},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}};pC=Nu([Au(0,eC),Au(1,Ez)],pC);const mC=ft.createInterface(e=>e.singleton(pC));function gC(e,t,i){const c=e=>"function"==typeof e?e:()=>e,o=c(t),s=c(i);return(t,i)=>e(t,i)?o(t,i):s(t,i)}class vC{constructor(e){this.path=e}}const bC=new Set,yC=Object.freeze({register(e){bC.add(e)},unregister(e){bC.delete(e)}}),zC=/^([a-z][a-z0-9+\-.]*:)?\/\//i,CC=Object.freeze({path:Object.freeze({get current(){return location.pathname+location.search},generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let c="config"in e?e:QC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromPath(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t=!0){e&&zC.test(e)?location.href=e:(history.pushState({},document.title,e),t&&CC.path.trigger(e))},replace(e,t=!0){e&&zC.test(e)?location.href=e:(history.replaceState({},document.title,e),t&&CC.path.trigger(e))},trigger(e){const t=new vC(e);for(const e of bC)e.enqueue(t)}}),name:Object.freeze({generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let c="config"in e?e:QC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromName(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t,i={},c=!0){return Ou(this,void 0,void 0,function*(){const o=yield CC.name.generateRoute(e,t,i);null!==o&&CC.path.push(o,c)})},replace(e,t,i={},c=!0){return Ou(this,void 0,void 0,function*(){const o=yield CC.name.generateRoute(e,t,i);null!==o&&CC.path.replace(o,c)})},trigger(e,t,i={}){return Ou(this,void 0,void 0,function*(){const c=yield CC.name.generateRoute(e,t,i);null!==c&&CC.path.trigger(c)})}})});class xC{constructor(){this.queue=[],this.promise=null,this.resolve=null}connect(){this.enqueue(new vC(CC.path.current)),window.addEventListener("popstate",this),yC.register(this)}disconnect(){this.queue=[],this.promise=null,this.resolve=null,window.removeEventListener("popstate",this),yC.unregister(this)}receive(){return null!==this.promise||(this.promise=new Promise(e=>this.resolve=e),Promise.resolve().then(()=>this.tryDequeue())),this.promise}enqueue(e){this.queue.push(e),this.tryDequeue()}tryDequeue(){if(null===this.resolve||0===this.queue.length)return;const e=this.queue[this.queue.length-1],t=this.resolve;this.queue.length=0,this.promise=null,this.resolve=null,t(e)}handleEvent(e){this.enqueue(new vC(CC.path.current))}}const LC=encodeURIComponent,MC=e=>LC(e).replace("%24","$");function wC(e,t,i){let c=[];if(null==t)return c;if(Array.isArray(t))for(let o=0,s=t.length;o<s;o++)if(i)c.push(`${MC(e)}=${LC(t[o])}`);else{const i=e+"["+("object"==typeof t[o]&&null!==t[o]?o:"")+"]";c=c.concat(wC(i,t[o]))}else if("object"!=typeof t||i)c.push(`${MC(e)}=${LC(t)}`);else for(const i in t)c=c.concat(wC(e+"["+i+"]",t[i]));return c}function SC(e,t){return Array.isArray(e)?(e.push(t),e):void 0!==e?[e,t]:t}function kC(e,t,i){let c=e;const o=t.length-1;for(let e=0;e<=o;e++){const s=""===t[e]?c.length:t[e];if(e<o){const i=c[s]&&"object"!=typeof c[s]?[c[s]]:c[s];c=c[s]=i||(isNaN(t[e+1])?{}:[])}else c=c[s]=i}}const $C=Object.freeze({get current(){return location.search},build(e,t){let i=[];const c=Object.keys(e||{}).sort();for(let o=0,s=c.length;o<s;o++){const s=c[o];i=i.concat(wC(s,e[s],t))}return 0===i.length?"":i.join("&")},separate(e){const t=e.indexOf("?");let i="";return-1!==t&&(i=e.substr(t+1,e.length),e=e.substr(0,t)),{path:e,queryString:i}},parse(e){const t={};if(!e||"string"!=typeof e)return t;let i=e;"?"===i.charAt(0)&&(i=i.substr(1));const c=i.replace(/\+/g," ").split("&");for(let e=0;e<c.length;e++){const i=c[e].split("="),o=decodeURIComponent(i[0]);if(!o)continue;let s=o.split("]["),n=s.length-1;if(/\[/.test(s[0])&&/\]$/.test(s[n])?(s[n]=s[n].replace(/\]$/,""),s=s.shift().split("[").concat(s),n=s.length-1):n=0,i.length>=2){const e=i[1]?decodeURIComponent(i[1]):"";n?kC(t,s,e):t[o]=SC(t[o],e)}else t[o]=!0}return t}}),EC=e=>e;class NC{constructor(e,t,i){this.path=e,this.name=t,this.caseSensitive=i}}class AC{constructor(e,t,i,c){this.route=e,this.paramNames=t,this.paramTypes=i,this.settings=c}get path(){return this.route.path}}class OC{constructor(e,t,i,c){this.endpoint=e,this.params=t,this.typedParams=i,this.queryParams=c,this.allParams=Object.assign(Object.assign({},t),c),this.allTypedParams=Object.assign(Object.assign({},i),c)}get settings(){return this.endpoint.settings}}class TC{constructor(e,t,i,c){var o;this.chars=e,this.states=t,this.skippedStates=i,this.result=c,this.head=t[t.length-1],this.endpoint=null===(o=this.head)||void 0===o?void 0:o.endpoint}advance(e){const{chars:t,states:i,skippedStates:c,result:o}=this;let s=null,n=0;const a=i[i.length-1];function r(l,d){if(l.isMatch(e)&&(1===++n?s=l:o.add(new TC(t.concat(e),i.concat(l),null===d?c:c.concat(d),o))),null===a.segment&&l.isOptional&&null!==l.nextStates){if(l.nextStates.length>1)throw new Error(`${l.nextStates.length} nextStates`);const e=l.nextStates[0];if(!e.isSeparator)throw new Error("Not a separator");if(null!==e.nextStates)for(const t of e.nextStates)r(t,l)}}if(a.isDynamic&&r(a,null),null!==a.nextStates)for(const e of a.nextStates)r(e,null);null!==s&&(i.push(this.head=s),t.push(e),null!==s.endpoint&&(this.endpoint=s.endpoint)),0===n&&o.remove(this)}finalize(){!function e(t,i){const c=i.nextStates;if(null!==c)if(1===c.length&&null===c[0].segment)e(t,c[0]);else for(const i of c)if(i.isOptional&&null!==i.endpoint){if(t.push(i),null!==i.nextStates)for(const c of i.nextStates)e(t,c);break}}(this.skippedStates,this.head)}getParams(){const{states:e,chars:t,endpoint:i}=this,c={};for(const e of i.paramNames)c[e]=void 0;for(let i=0,o=e.length;i<o;++i){const o=e[i];if(o.isDynamic){const e=o.segment.name;void 0===c[e]?c[e]=t[i]:c[e]+=t[i]}}return c}compareTo(e){const t=this.states,i=e.states;for(let e=0,c=0,o=Math.max(t.length,i.length);e<o;++e){let o=t[e];if(void 0===o)return 1;let s=i[c];if(void 0===s)return-1;let n=o.segment,a=s.segment;if(null===n){if(null===a){++c;continue}if(void 0===(o=t[++e]))return 1;n=o.segment}else if(null===a){if(void 0===(s=i[++c]))return-1;a=s.segment}if(n.kind<a.kind)return 1;if(n.kind>a.kind)return-1;++c}const c=this.skippedStates,o=e.skippedStates,s=c.length,n=o.length;if(s<n)return 1;if(s>n)return-1;for(let e=0;e<s;++e){const t=c[e],i=o[e];if(t.length<i.length)return 1;if(t.length>i.length)return-1}return 0}}function RC(e){return null!==e.head.endpoint}function IC(e,t){return e.compareTo(t)}class DC{constructor(e){this.candidates=[],this.candidates=[new TC([""],[e],[],this)]}get isEmpty(){return 0===this.candidates.length}getSolution(){const e=this.candidates.filter(RC);if(0===e.length)return null;for(const t of e)t.finalize();return e.sort(IC),e[0]}add(e){this.candidates.push(e)}remove(e){this.candidates.splice(this.candidates.indexOf(e),1)}advance(e){const t=this.candidates.slice();for(const i of t)i.advance(e)}}class FC{constructor(){this.names=new Map,this.paths=new Map,this.rootState=new HC(null,null,"")}add(e,t){if(e instanceof Array)for(const i of e)this.$add(i,t);else this.$add(e,t)}$add(e,t){const i=e.path,c=new NC(e.path,e.name||"",!0===e.caseSensitive),o=""===i?[""]:i.split("/").filter(_C),s=[],n=[];let a=this.rootState;const r=[];for(const e of o)switch(a=a.append(null,"/"),e.charAt(0)){case"{":{const t=e.slice(1,-1).split(":").map(e=>e.trim());2===t.length?n.push(t[1]):n.push("string");const i=t[0].endsWith("?"),c=i?t[0].slice(0,-1):t[0];s.push(c);const o=new VC(c,i);r.push(o),a=o.appendTo(a);break}case"*":{const t=e.slice(1);s.push(t),n.push("string");const i=new BC(t);r.push(i),a=i.appendTo(a);break}default:{const t=new PC(e,c.caseSensitive);r.push(t),a=t.appendTo(a);break}}const l=new AC(c,s,n,t||null);a.setEndpoint(l),this.paths.set(i,r),e.name&&this.names.set(e.name,r)}recognize(e,t={}){return Ou(this,void 0,void 0,function*(){const i=$C.separate(e),c=$C.parse(i.queryString);(e=decodeURI(i.path)).startsWith("/")||(e=`/${e}`),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1));const o=new DC(this.rootState);for(let t=0,i=e.length;t<i;++t){const i=e.charAt(t);if(o.advance(i),o.isEmpty)return null}const s=o.getSolution();if(null===s)return null;const{endpoint:n}=s,a=n.paramNames,r=n.paramTypes,l=s.getParams(),d={};for(let e=0,i=a.length;e<i;++e){const i=a[e],c=t[r[e]]||EC,o=l[i],s=yield c(o);d[i]=s}return new OC(n,l,d,c)})}generateFromName(e,t){return this.generate(this.names.get(e),t)}generateFromPath(e,t){return this.generate(this.paths.get(e),t)}generate(e,t){if(!e)return null;const i=Object.assign({},t),c={};let o="";for(let t=0,s=e.length;t<s;t++){const s=e[t],n=s.generate(i,c);if(null==n){if(s instanceof VC&&!s.optional)throw new Error(`A value is required for route parameter '${s.name}'.`)}else o+="/",o+=n}"/"!==o.charAt(0)&&(o="/"+o);for(const e in c)delete i[e];const s=$C.build(i);return o+=s?`?${s}`:"",o}}class HC{constructor(e,t,i){switch(this.prevState=e,this.segment=t,this.value=i,this.nextStates=null,this.endpoint=null,null==t?void 0:t.kind){case 2:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=t.optional;break;case 1:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=!1;break;case 3:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!1,this.isOptional=!1;break;case void 0:this.length=null===e?0:e.length,this.isSeparator=!0,this.isDynamic=!1,this.isOptional=!1}}append(e,t){let i,c=this.nextStates;return null===c?(i=void 0,c=this.nextStates=[]):i=null===e?c.find(e=>e.value===t):c.find(t=>{var i;return null===(i=t.segment)||void 0===i?void 0:i.equals(e)}),void 0===i&&c.push(i=new HC(this,e,t)),i}setEndpoint(e){if(null!==this.endpoint)throw new Error(`Cannot add ambiguous route. The pattern '${e.route.path}' clashes with '${this.endpoint.route.path}'`);this.endpoint=e,this.isOptional&&(this.prevState.setEndpoint(e),this.prevState.isSeparator&&null!==this.prevState.prevState&&this.prevState.prevState.setEndpoint(e))}isMatch(e){const t=this.segment;switch(null==t?void 0:t.kind){case 2:return!this.value.includes(e);case 1:return!0;case 3:case void 0:return this.value.includes(e)}}}function _C(e){return e.length>0}class PC{constructor(e,t){this.value=e,this.caseSensitive=t}get kind(){return 3}appendTo(e){const{value:t,value:{length:i}}=this;if(this.caseSensitive)for(let c=0;c<i;++c)e=e.append(this,t.charAt(c));else for(let c=0;c<i;++c){const i=t.charAt(c);e=e.append(this,i.toUpperCase()+i.toLowerCase())}return e}generate(){return this.value}equals(e){return 3===e.kind&&e.caseSensitive===this.caseSensitive&&e.value===this.value}}class VC{constructor(e,t){this.name=e,this.optional=t}get kind(){return 2}appendTo(e){return e=e.append(this,"/")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 2===e.kind&&e.optional===this.optional&&e.name===this.name}}class BC{constructor(e){this.name=e}get kind(){return 1}appendTo(e){return e=e.append(this,"")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 1===e.kind&&e.name===this.name}}const UC="fast-child-route";function jC(e,t){return"command"in t?t.command:"redirect"in t?new lx(t.redirect):fx.fromDefinition(e,t)}const qC=e=>{if(null==e)return!1;switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;default:return!1}},GC={number:e=>void 0===e?NaN:parseFloat(e),float:e=>void 0===e?NaN:parseFloat(e),int:e=>void 0===e?NaN:parseInt(e),integer:e=>void 0===e?NaN:parseInt(e),Date:e=>void 0===e?new Date(Date.now()):new Date(e),boolean:qC,bool:qC};class WC{constructor(e){this.owner=e,this._recognizer=null,this.pathToCommand=new Map,this.fallbackCommand=null,this.fallbackSettings=null,this.converters={}}get recognizer(){return null===this._recognizer&&(this._recognizer=this.owner.createRouteRecognizer()),this._recognizer}ignore(e){"string"==typeof e&&(e={path:e}),this.pathToCommand.set(e.path,new rx),this.recognizer.add(e,e.settings)}map(...e){for(const t of e){if("children"in t){const e=this.owner.createTitleBuilder(),i=t.children.map(i=>{const c=Object.assign(Object.assign(Object.assign({},t),i),{path:`${t.path}/${i.path}`});if("title"in t||"title"in i){const o=t.title||"",s=i.title||"";c.title=e.joinTitles(o,s)}if("name"in i){const e=t.name?t.name+"/":"";c.name=e+i.name}return c.children===t.children&&delete c.children,c});this.map(...i);continue}let e;if(e="command"in t?t.command:"redirect"in t?new lx(t.redirect):fx.fromDefinition(this.owner,t),this.pathToCommand.set(t.path,e),this.recognizer.add(t,t.settings),"childRouters"in t&&t.childRouters){const i=Object.assign(Object.assign({},t),{path:t.path+`/*${UC}`});this.pathToCommand.set(i.path,e),this.recognizer.add(i,i.settings)}}}fallback(e){const t=this.owner;this.fallbackCommand="function"==typeof e?{createContributor(i,c){return Ou(this,void 0,void 0,function*(){const o=yield e();return jC(t,o).createContributor(i,c)})}}:jC(t,e)}converter(e,t){let i;i="convert"in t?t.convert.bind(t):t.prototype&&"convert"in t.prototype?e=>this.owner.construct(t).convert(e):t,this.converters[e]=i}recognize(e){return 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=$C.separate(e),i=$C.parse(t.queryString);return{route:new OC(new AC(new NC("*","",!1),[],[],this.fallbackSettings),{},{},i),command:this.fallbackCommand}}return null})}generateFromName(e,t){return this.recognizer.generateFromName(e,t)}generateFromPath(e,t){return this.recognizer.generateFromPath(e,t)}aggregateConverters(){return null===this.owner.parent?Object.assign(Object.assign({},GC),this.converters):Object.assign(Object.assign({},this.owner.parent.routes.aggregateConverters()),this.converters)}}const YC="$router";function KC(e){const t=e.parentElement;if(t)return t;{const t=e.getRootNode();if(t.host instanceof HTMLElement)return t.host}return null}function ZC(e){let t=e;for(;t=KC(t);)if(YC in t)return t[YC];return null}const QC=Object.freeze({getOrCreateFor(e){const t=e[YC];return void 0!==t?t:e[YC]=new XC(e)},find:e=>e[YC]||ZC(e),from(e){class t extends e{constructor(){super(),QC.getOrCreateFor(this)}get config(){return this[YC].config}set config(e){this[YC].config=e}}const i=t.prototype;if("connectedCallback"in i){const e=i.connectedCallback;i.connectedCallback=function(){e.call(this),this[YC].connect()}}else i.connectedCallback=function(){this[YC].connect()};if("disconnectedCallback"in i){const e=i.disconnectedCallback;i.disconnectedCallback=function(){e.call(this),this[YC].disconnect()}}else i.disconnectedCallback=function(){this[YC].disconnect()};return t}});class XC{constructor(e){this.host=e,this.parentRouter=void 0,this.contributors=new Set,this.navigationQueue=null,this.linkHandler=null,this.newView=null,this.newRoute=null,this.childCommandContributor=null,this.childRoute=null,this.isConnected=!1,this.routerConfig=null,this.view=null,this.route=null,this.onNavigationMessage=e=>Ou(this,void 0,void 0,function*(){const t=this.config.createNavigationProcess();yield t.run(this,e),this.navigationQueue.receive().then(this.onNavigationMessage)}),e[YC]=this}get config(){return this.routerConfig}set config(e){this.routerConfig=e,this.tryConnect()}get parent(){if(void 0===this.parentRouter){if(!this.isConnected)return null;this.parentRouter=ZC(this.host)}return this.parentRouter||null}get level(){return null===this.parent?0:this.parent.level+1}shouldRender(e){var t;if(this.route&&this.route.endpoint.path===e.endpoint.path){const i=null==e?void 0:e.allParams,c=null===(t=this.route)||void 0===t?void 0:t.allParams;if(JSON.stringify(c)===JSON.stringify(i))return!1}return!0}beginRender(e,t){return Ou(this,void 0,void 0,function*(){return this.newRoute=e,this.newView=yield t.createView(),this.newView.bind(e.allTypedParams,JC.create(this)),this.newView.appendTo(this.host),yield t.transition.begin(this.host,this.view,this.newView),{commit:this.renderOperationCommit.bind(this,t.layout,t.transition),rollback:this.renderOperationRollback.bind(this,t.transition)}})}connect(){this.isConnected=!0,this.tryConnect()}disconnect(){null===this.parent?(null!==this.navigationQueue&&(this.navigationQueue.disconnect(),this.navigationQueue=null),null!==this.linkHandler&&(this.linkHandler.disconnect(),this.linkHandler=null)):this.parent.removeContributor(this),this.isConnected=!1,this.parentRouter=void 0}addContributor(e){this.contributors.add(e)}removeContributor(e){this.contributors.delete(e)}tryConnect(){null!==this.config&&this.isConnected&&(null===this.parent?(null!==this.navigationQueue&&this.navigationQueue.disconnect(),this.navigationQueue=this.config.createNavigationQueue(),this.navigationQueue.connect(),this.navigationQueue.receive().then(this.onNavigationMessage),null!==this.linkHandler&&this.linkHandler.disconnect(),this.linkHandler=this.config.createLinkHandler(),this.linkHandler.connect()):(this.config.parent=this.parent.config,this.parent.addContributor(this)))}renderOperationCommit(e,t){return 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[UC]||"",i=yield this.config.recognizeRoute(t);if(null===i){return this.config.createEventSink().onUnhandledNavigationMessage(this,new vC(t)),void e.cancel()}this.childRoute=i.route,this.childCommandContributor=yield i.command.createContributor(this,i.route)}yield this.tunnel(e)})}enter(e){return 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 c=[...this.config.findContributors(e.name),...Array.from(this.contributors)];for(const t of c)if(yield e.evaluateContributor(t,void 0,this),e.canceled)return})}}const JC=Object.freeze({create:e=>Object.create(z,{router:{value:e}})}),ex=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 tx{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 ix=Object.freeze({default:new tx(W`<slot></slot>`)});function cx(e,t){return t in e}const ox={lifecycle:!0,parameters:!0};class sx extends C{constructor(e){super(),this.options=e}createPlaceholder(e){return u.createCustomAttributePlaceholder("fast-navigation-contributor",e)}createBehavior(e){return new nx(e,this.options)}}class nx{constructor(e,t){this.contributor=e,this.options=t,this.router=null}bind(e,t){if(this.options.lifecycle&&(this.router=t.router||QC.find(this.contributor),this.router.addContributor(this.contributor)),this.options.parameters){const t=this.contributor,i=e;for(const e in i)t[e]=i[e]}}unbind(e){null!==this.router&&this.router.removeContributor(this.contributor)}}function ax(e){return new sx(Object.assign({},ox,e))}class rx{createContributor(){return Ou(this,void 0,void 0,function*(){return{navigate(e){return Ou(this,void 0,void 0,function*(){e.cancel()})}}})}}class lx{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,c=(yield i.generateRouteFromName(e,t.route.allParams))||(yield i.generateRouteFromPath(e,t.route.allParams));if(null===c)throw new Error(`Invalid redirect. Name or path not found: ${e}`);t.cancel(()=>Ou(this,void 0,void 0,function*(){return CC.path.replace(c)}))})}}})}}function dx(e){return W`<${e} ${ax()}></${e}>`}function hx(e){const t=document.createDocumentFragment();t.appendChild(e);const i=new j(t,[ax().createBehavior(e)]);return{create:()=>i}}class ux{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 fx{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 ux(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=dx(t.name);else if(e=yield e(),"string"==typeof e)i=dx(e);else if(e instanceof HTMLElement)i=hx(e);else{if(t=ue.forType(e),!t)throw new Error("Invalid value for element in route config.");i=dx(t.name)}}else e instanceof HTMLElement?t.factory=i=hx(e):t.factory=i=dx(e);return i.create()});const c=new fx(e,i);return t.layout&&(t.layout instanceof q?c.layout=new tx(t.layout):c.layout=t.layout),t.transition&&(c.transition=t.transition),t.title&&(c.title=t.title),c}}class px{constructor(){this.handler=e=>{const{shouldHandleEvent:t,href:i}=this.getEventInfo(e);t&&(e.preventDefault(),CC.path.push(i))}}connect(){window.addEventListener("click",this.handler,!0)}disconnect(){window.removeEventListener("click",this.handler)}getEventInfo(e){const t={shouldHandleEvent:!1,href:null,anchor:null},i=this.findClosestAnchor(e);if(!i||!this.targetIsThisWindow(i))return t;if(i.hasAttribute("download")||i.hasAttribute("router-ignore")||i.hasAttribute("data-router-ignore"))return t;if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return t;const c=i.getAttribute("href");t.anchor=i,t.href=c;const o=1===e.which,s=c&&!("#"===c.charAt(0)||/^[a-z]+:/i.test(c));return t.shouldHandleEvent=o&&!!s,t}findClosestAnchor(e){const t=e.composedPath();for(let e=0,i=t.length;e<i;++e){const i=t[e];if("A"===i.tagName)return i}return e.target}targetIsThisWindow(e){const t=e.getAttribute("target");return!t||t===window.name||"_self"===t}}class mx{constructor(e,t,i,c,o){this.name=e,this.commitActions=c,this.cancelActions=o,this.routes=[],this.routers=[],this.canceled=!1,this.titles=[],this.routes.push(t),this.routers.push(i)}get route(){return this.routes[this.routes.length-1]}get router(){return this.routers[this.routers.length-1]}cancel(e){this.canceled=!0,e&&this.cancelActions.push(e)}onCommit(e){this.commitActions.push(e)}onCancel(e){this.cancelActions.push(e)}setTitle(e){const t=this.router.level;for(;this.titles.length<t+1;)this.titles.push([]);this.titles[t].push(e)}evaluateContributor(e,t=this.route,i=this.router){return Ou(this,void 0,void 0,function*(){cx(e,this.name)&&(this.routes.push(t),this.routers.push(i),yield e[this.name](this),this.routes.pop(),this.routers.pop())})}}class gx{constructor(){this.phases=["navigate","leave","construct","enter","commit"]}run(e,t){return Ou(this,void 0,void 0,function*(){const i=e.config.createEventSink(),c=yield e.config.recognizeRoute(t.path);if(null===c)return void i.onUnhandledNavigationMessage(e,t);const o=c.route,s=c.command;i.onNavigationBegin(e,o,s);const n=[],a=[];let r=n;const l=[yield s.createContributor(e,o),e,this];for(const t of this.phases){const c=new mx(t,o,e,n,a);if(i.onPhaseBegin(c),c.canceled)r=a;else for(const e of l)if(yield c.evaluateContributor(e),c.canceled){r=a;break}if(i.onPhaseEnd(c),c.canceled)break}yield Promise.all(r.map(e=>e())).then(()=>i.onNavigationEnd(e,o,s))})}commit(e){const t=e.router.config.createTitleBuilder();document.title=t.buildTitle(e.router.config.title,e.titles)}}class vx{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 bx{onUnhandledNavigationMessage(e,t){}onNavigationBegin(e,t,i){}onPhaseBegin(e){}onPhaseEnd(e){}onNavigationEnd(e,t,i){}}class yx{constructor(){this.isConfigured=!1,this.routes=new WC(this),this.contributors=[],this.defaultLayout=ix.default,this.defaultTransition=ex.default,this.title="",this.parent=null}createNavigationQueue(){return this.construct(xC)}createLinkHandler(){return this.construct(px)}createNavigationProcess(){return new gx}createEventSink(){return this.construct(bx)}createTitleBuilder(){return this.construct(vx)}createRouteRecognizer(){return this.construct(FC)}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=>cx(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 zx=class extends(QC.from(be)){};zx=Nu([ye("fast-router")],zx);const Cx=[];setTimeout(()=>{Cx.length&&console.warn(`${Cx.length} attribute deprecation notice(s):\n ${Cx.join("\n")}`)},5e3);const xx="reauthActionLock";var Lx;function Mx(){return Ou(this,arguments,void 0,function*(e={}){const{reloadOnFailure:t=!0}=e;if(function(){const e=parseInt(localStorage.getItem(xx)||"0");Date.now()-e>3e4&&localStorage.removeItem(xx)}(),localStorage.getItem(xx)||(localStorage.setItem(xx,Date.now().toString()),0))return Lx.HANDLED_BY_OTHER_TAB;try{if(yield function(){return Ou(this,void 0,void 0,function*(){const e=yield fetch($g,{credentials:"include"});return"EVENT_LOGIN_DETAILS_ACK"===(yield e.json()).MESSAGE_TYPE})}())return Lx.ALREADY_VALID;return(yield function(){return Ou(this,void 0,void 0,function*(){const e=ft.getOrCreateDOMContainer().get(cC);return"EVENT_LOGIN_AUTH_ACK"===(yield e.post(kg,{body:JSON.stringify({DETAILS:{},MESSAGE_TYPE:"EVENT_LOGIN_AUTH"})})).MESSAGE_TYPE})}())?Lx.SUCCESS:(t&&window.location.reload(),Lx.FAILED)}finally{localStorage.removeItem(xx)}})}!function(e){e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.HANDLED_BY_OTHER_TAB="HANDLED_BY_OTHER_TAB",e.ALREADY_VALID="ALREADY_VALID"}(Lx||(Lx={}));const wx=(e,t)=>((null==t?void 0:t.ROW)&&e&&e.length>0?t.ROW.forEach(t=>{const i=t;if(i&&i.DETAILS){const c=i.DETAILS.ROW_REF,o=i.DETAILS.OPERATION;"INSERT"===o&&(e.find(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c})||e.unshift(i)),"DELETE"===o&&(e=e.filter(e=>{var i,c;return(null===(i=t.DETAILS)||void 0===i?void 0:i.ROW_REF)!==(null===(c=e.DETAILS)||void 0===c?void 0:c.ROW_REF)})),"MODIFY"===o&&(e=e.map(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c?Object.assign(Object.assign({},e),i):e}))}}):!t||e&&0!==e.length||(e=[...new Set(t.ROW)]),e);var Sx;let kx=Sx=class{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,i,c,o,s){var n;this.http=e,this.messageBuilder=t,this.session=i,this.metaCache=c,this.serializer=o,this.config=s,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new Rb(this._isConnected),this.isConnected$=null===(n=this.isConnectedSubject)||void 0===n?void 0:n.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 Mx();return t===Lx.HANDLED_BY_OTHER_TAB&&(yield new Promise(e=>{setTimeout(e,Sx.REAUTH_WAIT_MS)}),t=yield Mx()),(t===Lx.SUCCESS||t===Lx.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:aC.HEARTBEAT_PING,SOURCE_REF:"host check"}).then(e=>e.MESSAGE_TYPE===aC.HEARTBEAT_PONG)}catch(e){return Pm.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.http.post(Sx.getUrl(this.host,e),{body:Sx.getBody(e),headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}httpMode(){return!0}setValidSession(e){Pm.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=e,this.host.startsWith("ws")&&(this.host=this.host.replace("ws","http")),this.host.endsWith("/")||(this.host=this.host.concat("/")),this.checkHost().then(e=>(this.isConnected=e,this.session.setSessionStorageItem("hostUrl",this.host),e))})}disconnect(){this.isConnected=!1,this.streams.clear(),this.ongoingTurbo={},this.host=void 0}snapshot(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return Pm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.send(i).then(e=>(this.dataLogoff(i.SOURCE_REF).catch(e=>Pm.error(e)),e))})}stream(e,t,i,c){var o,s;const n=this.messageBuilder.createDataLogonMessage(e,c);Pm.debug(`HTTP MODE - ${n.MESSAGE_TYPE} (stream) message created -> `,n);const a=n.SOURCE_REF,r=(null===(s=null===(o=this.config.polling)||void 0===o?void 0:o.POLLING_INTERVAL_MAP)||void 0===s?void 0:s[e])||this.config.polling.POLLING_FREQUENCY;this.streams.set(a,{SOURCE_REF:a,POLLING_FREQUENCY:new Rb(r),RESOURCE_NAME:e});const l=this.streams.get(a).POLLING_FREQUENCY,d=Vy(Sy(this.send(n)),l.pipe(Uy(()=>"visible"===document.visibilityState)).pipe(Gy(e=>{return void 0===(t=e)&&(t=0),void 0===i&&(i=Jb),t<0&&(t=0),By(t,t,i);var t,i})).pipe(Gy(()=>Sy(this.getMessage(n))))).pipe(Wy(()=>this.streams.has(a)),function(e){var t;void 0===e&&(e=1/0);var i=(t=e&&"object"==typeof e?e:{count:e}).count,c=void 0===i?1/0:i,o=t.delay,s=t.resetOnSuccess,n=void 0!==s&&s;return c<=0?Cb:wb(function(e,t){var i,s=0,a=function(){var r=!1;i=e.subscribe(Sb(t,function(e){n&&(s=0),t.next(e)},void 0,function(e){if(s++<c){var n=function(){i?(i.unsubscribe(),i=null,a()):r=!0};if(null!=o){var l="number"==typeof o?By(o):yy(o(e,s)),d=Sb(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:Sx.MAX_RETRIES,delay:(e,t)=>{const i=e;Pm.error(`Retry ${t}/${Sx.MAX_RETRIES}:`,i.status,i);if(!(0===i.status||i.status&&i.status>=Kz.BAD_REQUEST&&i.status<Kz.INTERNAL_SERVER_ERROR))throw e;return i.status===Kz.NOT_FOUND&&this.streams.delete(a),i.status===Kz.UNAUTHORIZED?Sy(this.handleSessionRefresh()):By(Sx.RETRY_DELAY_MS)}}),(h=()=>{Pm.debug(`Terminating stream for ${e} - ${a}`),this.dataLogoff(a)},wb(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=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(jy(wx,o))}streamWithoutAutoTeardown(e,t,i,c){return Pm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0"),this.stream(e,t,i,c)}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.http.get(Sx.getUrl(this.host,e),{headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}getMoreRows(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return Pm.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)&&(Pm.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 Pm.debug(`HTTP MODE - Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const i=this.messageBuilder.createMetaRequestMessage(e);Pm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (metadata) message created -> `,i);const c=yield this.send(i).then(e=>e.DETAILS);return Object.keys(c).length&&this.metaCache.setMetadataFor(e,c),c})}getJSONSchema(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMetaRequestMessage(e,rC.JSON_SCHEMA_REQUEST);return Pm.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 c=uC(e,t);if(i&&this.metaCache.hasRequestFor(c))return Pm.debug(`HTTP MODE - Cached request response retrieved for ${c}`),this.metaCache.getRequestFor(c);const o=this.inFlightRequests.get(c);if(o)return Pm.debug(`HTTP MODE - In-flight request collapsed for ${c}`),o;const s=this.messageBuilder.createRequestMessage(e,t);Pm.debug(`HTTP MODE! - ${s.MESSAGE_TYPE} (request server) message created -> `,s);let n=Sx.getUrl(this.host,s);const a=[];s.REQUEST&&Object.keys(s.REQUEST).length>0&&Object.keys(s.REQUEST).forEach(e=>{const t=s.REQUEST[e];null==t||Number.isNaN(t)||a.push(`REQUEST.${e}=${encodeURIComponent(String(t))}`)}),s.DETAILS&&Object.keys(s.DETAILS).forEach(e=>{const t=s.DETAILS[e];null==t||Number.isNaN(t)||a.push(`${e}=${encodeURIComponent(String(t))}`)}),a.length>0&&(n=`${n}?${a.join("&")}`),Pm.debug(`HTTP MODE! - REQUEST_SERVER GET URL: ${n}`);const r=this.http.get(n,{headers:this.messageBuilder.createHTTPHeadersFromMessage(s)}).finally(()=>{this.inFlightRequests.delete(c)});this.inFlightRequests.set(c,r);const l=yield r;return i&&l&&this.metaCache.setRequestFor(c,l),l})}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Pm.debug("HTTP MODE - Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Pm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (getResources) message created -> `,i);const c=yield this.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);return Pm.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 Pm.debug(`${e} polling frequency is already accelerated.`);const c=this.config.polling.POLLING_MAP[e];if(!(null==c?void 0:c.TEMP_FREQUENCY)||!c.AMOUNT_OF_POLLS)return;const o=c.TEMP_FREQUENCY,s=o*c.AMOUNT_OF_POLLS,n=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP)),a=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP));for(const e of c.QUERIES)a[e]=o,n[e]||(n[e]=this.config.polling.POLLING_FREQUENCY);Pm.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${o}ms DURATION=${s}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout(()=>{Pm.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,Pm.debug(`Setting polling frequency for ${t} = ${i}`),[...this.streams.values()].filter(e=>e.RESOURCE_NAME===t).forEach(e=>{var t;return null===(t=null==e?void 0:e.POLLING_FREQUENCY)||void 0===t?void 0:t.next(i)})}}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const i=t.MESSAGE_TYPE;let c=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return i===rC.DATA_LOGON&&(c=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${c}`}};kx.REAUTH_WAIT_MS=5e3,kx.RETRY_DELAY_MS=1e3,kx.MAX_RETRIES=3,Nu([g],kx.prototype,"host",void 0),Nu([g],kx.prototype,"isWorking",void 0),Nu([g],kx.prototype,"_isConnected",void 0),Nu([v],kx.prototype,"isConnected",null),kx=Sx=Nu([Au(0,cC),Au(1,mC),Au(2,eC),Au(3,Rz),Au(4,Jv),Au(5,sC)],kx);const $x=ft.createInterface(e=>e.singleton(kx));var Ex={url:"",deserializer:function(e){return JSON.parse(e.data)},serializer:function(e){return JSON.stringify(e)}},Nx=function(e){function t(t,i){var c=e.call(this)||this;if(c._socket=null,t instanceof xb)c.destination=i,c.source=t;else{var o=c._config=$u({},Ex);if(c._output=new Ob,"string"==typeof t)o.url=t;else for(var s in t)t.hasOwnProperty(s)&&(o[s]=t[s]);if(!o.WebSocketCtor&&WebSocket)o.WebSocketCtor=WebSocket;else if(!o.WebSocketCtor)throw new Error("no WebSocket constructor can be found");c.destination=new Db}return c}return ku(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 Db),this._output=new Ob},t.prototype.multiplex=function(e,t,i){var c=this;return new xb(function(o){try{c.next(e())}catch(e){o.error(e)}var s=c.subscribe({next:function(e){try{i(e)&&o.next(e)}catch(e){o.error(e)}},error:function(e){return o.error(e)},complete:function(){return o.complete()}});return function(){try{c.next(t())}catch(e){o.error(e)}s.unsubscribe()}})},t.prototype._connectSocket=function(){var e=this,t=this._config,i=t.WebSocketCtor,c=t.protocol,o=t.url,s=t.binaryType,n=this._output,a=null;try{a=c?new i(o,c):new i(o),this._socket=a,s&&(this._socket.binaryType=s)}catch(e){return void n.error(e)}var r=new ob(function(){e._socket=null,a&&1===a.readyState&&a.close()});a.onopen=function(t){if(!e._socket)return a.close(),void e._resetState();var i=e._config.openObserver;i&&i.next(t);var c=e.destination;e.destination=fb.create(function(t){if(1===a.readyState)try{var i=e._config.serializer;a.send(i(t))}catch(t){e.destination.error(t)}},function(t){var i=e._config.closingObserver;i&&i.next(void 0),t&&t.code?a.close(t.code,t.reason):n.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),e._resetState()},function(){var t=e._config.closingObserver;t&&t.next(void 0),a.close(),e._resetState()}),c&&c instanceof Db&&r.add(c.subscribe(e.destination))},a.onerror=function(t){e._resetState(),n.error(t)},a.onclose=function(t){a===e._socket&&e._resetState();var i=e._config.closeObserver;i&&i.next(t),t.wasClean?n.complete():n.error(t)},a.onmessage=function(t){try{var i=e._config.deserializer;n.next(i(t))}catch(e){n.error(e)}}},t.prototype._subscribe=function(e){var t=this,i=this.source;return i?i.subscribe(e):(this._socket||this._connectSocket(),this._output.subscribe(e),e.add(function(){var e=t._socket;0===t._output.observers.length&&(!e||1!==e.readyState&&0!==e.readyState||e.close(),t._resetState())}),e)},t.prototype.unsubscribe=function(){var t=this._socket;!t||1!==t.readyState&&0!==t.readyState||t.close(),this._resetState(),e.prototype.unsubscribe.call(this)},t}(Tb);const Ax=1e4,Ox=6e4;var Tx;!function(e){e.Linear="linear",e.Exponential="exponential"}(Tx||(Tx={}));const Rx=(e,t)=>{const{reconnectInterval:i=Ax}=e,c=i>Ox?Ox:i,o=Math.round(Math.log2(Ox/c));return c*Math.pow(2,t%o)},Ix=e=>{const{reconnectInterval:t=Ax}=e;return t>Ox?Ox:t};class Dx{constructor(){this.isConfigured=!1,this.isConnecting=!1,this.isConnected=!1,this.isReconnecting=!1,this.reconnectionLimitReached=!1,this.isConnectedSubject=new Rb(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],Dx.prototype,"isConfigured",void 0),Nu([g],Dx.prototype,"isConnecting",void 0),Nu([g],Dx.prototype,"isConnected",void 0),Nu([g],Dx.prototype,"isReconnecting",void 0),Nu([g],Dx.prototype,"reconnectionLimitReached",void 0),Nu([g],Dx.prototype,"closedCode",void 0),Nu([g],Dx.prototype,"closedReason",void 0),Nu([g],Dx.prototype,"closedClean",void 0),Nu([Oz],Dx.prototype,"user",void 0);const Fx=ft.createInterface(e=>e.singleton(Dx));class Hx{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 _x extends Ob{constructor(){super()}}class Px{constructor(e,t,i,c){this._message=e,this._onMessage=t,this._onError=i,this._isSubscription=c}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}let Vx=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 Pm.deprecated("get hasValidSession","Use `User.isAuthenticated` from `@genesislcap/foundation-user` instead.","15.0.0"),this.user.isAuthenticated}set hasValidSession(e){Pm.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:Cg}constructor(e,t,i,c,o,s,n){this.messageBuilder=e,this.session=t,this.serializer=i,this.uuid=c,this.status=o,this.user=s,this.config=n,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.socketMessages=()=>this.wsMessages}get heartbeatLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeatLogging)&&void 0!==t&&t}get messageLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableMessageLogging)&&void 0!==t&&t}connect(e=Cg,t,i){var c;return this.url=e,this.connectOptions=null!=t?t:this.config.connect,this.reconnectOptions=null!=i?i:this.config.reconnect,(null===(c=this.config.isWebSocketExpression)||void 0===c?void 0:c.test(this.host))?new Promise(e=>{var t,i,c,o;Pm.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 Nx({url:this.url,openObserver:{next:()=>{this.session.setSessionStorageItem("hostUrl",this.url),this.status.isConnected=!0,this.prepareHeartbeat(),Pm.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{this.status.onClose(t),this.isDisconnectedByServer&&Pm.info(`WebSocket connection was closed due an error - Code: ${t.code} ${t.reason?" | Reason: "+t.reason:""}`),e(this.isConnected)}},serializer:e=>this.serializer.serialize(e),deserializer:e=>this.serializer.deserialize(e)});this.socketSubscription=this.websocket.subscribe(null!==(o=null===(c=this.connectOptions)||void 0===c?void 0:c.connectObserver)&&void 0!==o?o:{next:e=>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,Pm.info,i);const{SOURCE_REF:c,MESSAGE_TYPE:o}=e,s=this.getMessageHandler(c,o);if(!s)return void(e.MESSAGE_TYPE===aC.MSG_NACK&&e.ERROR&&e.ERROR.forEach(t=>{Pm.error(`MessageType: ${e.MESSAGE_TYPE} | Error Details:`,t)}));let n=!1;switch(e.MESSAGE_TYPE){case rC.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 aC.LOGOUT_ACK:return s.onReceivedMessage.call(this,e),void this.cleanMessages();case aC.LOGON_ACK:return;case aC.LOGOFF_ACK:break;case aC.QUERY_UPDATE:s.isSubscription||this.sendDataLogoff(c);break;case aC.MSG_NACK:case aC.LOGON_NACK:n=!0}n?s.onReceivedError.call(this,{receivedMessage:e,sentMessage:s.sentMessage}):s.onReceivedMessage.call(this,e),this.wsMessages.next(e),s.isSubscription||this.removeMessageHandler(c)}),error:e=>{Pm.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.isDisconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():Pm.info("Connection is now closed")}}),this.status.isConfigured=!0}):(Pm.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`),void Pm.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 Mx();e!==Lx.HANDLED_BY_OTHER_TAB?e!==Lx.FAILED&&(yield this.connect()):function(e){const t=i=>{i.key===xx&&null===i.newValue&&(e(),window.removeEventListener("storage",t))};window.addEventListener("storage",t)}(()=>this.connect())})}updateSessionAndSubscriptions(e){(null==e?void 0:e.MESSAGE_TYPE)===rC.EVENT_LOGIN_AUTH_ACK&&this.wsMessageHandlers.forEach(t=>{t.isSubscription&&(t.sentMessage.SESSION_AUTH_TOKEN=e.SESSION_AUTH_TOKEN,this.websocket.next(t.sentMessage))})}prepareHeartbeat(){var e,t,i,c;this.heartbeatTicker&&this.heartbeatTicker.stop();const o=()=>Ou(this,void 0,void 0,function*(){var e,t,i;if(!this.isConnected)return;const c=this.messageBuilder.createHeartbeatPingMessage(null===(e=this.connectOptions)||void 0===e?void 0:e.verboseHeartbeat);(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatPingCallback)&&this.connectOptions.heartbeatPingCallback(c);const o=yield this.send(c);this.user.isAuthenticated&&!o.IS_AUTHENTICATED&&this.handleExpiredSession(),(null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatPongCallback)&&this.connectOptions.heartbeatPongCallback(o),this.heartbeatIsEnabled=o.MESSAGE_TYPE===aC.HEARTBEAT_PONG&&o.SOURCE_REF===c.SOURCE_REF});if(null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeat)&&void 0!==t?t:this.heartbeatIsEnabled){const e=null!==(c=null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatInterval)&&void 0!==c?c:this.heartbeatInterval;this.heartbeatTicker=new Hx(e),this.heartbeatTicker.start(()=>{this.websocket&&this.isConnected&&(o(),this.heartbeatLoggingIsEnabled&&Pm.debug(`Sending a heartbeat ping every ${e} ms`))})}}reconnect(){var e,t,i,c,o;const s=!(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)&&!1===(null===(t=this.connectOptions)||void 0===t?void 0:t.enableHeartbeat);if(this.isReconnecting||s)return;this.status.isReconnecting=!0;const n=(null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectStrategy)===Tx.Exponential?Rx:Ix,a=this.isConnectedSubject.asObservable().pipe(Gy(e=>e?ky(-1):((e,t)=>new xb(i=>{let c,o=0;return function s(){i.next(o),clearTimeout(c),c=setTimeout(s,t(e,o)),o+=1}(),()=>{clearTimeout(c)}}))(this.reconnectOptions,n).pipe(_y(e=>{var t,i,c;let o;return o=(null===(t=this.connectOptions)||void 0===t?void 0:t.alwaysOn)?e+1:null!==(c=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectAttempts)&&void 0!==c?c:10,e<o?ky(e):(this.status.reconnectionLimitReached=!0,$y(()=>new Error(`Max reconnect attempts ${o} reached.`)))}))),Wy(()=>this.websocket&&!this.isConnected));a.subscribe(null!==(o=null===(c=this.reconnectOptions)||void 0===c?void 0:c.reconnectObserver)&&void 0!==o?o:{next:e=>{Pm.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;Pm.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.status.isReconnecting=!1},complete:()=>{Pm.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 _x,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,Pm.info,i),new Promise((i,c)=>{const o=e=>{i(e)},s=e=>{c(e)};t&&this.setMessageHandler(e,o,s),this.websocket.next(e)})}sendForStream(e,t,i,c){if(!this.isConnected)return $y(()=>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,Pm.info,o),this.setMessageHandler(e,t,i,!0),u.queueUpdate(()=>this.websocket.next(e)),new xb(t=>{const i=this.wsMessages.pipe(Uy(t=>t.SOURCE_REF===e.SOURCE_REF)).subscribe({next:e=>{t.next(e)},error:e=>{t.error(e)},complete:()=>{t.complete()}});return()=>{i.unsubscribe(),this.sendDataLogoff(e.SOURCE_REF),this.removeMessageHandler(e.SOURCE_REF),c&&c()}})}sendForStreamWithoutTeardown(e,t,i){if(!this.isConnected)return $y(()=>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,Pm.info,c),this.setMessageHandler(e,t,i,!0),this.websocket.next(e),this.wsMessages.pipe(Uy(t=>t.SOURCE_REF===e.SOURCE_REF))}setMessageHandler(e,t,i,c=!1){const o=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.debug,o),this.wsMessageHandlers.set(e.SOURCE_REF,new Px(e,t,i,c))}sendDataLogoff(e){this.send(this.messageBuilder.createDataLogoffMessage(e),!1)}removeMessageHandler(e){this.wsMessageHandlers.delete(e)}getMessageHandler(e,t){const i=`Getting Message Handler for SourceRef: ${e} | MessageType: ${t}`;return this.logMessageTypeFlow(t,Pm.debug,i),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,i){switch(e){case rC.DATA_LOGOFF:t(i);break;case aC.HEARTBEAT_PING:case aC.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(i);break;default:this.messageLoggingIsEnabled&&t(i)}}};Nu([g],Vx.prototype,"websocket",void 0),Nu([g],Vx.prototype,"wsMessages",void 0),Nu([g],Vx.prototype,"wsMessageHandlers",void 0),Nu([cC],Vx.prototype,"http",void 0),Nu([g],Vx.prototype,"heartbeatIsEnabled",void 0),Vx=Nu([Au(0,mC),Au(1,eC),Au(2,Jv),Au(3,Ez),Au(4,Fx),Au(5,Oz),Au(6,qz)],Vx);const Bx=ft.createInterface(e=>e.singleton(Vx));let Ux=class{get isConnected(){return this.socket.isConnected}get isConnectedSubject(){return this.socket.isConnectedSubject}get isConnected$(){var e;return null===(e=this.socket.isConnectedSubject)||void 0===e?void 0:e.asObservable()}get host(){return this.socket.host}constructor(e,t,i,c,o){this.socket=e,this.messageBuilder=t,this.metaCache=i,this.events=c,this.config=o,this.isWorking=!1,this.inFlightRequests=new Map}httpMode(){return!1}setValidSession(e){Pm.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=Cg){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 Pm.debug(`${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.socket.send(i)})}stream(e,t,i,c){const o=this.messageBuilder.createDataLogonMessage(e,c);Pm.debug(`${o.MESSAGE_TYPE} (stream) message created -> `,o);const s=performance.now();let n=null;const a=this.socket.sendForStream(o,(...i)=>{null===n&&(n=performance.now(),Pm.debug(`[stream:${e}] time to initial response: ${(n-s).toFixed(2)}ms`)),t(...i)},t=>{i(t),this.events.onStreamErrorEvent(e,a,t)},()=>{this.events.onStreamCompleteEvent(e,a)});return this.events.onStreamEvent(e,o,a,{onMessage:t,onError:i}),a}streamState(e,t=()=>{},i=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(jy(wx,o))}streamWithoutAutoTeardown(e,t,i,c){Pm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0");const o=this.messageBuilder.createDataLogonMessage(e,c);Pm.debug(`${o.MESSAGE_TYPE} (stream without auto-teardown) message created -> `,o);const s=this.socket.sendForStreamWithoutTeardown(o,t,t=>{i(t),this.events.onStreamErrorEvent(e,s,t)});return this.events.onStreamEvent(e,o,s,{onMessage:t,onError:i}),s}getMoreRows(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createMoreRowsMessage(e,t);return Pm.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 Pm.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 Pm.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const c=this.messageBuilder.createMetaRequestMessage(e);let o,s;Pm.debug(`${c.MESSAGE_TYPE} (metadata) message created -> `,c);try{this.isWorking=!0;const t=yield this.socket.send(c);o=null!==(i=null==t?void 0:t.DETAILS)&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setMetadataFor(e,o)}catch(e){throw s=e,Pm.error(e),e instanceof Error?e:new Error(String(e))}finally{this.events.onMetadataEvent(e,c,s),this.isWorking=!1}return o})}getJSONSchema(e){return Ou(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasJsonSchemaFor(e))return Pm.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const c=this.messageBuilder.createMetaRequestMessage(e,rC.JSON_SCHEMA_REQUEST);let o;Pm.debug(`${c.MESSAGE_TYPE} (json schema) message created -> `,c);try{this.isWorking=!0,o=null!==(i=yield this.socket.send(c))&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setJsonSchemaFor(e,o)}catch(e){Pm.error(e)}finally{this.isWorking=!1}return o})}request(e,t){return Ou(this,arguments,void 0,function*(e,t,i=!1){const c=uC(e,t);if(i&&this.metaCache.hasRequestFor(c))return Pm.debug(`Cached request response retrieved for ${c}`),this.metaCache.getRequestFor(c);const o=this.inFlightRequests.get(c);if(o)return Pm.debug(`In-flight request collapsed for ${c}`),o;const s=this.messageBuilder.createRequestMessage(e,t);Pm.debug(`${s.MESSAGE_TYPE} (request server) message created -> `,s);const n=this.socket.send(s).finally(()=>{this.inFlightRequests.delete(c)});this.inFlightRequests.set(c,n);const a=yield n;return i&&a&&this.metaCache.setRequestFor(c,a),a})}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Pm.debug("Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Pm.debug(`${i.MESSAGE_TYPE} (resources) message created -> `,i);const c=yield this.socket.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);Pm.debug(`${i.MESSAGE_TYPE} (commit) message created -> `,i);const c=this.socket.send(i);return this.events.onCommitEvent(e,i),c.then(t=>(this.events.onCommitResponseEvent(e,t),t))})}};Nu([g],Ux.prototype,"isWorking",void 0),Ux=Nu([Au(0,Bx),Au(1,mC),Au(2,Rz),Au(3,Uz),Au(4,qz)],Ux);const jx="true"===yg||gg("forceHttp"),qx=ft.createInterface(e=>e.singleton(Ux)),Gx=ft.createInterface(e=>jx?e.aliasTo($x):e.aliasTo(qx));class Wx{serialize(e){return Pm.deprecated("serialize","Use `serialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),JSON.stringify(e)}deserialize(e){return Pm.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
|
-
function Yx(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var c in i)"__proto__"!==c&&(e[c]=i[c])}return e}ft.createInterface(e=>e.singleton(Wx));var Kx={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 Zx=function e(t,i){function c(e,c,o){if("undefined"!=typeof document){"number"==typeof(o=Yx({},i,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var n in o)o[n]&&(s+="; "+n,!0!==o[n]&&(s+="="+o[n].split(";")[0]));return document.cookie=e+"="+t.write(c,e)+s}}return Object.create({set:c,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var i=document.cookie?document.cookie.split("; "):[],c={},o=0;o<i.length;o++){var s=i[o].split("="),n=s.slice(1).join("=");try{var a=decodeURIComponent(s[0]);if(a in c||(c[a]=t.read(n,a)),e===a)break}catch{}}return e?c[e]:c}},remove:function(e,t){c(e,"",Yx({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,Yx({},this.attributes,t))},withConverter:function(t){return e(Yx({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(i)},converter:{value:Object.freeze(t)}})}(Kx,{path:"/"});const Qx=ft.createInterface();function Xx(){return(null===navigator||void 0===navigator?void 0:navigator.credentials)?"PasswordCredential"in window||(Pm.warn("PasswordCredential not available in this browser."),!1):(Pm.warn("CredentialsContainer not available in this browser."),!1)}const Jx=":";function eL(e="",t=Jx,i){return e.split(t,i).map(e=>e.trim()).filter(e=>""!==e)}function tL(e,t=Jx){const i="string"==typeof e&&e.trim();return!!i&&i.includes(t)}function iL(e,t=Jx){return"string"==typeof e&&e.trim()?(e.match(new RegExp(t,"g"))||[]).length:0}function cL(e,t=Jx){for(const i of e)if(tL(i,t))return i;return e.find(e=>"string"==typeof e&&""!==e.trim())}function oL(e,t,i){const c="string"==typeof e&&e.trim();return!c||i&&!c.includes(i)||iL(c)>1?i&&t&&i!==t?`${t}:${i}`:t||i:c}function sL(e="credential"){Pm.warn(`Unable to migrate legacy ${e} to latest format. Please remove from your browser.`)}const nL={password:!0,mediation:"optional"},aL={cookie:{path:"/",name:"credentials",expires:7300,storePasswords:!1}};let rL=class{constructor(e,t=aL){this.session=e,this.config=t}createBasicCredentials(e){return{type:nC.BASIC,username:e.username,password:e.password,mfaToken:this.getMFAToken()}}createRefreshCredentials(e){var t,i,c;return{type:nC.REFRESH,username:null!==(t=null==e?void 0:e.username)&&void 0!==t?t:this.getUsername(),refreshToken:null!==(i=null==e?void 0:e.refreshToken)&&void 0!==i?i:this.getRefreshToken(),mfaToken:null!==(c=null==e?void 0:e.mfaToken)&&void 0!==c?c:this.getMFAToken()}}createSSOCredentials(e){var t;return{type:nC.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(Jx)&&iL(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]=eL(t.name||t.id),[c,o]=eL(cL([t.id,t.name]));return[{id:oL(t.id||t.name,i,o),name:i,password:t.password||""},!0]}catch(e){sL("PasswordCredential")}if(t)try{const e=t,[i]=eL(e.name||e.username||e.organisation),[c,o]=eL(cL([e.organisation||e.username||e.name]));return[{id:oL(e.id||e.username||e.name,i,o),name:i,password:e.password||""},!1]}catch(e){sL("cookie")}return[void 0,!1]}storeCredentialsInContainer(e){return Ou(this,void 0,void 0,function*(){if(!Xx())return;const t=new PasswordCredential(e);return Pm.debug("Storing credentials in CredentialsContainer"),navigator.credentials.store(t)})}getCredentialsFromContainer(){return Ou(this,arguments,void 0,function*(e=nL){if(Xx())return Pm.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 Pm.debug("Storing credentials in cookie"),!!Zx.set(this.config.cookie.name,JSON.stringify(i),{expires:this.config.cookie.expires,domain:location.hostname,path:this.config.cookie.path,secure:!0})}getCredentialsFromCookie(){Pm.debug("Getting credentials from cookie");const e=Zx.get(this.config.cookie.name);return e?JSON.parse(e):void 0}storeCredentials(e){return Ou(this,void 0,void 0,function*(){if(Xx()){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 Xx()?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(){Zx.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 Xx()&&navigator.credentials.preventSilentAccess()}};rL=Nu([Au(0,eC),Au(1,vt(Qx))],rL);const lL=ft.createInterface(e=>e.singleton(rL)),dL=e=>Array.isArray(e)?e.map(e=>null!=e?e:""):[],hL=e=>{try{if("EVENT_LOGIN_AUTH_ACK"===(null==e?void 0:e.MESSAGE_TYPE)){const{DETAILS:c}=e,o={messageType:e.MESSAGE_TYPE,sourceRef:e.SOURCE_REF,userName:e.USER_NAME,updateQueue:e.UPDATE_QUEUE,zeroMqProxyModeEnabled:e.ZERO_MQ_PROXY_MODE_ENABLED,zeroMqProxyInboundPort:e.ZERO_MQ_PROXY_INBOUND_PORT,zeroMqProxyOutboundPort:e.ZERO_MQ_PROXY_OUTBOUND_PORT,userKVs:e.USER,details:c?{system:(i=c.SYSTEM,i?{date:i.DATE}:null),heartbeatIntervalSecs:c.HEARTBEAT_INTERVAL_SECS,failedLoginAttempts:c.FAILED_LOGIN_ATTEMPTS,rejectedLoginAttempts:c.REJECTED_LOGIN_ATTEMPTS,lastLoginDatetime:c.LAST_LOGIN_DATETIME,daysToPasswordExpiry:c.DAYS_TO_PASSWORD_EXPIRY,product:(t=c.PRODUCT,t?t.map(e=>({name:e.NAME,version:e.VERSION})):[])}:null,permission:dL(e.PERMISSION),profile:dL(e.PROFILE)};return o}throw new Error("No Entity mapping implementation for provided DTO")}catch(e){throw Pm.error(e),e}var t,i};let uL=class{loggedUserResultChanged(){var e;null===(e=this.isLoggedInSubject)||void 0===e||e.next(this.isLoggedIn)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}get isLoggedIn(){return this.currentUser.isAuthenticated}constructor(e,t,i,c,o){this.session=e,this.connect=t,this.messageBuilder=i,this.credentialManager=c,this.currentUser=o,this.isWorking=!1,this.isLoggedInSubject=new Rb(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),c=yield this.connect.send(i);if(!c||c.ERROR||(null===(t=c.DETAILS)||void 0===t?void 0:t.ERROR))throw new dC(i,c);this.applyAuthResults({authToken:c.SESSION_AUTH_TOKEN,refreshToken:c.REFRESH_AUTH_TOKEN,profiles:c.PROFILE,username:c.USER_NAME,permissions:c.PERMISSION,sessionId:c.SESSION_ID}),this.currentUser.set(hL(c)),this.session.setAuthResult(c),Pm.debug("Login Authentication Result:",c)}catch(e){if(Pm.error("Login Authentication Error:",e),!(e instanceof dC&&e.isIgnorableError()))throw this.removeAuthResults(),this.currentUser.unset(),e;Pm.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:c,DETAILS:o,ERROR:s,MESSAGE_TYPE:n,OIDC_LOGOUT_URL:a}=yield this.connect.send(i),r=null!==(e=null==o?void 0:o.ERROR)&&void 0!==e?e:s,l=n===aC.LOGOUT_NACK;l&&Pm.warn("Unexpected Logout NACK received during logout.",r),t={success:n===aC.LOGOUT_ACK||c===lC.SESSION_NOT_FOUND||!l,error:r},a&&window.open(a,"_self")}catch(e){const i=new dC(e.sentMessage,e.receivedMessage);if(Pm.error("Logout Authentication Error:",i),!i.isIgnorableError())throw e;Pm.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)===rC.EVENT_LOGIN_AUTH_ACK)return this.session.setAuthResult(t),this.currentUser.set(hL(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,c=e.REFRESH_AUTH_TOKEN;return t&&i&&c?{username:t,authToken:i,refreshToken:c,profiles:e.PROFILE,permissions:e.PERMISSION,sessionId:e.SESSION_ID}:null}applyAuthResults(e){e?this.loggedUserResult={authToken:e.authToken,refreshToken:e.refreshToken,profiles:e.profiles,username:e.username,permissions:e.permissions,sessionId:e.sessionId}:this.removeAuthResults()}removeAuthResults(){this.loggedUserResult=null}};Nu([g],uL.prototype,"isWorking",void 0),Nu([g],uL.prototype,"loggedUserResult",void 0),uL=Nu([Au(0,eC),Au(1,Gx),Au(2,mC),Au(3,lL),Au(4,Oz)],uL);const fL=ft.createInterface(e=>e.singleton(uL));function pL(e,t){const i=new Date(e),c=i.getUTCFullYear(),o=String(i.getUTCMonth()+1).padStart(2,"0"),s=String(i.getUTCDate()).padStart(2,"0");if(t)return`${c}${o}${s}`;return`${c}${o}${s}-${String(i.getUTCHours()).padStart(2,"0")}:${String(i.getUTCMinutes()).padStart(2,"0")}`}function mL(e,t="ROW_REF"){const i=e=>{const i=Object.assign(Object.assign({},e),{[t]:e.DETAILS[t]});return delete i.DETAILS,i},c=[],o=[],s=[];for(const t of e.ROW)if(t.DETAILS)switch(t.DETAILS.OPERATION){case"INSERT":c.push(i(t));break;case"MODIFY":s.push(i(t));break;case"DELETE":o.push(i(t));break;default:Pm.error(`Unsupported operation type: '${t.DETAILS.OPERATION}'`)}return{inserts:c,deletes:o,updates:s,SOURCE_REF:e.SOURCE_REF}}class gL{}gL.MAX_ROWS_250=250,gL.MAX_VIEW_1000=1e3,gL.REQ_REP_POLLING_INTERVAL_MS=1e4,gL.DATASERVER_ROW_ID="ROW_REF",gL.REQUEST_SERVER_ROW_ID="RECORD_ID",gL.DEFAULT_PAGINATION_PAGE_SIZE=25,gL.DEFAULT_REQ_REP_OFFSET=0;const vL={options:{criteria:"",isSnapshot:!1,maxRows:gL.MAX_ROWS_250,maxView:gL.MAX_VIEW_1000,pollingInterval:gL.REQ_REP_POLLING_INTERVAL_MS,movingView:!1,orderBy:"",resourceName:"",reverse:!1,pollTriggerEvents:[]},criteriaToFields:function(e){if(!e)return{};const t=e.split("&&").map(e=>e.trim()),i={};return t.forEach(e=>{if(e)if(e.startsWith("Expr"))!function(e,t){const i=e.match(/Expr\.(\w+)\(/);if(i)switch(i[1]){case"dateIsToday":{const i=/Expr\.dateIsToday\((\w+)\)/,c=e.match(i);if(c){const[,e]=c,i=new Date;t[`${e}_FROM`]=`${i.toISOString().replace(/-/g,"").split("T")[0]}-00:00`,i.setDate(i.getDate()+1),t[`${e}_TO`]=`${i.toISOString().replace(/-/g,"").split("T")[0]}-00:00`}break}case"dateTimeIsGreaterEqual":{const i=/Expr\.dateTimeIsGreaterEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_FROM`]=i}break}case"dateTimeIsLessEqual":{const i=/Expr\.dateTimeIsLessEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_TO`]=i}break}case"dateIsGreaterEqual":{const i=/Expr\.dateIsGreaterEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_FROM`]=i}break}case"dateIsLessEqual":{const i=/Expr\.dateIsLessEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_TO`]=i}break}case"containsIgnoreCase":{const i=/Expr\.containsIgnoreCase\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[e]=`*${i}*`}break}}}(e,i);else if(/[A-Z_]+\s*(>=|<=)\s*\d+/.test(e)){const t=e.match(/([A-Z_]+)\s*>=\s*(\d+)/);if(t){const[,e,c]=t,o=parseInt(c,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_FROM`]=pL(o,n)}const c=e.match(/([A-Z_]+)\s*<=\s*(\d+)/);if(c){const[,e,t]=c,o=parseInt(t,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_TO`]=pL(o,n)}}else!function(e,t){const i=e.substr(0,e.indexOf("=")).trim().replace(/["']/g,""),c=e.substr(e.lastIndexOf("=")+1,e.length).trim().replace(/["']/g,"");t[i]=c}(e,i)}),i},dataServerResultFilter:mL},bL=ft.createInterface(e=>e.instance(vL)),yL=e=>{class t extends e{constructor(){super(),this.hasOwnProperty("onDatasourceStatusChanged")||(this.onDatasourceStatusChanged=e=>{var t;const i=void 0!==this.data;this.resourceName||i||Pm.warn("Target classes must have a resourceName or data property to use the DatasourceEventHandler mixin.");const c=e.detail;if(c.name===this.resourceName){const e=null!==(t=this.datasourceStatus)&&void 0!==t?t:{isInitialized:!1,hasMetadata:!1};(e.isInitialized!==c.isInitialized||c.metadataRequired&&e.hasMetadata!==c.hasMetadata)&&(this.datasourceStatus=c)}})}datasourceStatusChanged(e,t){Pm.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(Hz,this.onDatasourceStatusChanged,{passive:!0,capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(Hz,this.onDatasourceStatusChanged,{capture:!0})}}return Nu([g],t.prototype,"datasourceStatus",void 0),t},zL={throwWhenUnavailable:!0,throwWhenUnknown:!1},CL=ft.createInterface(e=>e.instance(zL)),xL=Gm("genesis-resources");let LL=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(Pm.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(Pm.error(e),this.config.throwWhenUnavailable)throw new Error(e)}this.postLoadedMessage(),this.resourcesPromise=void 0}})}postLoadedMessage(){const e=ft.getOrCreateDOMContainer().get(xL);e.postMessage("resources-loaded",this.resources),e.close()}};LL=Nu([Au(0,Gx),Au(1,CL)],LL);const ML=ft.createInterface(e=>e.singleton(LL));let wL=class{get initialized(){var e;return!!(null===(e=this.status)||void 0===e?void 0:e.isInitialized)}constructor(e,t,i,c,o){this.connect=e,this.auth=t,this.resources=i,this.config=c,this.connectEvents=o,this.fetchMetadataRequired=!0,this.startStreamRequired=!0,this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.customRequestFields=[],this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.criteriaOnlyRequest=!1,this.loadMoreCount=0,this.readOnly=!0,this._allParams=null,this.pollTrigger$=new Ob}triggerPoll(){this.pollTrigger$.next()}validResourceName(e){return Pm.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 c=this.options.resourceName;if(!(this.connect.isConnected||(yield this.connect.connect())))return Pm.error(`Unable to connect to ${this.connect.host} to get ${c} datasource`),this.reportStatus(),!1;return(yield this.resources.isValidResource(c))?(this.resourceType=yield this.resources.getResourceTypeFor(c),this.resourceType?(this.fetchMetadataRequired&&(yield this.fetchAndApplyMetadata(this.options.resourceName),this._allParams=null),Pm.debug(`Initializing ${c} datasource from ${this.connect.host}`),!this.options.isSnapshot&&i&&(this.pollTrigger$=new Ob,this.stream=yield this.createStream()),Pm.debug(`${c} datasource initialization ${this.initialized?"was successful.":"has failed."}`),this.reportStatus(),this.initialized):(Pm.error(`Unable to get the resource type for ${c} datasource from ${this.connect.host}`),this.reportStatus(),!1)):(Pm.error(`${c} 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;Pm.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);Pm.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},Pm.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(Pm.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`),this.resourceType){case Fz.DATASERVER:return this.connect.snapshot(this.options.resourceName,Object.assign(Object.assign({},this.dataserverOnlyParams),e));case Fz.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(![Fz.DATASERVER,Fz.REQUEST_SERVER].includes(this.resourceType))throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);return this.resourceType===Fz.DATASERVER?this.createDataserverStream():(Pm.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=>Pm.error(e),this.dataserverOnlyParams)})}createReqRepStream(){this.commitResponseUnsubscribe=this.connectEvents.addCommitResponseListener(e=>{var t;const{eventName:i,response:c}=e.detail;this.options.pollTriggerEvents&&this.options.pollTriggerEvents.includes(i)&&(null===(t=c.MESSAGE_TYPE)||void 0===t?void 0:t.endsWith("_ACK"))&&(Pm.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===Fz.REQUEST_SERVER&&this.loadMoreCount>0){const t=25,i=(this.options.maxRows||t)*(this.loadMoreCount+1);e.DETAILS.MAX_ROWS=i}return Fy([this.connect.isConnected$,this.auth.isLoggedIn$]).pipe(Wy(()=>this.connect.isConnected&&this.auth.isLoggedIn),Gy(()=>Sy(this.snapshot(e))))};return e?this.pollTrigger$.pipe(qy(0),Gy(()=>By(0,e).pipe(Gy(t)))):this.pollTrigger$.pipe(qy(0),Gy(t))}fetchAndApplyMetadata(e){return Ou(this,void 0,void 0,function*(){var t,i,c,o;try{Pm.debug(`Requesting metadata for ${this.options.resourceName} Datasource`);const e=yield this.connect.getMetadata(this.options.resourceName);e&&(this.availableIndexes=null!==(t=e.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(i=e.SORTABLE_FIELDS)&&void 0!==i?i:[],this.availableCriteriaFields=null!==(c=e.CRITERIA_FIELDS)&&void 0!==c?c:[],this.originalFieldDef=Pz(e),this.fieldMetadata=_z(this.originalFieldDef),this.requestFields=e.REQUEST_FIELD||[],this.customRequestFields=e.FIELD||[],this.criteriaOnlyRequest=e.CRITERIA_ONLY_REQUEST||!1,this.fetchMetadataRequired=!1),this.status=this.normaliseStatus({isInitialized:!0,metadataRequired:!0,hasMetadata:(null===(o=this.fieldMetadata)||void 0===o?void 0:o.length)>0})}catch(t){Pm.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),Pm.debug(`Dispatching '${Hz}'`,this.status),null==i||i.dispatchEvent(new CustomEvent(Hz,{detail:this.status,bubbles:i!==document,composed:!0}))}normaliseStatus(e){var t,i,c,o,s;const n=null!==(t=e.isInitialized)&&void 0!==t?t:this.initialized,a=null!==(i=e.metadataRequired)&&void 0!==i?i:this.fetchMetadataRequired,r=null!==(c=e.hasMetadata)&&void 0!==c?c:(null===(o=this.fieldMetadata)||void 0===o?void 0:o.length)>0;return{name:null===(s=this.options)||void 0===s?void 0:s.resourceName,type:this.resourceType,isInitialized:n,metadataRequired:a,hasMetadata:r}}invalidateCache(){this._allParams=null}};Nu([g],wL.prototype,"status",void 0),Nu([g],wL.prototype,"fetchMetadataRequired",void 0),Nu([g],wL.prototype,"startStreamRequired",void 0),Nu([g],wL.prototype,"originalFieldDef",void 0),Nu([g],wL.prototype,"fieldMetadata",void 0),Nu([g],wL.prototype,"requestFields",void 0),Nu([g],wL.prototype,"customRequestFields",void 0),Nu([g],wL.prototype,"availableIndexes",void 0),Nu([g],wL.prototype,"availableSortableFields",void 0),Nu([g],wL.prototype,"availableCriteriaFields",void 0),Nu([g],wL.prototype,"criteriaOnlyRequest",void 0),Nu([g],wL.prototype,"loadMoreCount",void 0),Nu([g],wL.prototype,"readOnly",void 0),Nu([g],wL.prototype,"stream",void 0),wL=Nu([Au(0,Gx),Au(1,fL),Au(2,ML),Au(3,bL),Au(4,Bz)],wL);const SL=ft.createInterface(e=>e.transient(wL));class kL extends wL{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===aC.LOGOFF_ACK;const t=e.ROW;!this.subscriptionLoggedOff&&t&&this.updateCache(this.config.dataServerResultFilter(e,this.rowId))}),!0):(Pm.debug(`EntityDatasource init failed for ${this.options.resourceName}`),!1)}),this.disconnect=()=>{var e;null===(e=this.subscription)||void 0===e||e.unsubscribe(),this.entityCache=[]}}get initialized(){return this._initialized}set initialized(e){this._initialized=e}get cache(){if(!this.initialized)throw new Error("Please initialize EntityDatasource before querying.");return this.entityCache}get isEmpty(){return 0===this.entityCache.length}updateCache(e){var t;this.isEmpty,null===(t=e.deletes)||void 0===t||t.forEach(e=>{const t=e[this.rowId];this.entityMap.delete(t)}),this.processRowDataUpdate(e.inserts,!0),this.processRowDataUpdate(e.updates);this.entityCache=[{}].map(e=>this.mapper.fromDTO(e))}processRowDataUpdate(e,t=!1){e.forEach(e=>{const i=e[this.rowId],c=this.entityMap.get(i);if(c&&t)throw new Error("Existing entity found in map while inserting.");const o=this.mapper.fromDTO(e),s=c?Object.assign(Object.assign({},c),o):o;this.entityMap.set(i,s)})}}function $L(e,t=";"){return e?e.split(t).map(e=>e.trim()).sort((e,t)=>e.localeCompare(t)).join(t):e}ft.createInterface(e=>e.transient(kL));const EL="system-health-changed",NL={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=ft.getOrCreateDOMContainer().get(Gx),i=yield t.getMoreColumns(e),c=Date.now(),o=i;return{isConnected:i.MESSAGE_TYPE===aC.MORE_COLUMNS_ACK,lastUpdated:c,lastMessage:o}}),resourceDataLogon:({message:e,functions:t})=>{const{onMessage:i,onError:c}=t;ft.getOrCreateDOMContainer().get(Bx).sendForStream(e,i,c)}},AL=ft.createInterface(e=>e.instance(NL));var OL,TL={exports:{}};var RL,IL,DL=(OL||(OL=1,function(e){e.exports=function(e){var t={};function i(c){if(t[c])return t[c].exports;var o=t[c]={i:c,l:!1,exports:{}};return e[c].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,c){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:c})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var c=Object.create(null);if(i.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(c,o,function(t){return e[t]}.bind(null,o));return c},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=90)}({17:function(e,t,i){t.__esModule=!0,t.default=void 0;var c=i(18),o=function(){function e(){}return e.getFirstMatch=function(e,t){var i=t.match(e);return i&&i.length>0&&i[1]||""},e.getSecondMatch=function(e,t){var i=t.match(e);return i&&i.length>1&&i[2]||""},e.matchAndReturnConst=function(e,t,i){if(e.test(t))return i},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});t.push(0);var i=t[0],c=t[1];if(10===i)switch(c){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}switch(i){case 11:return"Big Sur";case 12:return"Monterey";case 13:return"Ventura";case 14:return"Sonoma";case 15:return"Sequoia";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,i,c){void 0===c&&(c=!1);var o=e.getVersionPrecision(t),s=e.getVersionPrecision(i),n=Math.max(o,s),a=0,r=e.map([t,i],function(t){var i=n-e.getVersionPrecision(t),c=t+new Array(i+1).join(".0");return e.map(c.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(c&&(a=n-Math.min(o,s)),n-=1;n>=a;){if(r[0][n]>r[1][n])return 1;if(r[0][n]===r[1][n]){if(n===a)return 0;n-=1}else if(r[0][n]<r[1][n])return-1}},e.map=function(e,t){var i,c=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(i=0;i<e.length;i+=1)c.push(t(e[i]));return c},e.find=function(e,t){var i,c;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,c=e.length;i<c;i+=1){var o=e[i];if(t(o,i))return o}},e.assign=function(e){for(var t,i,c=e,o=arguments.length,s=new Array(o>1?o-1:0),n=1;n<o;n++)s[n-1]=arguments[n];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var a=function(){var e=s[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach(function(t){c[t]=e[t]})};for(t=0,i=s.length;t<i;t+=1)a();return e},e.getBrowserAlias=function(e){return c.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return c.BROWSER_MAP[e]||""},e}();t.default=o,e.exports=t.default},18:function(e,t,i){t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={AmazonBot:"amazonbot","Amazon Silk":"amazon_silk","Android Browser":"android",BaiduSpider:"baiduspider",Bada:"bada",BingCrawler:"bingcrawler",Brave:"brave",BlackBerry:"blackberry","ChatGPT-User":"chatgpt_user",Chrome:"chrome",ClaudeBot:"claudebot",Chromium:"chromium",Diffbot:"diffbot",DuckDuckBot:"duckduckbot",DuckDuckGo:"duckduckgo",Electron:"electron",Epiphany:"epiphany",FacebookExternalHit:"facebookexternalhit",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot",GPTBot:"gptbot","Internet Explorer":"ie",InternetArchiveCrawler:"internetarchivecrawler","K-Meleon":"k_meleon",LibreWolf:"librewolf",Linespider:"linespider",Maxthon:"maxthon","Meta-ExternalAds":"meta_externalads","Meta-ExternalAgent":"meta_externalagent","Meta-ExternalFetcher":"meta_externalfetcher","Meta-WebIndexer":"meta_webindexer","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver","OAI-SearchBot":"oai_searchbot",Omgilibot:"omgilibot",Opera:"opera","Opera Coast":"opera_coast","Pale Moon":"pale_moon",PerplexityBot:"perplexitybot","Perplexity-User":"perplexity_user",PhantomJS:"phantomjs",PingdomBot:"pingdombot",Puffin:"puffin",QQ:"qq",QQLite:"qqlite",QupZilla:"qupzilla",Roku:"roku",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SlackBot:"slackbot",SeaMonkey:"seamonkey",Sleipnir:"sleipnir","Sogou Browser":"sogou",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat",YahooSlurp:"yahooslurp","Yandex Browser":"yandex",YandexBot:"yandexbot",YouBot:"youbot"},t.BROWSER_MAP={amazonbot:"AmazonBot",amazon_silk:"Amazon Silk",android:"Android Browser",baiduspider:"BaiduSpider",bada:"Bada",bingcrawler:"BingCrawler",blackberry:"BlackBerry",brave:"Brave",chatgpt_user:"ChatGPT-User",chrome:"Chrome",claudebot:"ClaudeBot",chromium:"Chromium",diffbot:"Diffbot",duckduckbot:"DuckDuckBot",duckduckgo:"DuckDuckGo",edge:"Microsoft Edge",electron:"Electron",epiphany:"Epiphany",facebookexternalhit:"FacebookExternalHit",firefox:"Firefox",focus:"Focus",generic:"Generic",google_search:"Google Search",googlebot:"Googlebot",gptbot:"GPTBot",ie:"Internet Explorer",internetarchivecrawler:"InternetArchiveCrawler",k_meleon:"K-Meleon",librewolf:"LibreWolf",linespider:"Linespider",maxthon:"Maxthon",meta_externalads:"Meta-ExternalAds",meta_externalagent:"Meta-ExternalAgent",meta_externalfetcher:"Meta-ExternalFetcher",meta_webindexer:"Meta-WebIndexer",mz:"MZ Browser",naver:"NAVER Whale Browser",oai_searchbot:"OAI-SearchBot",omgilibot:"Omgilibot",opera:"Opera",opera_coast:"Opera Coast",pale_moon:"Pale Moon",perplexitybot:"PerplexityBot",perplexity_user:"Perplexity-User",phantomjs:"PhantomJS",pingdombot:"PingdomBot",puffin:"Puffin",qq:"QQ Browser",qqlite:"QQ Browser Lite",qupzilla:"QupZilla",roku:"Roku",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",slackbot:"SlackBot",sleipnir:"Sleipnir",sogou:"Sogou Browser",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yahooslurp:"YahooSlurp",yandex:"Yandex Browser",yandexbot:"YandexBot",youbot:"YouBot"},t.PLATFORMS_MAP={bot:"bot",desktop:"desktop",mobile:"mobile",tablet:"tablet",tv:"tv"},t.OS_MAP={Android:"Android",Bada:"Bada",BlackBerry:"BlackBerry",ChromeOS:"Chrome OS",HarmonyOS:"HarmonyOS",iOS:"iOS",Linux:"Linux",MacOS:"macOS",PlayStation4:"PlayStation 4",Roku:"Roku",Tizen:"Tizen",WebOS:"WebOS",Windows:"Windows",WindowsPhone:"Windows Phone"},t.ENGINE_MAP={Blink:"Blink",EdgeHTML:"EdgeHTML",Gecko:"Gecko",Presto:"Presto",Trident:"Trident",WebKit:"WebKit"}},90:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(91))&&c.__esModule?c:{default:c},s=i(18);function n(e,t){for(var i=0;i<t.length;i++){var c=t[i];c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(e,c.key,c)}}var a=function(){function e(){}var t,i,c;return e.getParser=function(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),"string"!=typeof e)throw new Error("UserAgent should be a string");return new o.default(e,t,i)},e.parse=function(e,t){return void 0===t&&(t=null),new o.default(e,t).getResult()},t=e,c=[{key:"BROWSER_MAP",get:function(){return s.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return s.ENGINE_MAP}},{key:"OS_MAP",get:function(){return s.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return s.PLATFORMS_MAP}}],(i=null)&&n(t.prototype,i),c&&n(t,c),e}();t.default=a,e.exports=t.default},91:function(e,t,i){t.__esModule=!0,t.default=void 0;var c=r(i(92)),o=r(i(93)),s=r(i(94)),n=r(i(95)),a=r(i(17));function r(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e;var c=!1;"boolean"==typeof t?(c=t,this._hints=i):this._hints=null!=t&&"object"==typeof t?t:null,this.parsedResult={},!0!==c&&this.parse()}var t=e.prototype;return t.getHints=function(){return this._hints},t.hasBrand=function(e){if(!this._hints||!Array.isArray(this._hints.brands))return!1;var t=e.toLowerCase();return this._hints.brands.some(function(e){return e.brand&&e.brand.toLowerCase()===t})},t.getBrandVersion=function(e){if(this._hints&&Array.isArray(this._hints.brands)){var t=e.toLowerCase(),i=this._hints.brands.find(function(e){return e.brand&&e.brand.toLowerCase()===t});return i?i.version:void 0}},t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(c.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA(),this)),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(o.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(s.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(n.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,i={},c=0,o={},s=0;if(Object.keys(e).forEach(function(t){var n=e[t];"string"==typeof n?(o[t]=n,s+=1):"object"==typeof n&&(i[t]=n,c+=1)}),c>0){var n=Object.keys(i),r=a.default.find(n,function(e){return t.isOS(e)});if(r){var l=this.satisfies(i[r]);if(void 0!==l)return l}var d=a.default.find(n,function(e){return t.isPlatform(e)});if(d){var h=this.satisfies(i[d]);if(void 0!==h)return h}}if(s>0){var u=Object.keys(o),f=a.default.find(u,function(e){return t.isBrowser(e,!0)});if(void 0!==f)return this.compareVersion(o[f])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var i=this.getBrowserName().toLowerCase(),c=e.toLowerCase(),o=a.default.getBrowserTypeByAlias(c);return t&&o&&(c=o.toLowerCase()),c===i},t.compareVersion=function(e){var t=[0],i=e,c=!1,o=this.getBrowserVersion();if("string"==typeof o)return">"===e[0]||"<"===e[0]?(i=e.substr(1),"="===e[1]?(c=!0,i=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?i=e.substr(1):"~"===e[0]&&(c=!0,i=e.substr(1)),t.indexOf(a.default.compareVersions(o,i,c))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some(function(e){return t.is(e)})},e}();t.default=l,e.exports=t.default},92:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=/version\/(\d+(\.?_?\d+)+)/i,n=[{test:[/gptbot/i],describe:function(e){var t={name:"GPTBot"},i=o.default.getFirstMatch(/gptbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chatgpt-user/i],describe:function(e){var t={name:"ChatGPT-User"},i=o.default.getFirstMatch(/chatgpt-user\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/oai-searchbot/i],describe:function(e){var t={name:"OAI-SearchBot"},i=o.default.getFirstMatch(/oai-searchbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(e){var t={name:"ClaudeBot"},i=o.default.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(e){var t={name:"Omgilibot"},i=o.default.getFirstMatch(/(?:omgilibot|webzio-extended)\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/diffbot/i],describe:function(e){var t={name:"Diffbot"},i=o.default.getFirstMatch(/diffbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexitybot/i],describe:function(e){var t={name:"PerplexityBot"},i=o.default.getFirstMatch(/perplexitybot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexity-user/i],describe:function(e){var t={name:"Perplexity-User"},i=o.default.getFirstMatch(/perplexity-user\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/youbot/i],describe:function(e){var t={name:"YouBot"},i=o.default.getFirstMatch(/youbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-webindexer/i],describe:function(e){var t={name:"Meta-WebIndexer"},i=o.default.getFirstMatch(/meta-webindexer\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalads/i],describe:function(e){var t={name:"Meta-ExternalAds"},i=o.default.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalagent/i],describe:function(e){var t={name:"Meta-ExternalAgent"},i=o.default.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalfetcher/i],describe:function(e){var t={name:"Meta-ExternalFetcher"},i=o.default.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},i=o.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/linespider/i],describe:function(e){var t={name:"Linespider"},i=o.default.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/amazonbot/i],describe:function(e){var t={name:"AmazonBot"},i=o.default.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/bingbot/i],describe:function(e){var t={name:"BingCrawler"},i=o.default.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/baiduspider/i],describe:function(e){var t={name:"BaiduSpider"},i=o.default.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/duckduckbot/i],describe:function(e){var t={name:"DuckDuckBot"},i=o.default.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ia_archiver/i],describe:function(e){var t={name:"InternetArchiveCrawler"},i=o.default.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{name:"FacebookExternalHit"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe:function(e){var t={name:"SlackBot"},i=o.default.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/yahoo!?[\s/]*slurp/i],describe:function(){return{name:"YahooSlurp"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{name:"YandexBot"}}},{test:[/pingdom/i],describe:function(){return{name:"PingdomBot"}}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},i=o.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/PaleMoon/i],describe:function(e){var t={name:"Pale Moon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:PaleMoon)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},i=o.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},i=o.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},i=o.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},i=o.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},i=o.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},i=o.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},i=o.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},i=o.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},i=o.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},i=o.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},i=o.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},i=o.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},i=o.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return i&&(t.version=i),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},i=o.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},i=o.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},i=o.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},i=o.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},i=o.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},i=o.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/librewolf/i],describe:function(e){var t={name:"LibreWolf"},i=o.default.getFirstMatch(/(?:librewolf)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},i=o.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},i=o.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sogoumobilebrowser/i,/metasr/i,/se 2\.[x]/i],describe:function(e){var t={name:"Sogou Browser"},i=o.default.getFirstMatch(/(?:sogoumobilebrowser)[\s/](\d+(\.?_?\d+)+)/i,e),c=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),s=o.default.getFirstMatch(/se ([\d.]+)x/i,e),n=i||c||s;return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},i=o.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return!!e.hasBrand("DuckDuckGo")||e.test(/\sDdg\/[\d.]+$/i)},describe:function(e,t){var i={name:"DuckDuckGo"};if(t){var c=t.getBrandVersion("DuckDuckGo");if(c)return i.version=c,i}var s=o.default.getFirstMatch(/\sDdg\/([\d.]+)$/i,e);return s&&(i.version=s),i}},{test:function(e){return e.hasBrand("Brave")},describe:function(e,t){var i={name:"Brave"};if(t){var c=t.getBrandVersion("Brave");if(c)return i.version=c,i}return i}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},i=o.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},i=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},i=o.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t={name:"Android Browser"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:o.default.getFirstMatch(t,e),version:o.default.getSecondMatch(t,e)}}}];t.default=n,e.exports=t.default},93:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:[/Roku\/DVP/],describe:function(e){var t=o.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=o.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=o.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),i=o.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:i}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:s.OS_MAP.iOS},i=o.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return i&&(t.version=i),t}},{test:[/macintosh/i],describe:function(e){var t=o.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),i=o.default.getMacOSVersionName(t),c={name:s.OS_MAP.MacOS,version:t};return i&&(c.versionName=i),c}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=o.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:s.OS_MAP.iOS,version:t}}},{test:[/OpenHarmony/i],describe:function(e){var t=o.default.getFirstMatch(/OpenHarmony\s+(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.HarmonyOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t=o.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),i=o.default.getAndroidVersionName(t),c={name:s.OS_MAP.Android,version:t};return i&&(c.versionName=i),c}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=o.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),i={name:s.OS_MAP.WebOS};return t&&t.length&&(i.version=t),i}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=o.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||o.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||o.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=o.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=o.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=o.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=n,e.exports=t.default},94:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:[/googlebot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Google"}}},{test:[/linespider/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Line"}}},{test:[/amazonbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Amazon"}}},{test:[/gptbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/chatgpt-user/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/oai-searchbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/baiduspider/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Baidu"}}},{test:[/bingbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Bing"}}},{test:[/duckduckbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"DuckDuckGo"}}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Anthropic"}}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Webz.io"}}},{test:[/diffbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Diffbot"}}},{test:[/perplexitybot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Perplexity AI"}}},{test:[/perplexity-user/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Perplexity AI"}}},{test:[/youbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"You.com"}}},{test:[/ia_archiver/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Internet Archive"}}},{test:[/meta-webindexer/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalads/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalagent/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalfetcher/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Slack"}}},{test:[/yahoo/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Yahoo"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Yandex"}}},{test:[/pingdom/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Pingdom"}}},{test:[/huawei/i],describe:function(e){var t=o.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",i={type:s.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(i.model=t),i}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),i=e.test(/like (ipod|iphone)/i);return t&&!i},describe:function(e){var t=o.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/Nokia/i],describe:function(e){var t=o.default.getFirstMatch(/Nokia\s+([0-9]+(\.[0-9]+)?)/i,e),i={type:s.PLATFORMS_MAP.mobile,vendor:"Nokia"};return t&&(i.model=t),i}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:[/smart-?tv|smarttv/i],describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:[/netcast/i],describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=n,e.exports=t.default},95:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=o.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},i=o.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},i=o.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=e.test(/gecko/i),i=e.test(/like gecko/i);return t&&!i},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},i=o.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},i=o.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}}];t.default=n,e.exports=t.default}})}(TL)),TL.exports),FL=Uu(DL);var HL,_L=function(){if(IL)return RL;IL=1,RL=s,s.default=s,s.stable=l,s.stableStringify=l;var e="[...]",t="[Circular]",i=[],c=[];function o(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function s(e,t,s,n){var r;void 0===n&&(n=o()),a(e,"",0,[],void 0,0,n);try{r=0===c.length?JSON.stringify(e,t,s):JSON.stringify(e,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,o,s){var n=Object.getOwnPropertyDescriptor(s,o);void 0!==n.get?n.configurable?(Object.defineProperty(s,o,{value:e}),i.push([s,o,t,n])):c.push([t,o,e]):(s[o]=e,i.push([s,o,t]))}function a(i,c,o,s,r,l,d){var 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,c,r);if(void 0!==d.depthLimit&&l>d.depthLimit)return void n(e,i,c,r);if(void 0!==d.edgesLimit&&o+1>d.edgesLimit)return void n(e,i,c,r);if(s.push(i),Array.isArray(i))for(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 f=u[h];a(i[f],f,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=o());var a,r=d(e,"",0,[],void 0,0,n)||e;try{a=0===c.length?JSON.stringify(r,t,s):JSON.stringify(r,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(c,o,s,a,l,h,u){var f;if(h+=1,"object"==typeof c&&null!==c){for(f=0;f<a.length;f++)if(a[f]===c)return void n(t,c,o,l);try{if("function"==typeof c.toJSON)return}catch(e){return}if(void 0!==u.depthLimit&&h>u.depthLimit)return void n(e,c,o,l);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void n(e,c,o,l);if(a.push(c),Array.isArray(c))for(f=0;f<c.length;f++)d(c[f],f,f,a,c,h,u);else{var p={},m=Object.keys(c).sort(r);for(f=0;f<m.length;f++){var g=m[f];d(c[g],g,f,a,c,h,u),p[g]=c[g]}if(void 0===l)return p;i.push([l,o,c]),l[o]=p}a.pop()}}function h(e){return e=void 0!==e?e:function(e,t){return t},function(t,i){if(c.length>0)for(var o=0;o<c.length;o++){var s=c[o];if(s[1]===t&&s[0]===i){i=s[2],c.splice(o,1);break}}return e.call(this,t,i)}}return RL}(),PL=Uu(_L);const VL=_m("network-monitor",{level:Mm.info}),BL=Date.now(),UL=(null===(HL=window.navigator)||void 0===HL?void 0:HL.userAgent)?FL.parse(window.navigator.userAgent):void 0,jL=(e,t={depthLimit:10,edgesLimit:10})=>e instanceof Event?`'${e.type}' Event`:"string"==typeof e?e:PL(e,void 0,2,t);class qL{constructor(){this.unsubscribableObservers=[],this.runAllChecks=(e,t)=>Ou(this,void 0,void 0,function*(){if(!this.isReady||this.isRunningChecks&&!t)return;VL.info("Run health checks, triggered by",jL(e),"| Active resources",this.resources.size),this.isRunningChecks=!0,this.synchroniseCheckInterval();let i=this.getFormattedTimestamp(this.getNowTimestamp());const c=yield this.isOnlineCheck();c?VL.debug(`Network connected at ${i}`):VL.warn(`Network disconnected at ${i}`);const o=this.normaliseSerializedSocketStatus(this.socketStatus.serialize(),c),s=this.preFlightSocketChecks(o);if(s||VL.debug("Socket pre-flight checks failed"),!c||!s){VL.debug("Aborting remaining health checks");const e=[...this.resources].reduce((e,[t,i])=>{const o=e[i.resourceName];return o?(o.sourceRef=[...o.sourceRef,i.message.SOURCE_REF],e):Object.assign(Object.assign({},e),{[i.resourceName]:this.normaliseResourceHealth({name:i.resourceName,sourceRef:[i.message.SOURCE_REF],isConnected:i.isConnected,lastUpdated:i.lastUpdated},c)})},{});return this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:c,resources:e,resourcesAllConnected:!1,socket:o}),void(this.isRunningChecks=!1)}let n=!0;const a=[];this.resources.forEach((e,t)=>{const{resourceName:c,message:o,functions:s}=e,{resourceChecks:r=this.config.resourceChecks,resourceDataLogon:l=this.config.resourceDataLogon}=s,{SOURCE_REF:d}=o;let h,u,f,p,m,g=!1;a.push((()=>Ou(this,void 0,void 0,function*(){var o,s,a;try{VL.debug(`Running health check against ${c}`);const e=yield Promise.race([r(d,t),(s=this.config.checkTimeout,a=()=>({isConnected:!1,lastUpdated:this.getNowTimestamp(),timeout:!0}),new Promise(e=>{setTimeout(()=>{e(a())},s)}))]);g=e.isConnected,h=e.lastUpdated,u=e.lastMessage,p=e.timeout}catch(e){g=!1,h=this.getNowTimestamp(),f=e,u=null!==(o=null==e?void 0:e.receivedMessage)&&void 0!==o?o:e}return m=(null==u?void 0:u.MESSAGE_TYPE)===aC.MSG_NACK||fC(u,Kz.NOT_FOUND),i=this.getFormattedTimestamp(null!=h?h:this.getNowTimestamp()),g?VL.debug(`${c} is healthy at ${i}`):VL.warn(`${c} is not healthy at ${i}`),u&&VL.debug(`${c} messaged at ${i}`,jL(u)),f&&VL.error(`${c} errored at ${i}`,jL(f)),p&&VL.warn(`${c} timed out at ${i}`),m&&(VL.error(`${c} issue, re-attempting data logon at ${i}`),l(e)),n&&(n=g),{name:c,sourceRef:[d],isConnected:g,lastUpdated:h,lastError:f}}))())});const r=(yield Promise.allSettled(a)).reduce((e,t)=>{if("fulfilled"===t.status){const i=e[t.value.name];return i?(i.sourceRef=[...i.sourceRef,...t.value.sourceRef],e):Object.assign(Object.assign({},e),{[t.value.name]:this.normaliseResourceHealth(t.value)})}return VL.warn("Unexpected promise rejection occurred. Please check any custom resourceChecks return MonitoredResourceChecksResult."),e},{});VL.debug("Health checks complete"),this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:c,resources:r,resourcesAllConnected:n,socket:o}),this.isRunningChecks=!1}),void 0!==this.config.logLevel&&(VL.level=this.config.logLevel)}create(){this.resources?VL.warn("NetworkMonitor already created. If this is intentional, please call NetworkMonitor.destroy first."):(this.addListeners(),this.resources=new Map,setTimeout(()=>{this.isReady=!0,this.synchroniseCheckInterval(),this.runAllChecks("NetworkMonitor.create()")},this.config.startDelay))}destroy(){this.removeListeners(),clearInterval(this.internalId),this.resources.clear(),this.resources=void 0,this.status=void 0,this.isReady=void 0}isOnlineCheck(){return Promise.resolve(navigator.onLine)}addResource(e,t){this.resources||this.create(),this.resources.set(e,t)}removeResource(e){this.resources.delete(e)}addListeners(){var e,t;null===(e=this.config.windowEvents)||void 0===e||e.forEach(e=>window.addEventListener(e,this.runAllChecks)),null===(t=this.config.documentEvents)||void 0===t||t.forEach(e=>document.addEventListener(e,this.runAllChecks)),this.config.genesisConnectEvents.includes("stream")&&this.unsubscribableObservers.push(this.connectEvents.addStreamListener(({detail:e})=>{const{functions:t,message:i,resourceName:c,stream:o}=e;this.config.ignoredGenesisResources.includes(c)||this.addResource(o,{functions:t,message:i,resourceName:c})},({detail:e})=>{const{resourceName:t,stream:i}=e;this.config.ignoredGenesisResources.includes(t)||this.removeResource(i)},({detail:e})=>{var t;const{resourceName:i,stream:c,error:o}=e,s=null!==(t=o.receivedMessage)&&void 0!==t?t:o;let n="";fC(s,Kz.NOT_FOUND)?n="Please check the resource is running.":fC(s,Kz.FORBIDDEN)&&(n="You are not authorised to access this resource, removing it from monitoring.",this.removeResource(c)),VL.error(`${i} errored at ${this.getFormattedTimestamp(this.getNowTimestamp())}.`,n,o)})),this.config.genesisConnectEvents.includes("commit")&&this.unsubscribableObservers.push(this.connectEvents.addCommitListener(e=>{this.config.ignoredGenesisResources.includes(e.detail.eventName)||this.runAllChecks(e)})),this.unsubscribableObservers.push(this.connectEvents.addMetadataListener(({detail:e})=>{const{resourceName:t,error:i}=e;i&&VL.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?VL.debug:VL.warn)("Emitting 'system-health-changed' event",jL(this.status)),null==i||i.dispatchEvent(new CustomEvent(EL,{detail:this.status,bubbles:i!==document,composed:!0})),this.status.socket.reconnectionLimitReached&&(VL.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 VL.debug("User requested report stability to Genesis."),VL.info("Please attach this data to your Genesis Support request: \n",JSON.stringify(e,null,2)),!0})}normaliseResourceHealth(e,t=!0){var i;const c=!!t&&e.isConnected,o=null!==(i=e.lastUpdated)&&void 0!==i?i:this.getNowTimestamp();return Object.assign(Object.assign({},e),{isConnected:c,lastUpdated:o})}normaliseSerializedSocketStatus(e,t=!0){const i=!!t&&e.isConnected,c=!i;return Object.assign(Object.assign({},e),{isConnected:i,isDisconnected:c})}normaliseEventDetail(e){var t,i,c,o;const s=!!((null===(t=e.socket)||void 0===t?void 0:t.isConfigured)?e.isOnline&&(null===(i=e.socket)||void 0===i?void 0:i.isConnected)&&e.resourcesAllConnected:e.isOnline),n=null!==(c=e.lastUpdated)&&void 0!==c?c:this.getNowTimestamp(),a=null!==(o=e.nextUpdate)&&void 0!==o?o:this.getNextTimestamp(),r=e.isAuthenticated&&this.user?this.user.username:void 0,l=Object.assign(Object.assign({},e),{browserInformation:UL,username:r,isHealthy:s,lastUpdated:n,nextUpdate:a,firstUpdated:BL,runAllChecks:()=>{VL.debug("User activated run checks command starting."),this.runAllChecks("user requested")},reportStabilityToGenesis:()=>this.reportStabilityToGenesis(l)});return l}preFlightSocketChecks(e){if(!e.isConfigured)return VL.debug("Socket not configured"),!1;if(e.isReconnecting)return VL.debug("Socket reconnecting"),!1;if(e.isConnecting)return VL.debug("Socket connecting"),!1;if(e.isDisconnected){const t=e.isDisconnectedByServer?`by the server, code: ${e.closedCode}, reason: ${e.closedReason}`:"";return VL.debug(`Socket disconnected ${t}`),e.reconnectionLimitReached&&VL.debug("Socket reconnection limit reached"),!1}const t=this.user.isAuthenticated?"with":"without";return VL.debug(`Socket connected ${t} valid session`),!0}getFormattedTimestamp(e){return Ag(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([AL],qL.prototype,"config",void 0),Nu([Fx],qL.prototype,"socketStatus",void 0),Nu([Bz],qL.prototype,"connectEvents",void 0),Nu([Oz],qL.prototype,"user",void 0),Nu([g],qL.prototype,"status",void 0);const GL=ft.createInterface(e=>e.singleton(qL)),WL={account:"genesis",namespace:"default",authKey:"kv-default",authEmail:void 0},YL=ft.createInterface();var KL,ZL;!function(e){e.REQ_KEY_VALUE_LIST="REQ_KEY_VALUE_LIST",e.REQ_KEY_VALUE_READ="REQ_KEY_VALUE_READ"}(KL||(KL={})),function(e){e.EVENT_KEY_VALUE_PUT="EVENT_KEY_VALUE_PUT",e.EVENT_KEY_VALUE_DELETE="EVENT_KEY_VALUE_DELETE"}(ZL||(ZL={}));let QL=class{constructor(e,t,i=WL){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(ZL.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}},c=yield this.connect.request(KL.REQ_KEY_VALUE_READ,i);if(c&&c.REPLY&&c.REPLY.length>0){const t=c.REPLY.map(e=>{const t=this.getDecodedValue(e.VALUE);return{kv:{key:e.KEY,value:t}}});return e?t[0]:t}return e?void 0:[]})}getDecodedValue(e){e.startsWith("str:")||e.startsWith("bin:")||(e=`str:${e}`);let t=pg(e);return"string"==typeof t&&t.startsWith("str:")&&(t=pg(t)),"string"==typeof t&&t.startsWith("bin:")&&(t=pg(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(KL.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?mg(e.value):e.value}))}},i=yield this.connect.commitEvent(ZL.EVENT_KEY_VALUE_PUT,t);return!(!i||"EVENT_ACK"!==i.MESSAGE_TYPE)||{ERROR:i.ERROR,WARNING:i.WARNING}})}};QL=Nu([Au(0,Gx),Au(1,Oz),Au(2,vt(YL))],QL),ft.createInterface(e=>e.singleton(QL));class XL{constructor(){this.isWorking=!1,this.loggedUserResult=null,this.currentUser=null,this.isLoggedIn=!1,this.isLoggedInSubject=new Rb(!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 Az,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],XL.prototype,"isWorking",void 0),Nu([g],XL.prototype,"loggedUserResult",void 0),Nu([g],XL.prototype,"currentUser",void 0),Nu([g],XL.prototype,"isLoggedIn",void 0);class JL{constructor(){this.fetchMetadataRequired=!0,this.fetchingMetadata=!1,this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.customRequestFields=[],this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.criteriaOnlyRequest=!1}init(e,t){return Promise.resolve(this.initialized)}startStream(){return Promise.resolve()}setMetadata(e){var t,i,c;this.availableIndexes=null!==(t=e.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(i=e.SORTABLE_FIELDS)&&void 0!==i?i:[],this.availableCriteriaFields=null!==(c=e.CRITERIA_FIELDS)&&void 0!==c?c:[],this.originalFieldDef=Pz(e),this.fieldMetadata=_z(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=Sy(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],JL.prototype,"status",void 0),Nu([g],JL.prototype,"fetchMetadataRequired",void 0),Nu([g],JL.prototype,"originalFieldDef",void 0),Nu([g],JL.prototype,"fieldMetadata",void 0),Nu([g],JL.prototype,"requestFields",void 0),Nu([g],JL.prototype,"customRequestFields",void 0),Nu([g],JL.prototype,"availableIndexes",void 0),Nu([g],JL.prototype,"availableSortableFields",void 0),Nu([g],JL.prototype,"availableCriteriaFields",void 0),Nu([g],JL.prototype,"criteriaOnlyRequest",void 0),ft.createInterface(e=>e.aliasTo(Oz));const eM=_m("foundation-ui");class tM extends(yL(qt)){constructor(){super(...arguments),this.withGridInit=!0,this.isSnapshot=!1,this.maxRows=gL.MAX_ROWS_250,this.maxView=gL.MAX_VIEW_1000,this.resourceName="",this.reverse=!1,this.rowId="ROW_REF",this.withTimestampFormatting=!0,this.requiresFullDataRefresh=!0,this.rowsSyncedWithStream=new Map,this.dataSubWasLoggedOff=!1,this.criteriaFromFilters=new Map,this.update=new Rb(new Map),this.fetchGeneration=0}criteriaChanged(e,t){const i=e!==$L(t,";");this.refetchIfInitializedAndChanged(i)}dataChanged(e){e&&(this.clearData(),this.reset())}requestChanged(e,t){const i=JSON.stringify(e)!==JSON.stringify(t);this.refetchIfInitializedAndChanged(i)}refetchIfInitializedAndChanged(e){this.datasource.initialized&&e&&this.fetchGenesisData(null)}set datasourceConfig(e){e&&Object.keys(e).forEach(t=>{void 0!==e[t]&&(this[t]=e[t])})}disconnectedCallback(){var e,t;super.disconnectedCallback(),this.clearData(),null===(e=this.dataSub)||void 0===e||e.unsubscribe(),null===(t=this.update)||void 0===t||t.unsubscribe(),delete this.dataSub,delete this.update,this.datasource.destroy(),delete this.datasource}reset(){this.requiresFullDataRefresh=!0,this.fetchGenesisData()}fetchGenesisData(){return Ou(this,arguments,void 0,function*(e=!0){var t;null===(t=this.dataSub)||void 0===t||t.unsubscribe(),this.dataSub=void 0,this.fetchGeneration+=1;const i=this.fetchGeneration,c=()=>i!==this.fetchGeneration;if(this.data)return void this.syncComponentData(this.data);const o=e||!this.datasource.initialized;o||(this.connect.dataLogoff(this.sourceRef),this.clearData());const s=yield this.datasource.init(this.datasourceOptions(),o);if(!c())if(s){if(this.isSnapshot){const e=yield this.datasource.snapshotFiltered();if(c())return;return void this.syncComponentData(e)}eM.debug(`requesting stream for ${this.resourceName}`),this.dataSub=this.datasource.stream.subscribe(e=>{if(c())return;e.DISCONNECTED&&this.handleError({message:`Genesis Datasource disconnected for ${this.resourceName}`,loggerType:"error"}),this.sourceRef=e.SOURCE_REF;const t=e.MESSAGE_TYPE;if(t&&t===aC.LOGOFF_ACK)this.dataSubWasLoggedOff=!0;else if(this.dataSubWasLoggedOff=!1,e.ROW){const t=mL(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)})}datasourceOptions(){return{criteria:this.buildCriteria(),fields:this.fields,isSnapshot:this.isSnapshot,orderBy:this.orderBy,resourceName:this.resourceName,request:this.request,reverse:this.reverse,maxRows:this.maxRows,maxView:this.maxView}}handleStreamUpdate(e){if(!e)return;e.hasOwnProperty("REPLY")?this.applyRequestServerData(e):this.applyDataserverData(e)}applyRequestServerData(e){var t,i;if(!Array.isArray(e.REPLY)||!(null===(t=e.MESSAGE_TYPE)||void 0===t?void 0:t.startsWith("REP_")))return void this.handleError({message:"received invalid RequestServerResult",loggerType:"error",loggerArgs:[e]});if(this.requiresFullDataRefresh){"ROW_REF"!==this.rowId&&(null===(i=e.REPLY)||void 0===i||i.forEach(e=>{this.rowsSyncedWithStream.set(e[this.rowId],e)}));const t=this.rowsSyncedWithStream.size>0?Array.from(this.rowsSyncedWithStream.values()):e.REPLY;return void this.syncComponentData(t)}this.handleStreamInserts(e.REPLY);const c=Array.from(this.rowsSyncedWithStream.values()).filter(t=>!e.REPLY.includes(t));this.handleStreamDeletes(c)}applyDataserverData(e){var t,i,c,o;if(this.requiresFullDataRefresh){null===(t=e.inserts)||void 0===t||t.forEach(e=>{this.rowsSyncedWithStream.set(e[this.rowId],e)});const i=Array.from(this.rowsSyncedWithStream.values());return void this.syncComponentData(i)}(null===(i=e.inserts)||void 0===i?void 0:i.length)>0&&this.handleStreamInserts(e.inserts),(null===(c=e.deletes)||void 0===c?void 0:c.length)>0&&this.handleStreamDeletes(e.deletes),(null===(o=e.updates)||void 0===o?void 0:o.length)>0&&this.handleStreamUpdates(e.updates)}buildCriteria(){var e;return $L(((null===(e=this.criteria)||void 0===e?void 0:e.split(";"))||[]).join(" && "),";")}setFilter(e,t){this.criteriaFromFilters.set(e,t),this.update.next(this.criteriaFromFilters)}removeFilter(e){this.criteriaFromFilters.delete(e),this.update.next(this.criteriaFromFilters)}handleError(e={}){const{message:t,loggerType:i,loggerArgs:c=[]}=e;t&&eM[i](t,...c)}getFieldMetadata(e){var t;return null===(t=this.datasource.fieldMetadata)||void 0===t?void 0:t.find(t=>t.name===e)}getDefaultLabelFormat(e,t){return t===Iz.DATE||t===Iz.DATETIME?Og(e,t===Iz.DATETIME):e}}Nu([Gx],tM.prototype,"connect",void 0),Nu([SL],tM.prototype,"datasource",void 0),Nu([re({mode:"boolean"})],tM.prototype,"withGridInit",void 0),Nu([re],tM.prototype,"criteria",void 0),Nu([g],tM.prototype,"data",void 0),Nu([re],tM.prototype,"fields",void 0),Nu([re({mode:"boolean"})],tM.prototype,"isSnapshot",void 0),Nu([re],tM.prototype,"maxRows",void 0),Nu([re],tM.prototype,"maxView",void 0),Nu([re],tM.prototype,"orderBy",void 0),Nu([re],tM.prototype,"request",void 0),Nu([re],tM.prototype,"resourceName",void 0),Nu([re({mode:"boolean"})],tM.prototype,"reverse",void 0),Nu([re],tM.prototype,"rowId",void 0),Nu([re({mode:"boolean",attribute:"with-timestamp-formatting"})],tM.prototype,"withTimestampFormatting",void 0);const iM=(e,t)=>!e.composedPath().includes(t),cM=(e,t)=>e.composedPath().includes(t),oM=e=>e.tagName.toLowerCase().split("-")[0];const sM=_m("foundation-criteria");var nM;!function(e){e.AND="&&",e.OR="||",e.NOT="!",e.GT=">",e.GE=">=",e.LT="<",e.LE="<=",e.NE="!=",e.EQ="=="}(nM||(nM={}));class aM{constructor(e){this.$$operator=e}static And(){return new aM(nM.AND)}static Or(){return new aM(nM.OR)}static Not(){return new aM(nM.NOT)}static GreaterThan(){return new aM(nM.GT)}static GreaterThanOrEqual(){return new aM(nM.GE)}static LessThan(){return new aM(nM.LT)}static LessThanOrEqual(){return new aM(nM.LE)}static NotEqual(){return new aM(nM.NE)}static Equal(){return new aM(nM.EQ)}get operator(){return this.$$operator}}const rM=e=>{const{value:t}=e;return e.valueGetter?e.valueGetter(t):"function"==typeof t?t(e):Array.isArray(t)?t.join(","):"string"==typeof t?`"${t}"`:t},lM=e=>t=>`${t.field} ${e} ${rM(t)}`,dM={AND:e=>lM(nM.AND)(e),OR:e=>lM(nM.OR)(e),NOT:e=>lM(nM.NOT)(e),GT:e=>lM(nM.GT)(e),GE:e=>lM(nM.GE)(e),LT:e=>lM(nM.LT)(e),LE:e=>lM(nM.LE)(e),NE:e=>lM(nM.NE)(e),EQ:e=>lM(nM.EQ)(e),equals:e=>`${e.field}.equals(${rM(e)})`,equalsIgnoreCase:e=>`${e.field}.equalsIgnoreCase(${rM(e)})`,contains:e=>`Expr.contains(${e.field}, ${rM(e)})`,fieldContains:e=>`${e.field}.contains(${rM(e)})`,containsIgnoreCase:e=>`Expr.containsIgnoreCase(${e.field}, ${rM(e)})`,startsWith:e=>`${e.field}.startsWith(${rM(e)})`,endsWith:e=>`${e.field}.endsWith(${rM(e)})`,dateIsToday:e=>`Expr.dateIsToday(${e.field})`,dateIsEqual:e=>`Expr.dateIsEqual(${e.field}, ${rM(e)})`,dateIsGreaterEqual:e=>`Expr.dateIsGreaterEqual(${e.field}, ${rM(e)})`,dateIsLessEqual:e=>`Expr.dateIsLessEqual(${e.field}, ${rM(e)})`,dateTimeIsGreaterEqual:e=>`Expr.dateTimeIsGreaterEqual(${e.field}, ${rM(e)})`,dateTimeIsLessEqual:e=>`Expr.dateTimeIsLessEqual(${e.field}, ${rM(e)})`},hM=e=>Array.isArray(e)?e:[e],uM="default";class fM{constructor(){this.expressions={},this.And=(e,t={})=>this.withExpression(e,t,aM.And()),this.Or=(e,t={})=>this.withExpression(e,t,aM.Or()),this.Not=(e,t={})=>this.withExpression(e,t,aM.Not())}withExpression(e,t={},i=aM.And()){const{condition:c,join:o,groupName:s}=t,n=(e,t=uM)=>{var s;const n=null!==(s=this.expressions[t])&&void 0!==s?s:[];this.expressions[t]=[...n,{join:i||o,condition:c,expression:e}]};if(Array.isArray(e))if(o){const t=e.filter(e=>{const t=e instanceof aM;return t&&sM.warn("Inline joins will be discarded when join is defined in ExpressionOptions"),!t});if(s)t.forEach(e=>{n(e,s)});else{const e=(a=o,t.flat().flatMap((e,t,i)=>i.length-1!==t?[e,a]:e));n(e,uM)}}else n(e,uM);else n(e,"string"==typeof e?uM:e.group);var a;return this}build(e){const t=Object.entries(this.expressions).reduce((e,[t,i])=>Object.assign(Object.assign({},e),{[t]:`(${i.filter(({condition:e})=>!e||e()).map(({expression:e,join:t},i,c)=>this.parseExpression(e,c[i-1],t)).join("")})`}),{});return e?e(t):`(${Object.values(t).join(" && ")})`}reset(){this.expressions={}}parseExpression(e,t,i){const c=[];return i&&t&&c.push(` ${i.operator} `),"string"==typeof e?c.push(e):Array.isArray(e)?(e.forEach((e,t,i)=>{if(e instanceof aM){if(i[t-1]instanceof aM)throw new Error("Adjacent Join operations detected")}}),c.push(`(${e.map(e=>this.parseExpression(e,void 0)).join("")})`)):e instanceof aM?c.push(` ${e.operator} `):e&&c.push(e.serialiser(e)),c.join("")}}class pM{constructor(e){this.serialiser=dM.EQ,this.build=()=>{if(!this.field)throw new Error("Missing required param 'field'");if(void 0===this.value)throw new Error("Missing required param 'value'");if(!this.serialiser)throw new Error("Missing required param 'serialise'");return{field:this.field,value:this.value,serialiser:this.serialiser,params:this.params,valueGetter:this.valueGetter,group:this.group}},e&&(this.field=e.field,this.value=e.value,this.serialiser=e.serialiser,this.params=e.params,this.valueGetter=e.valueGetter,this.group=e.group)}withField(e){return this.field=e,this}withValue(e){return this.value=e,this}withSerialiser(e){return this.serialiser=e,this}withParams(e){return this.params=e,this}withValueGetter(e){return this.valueGetter=e,this}withGroup(e){return this.group=e,this}}let mM=class extends be{constructor(){super(...arguments),this.criteriaOptions=[],this.createCriteria=e=>{const t=new fM,{field:i,serialiser:c,value:o}=e;return Array.isArray(i)||Array.isArray(o)?t.And(hM(o).map(e=>hM(i).map(t=>(new pM).withField(t).withValue(e).withSerialiser(c).build())),{join:aM.Or()}):t.And((new pM).withField(i).withValue(o).withSerialiser(c).build()),t}}valueChanged(){this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}selectedLabelChanged(){const e=this.criteriaOptions.find(e=>e.label===this.selectedLabel);this.value=e?this.createCriteria(e).build():""}itemClickHandler(e){this.selectedLabel===e&&(this.selectedLabel=void 0)}};function gM(e,t){var i;const c=new fM;c.withExpression((new pM).withField(null!==(i=e.labelField)&&void 0!==i?i:e.valueField).withValue(t).withSerialiser(dM.containsIgnoreCase).build()),e.baseCriteria?e.criteria=`${e.baseCriteria} && ${c.build()}`:e.criteria=c.build()}Nu([g],mM.prototype,"criteriaOptions",void 0),Nu([g],mM.prototype,"prefix",void 0),Nu([g],mM.prototype,"value",void 0),Nu([g],mM.prototype,"selectedLabel",void 0),mM=Nu([ye({name:"criteria-segmented-control",template:((e="rapid")=>W`<${e}-segmented-control :value="${hg(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:xe``})],mM);const vM=(e,t,i)=>W`<${t}-icon tooltip="${()=>e}" name="${()=>i}"></${t}-icon>`,bM=e=>W`<${e}-button id="actiosnMenuTrigger" class="actions-opener${e=>e.open?" opened":""}" appearance="${e=>e.buttonAppearance}" part="actions-opener" @click=${e=>e.toggleActionsMenuVisibility()}>${e=>e.open?"✖":W` ${e.name} `}</${e}-button><${e}-menu ${Ie("actionsMenu")}class="actions-menu ${e=>e.classNames}" part="actions-menu">${qe(e=>e.allActions,W` ${_e((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>`)} ${_e((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>`,yM=W`<div class="actions-container${e=>e.isVertical?" actions-vertical":""}" part="actions-container">${e=>e.getTemplate(oM(e))}</div>`;class zM 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}definitionChanged(e,t){var i;this.actions=null!==(i=null==t?void 0:t.actions)&&void 0!==i?i:[],delete this.definition.actions,t.buttonText&&(this.name=t.buttonText,delete this.definition.customButtonText),t.isVertical&&(this.isVertical=t.isVertical,delete this.definition.isVertical),t.buttonAppearance&&(this.buttonAppearance=t.buttonAppearance,delete this.definition.buttonAppearance),t.hideMenuSingleOption&&(this.hideMenuSingleOption=t.hideMenuSingleOption,delete this.definition.hideMenuSingleOption)}openChanged(){this.classNames=Jt(["visible",this.open],["hidden",!this.open])}toggleActionsMenuVisibility(){this.open=!this.open}onActionMenuItemClick(e){this.autoCloseOnAction&&(this.open=!1),e(this.rowData)}get allActions(){var e;const t=[{name:"✖",callback:()=>this.open=!1}];return this.addDefaultActions?[...null!==(e=this.actions)&&void 0!==e?e:[],...t]:this.actions}get rowData(){if(!this.definition)return;const{node:e,data:t}=this.definition;return(null==e?void 0:e.data)||t}getLabel(e){return"function"==typeof e?e(this.rowData):e}getTemplate(e){if(!this.hideMenuSingleOption)return bM(e);const t=this.actions.filter(e=>!e.isDisabled||!e.isDisabled(this.rowData));return this.singleOption=null,0!==t.length?1===t.length?(this.singleOption=t[0],(e=>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)):bM(e):void 0}}Nu([g],zM.prototype,"actions",void 0),Nu([re({attribute:"is-vertical",mode:"boolean"})],zM.prototype,"isVertical",void 0),Nu([re({attribute:"add-default-actions",mode:"boolean"})],zM.prototype,"addDefaultActions",void 0),Nu([re({attribute:"auto-close-on-action",mode:"boolean"})],zM.prototype,"autoCloseOnAction",void 0),Nu([g],zM.prototype,"classNames",void 0),Nu([g],zM.prototype,"definition",void 0),Nu([re],zM.prototype,"name",void 0),Nu([re({attribute:"open",mode:"boolean"})],zM.prototype,"open",void 0),Nu([re],zM.prototype,"buttonAppearance",void 0),Nu([re({attribute:"hide-disabled",mode:"boolean"})],zM.prototype,"hideDisabled",void 0),Nu([re({attribute:"hide-menu-single-option",mode:"boolean"})],zM.prototype,"hideMenuSingleOption",void 0),Nu([g],zM.prototype,"singleOption",void 0),zM.compose({baseName:"actions-menu",styles:(e,t)=>xe` ${wu()}`,template:yM});let CM=!1;try{"undefined"!=typeof GENX_ENABLE_AI&&(CM="true"===GENX_ENABLE_AI)}catch(HL){}const xM=()=>CM||gg("ai");function LM(){return"undefined"!=typeof window&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)}_m("foundation-ai");class MM{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})}}class wM{constructor(){this.noopProvider=new MM}get(e){return e===wM.DEFAULT_NAME?this.noopProvider:void 0}default(){return this.noopProvider}defaultName(){return wM.DEFAULT_NAME}names(){return[wM.DEFAULT_NAME]}getStatus(e){return Ou(this,void 0,void 0,function*(){var t,i,c;return void 0!==e&&e!==wM.DEFAULT_NAME?null:null!==(c=yield null===(i=(t=this.noopProvider).getStatus)||void 0===i?void 0:i.call(t))&&void 0!==c?c:null})}listStatuses(){return Ou(this,void 0,void 0,function*(){var e,t,i;const c=null!==(i=yield null===(t=(e=this.noopProvider).getStatus)||void 0===t?void 0:t.call(e))&&void 0!==i?i:null;return[{name:wM.DEFAULT_NAME,isDefault:!0,status:c}]})}}wM.DEFAULT_NAME="default";const SM=ft.createInterface(e=>e.singleton(wM)),kM=xe` :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)}`,$M=W` ${e=>(e=>W` ${_e(()=>xM(),W`<div class="ai-criteria-search"><div class="ai-criteria-search-row">${_e(e=>!e.showingChips,W`<${e}-text-area ${Ie("textAreaRef")}class="criteria-input" placeholder="${e=>e.placeholder}" ?disabled=${e=>e.disabled||e.isInterpreting}:value=${hg(e=>e.inputValue,"string","input")}@blur=${e=>e.handleBlur()}rows="1"></${e}-text-area>`)} ${_e(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>${_e(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)}>
|
|
57
|
+
function Yx(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var c in i)"__proto__"!==c&&(e[c]=i[c])}return e}ft.createInterface(e=>e.singleton(Wx));var Kx={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 Zx=function e(t,i){function c(e,c,o){if("undefined"!=typeof document){"number"==typeof(o=Yx({},i,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var n in o)o[n]&&(s+="; "+n,!0!==o[n]&&(s+="="+o[n].split(";")[0]));return document.cookie=e+"="+t.write(c,e)+s}}return Object.create({set:c,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var i=document.cookie?document.cookie.split("; "):[],c={},o=0;o<i.length;o++){var s=i[o].split("="),n=s.slice(1).join("=");try{var a=decodeURIComponent(s[0]);if(a in c||(c[a]=t.read(n,a)),e===a)break}catch{}}return e?c[e]:c}},remove:function(e,t){c(e,"",Yx({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,Yx({},this.attributes,t))},withConverter:function(t){return e(Yx({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(i)},converter:{value:Object.freeze(t)}})}(Kx,{path:"/"});const Qx=ft.createInterface();function Xx(){return(null===navigator||void 0===navigator?void 0:navigator.credentials)?"PasswordCredential"in window||(Pm.warn("PasswordCredential not available in this browser."),!1):(Pm.warn("CredentialsContainer not available in this browser."),!1)}const Jx=":";function eL(e="",t=Jx,i){return e.split(t,i).map(e=>e.trim()).filter(e=>""!==e)}function tL(e,t=Jx){const i="string"==typeof e&&e.trim();return!!i&&i.includes(t)}function iL(e,t=Jx){return"string"==typeof e&&e.trim()?(e.match(new RegExp(t,"g"))||[]).length:0}function cL(e,t=Jx){for(const i of e)if(tL(i,t))return i;return e.find(e=>"string"==typeof e&&""!==e.trim())}function oL(e,t,i){const c="string"==typeof e&&e.trim();return!c||i&&!c.includes(i)||iL(c)>1?i&&t&&i!==t?`${t}:${i}`:t||i:c}function sL(e="credential"){Pm.warn(`Unable to migrate legacy ${e} to latest format. Please remove from your browser.`)}const nL={password:!0,mediation:"optional"},aL={cookie:{path:"/",name:"credentials",expires:7300,storePasswords:!1}};let rL=class{constructor(e,t=aL){this.session=e,this.config=t}createBasicCredentials(e){return{type:nC.BASIC,username:e.username,password:e.password,mfaToken:this.getMFAToken()}}createRefreshCredentials(e){var t,i,c;return{type:nC.REFRESH,username:null!==(t=null==e?void 0:e.username)&&void 0!==t?t:this.getUsername(),refreshToken:null!==(i=null==e?void 0:e.refreshToken)&&void 0!==i?i:this.getRefreshToken(),mfaToken:null!==(c=null==e?void 0:e.mfaToken)&&void 0!==c?c:this.getMFAToken()}}createSSOCredentials(e){var t;return{type:nC.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(Jx)&&iL(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]=eL(t.name||t.id),[c,o]=eL(cL([t.id,t.name]));return[{id:oL(t.id||t.name,i,o),name:i,password:t.password||""},!0]}catch(e){sL("PasswordCredential")}if(t)try{const e=t,[i]=eL(e.name||e.username||e.organisation),[c,o]=eL(cL([e.organisation||e.username||e.name]));return[{id:oL(e.id||e.username||e.name,i,o),name:i,password:e.password||""},!1]}catch(e){sL("cookie")}return[void 0,!1]}storeCredentialsInContainer(e){return Ou(this,void 0,void 0,function*(){if(!Xx())return;const t=new PasswordCredential(e);return Pm.debug("Storing credentials in CredentialsContainer"),navigator.credentials.store(t)})}getCredentialsFromContainer(){return Ou(this,arguments,void 0,function*(e=nL){if(Xx())return Pm.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 Pm.debug("Storing credentials in cookie"),!!Zx.set(this.config.cookie.name,JSON.stringify(i),{expires:this.config.cookie.expires,domain:location.hostname,path:this.config.cookie.path,secure:!0})}getCredentialsFromCookie(){Pm.debug("Getting credentials from cookie");const e=Zx.get(this.config.cookie.name);return e?JSON.parse(e):void 0}storeCredentials(e){return Ou(this,void 0,void 0,function*(){if(Xx()){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 Xx()?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(){Zx.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 Xx()&&navigator.credentials.preventSilentAccess()}};rL=Nu([Au(0,eC),Au(1,vt(Qx))],rL);const lL=ft.createInterface(e=>e.singleton(rL)),dL=e=>Array.isArray(e)?e.map(e=>null!=e?e:""):[],hL=e=>{try{if("EVENT_LOGIN_AUTH_ACK"===(null==e?void 0:e.MESSAGE_TYPE)){const{DETAILS:c}=e,o={messageType:e.MESSAGE_TYPE,sourceRef:e.SOURCE_REF,userName:e.USER_NAME,updateQueue:e.UPDATE_QUEUE,zeroMqProxyModeEnabled:e.ZERO_MQ_PROXY_MODE_ENABLED,zeroMqProxyInboundPort:e.ZERO_MQ_PROXY_INBOUND_PORT,zeroMqProxyOutboundPort:e.ZERO_MQ_PROXY_OUTBOUND_PORT,userKVs:e.USER,details:c?{system:(i=c.SYSTEM,i?{date:i.DATE}:null),heartbeatIntervalSecs:c.HEARTBEAT_INTERVAL_SECS,failedLoginAttempts:c.FAILED_LOGIN_ATTEMPTS,rejectedLoginAttempts:c.REJECTED_LOGIN_ATTEMPTS,lastLoginDatetime:c.LAST_LOGIN_DATETIME,daysToPasswordExpiry:c.DAYS_TO_PASSWORD_EXPIRY,product:(t=c.PRODUCT,t?t.map(e=>({name:e.NAME,version:e.VERSION})):[])}:null,permission:dL(e.PERMISSION),profile:dL(e.PROFILE)};return o}throw new Error("No Entity mapping implementation for provided DTO")}catch(e){throw Pm.error(e),e}var t,i};let uL=class{loggedUserResultChanged(){var e;null===(e=this.isLoggedInSubject)||void 0===e||e.next(this.isLoggedIn)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}get isLoggedIn(){return this.currentUser.isAuthenticated}constructor(e,t,i,c,o){this.session=e,this.connect=t,this.messageBuilder=i,this.credentialManager=c,this.currentUser=o,this.isWorking=!1,this.isLoggedInSubject=new Rb(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),c=yield this.connect.send(i);if(!c||c.ERROR||(null===(t=c.DETAILS)||void 0===t?void 0:t.ERROR))throw new dC(i,c);this.applyAuthResults({authToken:c.SESSION_AUTH_TOKEN,refreshToken:c.REFRESH_AUTH_TOKEN,profiles:c.PROFILE,username:c.USER_NAME,permissions:c.PERMISSION,sessionId:c.SESSION_ID}),this.currentUser.set(hL(c)),this.session.setAuthResult(c),Pm.debug("Login Authentication Result:",c)}catch(e){if(Pm.error("Login Authentication Error:",e),!(e instanceof dC&&e.isIgnorableError()))throw this.removeAuthResults(),this.currentUser.unset(),e;Pm.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:c,DETAILS:o,ERROR:s,MESSAGE_TYPE:n,OIDC_LOGOUT_URL:a}=yield this.connect.send(i),r=null!==(e=null==o?void 0:o.ERROR)&&void 0!==e?e:s,l=n===aC.LOGOUT_NACK;l&&Pm.warn("Unexpected Logout NACK received during logout.",r),t={success:n===aC.LOGOUT_ACK||c===lC.SESSION_NOT_FOUND||!l,error:r},a&&window.open(a,"_self")}catch(e){const i=new dC(e.sentMessage,e.receivedMessage);if(Pm.error("Logout Authentication Error:",i),!i.isIgnorableError())throw e;Pm.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)===rC.EVENT_LOGIN_AUTH_ACK)return this.session.setAuthResult(t),this.currentUser.set(hL(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,c=e.REFRESH_AUTH_TOKEN;return t&&i&&c?{username:t,authToken:i,refreshToken:c,profiles:e.PROFILE,permissions:e.PERMISSION,sessionId:e.SESSION_ID}:null}applyAuthResults(e){e?this.loggedUserResult={authToken:e.authToken,refreshToken:e.refreshToken,profiles:e.profiles,username:e.username,permissions:e.permissions,sessionId:e.sessionId}:this.removeAuthResults()}removeAuthResults(){this.loggedUserResult=null}};Nu([g],uL.prototype,"isWorking",void 0),Nu([g],uL.prototype,"loggedUserResult",void 0),uL=Nu([Au(0,eC),Au(1,Gx),Au(2,mC),Au(3,lL),Au(4,Oz)],uL);const fL=ft.createInterface(e=>e.singleton(uL));function pL(e,t){const i=new Date(e),c=i.getUTCFullYear(),o=String(i.getUTCMonth()+1).padStart(2,"0"),s=String(i.getUTCDate()).padStart(2,"0");if(t)return`${c}${o}${s}`;return`${c}${o}${s}-${String(i.getUTCHours()).padStart(2,"0")}:${String(i.getUTCMinutes()).padStart(2,"0")}`}function mL(e,t="ROW_REF"){const i=e=>{var i;const c=null!==(i=e.DETAILS[t])&&void 0!==i?i:e[t],o=Object.assign(Object.assign({},e),{[t]:c});return delete o.DETAILS,o},c=[],o=[],s=[];for(const t of e.ROW)if(t.DETAILS)switch(t.DETAILS.OPERATION){case"INSERT":c.push(i(t));break;case"MODIFY":s.push(i(t));break;case"DELETE":o.push(i(t));break;default:Pm.error(`Unsupported operation type: '${t.DETAILS.OPERATION}'`)}return{inserts:c,deletes:o,updates:s,SOURCE_REF:e.SOURCE_REF}}class gL{}gL.MAX_ROWS_250=250,gL.MAX_VIEW_1000=1e3,gL.REQ_REP_POLLING_INTERVAL_MS=1e4,gL.DATASERVER_ROW_ID="ROW_REF",gL.REQUEST_SERVER_ROW_ID="RECORD_ID",gL.DEFAULT_PAGINATION_PAGE_SIZE=25,gL.DEFAULT_REQ_REP_OFFSET=0;const vL={options:{criteria:"",isSnapshot:!1,maxRows:gL.MAX_ROWS_250,maxView:gL.MAX_VIEW_1000,pollingInterval:gL.REQ_REP_POLLING_INTERVAL_MS,movingView:!1,orderBy:"",resourceName:"",reverse:!1,pollTriggerEvents:[]},criteriaToFields:function(e){if(!e)return{};const t=e.split("&&").map(e=>e.trim()),i={};return t.forEach(e=>{if(e)if(e.startsWith("Expr"))!function(e,t){const i=e.match(/Expr\.(\w+)\(/);if(i)switch(i[1]){case"dateIsToday":{const i=/Expr\.dateIsToday\((\w+)\)/,c=e.match(i);if(c){const[,e]=c,i=new Date;t[`${e}_FROM`]=`${i.toISOString().replace(/-/g,"").split("T")[0]}-00:00`,i.setDate(i.getDate()+1),t[`${e}_TO`]=`${i.toISOString().replace(/-/g,"").split("T")[0]}-00:00`}break}case"dateTimeIsGreaterEqual":{const i=/Expr\.dateTimeIsGreaterEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_FROM`]=i}break}case"dateTimeIsLessEqual":{const i=/Expr\.dateTimeIsLessEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_TO`]=i}break}case"dateIsGreaterEqual":{const i=/Expr\.dateIsGreaterEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_FROM`]=i}break}case"dateIsLessEqual":{const i=/Expr\.dateIsLessEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_TO`]=i}break}case"containsIgnoreCase":{const i=/Expr\.containsIgnoreCase\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[e]=`*${i}*`}break}}}(e,i);else if(/[A-Z_]+\s*(>=|<=)\s*\d+/.test(e)){const t=e.match(/([A-Z_]+)\s*>=\s*(\d+)/);if(t){const[,e,c]=t,o=parseInt(c,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_FROM`]=pL(o,n)}const c=e.match(/([A-Z_]+)\s*<=\s*(\d+)/);if(c){const[,e,t]=c,o=parseInt(t,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_TO`]=pL(o,n)}}else!function(e,t){const i=e.substr(0,e.indexOf("=")).trim().replace(/["']/g,""),c=e.substr(e.lastIndexOf("=")+1,e.length).trim().replace(/["']/g,"");t[i]=c}(e,i)}),i},dataServerResultFilter:mL},bL=ft.createInterface(e=>e.instance(vL)),yL=e=>{class t extends e{constructor(){super(),this.hasOwnProperty("onDatasourceStatusChanged")||(this.onDatasourceStatusChanged=e=>{var t;const i=void 0!==this.data;this.resourceName||i||Pm.warn("Target classes must have a resourceName or data property to use the DatasourceEventHandler mixin.");const c=e.detail;if(c.name===this.resourceName){const e=null!==(t=this.datasourceStatus)&&void 0!==t?t:{isInitialized:!1,hasMetadata:!1};(e.isInitialized!==c.isInitialized||c.metadataRequired&&e.hasMetadata!==c.hasMetadata)&&(this.datasourceStatus=c)}})}datasourceStatusChanged(e,t){Pm.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(Hz,this.onDatasourceStatusChanged,{passive:!0,capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(Hz,this.onDatasourceStatusChanged,{capture:!0})}}return Nu([g],t.prototype,"datasourceStatus",void 0),t},zL={throwWhenUnavailable:!0,throwWhenUnknown:!1},CL=ft.createInterface(e=>e.instance(zL)),xL=Gm("genesis-resources");let LL=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(Pm.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(Pm.error(e),this.config.throwWhenUnavailable)throw new Error(e)}this.postLoadedMessage(),this.resourcesPromise=void 0}})}postLoadedMessage(){const e=ft.getOrCreateDOMContainer().get(xL);e.postMessage("resources-loaded",this.resources),e.close()}};LL=Nu([Au(0,Gx),Au(1,CL)],LL);const ML=ft.createInterface(e=>e.singleton(LL));let wL=class{get initialized(){var e;return!!(null===(e=this.status)||void 0===e?void 0:e.isInitialized)}constructor(e,t,i,c,o){this.connect=e,this.auth=t,this.resources=i,this.config=c,this.connectEvents=o,this.fetchMetadataRequired=!0,this.startStreamRequired=!0,this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.customRequestFields=[],this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.criteriaOnlyRequest=!1,this.loadMoreCount=0,this.readOnly=!0,this._allParams=null,this.pollTrigger$=new Ob}triggerPoll(){this.pollTrigger$.next()}validResourceName(e){return Pm.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 c=this.options.resourceName;if(!(this.connect.isConnected||(yield this.connect.connect())))return Pm.error(`Unable to connect to ${this.connect.host} to get ${c} datasource`),this.reportStatus(),!1;return(yield this.resources.isValidResource(c))?(this.resourceType=yield this.resources.getResourceTypeFor(c),this.resourceType?(this.fetchMetadataRequired&&(yield this.fetchAndApplyMetadata(this.options.resourceName),this._allParams=null),Pm.debug(`Initializing ${c} datasource from ${this.connect.host}`),!this.options.isSnapshot&&i&&(this.pollTrigger$=new Ob,this.stream=yield this.createStream()),Pm.debug(`${c} datasource initialization ${this.initialized?"was successful.":"has failed."}`),this.reportStatus(),this.initialized):(Pm.error(`Unable to get the resource type for ${c} datasource from ${this.connect.host}`),this.reportStatus(),!1)):(Pm.error(`${c} 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;Pm.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);Pm.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},Pm.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(Pm.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`),this.resourceType){case Fz.DATASERVER:return this.connect.snapshot(this.options.resourceName,Object.assign(Object.assign({},this.dataserverOnlyParams),e));case Fz.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(![Fz.DATASERVER,Fz.REQUEST_SERVER].includes(this.resourceType))throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);return this.resourceType===Fz.DATASERVER?this.createDataserverStream():(Pm.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=>Pm.error(e),this.dataserverOnlyParams)})}createReqRepStream(){this.commitResponseUnsubscribe=this.connectEvents.addCommitResponseListener(e=>{var t;const{eventName:i,response:c}=e.detail;this.options.pollTriggerEvents&&this.options.pollTriggerEvents.includes(i)&&(null===(t=c.MESSAGE_TYPE)||void 0===t?void 0:t.endsWith("_ACK"))&&(Pm.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===Fz.REQUEST_SERVER&&this.loadMoreCount>0){const t=25,i=(this.options.maxRows||t)*(this.loadMoreCount+1);e.DETAILS.MAX_ROWS=i}return Fy([this.connect.isConnected$,this.auth.isLoggedIn$]).pipe(Wy(()=>this.connect.isConnected&&this.auth.isLoggedIn),Gy(()=>Sy(this.snapshot(e))))};return e?this.pollTrigger$.pipe(qy(0),Gy(()=>By(0,e).pipe(Gy(t)))):this.pollTrigger$.pipe(qy(0),Gy(t))}fetchAndApplyMetadata(e){return Ou(this,void 0,void 0,function*(){var t,i,c,o;try{Pm.debug(`Requesting metadata for ${this.options.resourceName} Datasource`);const e=yield this.connect.getMetadata(this.options.resourceName);e&&(this.availableIndexes=null!==(t=e.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(i=e.SORTABLE_FIELDS)&&void 0!==i?i:[],this.availableCriteriaFields=null!==(c=e.CRITERIA_FIELDS)&&void 0!==c?c:[],this.originalFieldDef=Pz(e),this.fieldMetadata=_z(this.originalFieldDef),this.requestFields=e.REQUEST_FIELD||[],this.customRequestFields=e.FIELD||[],this.criteriaOnlyRequest=e.CRITERIA_ONLY_REQUEST||!1,this.fetchMetadataRequired=!1),this.status=this.normaliseStatus({isInitialized:!0,metadataRequired:!0,hasMetadata:(null===(o=this.fieldMetadata)||void 0===o?void 0:o.length)>0})}catch(t){Pm.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),Pm.debug(`Dispatching '${Hz}'`,this.status),null==i||i.dispatchEvent(new CustomEvent(Hz,{detail:this.status,bubbles:i!==document,composed:!0}))}normaliseStatus(e){var t,i,c,o,s;const n=null!==(t=e.isInitialized)&&void 0!==t?t:this.initialized,a=null!==(i=e.metadataRequired)&&void 0!==i?i:this.fetchMetadataRequired,r=null!==(c=e.hasMetadata)&&void 0!==c?c:(null===(o=this.fieldMetadata)||void 0===o?void 0:o.length)>0;return{name:null===(s=this.options)||void 0===s?void 0:s.resourceName,type:this.resourceType,isInitialized:n,metadataRequired:a,hasMetadata:r}}invalidateCache(){this._allParams=null}};Nu([g],wL.prototype,"status",void 0),Nu([g],wL.prototype,"fetchMetadataRequired",void 0),Nu([g],wL.prototype,"startStreamRequired",void 0),Nu([g],wL.prototype,"originalFieldDef",void 0),Nu([g],wL.prototype,"fieldMetadata",void 0),Nu([g],wL.prototype,"requestFields",void 0),Nu([g],wL.prototype,"customRequestFields",void 0),Nu([g],wL.prototype,"availableIndexes",void 0),Nu([g],wL.prototype,"availableSortableFields",void 0),Nu([g],wL.prototype,"availableCriteriaFields",void 0),Nu([g],wL.prototype,"criteriaOnlyRequest",void 0),Nu([g],wL.prototype,"loadMoreCount",void 0),Nu([g],wL.prototype,"readOnly",void 0),Nu([g],wL.prototype,"stream",void 0),wL=Nu([Au(0,Gx),Au(1,fL),Au(2,ML),Au(3,bL),Au(4,Bz)],wL);const SL=ft.createInterface(e=>e.transient(wL));class kL extends wL{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===aC.LOGOFF_ACK;const t=e.ROW;!this.subscriptionLoggedOff&&t&&this.updateCache(this.config.dataServerResultFilter(e,this.rowId))}),!0):(Pm.debug(`EntityDatasource init failed for ${this.options.resourceName}`),!1)}),this.disconnect=()=>{var e;null===(e=this.subscription)||void 0===e||e.unsubscribe(),this.entityCache=[]}}get initialized(){return this._initialized}set initialized(e){this._initialized=e}get cache(){if(!this.initialized)throw new Error("Please initialize EntityDatasource before querying.");return this.entityCache}get isEmpty(){return 0===this.entityCache.length}updateCache(e){var t;this.isEmpty,null===(t=e.deletes)||void 0===t||t.forEach(e=>{const t=e[this.rowId];this.entityMap.delete(t)}),this.processRowDataUpdate(e.inserts,!0),this.processRowDataUpdate(e.updates);this.entityCache=[{}].map(e=>this.mapper.fromDTO(e))}processRowDataUpdate(e,t=!1){e.forEach(e=>{const i=e[this.rowId],c=this.entityMap.get(i);if(c&&t)throw new Error("Existing entity found in map while inserting.");const o=this.mapper.fromDTO(e),s=c?Object.assign(Object.assign({},c),o):o;this.entityMap.set(i,s)})}}function $L(e,t=";"){return e?e.split(t).map(e=>e.trim()).sort((e,t)=>e.localeCompare(t)).join(t):e}ft.createInterface(e=>e.transient(kL));const EL="system-health-changed",NL={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=ft.getOrCreateDOMContainer().get(Gx),i=yield t.getMoreColumns(e),c=Date.now(),o=i;return{isConnected:i.MESSAGE_TYPE===aC.MORE_COLUMNS_ACK,lastUpdated:c,lastMessage:o}}),resourceDataLogon:({message:e,functions:t})=>{const{onMessage:i,onError:c}=t;ft.getOrCreateDOMContainer().get(Bx).sendForStream(e,i,c)}},AL=ft.createInterface(e=>e.instance(NL));var OL,TL={exports:{}};var RL,IL,DL=(OL||(OL=1,function(e){e.exports=function(e){var t={};function i(c){if(t[c])return t[c].exports;var o=t[c]={i:c,l:!1,exports:{}};return e[c].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,c){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:c})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var c=Object.create(null);if(i.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(c,o,function(t){return e[t]}.bind(null,o));return c},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=90)}({17:function(e,t,i){t.__esModule=!0,t.default=void 0;var c=i(18),o=function(){function e(){}return e.getFirstMatch=function(e,t){var i=t.match(e);return i&&i.length>0&&i[1]||""},e.getSecondMatch=function(e,t){var i=t.match(e);return i&&i.length>1&&i[2]||""},e.matchAndReturnConst=function(e,t,i){if(e.test(t))return i},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});t.push(0);var i=t[0],c=t[1];if(10===i)switch(c){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}switch(i){case 11:return"Big Sur";case 12:return"Monterey";case 13:return"Ventura";case 14:return"Sonoma";case 15:return"Sequoia";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,i,c){void 0===c&&(c=!1);var o=e.getVersionPrecision(t),s=e.getVersionPrecision(i),n=Math.max(o,s),a=0,r=e.map([t,i],function(t){var i=n-e.getVersionPrecision(t),c=t+new Array(i+1).join(".0");return e.map(c.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(c&&(a=n-Math.min(o,s)),n-=1;n>=a;){if(r[0][n]>r[1][n])return 1;if(r[0][n]===r[1][n]){if(n===a)return 0;n-=1}else if(r[0][n]<r[1][n])return-1}},e.map=function(e,t){var i,c=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(i=0;i<e.length;i+=1)c.push(t(e[i]));return c},e.find=function(e,t){var i,c;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,c=e.length;i<c;i+=1){var o=e[i];if(t(o,i))return o}},e.assign=function(e){for(var t,i,c=e,o=arguments.length,s=new Array(o>1?o-1:0),n=1;n<o;n++)s[n-1]=arguments[n];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var a=function(){var e=s[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach(function(t){c[t]=e[t]})};for(t=0,i=s.length;t<i;t+=1)a();return e},e.getBrowserAlias=function(e){return c.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return c.BROWSER_MAP[e]||""},e}();t.default=o,e.exports=t.default},18:function(e,t,i){t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={AmazonBot:"amazonbot","Amazon Silk":"amazon_silk","Android Browser":"android",BaiduSpider:"baiduspider",Bada:"bada",BingCrawler:"bingcrawler",Brave:"brave",BlackBerry:"blackberry","ChatGPT-User":"chatgpt_user",Chrome:"chrome",ClaudeBot:"claudebot",Chromium:"chromium",Diffbot:"diffbot",DuckDuckBot:"duckduckbot",DuckDuckGo:"duckduckgo",Electron:"electron",Epiphany:"epiphany",FacebookExternalHit:"facebookexternalhit",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot",GPTBot:"gptbot","Internet Explorer":"ie",InternetArchiveCrawler:"internetarchivecrawler","K-Meleon":"k_meleon",LibreWolf:"librewolf",Linespider:"linespider",Maxthon:"maxthon","Meta-ExternalAds":"meta_externalads","Meta-ExternalAgent":"meta_externalagent","Meta-ExternalFetcher":"meta_externalfetcher","Meta-WebIndexer":"meta_webindexer","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver","OAI-SearchBot":"oai_searchbot",Omgilibot:"omgilibot",Opera:"opera","Opera Coast":"opera_coast","Pale Moon":"pale_moon",PerplexityBot:"perplexitybot","Perplexity-User":"perplexity_user",PhantomJS:"phantomjs",PingdomBot:"pingdombot",Puffin:"puffin",QQ:"qq",QQLite:"qqlite",QupZilla:"qupzilla",Roku:"roku",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SlackBot:"slackbot",SeaMonkey:"seamonkey",Sleipnir:"sleipnir","Sogou Browser":"sogou",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat",YahooSlurp:"yahooslurp","Yandex Browser":"yandex",YandexBot:"yandexbot",YouBot:"youbot"},t.BROWSER_MAP={amazonbot:"AmazonBot",amazon_silk:"Amazon Silk",android:"Android Browser",baiduspider:"BaiduSpider",bada:"Bada",bingcrawler:"BingCrawler",blackberry:"BlackBerry",brave:"Brave",chatgpt_user:"ChatGPT-User",chrome:"Chrome",claudebot:"ClaudeBot",chromium:"Chromium",diffbot:"Diffbot",duckduckbot:"DuckDuckBot",duckduckgo:"DuckDuckGo",edge:"Microsoft Edge",electron:"Electron",epiphany:"Epiphany",facebookexternalhit:"FacebookExternalHit",firefox:"Firefox",focus:"Focus",generic:"Generic",google_search:"Google Search",googlebot:"Googlebot",gptbot:"GPTBot",ie:"Internet Explorer",internetarchivecrawler:"InternetArchiveCrawler",k_meleon:"K-Meleon",librewolf:"LibreWolf",linespider:"Linespider",maxthon:"Maxthon",meta_externalads:"Meta-ExternalAds",meta_externalagent:"Meta-ExternalAgent",meta_externalfetcher:"Meta-ExternalFetcher",meta_webindexer:"Meta-WebIndexer",mz:"MZ Browser",naver:"NAVER Whale Browser",oai_searchbot:"OAI-SearchBot",omgilibot:"Omgilibot",opera:"Opera",opera_coast:"Opera Coast",pale_moon:"Pale Moon",perplexitybot:"PerplexityBot",perplexity_user:"Perplexity-User",phantomjs:"PhantomJS",pingdombot:"PingdomBot",puffin:"Puffin",qq:"QQ Browser",qqlite:"QQ Browser Lite",qupzilla:"QupZilla",roku:"Roku",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",slackbot:"SlackBot",sleipnir:"Sleipnir",sogou:"Sogou Browser",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yahooslurp:"YahooSlurp",yandex:"Yandex Browser",yandexbot:"YandexBot",youbot:"YouBot"},t.PLATFORMS_MAP={bot:"bot",desktop:"desktop",mobile:"mobile",tablet:"tablet",tv:"tv"},t.OS_MAP={Android:"Android",Bada:"Bada",BlackBerry:"BlackBerry",ChromeOS:"Chrome OS",HarmonyOS:"HarmonyOS",iOS:"iOS",Linux:"Linux",MacOS:"macOS",PlayStation4:"PlayStation 4",Roku:"Roku",Tizen:"Tizen",WebOS:"WebOS",Windows:"Windows",WindowsPhone:"Windows Phone"},t.ENGINE_MAP={Blink:"Blink",EdgeHTML:"EdgeHTML",Gecko:"Gecko",Presto:"Presto",Trident:"Trident",WebKit:"WebKit"}},90:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(91))&&c.__esModule?c:{default:c},s=i(18);function n(e,t){for(var i=0;i<t.length;i++){var c=t[i];c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(e,c.key,c)}}var a=function(){function e(){}var t,i,c;return e.getParser=function(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),"string"!=typeof e)throw new Error("UserAgent should be a string");return new o.default(e,t,i)},e.parse=function(e,t){return void 0===t&&(t=null),new o.default(e,t).getResult()},t=e,c=[{key:"BROWSER_MAP",get:function(){return s.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return s.ENGINE_MAP}},{key:"OS_MAP",get:function(){return s.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return s.PLATFORMS_MAP}}],(i=null)&&n(t.prototype,i),c&&n(t,c),e}();t.default=a,e.exports=t.default},91:function(e,t,i){t.__esModule=!0,t.default=void 0;var c=r(i(92)),o=r(i(93)),s=r(i(94)),n=r(i(95)),a=r(i(17));function r(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e;var c=!1;"boolean"==typeof t?(c=t,this._hints=i):this._hints=null!=t&&"object"==typeof t?t:null,this.parsedResult={},!0!==c&&this.parse()}var t=e.prototype;return t.getHints=function(){return this._hints},t.hasBrand=function(e){if(!this._hints||!Array.isArray(this._hints.brands))return!1;var t=e.toLowerCase();return this._hints.brands.some(function(e){return e.brand&&e.brand.toLowerCase()===t})},t.getBrandVersion=function(e){if(this._hints&&Array.isArray(this._hints.brands)){var t=e.toLowerCase(),i=this._hints.brands.find(function(e){return e.brand&&e.brand.toLowerCase()===t});return i?i.version:void 0}},t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(c.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA(),this)),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(o.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(s.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(n.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,i={},c=0,o={},s=0;if(Object.keys(e).forEach(function(t){var n=e[t];"string"==typeof n?(o[t]=n,s+=1):"object"==typeof n&&(i[t]=n,c+=1)}),c>0){var n=Object.keys(i),r=a.default.find(n,function(e){return t.isOS(e)});if(r){var l=this.satisfies(i[r]);if(void 0!==l)return l}var d=a.default.find(n,function(e){return t.isPlatform(e)});if(d){var h=this.satisfies(i[d]);if(void 0!==h)return h}}if(s>0){var u=Object.keys(o),f=a.default.find(u,function(e){return t.isBrowser(e,!0)});if(void 0!==f)return this.compareVersion(o[f])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var i=this.getBrowserName().toLowerCase(),c=e.toLowerCase(),o=a.default.getBrowserTypeByAlias(c);return t&&o&&(c=o.toLowerCase()),c===i},t.compareVersion=function(e){var t=[0],i=e,c=!1,o=this.getBrowserVersion();if("string"==typeof o)return">"===e[0]||"<"===e[0]?(i=e.substr(1),"="===e[1]?(c=!0,i=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?i=e.substr(1):"~"===e[0]&&(c=!0,i=e.substr(1)),t.indexOf(a.default.compareVersions(o,i,c))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some(function(e){return t.is(e)})},e}();t.default=l,e.exports=t.default},92:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=/version\/(\d+(\.?_?\d+)+)/i,n=[{test:[/gptbot/i],describe:function(e){var t={name:"GPTBot"},i=o.default.getFirstMatch(/gptbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chatgpt-user/i],describe:function(e){var t={name:"ChatGPT-User"},i=o.default.getFirstMatch(/chatgpt-user\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/oai-searchbot/i],describe:function(e){var t={name:"OAI-SearchBot"},i=o.default.getFirstMatch(/oai-searchbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(e){var t={name:"ClaudeBot"},i=o.default.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(e){var t={name:"Omgilibot"},i=o.default.getFirstMatch(/(?:omgilibot|webzio-extended)\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/diffbot/i],describe:function(e){var t={name:"Diffbot"},i=o.default.getFirstMatch(/diffbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexitybot/i],describe:function(e){var t={name:"PerplexityBot"},i=o.default.getFirstMatch(/perplexitybot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexity-user/i],describe:function(e){var t={name:"Perplexity-User"},i=o.default.getFirstMatch(/perplexity-user\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/youbot/i],describe:function(e){var t={name:"YouBot"},i=o.default.getFirstMatch(/youbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-webindexer/i],describe:function(e){var t={name:"Meta-WebIndexer"},i=o.default.getFirstMatch(/meta-webindexer\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalads/i],describe:function(e){var t={name:"Meta-ExternalAds"},i=o.default.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalagent/i],describe:function(e){var t={name:"Meta-ExternalAgent"},i=o.default.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalfetcher/i],describe:function(e){var t={name:"Meta-ExternalFetcher"},i=o.default.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},i=o.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/linespider/i],describe:function(e){var t={name:"Linespider"},i=o.default.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/amazonbot/i],describe:function(e){var t={name:"AmazonBot"},i=o.default.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/bingbot/i],describe:function(e){var t={name:"BingCrawler"},i=o.default.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/baiduspider/i],describe:function(e){var t={name:"BaiduSpider"},i=o.default.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/duckduckbot/i],describe:function(e){var t={name:"DuckDuckBot"},i=o.default.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ia_archiver/i],describe:function(e){var t={name:"InternetArchiveCrawler"},i=o.default.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{name:"FacebookExternalHit"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe:function(e){var t={name:"SlackBot"},i=o.default.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/yahoo!?[\s/]*slurp/i],describe:function(){return{name:"YahooSlurp"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{name:"YandexBot"}}},{test:[/pingdom/i],describe:function(){return{name:"PingdomBot"}}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},i=o.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/PaleMoon/i],describe:function(e){var t={name:"Pale Moon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:PaleMoon)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},i=o.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},i=o.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},i=o.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},i=o.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},i=o.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},i=o.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},i=o.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},i=o.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},i=o.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},i=o.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},i=o.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},i=o.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},i=o.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return i&&(t.version=i),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},i=o.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},i=o.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},i=o.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},i=o.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},i=o.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},i=o.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/librewolf/i],describe:function(e){var t={name:"LibreWolf"},i=o.default.getFirstMatch(/(?:librewolf)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},i=o.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},i=o.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sogoumobilebrowser/i,/metasr/i,/se 2\.[x]/i],describe:function(e){var t={name:"Sogou Browser"},i=o.default.getFirstMatch(/(?:sogoumobilebrowser)[\s/](\d+(\.?_?\d+)+)/i,e),c=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),s=o.default.getFirstMatch(/se ([\d.]+)x/i,e),n=i||c||s;return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},i=o.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return!!e.hasBrand("DuckDuckGo")||e.test(/\sDdg\/[\d.]+$/i)},describe:function(e,t){var i={name:"DuckDuckGo"};if(t){var c=t.getBrandVersion("DuckDuckGo");if(c)return i.version=c,i}var s=o.default.getFirstMatch(/\sDdg\/([\d.]+)$/i,e);return s&&(i.version=s),i}},{test:function(e){return e.hasBrand("Brave")},describe:function(e,t){var i={name:"Brave"};if(t){var c=t.getBrandVersion("Brave");if(c)return i.version=c,i}return i}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},i=o.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},i=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},i=o.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t={name:"Android Browser"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:o.default.getFirstMatch(t,e),version:o.default.getSecondMatch(t,e)}}}];t.default=n,e.exports=t.default},93:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:[/Roku\/DVP/],describe:function(e){var t=o.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=o.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=o.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),i=o.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:i}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:s.OS_MAP.iOS},i=o.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return i&&(t.version=i),t}},{test:[/macintosh/i],describe:function(e){var t=o.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),i=o.default.getMacOSVersionName(t),c={name:s.OS_MAP.MacOS,version:t};return i&&(c.versionName=i),c}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=o.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:s.OS_MAP.iOS,version:t}}},{test:[/OpenHarmony/i],describe:function(e){var t=o.default.getFirstMatch(/OpenHarmony\s+(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.HarmonyOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t=o.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),i=o.default.getAndroidVersionName(t),c={name:s.OS_MAP.Android,version:t};return i&&(c.versionName=i),c}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=o.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),i={name:s.OS_MAP.WebOS};return t&&t.length&&(i.version=t),i}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=o.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||o.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||o.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=o.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=o.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=o.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=n,e.exports=t.default},94:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:[/googlebot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Google"}}},{test:[/linespider/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Line"}}},{test:[/amazonbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Amazon"}}},{test:[/gptbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/chatgpt-user/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/oai-searchbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/baiduspider/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Baidu"}}},{test:[/bingbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Bing"}}},{test:[/duckduckbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"DuckDuckGo"}}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Anthropic"}}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Webz.io"}}},{test:[/diffbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Diffbot"}}},{test:[/perplexitybot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Perplexity AI"}}},{test:[/perplexity-user/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Perplexity AI"}}},{test:[/youbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"You.com"}}},{test:[/ia_archiver/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Internet Archive"}}},{test:[/meta-webindexer/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalads/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalagent/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalfetcher/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Slack"}}},{test:[/yahoo/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Yahoo"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Yandex"}}},{test:[/pingdom/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Pingdom"}}},{test:[/huawei/i],describe:function(e){var t=o.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",i={type:s.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(i.model=t),i}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),i=e.test(/like (ipod|iphone)/i);return t&&!i},describe:function(e){var t=o.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/Nokia/i],describe:function(e){var t=o.default.getFirstMatch(/Nokia\s+([0-9]+(\.[0-9]+)?)/i,e),i={type:s.PLATFORMS_MAP.mobile,vendor:"Nokia"};return t&&(i.model=t),i}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:[/smart-?tv|smarttv/i],describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:[/netcast/i],describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=n,e.exports=t.default},95:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=o.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},i=o.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},i=o.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=e.test(/gecko/i),i=e.test(/like gecko/i);return t&&!i},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},i=o.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},i=o.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}}];t.default=n,e.exports=t.default}})}(TL)),TL.exports),FL=Uu(DL);var HL,_L=function(){if(IL)return RL;IL=1,RL=s,s.default=s,s.stable=l,s.stableStringify=l;var e="[...]",t="[Circular]",i=[],c=[];function o(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function s(e,t,s,n){var r;void 0===n&&(n=o()),a(e,"",0,[],void 0,0,n);try{r=0===c.length?JSON.stringify(e,t,s):JSON.stringify(e,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,o,s){var n=Object.getOwnPropertyDescriptor(s,o);void 0!==n.get?n.configurable?(Object.defineProperty(s,o,{value:e}),i.push([s,o,t,n])):c.push([t,o,e]):(s[o]=e,i.push([s,o,t]))}function a(i,c,o,s,r,l,d){var 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,c,r);if(void 0!==d.depthLimit&&l>d.depthLimit)return void n(e,i,c,r);if(void 0!==d.edgesLimit&&o+1>d.edgesLimit)return void n(e,i,c,r);if(s.push(i),Array.isArray(i))for(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 f=u[h];a(i[f],f,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=o());var a,r=d(e,"",0,[],void 0,0,n)||e;try{a=0===c.length?JSON.stringify(r,t,s):JSON.stringify(r,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(c,o,s,a,l,h,u){var f;if(h+=1,"object"==typeof c&&null!==c){for(f=0;f<a.length;f++)if(a[f]===c)return void n(t,c,o,l);try{if("function"==typeof c.toJSON)return}catch(e){return}if(void 0!==u.depthLimit&&h>u.depthLimit)return void n(e,c,o,l);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void n(e,c,o,l);if(a.push(c),Array.isArray(c))for(f=0;f<c.length;f++)d(c[f],f,f,a,c,h,u);else{var p={},m=Object.keys(c).sort(r);for(f=0;f<m.length;f++){var g=m[f];d(c[g],g,f,a,c,h,u),p[g]=c[g]}if(void 0===l)return p;i.push([l,o,c]),l[o]=p}a.pop()}}function h(e){return e=void 0!==e?e:function(e,t){return t},function(t,i){if(c.length>0)for(var o=0;o<c.length;o++){var s=c[o];if(s[1]===t&&s[0]===i){i=s[2],c.splice(o,1);break}}return e.call(this,t,i)}}return RL}(),PL=Uu(_L);const VL=_m("network-monitor",{level:Mm.info}),BL=Date.now(),UL=(null===(HL=window.navigator)||void 0===HL?void 0:HL.userAgent)?FL.parse(window.navigator.userAgent):void 0,jL=(e,t={depthLimit:10,edgesLimit:10})=>e instanceof Event?`'${e.type}' Event`:"string"==typeof e?e:PL(e,void 0,2,t);class qL{constructor(){this.unsubscribableObservers=[],this.runAllChecks=(e,t)=>Ou(this,void 0,void 0,function*(){if(!this.isReady||this.isRunningChecks&&!t)return;VL.info("Run health checks, triggered by",jL(e),"| Active resources",this.resources.size),this.isRunningChecks=!0,this.synchroniseCheckInterval();let i=this.getFormattedTimestamp(this.getNowTimestamp());const c=yield this.isOnlineCheck();c?VL.debug(`Network connected at ${i}`):VL.warn(`Network disconnected at ${i}`);const o=this.normaliseSerializedSocketStatus(this.socketStatus.serialize(),c),s=this.preFlightSocketChecks(o);if(s||VL.debug("Socket pre-flight checks failed"),!c||!s){VL.debug("Aborting remaining health checks");const e=[...this.resources].reduce((e,[t,i])=>{const o=e[i.resourceName];return o?(o.sourceRef=[...o.sourceRef,i.message.SOURCE_REF],e):Object.assign(Object.assign({},e),{[i.resourceName]:this.normaliseResourceHealth({name:i.resourceName,sourceRef:[i.message.SOURCE_REF],isConnected:i.isConnected,lastUpdated:i.lastUpdated},c)})},{});return this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:c,resources:e,resourcesAllConnected:!1,socket:o}),void(this.isRunningChecks=!1)}let n=!0;const a=[];this.resources.forEach((e,t)=>{const{resourceName:c,message:o,functions:s}=e,{resourceChecks:r=this.config.resourceChecks,resourceDataLogon:l=this.config.resourceDataLogon}=s,{SOURCE_REF:d}=o;let h,u,f,p,m,g=!1;a.push((()=>Ou(this,void 0,void 0,function*(){var o,s,a;try{VL.debug(`Running health check against ${c}`);const e=yield Promise.race([r(d,t),(s=this.config.checkTimeout,a=()=>({isConnected:!1,lastUpdated:this.getNowTimestamp(),timeout:!0}),new Promise(e=>{setTimeout(()=>{e(a())},s)}))]);g=e.isConnected,h=e.lastUpdated,u=e.lastMessage,p=e.timeout}catch(e){g=!1,h=this.getNowTimestamp(),f=e,u=null!==(o=null==e?void 0:e.receivedMessage)&&void 0!==o?o:e}return m=(null==u?void 0:u.MESSAGE_TYPE)===aC.MSG_NACK||fC(u,Kz.NOT_FOUND),i=this.getFormattedTimestamp(null!=h?h:this.getNowTimestamp()),g?VL.debug(`${c} is healthy at ${i}`):VL.warn(`${c} is not healthy at ${i}`),u&&VL.debug(`${c} messaged at ${i}`,jL(u)),f&&VL.error(`${c} errored at ${i}`,jL(f)),p&&VL.warn(`${c} timed out at ${i}`),m&&(VL.error(`${c} issue, re-attempting data logon at ${i}`),l(e)),n&&(n=g),{name:c,sourceRef:[d],isConnected:g,lastUpdated:h,lastError:f}}))())});const r=(yield Promise.allSettled(a)).reduce((e,t)=>{if("fulfilled"===t.status){const i=e[t.value.name];return i?(i.sourceRef=[...i.sourceRef,...t.value.sourceRef],e):Object.assign(Object.assign({},e),{[t.value.name]:this.normaliseResourceHealth(t.value)})}return VL.warn("Unexpected promise rejection occurred. Please check any custom resourceChecks return MonitoredResourceChecksResult."),e},{});VL.debug("Health checks complete"),this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:c,resources:r,resourcesAllConnected:n,socket:o}),this.isRunningChecks=!1}),void 0!==this.config.logLevel&&(VL.level=this.config.logLevel)}create(){this.resources?VL.warn("NetworkMonitor already created. If this is intentional, please call NetworkMonitor.destroy first."):(this.addListeners(),this.resources=new Map,setTimeout(()=>{this.isReady=!0,this.synchroniseCheckInterval(),this.runAllChecks("NetworkMonitor.create()")},this.config.startDelay))}destroy(){this.removeListeners(),clearInterval(this.internalId),this.resources.clear(),this.resources=void 0,this.status=void 0,this.isReady=void 0}isOnlineCheck(){return Promise.resolve(navigator.onLine)}addResource(e,t){this.resources||this.create(),this.resources.set(e,t)}removeResource(e){this.resources.delete(e)}addListeners(){var e,t;null===(e=this.config.windowEvents)||void 0===e||e.forEach(e=>window.addEventListener(e,this.runAllChecks)),null===(t=this.config.documentEvents)||void 0===t||t.forEach(e=>document.addEventListener(e,this.runAllChecks)),this.config.genesisConnectEvents.includes("stream")&&this.unsubscribableObservers.push(this.connectEvents.addStreamListener(({detail:e})=>{const{functions:t,message:i,resourceName:c,stream:o}=e;this.config.ignoredGenesisResources.includes(c)||this.addResource(o,{functions:t,message:i,resourceName:c})},({detail:e})=>{const{resourceName:t,stream:i}=e;this.config.ignoredGenesisResources.includes(t)||this.removeResource(i)},({detail:e})=>{var t;const{resourceName:i,stream:c,error:o}=e,s=null!==(t=o.receivedMessage)&&void 0!==t?t:o;let n="";fC(s,Kz.NOT_FOUND)?n="Please check the resource is running.":fC(s,Kz.FORBIDDEN)&&(n="You are not authorised to access this resource, removing it from monitoring.",this.removeResource(c)),VL.error(`${i} errored at ${this.getFormattedTimestamp(this.getNowTimestamp())}.`,n,o)})),this.config.genesisConnectEvents.includes("commit")&&this.unsubscribableObservers.push(this.connectEvents.addCommitListener(e=>{this.config.ignoredGenesisResources.includes(e.detail.eventName)||this.runAllChecks(e)})),this.unsubscribableObservers.push(this.connectEvents.addMetadataListener(({detail:e})=>{const{resourceName:t,error:i}=e;i&&VL.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?VL.debug:VL.warn)("Emitting 'system-health-changed' event",jL(this.status)),null==i||i.dispatchEvent(new CustomEvent(EL,{detail:this.status,bubbles:i!==document,composed:!0})),this.status.socket.reconnectionLimitReached&&(VL.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 VL.debug("User requested report stability to Genesis."),VL.info("Please attach this data to your Genesis Support request: \n",JSON.stringify(e,null,2)),!0})}normaliseResourceHealth(e,t=!0){var i;const c=!!t&&e.isConnected,o=null!==(i=e.lastUpdated)&&void 0!==i?i:this.getNowTimestamp();return Object.assign(Object.assign({},e),{isConnected:c,lastUpdated:o})}normaliseSerializedSocketStatus(e,t=!0){const i=!!t&&e.isConnected,c=!i;return Object.assign(Object.assign({},e),{isConnected:i,isDisconnected:c})}normaliseEventDetail(e){var t,i,c,o;const s=!!((null===(t=e.socket)||void 0===t?void 0:t.isConfigured)?e.isOnline&&(null===(i=e.socket)||void 0===i?void 0:i.isConnected)&&e.resourcesAllConnected:e.isOnline),n=null!==(c=e.lastUpdated)&&void 0!==c?c:this.getNowTimestamp(),a=null!==(o=e.nextUpdate)&&void 0!==o?o:this.getNextTimestamp(),r=e.isAuthenticated&&this.user?this.user.username:void 0,l=Object.assign(Object.assign({},e),{browserInformation:UL,username:r,isHealthy:s,lastUpdated:n,nextUpdate:a,firstUpdated:BL,runAllChecks:()=>{VL.debug("User activated run checks command starting."),this.runAllChecks("user requested")},reportStabilityToGenesis:()=>this.reportStabilityToGenesis(l)});return l}preFlightSocketChecks(e){if(!e.isConfigured)return VL.debug("Socket not configured"),!1;if(e.isReconnecting)return VL.debug("Socket reconnecting"),!1;if(e.isConnecting)return VL.debug("Socket connecting"),!1;if(e.isDisconnected){const t=e.isDisconnectedByServer?`by the server, code: ${e.closedCode}, reason: ${e.closedReason}`:"";return VL.debug(`Socket disconnected ${t}`),e.reconnectionLimitReached&&VL.debug("Socket reconnection limit reached"),!1}const t=this.user.isAuthenticated?"with":"without";return VL.debug(`Socket connected ${t} valid session`),!0}getFormattedTimestamp(e){return Ag(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([AL],qL.prototype,"config",void 0),Nu([Fx],qL.prototype,"socketStatus",void 0),Nu([Bz],qL.prototype,"connectEvents",void 0),Nu([Oz],qL.prototype,"user",void 0),Nu([g],qL.prototype,"status",void 0);const GL=ft.createInterface(e=>e.singleton(qL)),WL={account:"genesis",namespace:"default",authKey:"kv-default",authEmail:void 0},YL=ft.createInterface();var KL,ZL;!function(e){e.REQ_KEY_VALUE_LIST="REQ_KEY_VALUE_LIST",e.REQ_KEY_VALUE_READ="REQ_KEY_VALUE_READ"}(KL||(KL={})),function(e){e.EVENT_KEY_VALUE_PUT="EVENT_KEY_VALUE_PUT",e.EVENT_KEY_VALUE_DELETE="EVENT_KEY_VALUE_DELETE"}(ZL||(ZL={}));let QL=class{constructor(e,t,i=WL){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(ZL.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}},c=yield this.connect.request(KL.REQ_KEY_VALUE_READ,i);if(c&&c.REPLY&&c.REPLY.length>0){const t=c.REPLY.map(e=>{const t=this.getDecodedValue(e.VALUE);return{kv:{key:e.KEY,value:t}}});return e?t[0]:t}return e?void 0:[]})}getDecodedValue(e){e.startsWith("str:")||e.startsWith("bin:")||(e=`str:${e}`);let t=pg(e);return"string"==typeof t&&t.startsWith("str:")&&(t=pg(t)),"string"==typeof t&&t.startsWith("bin:")&&(t=pg(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(KL.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?mg(e.value):e.value}))}},i=yield this.connect.commitEvent(ZL.EVENT_KEY_VALUE_PUT,t);return!(!i||"EVENT_ACK"!==i.MESSAGE_TYPE)||{ERROR:i.ERROR,WARNING:i.WARNING}})}};QL=Nu([Au(0,Gx),Au(1,Oz),Au(2,vt(YL))],QL),ft.createInterface(e=>e.singleton(QL));class XL{constructor(){this.isWorking=!1,this.loggedUserResult=null,this.currentUser=null,this.isLoggedIn=!1,this.isLoggedInSubject=new Rb(!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 Az,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],XL.prototype,"isWorking",void 0),Nu([g],XL.prototype,"loggedUserResult",void 0),Nu([g],XL.prototype,"currentUser",void 0),Nu([g],XL.prototype,"isLoggedIn",void 0);class JL{constructor(){this.fetchMetadataRequired=!0,this.fetchingMetadata=!1,this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.customRequestFields=[],this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.criteriaOnlyRequest=!1}init(e,t){return Promise.resolve(this.initialized)}startStream(){return Promise.resolve()}setMetadata(e){var t,i,c;this.availableIndexes=null!==(t=e.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(i=e.SORTABLE_FIELDS)&&void 0!==i?i:[],this.availableCriteriaFields=null!==(c=e.CRITERIA_FIELDS)&&void 0!==c?c:[],this.originalFieldDef=Pz(e),this.fieldMetadata=_z(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=Sy(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],JL.prototype,"status",void 0),Nu([g],JL.prototype,"fetchMetadataRequired",void 0),Nu([g],JL.prototype,"originalFieldDef",void 0),Nu([g],JL.prototype,"fieldMetadata",void 0),Nu([g],JL.prototype,"requestFields",void 0),Nu([g],JL.prototype,"customRequestFields",void 0),Nu([g],JL.prototype,"availableIndexes",void 0),Nu([g],JL.prototype,"availableSortableFields",void 0),Nu([g],JL.prototype,"availableCriteriaFields",void 0),Nu([g],JL.prototype,"criteriaOnlyRequest",void 0),ft.createInterface(e=>e.aliasTo(Oz));const eM=_m("foundation-ui");class tM extends(yL(qt)){constructor(){super(...arguments),this.withGridInit=!0,this.isSnapshot=!1,this.maxRows=gL.MAX_ROWS_250,this.maxView=gL.MAX_VIEW_1000,this.resourceName="",this.reverse=!1,this.rowId="ROW_REF",this.withTimestampFormatting=!0,this.requiresFullDataRefresh=!0,this.rowsSyncedWithStream=new Map,this.dataSubWasLoggedOff=!1,this.criteriaFromFilters=new Map,this.update=new Rb(new Map),this.fetchGeneration=0}criteriaChanged(e,t){const i=e!==$L(t,";");this.refetchIfInitializedAndChanged(i)}dataChanged(e){e&&(this.clearData(),this.reset())}requestChanged(e,t){const i=JSON.stringify(e)!==JSON.stringify(t);this.refetchIfInitializedAndChanged(i)}refetchIfInitializedAndChanged(e){this.datasource.initialized&&e&&this.fetchGenesisData(null)}set datasourceConfig(e){e&&Object.keys(e).forEach(t=>{void 0!==e[t]&&(this[t]=e[t])})}disconnectedCallback(){var e,t;super.disconnectedCallback(),this.clearData(),null===(e=this.dataSub)||void 0===e||e.unsubscribe(),null===(t=this.update)||void 0===t||t.unsubscribe(),delete this.dataSub,delete this.update,this.datasource.destroy(),delete this.datasource}reset(){this.requiresFullDataRefresh=!0,this.fetchGenesisData()}fetchGenesisData(){return Ou(this,arguments,void 0,function*(e=!0){var t;null===(t=this.dataSub)||void 0===t||t.unsubscribe(),this.dataSub=void 0,this.fetchGeneration+=1;const i=this.fetchGeneration,c=()=>i!==this.fetchGeneration;if(this.data)return void this.syncComponentData(this.data);const o=e||!this.datasource.initialized;o||(this.connect.dataLogoff(this.sourceRef),this.clearData());const s=yield this.datasource.init(this.datasourceOptions(),o);if(!c())if(s){if(this.isSnapshot){const e=yield this.datasource.snapshotFiltered();if(c())return;return void this.syncComponentData(e)}eM.debug(`requesting stream for ${this.resourceName}`),this.dataSub=this.datasource.stream.subscribe(e=>{if(c())return;e.DISCONNECTED&&this.handleError({message:`Genesis Datasource disconnected for ${this.resourceName}`,loggerType:"error"}),this.sourceRef=e.SOURCE_REF;const t=e.MESSAGE_TYPE;if(t&&t===aC.LOGOFF_ACK)this.dataSubWasLoggedOff=!0;else if(this.dataSubWasLoggedOff=!1,e.ROW){const t=mL(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)})}datasourceOptions(){return{criteria:this.buildCriteria(),fields:this.fields,isSnapshot:this.isSnapshot,orderBy:this.orderBy,resourceName:this.resourceName,request:this.request,reverse:this.reverse,maxRows:this.maxRows,maxView:this.maxView}}handleStreamUpdate(e){if(!e)return;e.hasOwnProperty("REPLY")?this.applyRequestServerData(e):this.applyDataserverData(e)}applyRequestServerData(e){var t,i;if(!Array.isArray(e.REPLY)||!(null===(t=e.MESSAGE_TYPE)||void 0===t?void 0:t.startsWith("REP_")))return void this.handleError({message:"received invalid RequestServerResult",loggerType:"error",loggerArgs:[e]});if(this.requiresFullDataRefresh){"ROW_REF"!==this.rowId&&(null===(i=e.REPLY)||void 0===i||i.forEach(e=>{this.rowsSyncedWithStream.set(e[this.rowId],e)}));const t=this.rowsSyncedWithStream.size>0?Array.from(this.rowsSyncedWithStream.values()):e.REPLY;return void this.syncComponentData(t)}this.handleStreamInserts(e.REPLY);const c=Array.from(this.rowsSyncedWithStream.values()).filter(t=>!e.REPLY.includes(t));this.handleStreamDeletes(c)}applyDataserverData(e){var t,i,c,o;if(this.requiresFullDataRefresh){null===(t=e.inserts)||void 0===t||t.forEach(e=>{this.rowsSyncedWithStream.set(e[this.rowId],e)});const i=Array.from(this.rowsSyncedWithStream.values());return void this.syncComponentData(i)}(null===(i=e.inserts)||void 0===i?void 0:i.length)>0&&this.handleStreamInserts(e.inserts),(null===(c=e.deletes)||void 0===c?void 0:c.length)>0&&this.handleStreamDeletes(e.deletes),(null===(o=e.updates)||void 0===o?void 0:o.length)>0&&this.handleStreamUpdates(e.updates)}buildCriteria(){var e;return $L(((null===(e=this.criteria)||void 0===e?void 0:e.split(";"))||[]).join(" && "),";")}setFilter(e,t){this.criteriaFromFilters.set(e,t),this.update.next(this.criteriaFromFilters)}removeFilter(e){this.criteriaFromFilters.delete(e),this.update.next(this.criteriaFromFilters)}handleError(e={}){const{message:t,loggerType:i,loggerArgs:c=[]}=e;t&&eM[i](t,...c)}getFieldMetadata(e){var t;return null===(t=this.datasource.fieldMetadata)||void 0===t?void 0:t.find(t=>t.name===e)}getDefaultLabelFormat(e,t){return t===Iz.DATE||t===Iz.DATETIME?Og(e,t===Iz.DATETIME):e}}Nu([Gx],tM.prototype,"connect",void 0),Nu([SL],tM.prototype,"datasource",void 0),Nu([re({mode:"boolean"})],tM.prototype,"withGridInit",void 0),Nu([re],tM.prototype,"criteria",void 0),Nu([g],tM.prototype,"data",void 0),Nu([re],tM.prototype,"fields",void 0),Nu([re({mode:"boolean"})],tM.prototype,"isSnapshot",void 0),Nu([re],tM.prototype,"maxRows",void 0),Nu([re],tM.prototype,"maxView",void 0),Nu([re],tM.prototype,"orderBy",void 0),Nu([re],tM.prototype,"request",void 0),Nu([re],tM.prototype,"resourceName",void 0),Nu([re({mode:"boolean"})],tM.prototype,"reverse",void 0),Nu([re],tM.prototype,"rowId",void 0),Nu([re({mode:"boolean",attribute:"with-timestamp-formatting"})],tM.prototype,"withTimestampFormatting",void 0);const iM=(e,t)=>!e.composedPath().includes(t),cM=(e,t)=>e.composedPath().includes(t),oM=e=>e.tagName.toLowerCase().split("-")[0];const sM=_m("foundation-criteria");var nM;!function(e){e.AND="&&",e.OR="||",e.NOT="!",e.GT=">",e.GE=">=",e.LT="<",e.LE="<=",e.NE="!=",e.EQ="=="}(nM||(nM={}));class aM{constructor(e){this.$$operator=e}static And(){return new aM(nM.AND)}static Or(){return new aM(nM.OR)}static Not(){return new aM(nM.NOT)}static GreaterThan(){return new aM(nM.GT)}static GreaterThanOrEqual(){return new aM(nM.GE)}static LessThan(){return new aM(nM.LT)}static LessThanOrEqual(){return new aM(nM.LE)}static NotEqual(){return new aM(nM.NE)}static Equal(){return new aM(nM.EQ)}get operator(){return this.$$operator}}const rM=e=>{const{value:t}=e;return e.valueGetter?e.valueGetter(t):"function"==typeof t?t(e):Array.isArray(t)?t.join(","):"string"==typeof t?`"${t}"`:t},lM=e=>t=>`${t.field} ${e} ${rM(t)}`,dM={AND:e=>lM(nM.AND)(e),OR:e=>lM(nM.OR)(e),NOT:e=>lM(nM.NOT)(e),GT:e=>lM(nM.GT)(e),GE:e=>lM(nM.GE)(e),LT:e=>lM(nM.LT)(e),LE:e=>lM(nM.LE)(e),NE:e=>lM(nM.NE)(e),EQ:e=>lM(nM.EQ)(e),equals:e=>`${e.field}.equals(${rM(e)})`,equalsIgnoreCase:e=>`${e.field}.equalsIgnoreCase(${rM(e)})`,contains:e=>`Expr.contains(${e.field}, ${rM(e)})`,fieldContains:e=>`${e.field}.contains(${rM(e)})`,containsIgnoreCase:e=>`Expr.containsIgnoreCase(${e.field}, ${rM(e)})`,startsWith:e=>`${e.field}.startsWith(${rM(e)})`,endsWith:e=>`${e.field}.endsWith(${rM(e)})`,dateIsToday:e=>`Expr.dateIsToday(${e.field})`,dateIsEqual:e=>`Expr.dateIsEqual(${e.field}, ${rM(e)})`,dateIsGreaterEqual:e=>`Expr.dateIsGreaterEqual(${e.field}, ${rM(e)})`,dateIsLessEqual:e=>`Expr.dateIsLessEqual(${e.field}, ${rM(e)})`,dateTimeIsGreaterEqual:e=>`Expr.dateTimeIsGreaterEqual(${e.field}, ${rM(e)})`,dateTimeIsLessEqual:e=>`Expr.dateTimeIsLessEqual(${e.field}, ${rM(e)})`},hM=e=>Array.isArray(e)?e:[e],uM="default";class fM{constructor(){this.expressions={},this.And=(e,t={})=>this.withExpression(e,t,aM.And()),this.Or=(e,t={})=>this.withExpression(e,t,aM.Or()),this.Not=(e,t={})=>this.withExpression(e,t,aM.Not())}withExpression(e,t={},i=aM.And()){const{condition:c,join:o,groupName:s}=t,n=(e,t=uM)=>{var s;const n=null!==(s=this.expressions[t])&&void 0!==s?s:[];this.expressions[t]=[...n,{join:i||o,condition:c,expression:e}]};if(Array.isArray(e))if(o){const t=e.filter(e=>{const t=e instanceof aM;return t&&sM.warn("Inline joins will be discarded when join is defined in ExpressionOptions"),!t});if(s)t.forEach(e=>{n(e,s)});else{const e=(a=o,t.flat().flatMap((e,t,i)=>i.length-1!==t?[e,a]:e));n(e,uM)}}else n(e,uM);else n(e,"string"==typeof e?uM:e.group);var a;return this}build(e){const t=Object.entries(this.expressions).reduce((e,[t,i])=>Object.assign(Object.assign({},e),{[t]:`(${i.filter(({condition:e})=>!e||e()).map(({expression:e,join:t},i,c)=>this.parseExpression(e,c[i-1],t)).join("")})`}),{});return e?e(t):`(${Object.values(t).join(" && ")})`}reset(){this.expressions={}}parseExpression(e,t,i){const c=[];return i&&t&&c.push(` ${i.operator} `),"string"==typeof e?c.push(e):Array.isArray(e)?(e.forEach((e,t,i)=>{if(e instanceof aM){if(i[t-1]instanceof aM)throw new Error("Adjacent Join operations detected")}}),c.push(`(${e.map(e=>this.parseExpression(e,void 0)).join("")})`)):e instanceof aM?c.push(` ${e.operator} `):e&&c.push(e.serialiser(e)),c.join("")}}class pM{constructor(e){this.serialiser=dM.EQ,this.build=()=>{if(!this.field)throw new Error("Missing required param 'field'");if(void 0===this.value)throw new Error("Missing required param 'value'");if(!this.serialiser)throw new Error("Missing required param 'serialise'");return{field:this.field,value:this.value,serialiser:this.serialiser,params:this.params,valueGetter:this.valueGetter,group:this.group}},e&&(this.field=e.field,this.value=e.value,this.serialiser=e.serialiser,this.params=e.params,this.valueGetter=e.valueGetter,this.group=e.group)}withField(e){return this.field=e,this}withValue(e){return this.value=e,this}withSerialiser(e){return this.serialiser=e,this}withParams(e){return this.params=e,this}withValueGetter(e){return this.valueGetter=e,this}withGroup(e){return this.group=e,this}}let mM=class extends be{constructor(){super(...arguments),this.criteriaOptions=[],this.createCriteria=e=>{const t=new fM,{field:i,serialiser:c,value:o}=e;return Array.isArray(i)||Array.isArray(o)?t.And(hM(o).map(e=>hM(i).map(t=>(new pM).withField(t).withValue(e).withSerialiser(c).build())),{join:aM.Or()}):t.And((new pM).withField(i).withValue(o).withSerialiser(c).build()),t}}valueChanged(){this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}selectedLabelChanged(){const e=this.criteriaOptions.find(e=>e.label===this.selectedLabel);this.value=e?this.createCriteria(e).build():""}itemClickHandler(e){this.selectedLabel===e&&(this.selectedLabel=void 0)}};function gM(e,t){var i;const c=new fM;c.withExpression((new pM).withField(null!==(i=e.labelField)&&void 0!==i?i:e.valueField).withValue(t).withSerialiser(dM.containsIgnoreCase).build()),e.baseCriteria?e.criteria=`${e.baseCriteria} && ${c.build()}`:e.criteria=c.build()}Nu([g],mM.prototype,"criteriaOptions",void 0),Nu([g],mM.prototype,"prefix",void 0),Nu([g],mM.prototype,"value",void 0),Nu([g],mM.prototype,"selectedLabel",void 0),mM=Nu([ye({name:"criteria-segmented-control",template:((e="rapid")=>W`<${e}-segmented-control :value="${hg(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:xe``})],mM);const vM=(e,t,i)=>W`<${t}-icon tooltip="${()=>e}" name="${()=>i}"></${t}-icon>`,bM=e=>W`<${e}-button id="actiosnMenuTrigger" class="actions-opener${e=>e.open?" opened":""}" appearance="${e=>e.buttonAppearance}" part="actions-opener" @click=${e=>e.toggleActionsMenuVisibility()}>${e=>e.open?"✖":W` ${e.name} `}</${e}-button><${e}-menu ${Ie("actionsMenu")}class="actions-menu ${e=>e.classNames}" part="actions-menu">${qe(e=>e.allActions,W` ${_e((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>`)} ${_e((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>`,yM=W`<div class="actions-container${e=>e.isVertical?" actions-vertical":""}" part="actions-container">${e=>e.getTemplate(oM(e))}</div>`;class zM 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}definitionChanged(e,t){var i;this.actions=null!==(i=null==t?void 0:t.actions)&&void 0!==i?i:[],delete this.definition.actions,t.buttonText&&(this.name=t.buttonText,delete this.definition.customButtonText),t.isVertical&&(this.isVertical=t.isVertical,delete this.definition.isVertical),t.buttonAppearance&&(this.buttonAppearance=t.buttonAppearance,delete this.definition.buttonAppearance),t.hideMenuSingleOption&&(this.hideMenuSingleOption=t.hideMenuSingleOption,delete this.definition.hideMenuSingleOption)}openChanged(){this.classNames=Jt(["visible",this.open],["hidden",!this.open])}toggleActionsMenuVisibility(){this.open=!this.open}onActionMenuItemClick(e){this.autoCloseOnAction&&(this.open=!1),e(this.rowData)}get allActions(){var e;const t=[{name:"✖",callback:()=>this.open=!1}];return this.addDefaultActions?[...null!==(e=this.actions)&&void 0!==e?e:[],...t]:this.actions}get rowData(){if(!this.definition)return;const{node:e,data:t}=this.definition;return(null==e?void 0:e.data)||t}getLabel(e){return"function"==typeof e?e(this.rowData):e}getTemplate(e){if(!this.hideMenuSingleOption)return bM(e);const t=this.actions.filter(e=>!e.isDisabled||!e.isDisabled(this.rowData));return this.singleOption=null,0!==t.length?1===t.length?(this.singleOption=t[0],(e=>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)):bM(e):void 0}}Nu([g],zM.prototype,"actions",void 0),Nu([re({attribute:"is-vertical",mode:"boolean"})],zM.prototype,"isVertical",void 0),Nu([re({attribute:"add-default-actions",mode:"boolean"})],zM.prototype,"addDefaultActions",void 0),Nu([re({attribute:"auto-close-on-action",mode:"boolean"})],zM.prototype,"autoCloseOnAction",void 0),Nu([g],zM.prototype,"classNames",void 0),Nu([g],zM.prototype,"definition",void 0),Nu([re],zM.prototype,"name",void 0),Nu([re({attribute:"open",mode:"boolean"})],zM.prototype,"open",void 0),Nu([re],zM.prototype,"buttonAppearance",void 0),Nu([re({attribute:"hide-disabled",mode:"boolean"})],zM.prototype,"hideDisabled",void 0),Nu([re({attribute:"hide-menu-single-option",mode:"boolean"})],zM.prototype,"hideMenuSingleOption",void 0),Nu([g],zM.prototype,"singleOption",void 0),zM.compose({baseName:"actions-menu",styles:(e,t)=>xe` ${wu()}`,template:yM});let CM=!1;try{"undefined"!=typeof GENX_ENABLE_AI&&(CM="true"===GENX_ENABLE_AI)}catch(HL){}const xM=()=>CM||gg("ai");function LM(){return"undefined"!=typeof window&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)}_m("foundation-ai");class MM{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})}}class wM{constructor(){this.noopProvider=new MM}get(e){return e===wM.DEFAULT_NAME?this.noopProvider:void 0}default(){return this.noopProvider}defaultName(){return wM.DEFAULT_NAME}names(){return[wM.DEFAULT_NAME]}getStatus(e){return Ou(this,void 0,void 0,function*(){var t,i,c;return void 0!==e&&e!==wM.DEFAULT_NAME?null:null!==(c=yield null===(i=(t=this.noopProvider).getStatus)||void 0===i?void 0:i.call(t))&&void 0!==c?c:null})}listStatuses(){return Ou(this,void 0,void 0,function*(){var e,t,i;const c=null!==(i=yield null===(t=(e=this.noopProvider).getStatus)||void 0===t?void 0:t.call(e))&&void 0!==i?i:null;return[{name:wM.DEFAULT_NAME,isDefault:!0,status:c}]})}}wM.DEFAULT_NAME="default";const SM=ft.createInterface(e=>e.singleton(wM)),kM=xe` :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)}`,$M=W` ${e=>(e=>W` ${_e(()=>xM(),W`<div class="ai-criteria-search"><div class="ai-criteria-search-row">${_e(e=>!e.showingChips,W`<${e}-text-area ${Ie("textAreaRef")}class="criteria-input" placeholder="${e=>e.placeholder}" ?disabled=${e=>e.disabled||e.isInterpreting}:value=${hg(e=>e.inputValue,"string","input")}@blur=${e=>e.handleBlur()}rows="1"></${e}-text-area>`)} ${_e(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>${_e(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
|
✕
|
|
59
59
|
</button></span>`)}</div>`)}<${e}-button class="criteria-toggle-button" appearance="outline" title=${e=>e.showingChips?"Add more criteria":"View active filters"}?disabled=${e=>0===e.activeGroups.length||e.isInterpreting}@click=${e=>e.toggleCriteriaView()}><${e}-icon name="pen" size="sm"></${e}-icon></${e}-button><${e}-button class="criteria-clear-button" appearance="outline" title="Clear all filters" ?disabled=${e=>0===e.activeGroups.length||e.isInterpreting}@click=${e=>e.clearChips()}><${e}-icon name="trash-alt" size="sm"></${e}-icon></${e}-button>${_e(e=>e.speechAvailable,W`<${e}-button class="mic-button" appearance="${e=>e.isRecording?"accent":"outline"}" ?disabled=${e=>e.disabled||e.isInterpreting}@click=${e=>e.toggleSpeechInput()}title=${e=>e.isRecording?"Stop recording":"Start voice input"}><${e}-icon class="mic-icon" name="microphone" size="lg" variant="solid"></${e}-icon></${e}-button>`)}</div></div>`)} `)(oM(e))} `,EM={contains:dM.containsIgnoreCase,equals:dM.EQ,startsWith:dM.startsWith,endsWith:dM.endsWith,greaterThan:dM.GT,lessThan:dM.LT,greaterThanOrEqual:dM.GE,lessThanOrEqual:dM.LE,notEqual:dM.NE,dateIsToday:dM.dateIsToday,dateIsAfter:dM.dateIsGreaterEqual,dateIsGreaterEqual:dM.dateIsGreaterEqual,dateIsBefore:dM.dateIsLessEqual,dateIsLessEqual:dM.dateIsLessEqual,dateIsEqual:dM.dateIsEqual,dateTimeIsAfter:dM.dateTimeIsGreaterEqual,dateTimeIsGreaterEqual:dM.dateTimeIsGreaterEqual,dateTimeIsBefore:dM.dateTimeIsLessEqual,dateTimeIsLessEqual:dM.dateTimeIsLessEqual};function NM(e){var t,i;const c=null!==(t=EM[e.operator])&&void 0!==t?t:dM.containsIgnoreCase;return(new pM).withField(e.field).withValue(null!==(i=e.value)&&void 0!==i?i:null).withSerialiser(c).withGroup("default").build()}function AM(e,t){return 1===e.length?e[0]:e.reduce((e,i,c)=>0===c?[i]:[...e,t,i],[])}function OM(e){var t;const i=new fM;let c=!1;for(const o of e){if(!(null===(t=o.clauses)||void 0===t?void 0:t.length))continue;const e=o.clauses.map(NM),s="or"===o.logic?aM.Or():aM.And(),n=AM(e,s),a=e.length>1?{join:s}:{};o.negated?i.And([aM.Not(),n]):i.And(1===e.length?e[0]:e,a),c=!0}return c?i.build():""}const TM=["contains","equals","startsWith","endsWith","notEqual"],RM=["equals","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","notEqual"],IM=["dateIsToday","dateIsAfter","dateIsBefore","dateIsEqual","dateIsGreaterEqual","dateIsLessEqual"],DM=["dateTimeIsAfter","dateTimeIsBefore","dateTimeIsGreaterEqual","dateTimeIsLessEqual"],FM={contains:"contains",equals:"=",startsWith:"starts with",endsWith:"ends with",notEqual:"≠",greaterThan:">",lessThan:"<",greaterThanOrEqual:"≥",lessThanOrEqual:"≤",dateIsToday:"is today",dateIsAfter:"after",dateIsBefore:"before",dateIsEqual:"=",dateIsGreaterEqual:"≥",dateIsLessEqual:"≤",dateTimeIsAfter:"after",dateTimeIsBefore:"before",dateTimeIsGreaterEqual:"≥",dateTimeIsLessEqual:"≤"},HM=new Set(["DATE","LOCALDATE"]),_M=new Set(["DATETIME","NANO_TIMESTAMP","LOCALDATETIME","TIMESTAMP"]),PM=new Set(["INT","INTEGER","LONG","SHORT","DOUBLE","BIGDECIMAL","DECIMAL"]);function VM(e){return(e||"").toUpperCase().trim().split("(")[0].trim()}function BM(e){const t=VM(e);return HM.has(t)?IM:_M.has(t)?DM:PM.has(t)?RM:TM}function UM(e){return PM.has(VM(e))}function jM(e){return null!=e&&("number"==typeof e?!Number.isNaN(e)&&e>0:"string"==typeof e&&(/^\d{8}$/.test(e)||/^\d{4}-\d{2}-\d{2}$/.test(e)||/^\d{8}-\d{2}:\d{2}(:\d{2})?$/.test(e)))}function qM(e){return null!=e&&("number"==typeof e?!Number.isNaN(e):"string"==typeof e&&!Number.isNaN(Number(e)))}function GM(e,t){const i=[],c=[],o=new Map;if(Array.isArray(t)&&t.length>0){"string"==typeof t[0]?t.forEach(e=>o.set(e,void 0)):t.forEach(e=>o.set(e.NAME,e))}for(const t of e){const{field:e,operator:s,value:n}=t;if(!e||"string"!=typeof e){c.push({field:String(e),message:"Field name is required"});continue}const a=o.get(e),r=a&&"TYPE"in a?a.TYPE:"STRING";BM(r).includes(s)?!IM.includes(s)&&!DM.includes(s)||"dateIsToday"===s||jM(n)?UM(r)&&RM.includes(s)&&!qM(n)?c.push({field:e,operator:s,value:n,message:"Invalid numeric value"}):o.size>0&&!o.has(e)?c.push({field:e,operator:s,value:n,message:`Unknown field '${e}'`}):i.push(t):c.push({field:e,operator:s,value:n,message:"Invalid date/datetime value; use yyyyMMdd, yyyy-MM-dd, or epoch"}):c.push({field:e,operator:s,value:n,message:`Operator '${s}' is not allowed for field type ${r}`})}return{valid:i,invalid:c}}const WM=_m("foundation-notifications");let YM=null;const KM=new Map,ZM=e=>{var t,i;return`${null!==(t=null==e?void 0:e.title)&&void 0!==t?t:"Error"}: ${null!==(i=null==e?void 0:e.body)&&void 0!==i?i:"Something went wrong"}`},QM=e=>{var t;return(null==e?void 0:e.logLevel)||(null===(t=null==e?void 0:e.config)||void 0===t?void 0:t.logLevel)||Mm.debug},XM=e=>{WM.log({message:ZM(e),level:QM(e)})},JM=(e,t)=>{let i=document.querySelector(`#${e}`);if(!i)if(KM.has(e))i=KM.get(e);else{const t=Jm(document).find(t=>t.id===e);t&&(i=t,KM.set(e,t))}if(!i){i=document.createElement("div"),i.setAttribute("id",e),i.style.zIndex="9999";const{element:t,prefix:c}=eg(document.body,"rapid");if(t)t.appendChild(i),YM=t;else if(YM)YM.appendChild(i);else{const e=document.createElement(`${c}-design-system-provider`);e.appendChild(i),document.body.appendChild(e),YM=e}}return i},ew=()=>{const e=document.createElement("div");return e.setAttribute("id","banner-anchor"),e.style.position="relative",document.body.insertBefore(e,document.body.firstChild),e};const tw=(e,t,i)=>{var c,o,s,n,a,r,l,d,h,u,f,p,m,g,v,b,y,z,C;XM(e);const x=t.split("-")[0],L=(null===(o=null===(c=null==e?void 0:e.config)||void 0===c?void 0:c.toast)||void 0===o?void 0:o.position)||"top-right",M=null!==(s=null!=i?i:(e=>Jm(document.body).find(t=>"notify-container"===t.tagName.toLowerCase()&&t.position===e))(L))&&void 0!==s?s:JM("notify-container");M&&"notify-container"!==M.tagName.toLowerCase()&&function(e,t){var i,c;switch(t.style.position="fixed",null===(c=null===(i=null==e?void 0:e.config)||void 0===i?void 0:i.toast)||void 0===c?void 0:c.position){case"top-left":t.style.top="var(--nav-height, 0)",t.style.left="0";break;case"bottom-left":t.style.bottom="0",t.style.left="0";break;case"bottom-right":t.style.bottom="0",t.style.right="0";break;default:t.style.top="var(--nav-height, 0)",t.style.right="0"}}(e,M);const w=document.createElement(`${x}-toast`),S=document.createElement("div");S.setAttribute("slot","top"),S.textContent=e.title;const k=document.createElement("div");k.setAttribute("slot","content"),k.textContent=(null==e?void 0:e.body)||"";const $=document.createElement("div");let E;$.setAttribute("slot","date"),$.textContent=(null===(n=null==e?void 0:e.createdAt)||void 0===n?void 0:n.toLocaleTimeString())||"",(null===(r=null===(a=null==e?void 0:e.config)||void 0===a?void 0:a.toast)||void 0===r?void 0:r.buttons)&&(null===(h=null===(d=null===(l=null==e?void 0:e.config)||void 0===l?void 0:l.toast)||void 0===d?void 0:d.buttons)||void 0===h?void 0:h.length)&&(E=document.createElement("div"),E.setAttribute("slot","bottom"),e.config.toast.buttons.forEach(t=>{const i=document.createElement(`${x}-button`);i.textContent=t.placeholder||"example placeholder",i.addEventListener("click",()=>{const{details:c}=e.config.toast;if(t.action)return t.action({details:c,buttonElement:i,toastElement:w})}),t.appearance&&i.setAttribute("appearance",t.appearance),E.appendChild(i)})),w.setAttribute("notify",(null===(f=null===(u=null==e?void 0:e.config)||void 0===u?void 0:u.toast)||void 0===f?void 0:f.type)||""),e.iconName&&w.setAttribute("notification-icon",e.iconName),(null===(m=null===(p=null==e?void 0:e.config)||void 0===p?void 0:p.toast)||void 0===m?void 0:m.autoClose)&&w.setAttribute("auto-close",`${null===(v=null===(g=null==e?void 0:e.config)||void 0===g?void 0:g.toast)||void 0===v?void 0:v.autoClose}`),(null===(y=null===(b=null==e?void 0:e.config)||void 0===b?void 0:b.toast)||void 0===y?void 0:y.closeTimeout)&&w.setAttribute("close-timeout",`${null===(C=null===(z=null==e?void 0:e.config)||void 0===z?void 0:z.toast)||void 0===C?void 0:C.closeTimeout}`),w.appendChild(S),w.appendChild(k),w.appendChild($),E&&w.appendChild(E),M.prepend(w)},iw=(e,t,i)=>{if(!e.title)throw new Error("Title is required");if(!e.body)throw new Error("Missing required param 'body'");let c={title:e.title,body:e.body,iconName:e.iconName},o={};e.createdAt&&(c=Object.assign({createdAt:e.createdAt},c)),null!=e.logLevel&&(c=Object.assign({logLevel:e.logLevel},c)),e.toast&&(o=Object.assign({toast:e.toast},o),c=Object.assign({config:o},c)),tw(c,t,i)},cw=xe` :host{position: fixed;z-index: 9999;display: flex;flex-direction: column;gap: 4px;box-sizing: border-box;pointer-events: none;/* Allow clicks to pass through empty space */ width: 415px}.toast-container{padding: 0 8px 12px 12px;position: relative}/* Expanded / List State: Allow scrolling if too many items */ :host(:not([stack-collapsed])){max-height: calc(100% - var(--nav-height));overflow: hidden;pointer-events: auto;/* Enable pointer events for scrolling */ slot{display: block;height: calc(100vh - var(--nav-height) - 54px);position: relative}.toast-container{flex: 1;height: 100%;overflow-y: auto;overflow-x: hidden;scrollbar-color: var(--neutral-layer-3) transparent;&:hover{scrollbar-color: var(--neutral-layer-4) transparent}}}.header{display: flex;gap: 12px;pointer-events: none;margin: 5px 24px;justify-content: space-between;visibility: hidden;align-items: center;box-sizing: border-box;.header-title{text-shadow: 0 0 10px #000}.notification-header-buttons{display: flex;gap: 4px;rapid-icon{color: var(--neutral-foreground-hint);margin-left: 4px;display: inline-flex;font-size: 14px;&.chevron-up.collapse{transform: rotate(180deg);transition: transform 0.3s ease}}}--base-height-multiplier: 8;*[appearance='neutral']{font-size: 11px;cursor: pointer;background: var(--neutral-fill-rest)}}.header.visible{visibility: visible;pointer-events: auto;/* Enable clicks on header buttons */}:host([position$='left']) .header{justify-content: space-between}:host([position^='bottom']) .header{margin-bottom: 0;margin-top: 4px}/* Ensure children (toasts) are clickable */ ::slotted(*){pointer-events: auto}:host([position='top-right']){top: var(--nav-height, 0);right: 0}:host([position='top-left']){top: var(--nav-height, 0);left: 0}:host([position='bottom-right']){bottom: 0;right: 0;flex-direction: column-reverse}:host([position='bottom-left']){bottom: 0;left: 0;flex-direction: column-reverse}/* Stacked / Collapsed State */ :host([stack-collapsed]){height: min-content;/* Host allows pointer events so they can reach the slot */ pointer-events: auto;cursor: pointer}/* Apply the grid layout to the slot itself so it acts as the container and click target */ :host([stack-collapsed]) slot{display: grid;grid-template-columns: auto;grid-template-rows: auto;align-items: end;/* Default to bottom-up stacking */ justify-items: center;/* The slot catches the click */ pointer-events: auto}/* Rotate when the collapse class is present */ :host([stack-collapsed][position^='top']) slot{align-items: start}:host([stack-collapsed][position$='right']) slot{justify-items: end}:host([stack-collapsed][position$='left']) slot{justify-items: start}:host([stack-collapsed]) ::slotted(*){grid-area: 1 / 1;transition: transform 0.3s ease, top 0.3s ease, opacity 0.3s ease;opacity: 0%;pointer-events: none !important;/* Disable interaction with toasts in collapsed state */ transform: scale(0.9);top: 0 !important}/* Show and offset the top 3 items in the stack */ :host([stack-collapsed]) ::slotted([data-stack-index='0']){opacity: 100%;pointer-events: auto;transform: translateY(0) scale(1);z-index: 3;position: relative !important}:host([stack-collapsed]) ::slotted([data-stack-index='1']){opacity: 100%;transform: translateY(var(--stack-offset-y, 8px)) scale(0.95);z-index: 2;position: relative !important}:host([stack-collapsed]) ::slotted([data-stack-index='2']){opacity: 100%;transform: translateY(var(--stack-offset-y-2, 16px)) scale(0.9);z-index: 1;position: relative !important}/* Adjust offset direction based on position */ :host([stack-collapsed][position^='top']){--stack-offset-y: 8px;--stack-offset-y-2: 16px}:host([stack-collapsed][position^='bottom']){--stack-offset-y: -8px;--stack-offset-y-2: -16px}`,ow=W` ${_e(e=>e.allowCloseAll||e.allowManualCollapse,W` ${e=>(e=>W`<div class="header ${e=>Jt(["visible",e.slottedNodes.length>1])}">${_e(e=>e.showCount,W`<span class="header-title">${e=>e.slottedNodes.length}Notifications</span>`)}<div class="notification-header-buttons">${_e(e=>e.allowManualCollapse,W`<${e}-button @click=${e=>e.handleToggleCollapse()}>${e=>e.stackCollapsed?"Expand":"Collapse"}<${e}-icon class="chevron-up ${e=>Jt(["collapse",e.stackCollapsed])}" name="chevron-up"></${e}-icon></${e}-button>`)} ${_e(e=>e.allowCloseAll,W`<${e}-button @click=${e=>e.handleCloseAll()}>
|
|
60
60
|
Close All <${e}-icon name="xmark"></${e}-icon></${e}-button>`)}</div></div>`)(e.designSystemPrefix)} `)}<div class="toast-container"><slot ${Ke("slottedNodes")}@click="${e=>e.handleContainerClick()}"></slot></div>`;let sw=class extends be{constructor(){super(...arguments),this.position="top-right",this.stackThreshold=5,this.allowManualCollapse=!0,this.allowCloseAll=!0,this.designSystemPrefix="rapid",this.showCount=!0,this.stackCollapsed=!1,this.notificationInterval=0,this.manuallyExpanded=!1,this.pendingQueue=[],this.queueTimer=null,this.queuedNodes=new Set,this.mutationObserver=null,this.knownNodes=new Set,this.peekingNode=null,this.peekTimer=null,this.routeSubscriber={handleChange:()=>this.checkRoute(Wg.shared.pathName)},this.slottedNodes=[]}connectedCallback(){super.connectedCallback(),"bottom-left"!==this.position&&"bottom-right"!==this.position||WM.error("NotifyContainer doesn't currently support bottom corner placements"),m.getNotifier(Wg.shared).subscribe(this.routeSubscriber,"pathName"),this.checkRoute(Wg.shared.pathName),this.mutationObserver=new MutationObserver(e=>this.handleMutation(e)),this.mutationObserver.observe(this,{childList:!0})}disconnectedCallback(){var e;super.disconnectedCallback(),m.getNotifier(Wg.shared).unsubscribe(this.routeSubscriber,"pathName"),null===(e=this.mutationObserver)||void 0===e||e.disconnect(),this.mutationObserver=null}checkRoute(e){(e.includes("/login")||e.includes("/logout"))&&(this.pendingQueue=[],this.queuedNodes.clear(),clearTimeout(this.queueTimer),this.queueTimer=null,this.handleCloseAll())}slottedNodesChanged(){if(!this.manuallyExpanded&&!this.stackCollapsed&&this.slottedNodes.length>this.stackThreshold&&(this.stackCollapsed=!0),this.stackCollapsed&&this.slottedNodes.length<=1&&(this.stackCollapsed=!1,this.manuallyExpanded=!1,this.cancelPeek()),this.stackCollapsed){const e=this.slottedNodes.filter(e=>e instanceof HTMLElement&&!this.knownNodes.has(e)).shift();e&&this.maybePeek(e)}this.knownNodes=new Set(this.slottedNodes),this.applySort()}handleContainerClick(){this.stackCollapsed&&(this.stackCollapsed=!1,this.manuallyExpanded=!0,this.cancelPeek())}handleToggleCollapse(){this.stackCollapsed=!this.stackCollapsed,this.manuallyExpanded=!this.stackCollapsed,this.stackCollapsed||this.cancelPeek()}handleCloseAll(){for(this.cancelPeek();this.firstChild;)this.removeChild(this.firstChild);this.stackCollapsed=!1,this.manuallyExpanded=!1}notificationIntervalChanged(e,t){!t&&this.pendingQueue&&this.flushQueue()}handleMutation(e){this.notificationInterval&&(e.forEach(e=>{e.addedNodes.forEach(e=>{e instanceof HTMLElement&&(this.queuedNodes.has(e)?this.queuedNodes.delete(e):(this.removeChild(e),this.pendingQueue.push(e)))})}),this.queueTimer||this.processQueue())}processQueue(){if(!this.pendingQueue.length)return void(this.queueTimer=null);const e=this.pendingQueue.shift();this.queuedNodes.add(e),this.prepend(e),this.queueTimer=setTimeout(()=>{this.queueTimer=null,this.processQueue()},this.notificationInterval)}flushQueue(){for(clearTimeout(this.queueTimer),this.queueTimer=null;this.pendingQueue.length;){const e=this.pendingQueue.shift();this.queuedNodes.add(e),this.prepend(e)}}sortFnChanged(){this.applySort()}applySort(){const e=this.slottedNodes.filter(e=>e instanceof HTMLElement);if(!e.length)return;const t=this.sortFn&&e.length>1?[...e].sort(this.sortFn):e;this.peekingNode&&t.includes(this.peekingNode)?this.handlePosition([this.peekingNode,...t.filter(e=>e!==this.peekingNode)]):this.handlePosition(t)}maybePeek(e){const t=this.slottedNodes.filter(e=>e instanceof HTMLElement);if(0===(this.sortFn&&t.length>1?[...t].sort(this.sortFn):t).indexOf(e))return;this.cancelPeek(),this.peekingNode=e;const i=this.notificationInterval?this.notificationInterval/2:1500;this.peekTimer=setTimeout(()=>{this.peekingNode=null,this.peekTimer=null,this.applySort()},i)}cancelPeek(){clearTimeout(this.peekTimer),this.peekTimer=null,this.peekingNode=null}handlePosition(e){if(!e.length)return;e.forEach((t,i)=>{t.style.position="absolute",t.style.transition="all 0.3s ease-in",t.style.right="0px",t.style.zIndex=(e.length-i).toString(),t.dataset.stackIndex=i.toString()});const t=e.map(e=>e.offsetHeight);e.reduce((e,i,c)=>(i.style.top=`${e}px`,e+t[c]),0)}};Nu([re],sw.prototype,"position",void 0),Nu([re({attribute:"stack-threshold"})],sw.prototype,"stackThreshold",void 0),Nu([re({attribute:"allow-manual-collapse",mode:"boolean"})],sw.prototype,"allowManualCollapse",void 0),Nu([re({attribute:"allow-close-all",mode:"boolean"})],sw.prototype,"allowCloseAll",void 0),Nu([re({attribute:"design-system-prefix"})],sw.prototype,"designSystemPrefix",void 0),Nu([re({attribute:"show-count",mode:"boolean"})],sw.prototype,"showCount",void 0),Nu([re({attribute:"stack-collapsed",mode:"boolean"})],sw.prototype,"stackCollapsed",void 0),Nu([re({attribute:"notification-interval"})],sw.prototype,"notificationInterval",void 0),Nu([g],sw.prototype,"sortFn",void 0),Nu([g],sw.prototype,"slottedNodes",void 0),sw=Nu([ye({name:"notify-container",template:ow,styles:cw})],sw);const nw={alert:e=>{XM(e),alert(ZM(e))},toast:tw,dialog:(e,t,i)=>{XM(e);const c=t.split("-")[0],o=document.createElement(`${c}-dialog`),s=i?(e=>{let t=e.querySelector("#dialog-container");return t||(t=document.createElement("div"),t.setAttribute("id","dialog-container"),t.style.position="relative",e.appendChild(t)),t})(i):JM("dialog-container");s.appendChild(o),o.notification=e,o.show()},snackbar:(e,t)=>{XM(e);const i=t.split("-")[0],c=document.createElement(`${i}-snackbar`),o=JM("snack-container");o&&(o.style.position="fixed",o.style.bottom="0",o.style.left="0"),o.appendChild(c),c.notification=e},banner:(e,t,i)=>{var c;XM(e);const o=t.split("-")[0],s=document.createElement(`${o}-banner`),n=(e=>{for(var t,i;e&&!(e instanceof ShadowRoot);){const c=null===(t=null==e?void 0:e.getRootNode())||void 0===t?void 0:t.getElementById("banner-anchor");if(c)return c.style.position="relative",c;e=null===(i=null==e?void 0:e.getRootNode())||void 0===i?void 0:i.host}return ew()})(i);(null===(c=null==n?void 0:n.children)||void 0===c?void 0:c.length)>0&&(s.style.position="absolute",s.style.top="0",s.style.left="0",s.style.width="100%"),n.appendChild(s),s.notification=e}},aw=(e,t,i)=>{Object.keys((null==e?void 0:e.config)||{}).forEach(c=>{nw[c]&&nw[c](e,t,i)})};var rw;!function(e){e.NOTIFICATION_EVENT="notification-event"}(rw||(rw={}));function lw(e,t,i){(null==t?void 0:t.trim())&&aw({title:e,body:t,config:{toast:{autoClose:!0,closeTimeout:4e3,type:"error"}}},i)}class dw extends qt{constructor(){super(...arguments),this.placeholder="Describe your search criteria in natural language...",this.inputValue="",this.isInterpreting=!1,this.lastValidCriteria=null,this.activeGroups=[],this.showingChips=!1,this.fieldMetadata=[],this.isRecording=!1,this.stopRecording=null,this.speechApplyDebounceTimer=null}get speechAvailable(){return LM()}get criteriaChips(){return this.activeGroups.flatMap((e,t)=>e.clauses.map((e,i)=>{var c,o;return{groupIndex:t,clauseIndex:i,fieldLabel:this.getFieldLabel(e.field),operatorLabel:null!==(c=FM[e.operator])&&void 0!==c?c:e.operator,valueLabel:"dateIsToday"===e.operator?"":String(null!==(o=e.value)&&void 0!==o?o:"")}}))}getFieldLabel(e){var t,i;if(!Array.isArray(this.fieldMetadata)||0===this.fieldMetadata.length)return e;if("string"==typeof this.fieldMetadata[0])return e;const c=this.fieldMetadata.find(t=>t.NAME===e);return null!==(i=null!==(t=null==c?void 0:c.UI_LABEL)&&void 0!==t?t:null==c?void 0:c.NAME)&&void 0!==i?i:e}toggleCriteriaView(){this.showingChips?(this.inputValue="",this.showingChips=!1):this.showingChips=!0}removeChip(e,t){var i;const c=this.activeGroups.map(e=>Object.assign(Object.assign({},e),{clauses:[...e.clauses]}));null===(i=c[e])||void 0===i||i.clauses.splice(t,1);const o=c.filter(e=>e.clauses.length>0);if(this.activeGroups=o,0===o.length)this.showingChips=!1,this.lastValidCriteria=null,this.$emit("criteria-changed",null);else{const e=OM(o);this.lastValidCriteria=e,this.$emit("criteria-changed",e)}}clearChips(){this.activeGroups=[],this.showingChips=!1,this.lastValidCriteria=null,this.$emit("criteria-changed",null)}handleSubmit(){return Ou(this,void 0,void 0,function*(){var e,t,i;const c=null===(e=this.inputValue)||void 0===e?void 0:e.trim();if(!c||this.isInterpreting)return;const o=null===(t=this.providerRegistry)||void 0===t?void 0:t.default();if(null==o?void 0:o.interpretCriteria){this.isInterpreting=!0;try{const e=Array.isArray(this.fieldMetadata)?this.fieldMetadata:[],t=yield o.interpretCriteria(c,{fields:e});if(!(null===(i=null==t?void 0:t.groups)||void 0===i?void 0:i.some(e=>{var t;return null===(t=e.clauses)||void 0===t?void 0:t.length})))return lw("AI criteria search","AI could not interpret the criteria",oM(this)),void(this.isInterpreting=!1);const{valid:n,invalid:a}=function(e,t){var i;const c=[],o=[];for(const s of e){if(!(null==s?void 0:s.clauses)||!Array.isArray(s.clauses)){o.push({field:"",message:"Group must have a clauses array"});continue}const{valid:e,invalid:n}=GM(s.clauses,t);o.push(...n),e.length>0&&c.push({logic:null!==(i=s.logic)&&void 0!==i?i:"and",negated:s.negated,clauses:e})}return{valid:c,invalid:o}}(t.groups,this.fieldMetadata);if(a.length>0&&(lw("Criteria validation error",0===(s=a).length?"":1===s.length?s[0].message:s.map(e=>e.message).join("; "),oM(this)),this.$emit("validation-errors",a)),n.length>0){const e=[...this.activeGroups,...n],t=OM(e);this.lastValidCriteria=t,this.activeGroups=e,this.inputValue="",this.showingChips=!0,this.$emit("criteria-changed",t)}}catch(e){lw("AI criteria search",e instanceof Error?e.message:"Interpretation failed",oM(this))}finally{this.isInterpreting=!1}var s}else lw("AI criteria search","AI provider not configured",oM(this))})}handleBlur(){var e;if(this.isRecording)return;(null===(e=this.inputValue)||void 0===e?void 0:e.trim())?this.handleSubmit():this.activeGroups.length>0&&(this.showingChips=!0)}clear(){this.inputValue="",this.lastValidCriteria=null,this.activeGroups=[],this.showingChips=!1,this.$emit("criteria-changed",null)}toggleSpeechInput(){if(this.isRecording&&this.stopRecording)return this.clearSpeechApplyDebounce(),this.stopRecording(),this.stopRecording=null,void(this.isRecording=!1);this.inputValue="",this.showingChips=!1,this.stopRecording=function(e,t){if(!LM())return null;const i=new(window.SpeechRecognition||window.webkitSpeechRecognition);i.continuous=!0,i.interimResults=!0,i.lang="en-US";let c="";return i.onresult=t=>{let i="",o="";for(let e=t.resultIndex;e<t.results.length;e+=1){const c=t.results[e][0].transcript;t.results[e].isFinal?o+=c:i+=c}o?(c+=o,e(c,!0)):i&&e(c+i,!1)},i.onerror=e=>{"aborted"!==e.error&&(null==t||t(e.error||"Speech recognition error"))},i.start(),()=>{try{i.stop()}catch(e){}}}((e,t)=>{this.inputValue=e,t&&(null==e?void 0:e.trim())&&(this.clearSpeechApplyDebounce(),this.stopRecording&&(this.stopRecording(),this.stopRecording=null,this.isRecording=!1),this.speechApplyDebounceTimer=setTimeout(()=>{this.speechApplyDebounceTimer=null,this.handleSubmit()},700))},()=>{this.clearSpeechApplyDebounce(),this.isRecording=!1,this.stopRecording=null}),this.stopRecording&&(this.isRecording=!0)}clearSpeechApplyDebounce(){this.speechApplyDebounceTimer&&(clearTimeout(this.speechApplyDebounceTimer),this.speechApplyDebounceTimer=null)}}Nu([SM],dw.prototype,"providerRegistry",void 0),Nu([re],dw.prototype,"placeholder",void 0),Nu([re({mode:"boolean"})],dw.prototype,"disabled",void 0),Nu([g],dw.prototype,"inputValue",void 0),Nu([g],dw.prototype,"isInterpreting",void 0),Nu([g],dw.prototype,"lastValidCriteria",void 0),Nu([g],dw.prototype,"activeGroups",void 0),Nu([g],dw.prototype,"showingChips",void 0),Nu([g],dw.prototype,"fieldMetadata",void 0),Nu([g],dw.prototype,"isRecording",void 0),Nu([v],dw.prototype,"speechAvailable",null),Nu([v],dw.prototype,"criteriaChips",null);const hw=void 0,uw={};dw.compose(Object.assign({baseName:"ai-criteria-search",template:$M,styles:kM,shadowOptions:hw},uw));const fw=(e,t)=>xe` :host{display: flex;justify-content: center;align-items: center;width: 100%;margin: calc(var(--design-unit) * 2px) 0;position: relative;/* Same as connection indicator */ --green: 50 164 49;--trafic-light-green: rgb(var(--green));--red: 187 30 16;--trafic-light-red: rgb(var(--red));--amber: 230 160 20;--trafic-light-amber: rgb(var(--amber))}.ai-indicator-container{display: flex;flex-direction: column;align-items: center;position: relative}.ai-indicator-badge{display: inline-flex;align-items: center;gap: calc(var(--design-unit) * 1.4px);font-size: 12px;line-height: 1;font-weight: 600;text-transform: uppercase;height: calc(var(--design-unit) * 6px);padding: calc(var(--design-unit) * 0.5px) calc(var(--design-unit) * 2px);border-radius: calc(var(--design-unit) * 1px);cursor: pointer;color: #fff}.ai-indicator-badge:hover{opacity: 90%}.ai-indicator-badge.green{background: var(--trafic-light-green)}.ai-indicator-badge.amber{background: var(--trafic-light-amber)}.ai-indicator-badge.red{background: var(--trafic-light-red)}.ai-indicator-badge .ai-indicator-icon{flex-shrink: 0;color: inherit}.ai-indicator-badge.pulsing{animation: ai-indicator-pulse 1.5s ease-in-out infinite}@keyframes ai-indicator-pulse{0%, 100%{opacity: 100%}50%{opacity: 50%}}.ai-indicator-dropdown{position: absolute;top: 100%;right: 0;margin-top: calc(var(--design-unit) * 2px);min-width: 200px;padding: calc(var(--design-unit) * 4px);background: var(--neutral-layer-floating, #fff);border: 1px solid var(--neutral-stroke-rest, #e0e0e0);border-radius: calc(var(--design-unit) * 2px);box-shadow: 0 calc(var(--design-unit) * 1px) calc(var(--design-unit) * 4px) rgb(0 0 0 / 12%);z-index: 1000}.ai-indicator-info{display: flex;flex-direction: column;gap: 0;margin: 0;padding: 0}.ai-indicator-info .info-row{display: grid;grid-template-columns: 72px 1fr;gap: calc(var(--design-unit) * 4px);align-items: baseline;padding: calc(var(--design-unit) * 1.5px) 0;border-bottom: 1px solid var(--neutral-stroke-subtle, #eee)}.ai-indicator-info .info-row:last-child{border-bottom: none}.ai-indicator-info .info-label{margin: 0;font-size: var(--type-ramp-base-font-size);font-weight: 500;color: var(--neutral-foreground-hint, #666)}.ai-indicator-info .info-value{margin: 0;font-size: var(--type-ramp-base-font-size);color: var(--neutral-foreground-rest, #333);text-transform: capitalize;word-break: break-word}.install-button{margin-top: calc(var(--design-unit) * 3px);width: 100%}`,pw=W` ${e=>(e=>W` ${_e(()=>xM(),W`<div class="ai-indicator-container" part="ai-indicator-container"><div class=${e=>Jt("ai-indicator-badge",["green","available"===e.state||"server"===e.state],["amber","downloading"===e.state||"downloadable"===e.state],["red","unavailable"===e.state||"none"===e.state],["pulsing","downloading"===e.state||e.isInstalling])}data-test-id="ai-indicator-badge" part="ai-indicator-badge" role="button" tabindex="0" aria-label="AI status" aria-haspopup="true" aria-expanded="${e=>e.open}" @click=${e=>e.toggleDropdown()}@keydown=${(e,t)=>{const i=t.event;"Enter"!==i.key&&" "!==i.key||(i.preventDefault(),e.toggleDropdown())}}><${e}-icon class="ai-indicator-icon" name="wand-magic-sparkles" size="xs" variant="solid" part="ai-indicator-icon"></${e}-icon><span class="ai-indicator-text" data-test-id="ai-indicator-text" part="ai-indicator-text">AI</span></div>${_e(e=>e.open,W`<div class="ai-indicator-dropdown" part="ai-indicator-dropdown"><dl class="ai-indicator-info"><div class="info-row"><dt class="info-label">Provider</dt><dd class="info-value">${e=>{var t,i;return null!==(i=null===(t=e.status)||void 0===t?void 0:t.provider)&&void 0!==i?i:"none"}}</dd></div><div class="info-row"><dt class="info-label">Model</dt><dd class="info-value">${e=>{var t;return(null===(t=e.status)||void 0===t?void 0:t.model)||"—"}}</dd></div>${_e(e=>e.chromeStatusLabel,W`<div class="info-row"><dt class="info-label">Status</dt><dd class="info-value">${e=>e.chromeStatusLabel}</dd></div>`)}</dl>${_e(e=>e.canInstall,W`<${e}-button class="install-button" appearance="accent" @click=${(e,t)=>{t.event.preventDefault(),e.onInstall()}}>
|