@openremote/core 1.8.0-snapshot.20250818141417 → 1.8.0-snapshot.20250818162953
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/umd/index.bundle.js +1 -1
- package/dist/umd/index.bundle.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/index.orbundle.js +5 -5
- package/dist/umd/index.orbundle.js.map +1 -1
- package/lib/console.js +1 -1
- package/lib/index.js +1 -1
- package/lib/util.d.ts +0 -2
- package/lib/util.js +1 -1
- package/lib/util.js.map +1 -1
- package/package.json +6 -5
package/lib/console.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,i,r,s){return new(r||(r=Promise))(function(t,o){function n(e){try{d(s.next(e))}catch(e){o(e)}}function a(e){try{d(s.throw(e))}catch(e){o(e)}}function d(e){var i;e.done?t(e.value):((i=e.value)instanceof r?i:new r(function(e){e(i)})).then(n,a)}d((s=s.apply(e,i||[])).next())})};import e from"./index";import{Deferred as i}from"./util";let platform=require("platform");export class Console{constructor(i,r,s){this._autoEnable=!1,this._initialised=!1,this._initialiseInProgress=!1,this._pendingProviderPromises={},this._providerMessageListeners={},this._pendingProviderEnables=[],this._registrationTimer=null,this._realm=i,this._autoEnable=r,this._enableCompleteCallback=s,window.OpenRemoteConsole=this;let t=new URLSearchParams(window.location.search),o=t.get("consoleName"),n=t.get("consoleVersion"),a=t.get("consolePlatform"),d=t.get("consoleProviders"),l=t.get("consoleAutoEnable"),p=d&&d.length>0?d.split(" "):["push"];this._pendingProviderEnables=p;let h=Console._createConsoleRegistration(),g=window.localStorage.getItem("OpenRemoteConsole:"+i);if(g)try{let e=JSON.parse(g);e.id&&(h.id=e.id),e.name&&(h.name=e.name),e.providers&&(h.providers=e.providers),e.apps&&(h.apps=e.apps)}catch(e){console.error("Failed to deserialise console registration")}let v=h.providers;for(let e of(h.providers={},p)){let i=v&&v.hasOwnProperty(e)?v[e]:{enabled:!1,disabled:!1};h.providers[e]=i}let c=e.getAppName();c.length>0&&0>h.apps.indexOf(c)&&h.apps.push(c),this._registration=h,o&&(h.name=o),n&&(h.version=n),a&&(h.platform=a),l&&(this._autoEnable="TRUE"===l||"true"===l)}get registration(){return this._registration}get autoEnable(){return this._autoEnable}get pendingProviderEnables(){return this._pendingProviderEnables.slice(0)}get shellApple(){let e=navigator.userAgentData&&navigator.userAgentData.platform?navigator.userAgentData.platform:navigator.platform;return e&&("iP"===e.substring(0,2)||"Mac"===e.substring(0,3))&&window.webkit&&window.webkit.messageHandlers}get shellAndroid(){return!!window.MobileInterface}get isMobile(){return this.shellApple||this.shellAndroid}initialise(){return __awaiter(this,void 0,void 0,function*(){if(!this._initialised&&!this._initialiseInProgress){console.debug("Console: initialising"),this._initialiseInProgress=!0;try{if(this._registration.providers)for(let e of Object.keys(this._registration.providers))yield this._initialiseProvider(e);this._registration.id||(yield this.sendRegistration(0)),this._initialised=!0,this._initialiseInProgress=!1,0===this._pendingProviderEnables.length?(yield this.sendRegistration(),this._callCompletedCallback()):this._autoEnable&&(yield this.enableProviders())}catch(e){console.error(e)}finally{this._initialiseInProgress=!1}}})}enableProviders(){return __awaiter(this,void 0,void 0,function*(){if(!this._initialised)throw Error("Console must be initialised before enabling providers");for(let e=this._pendingProviderEnables.length-1;e>-1;e--){let i=this._pendingProviderEnables[e];yield this.enableProvider(i)}})}enableProvider(e,i){return __awaiter(this,void 0,void 0,function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),Error("Console must be initialised before enabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),Error("Invalid console provider '"+e+"'");console.debug("Console: enabling provider '"+e+"'");let r={provider:e,action:"PROVIDER_ENABLE",consoleId:this._registration.id,data:i},s=yield this.sendProviderMessage(r,!0);this._registration.providers[e].hasPermission=s.hasPermission,this._registration.providers[e].success=s.success,this._registration.providers[e].enabled=s.success,this._registration.providers[e].data=s.data;let t=this._pendingProviderEnables.indexOf(e);return t>=0&&(this._pendingProviderEnables.splice(t,1),0===this._pendingProviderEnables.length&&(this.sendRegistration(),this._callCompletedCallback())),s})}disableProvider(e){return __awaiter(this,void 0,void 0,function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),Error("Console must be initialised before disabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),Error("Invalid console provider '"+e+"'");console.debug("Console: disabling provider '"+e+"'");let i=yield this.sendProviderMessage({provider:e,action:"PROVIDER_DISABLE"},!0);return this._registration.providers[e].disabled=!0,this._registration.providers[e].enabled=!1,i})}getProvider(e){return this._registration&&this._registration.providers?this._registration.providers[e]:void 0}sendProviderMessage(e,r){return __awaiter(this,void 0,void 0,function*(){if("storage"!==e.provider&&!this._registration.providers.hasOwnProperty(e.provider))throw console.debug("Invalid console provider '"+e.provider+"'"),Error("Invalid console provider '"+e.provider+"'");if(!r)return void this._doSendProviderMessage(e);let s=e.provider+e.action;if(this._pendingProviderPromises[s])throw Error("Message already pending for provider '"+e.provider+"' with action '"+e.action+"'");let t=new i;return this._pendingProviderPromises[s]=[t,window.setTimeout(()=>{delete this._pendingProviderPromises[s],t.reject("No response from provider")},5e3)],this._doSendProviderMessage(e),t.promise})}sendRegistration(i){return this._registrationTimer&&(window.clearTimeout(this._registrationTimer),this._registrationTimer=null),console.debug("Sending registration in: "+(i=void 0!==i?i:2e3)+"ms"),new Promise((i,r)=>{this._registrationTimer=window.setTimeout(()=>{this._registrationTimer=null,console.debug("Console: updating registration");try{this._registration.name||(this._registration.name="Console"),this._registration.platform||(this._registration.platform="N/A"),this._registration.version||(this._registration.version="N/A"),this._registration.providers||(this._registration.providers={}),e.rest.api.ConsoleResource.register(this._registration).then(e=>{if(200!==e.status)throw Error("Failed to register console");this._registration=e.data,console.debug("Console: registration successful"),console.debug("Console: updating locally stored registration"),window.localStorage.setItem("OpenRemoteConsole:"+this._realm,JSON.stringify(this._registration)),i()})}catch(e){console.error("Failed to register console"),r("Failed to register console")}})})}storeData(e,i){this.sendProviderMessage({provider:"storage",action:"STORE",key:e,value:i},!1)}retrieveData(e){return __awaiter(this,void 0,void 0,function*(){let i=this.sendProviderMessage({provider:"storage",action:"RETRIEVE",key:e},!0);try{let e=yield Promise.race([i,new Promise((e,i)=>setTimeout(i,2e3))]);if(e&&e.value){let i=e.value;return"null"===i?void 0:i}}catch(e){console.log("Failed to retrieve data from storage provider")}})}addProviderMessageListener(e,i){this._providerMessageListeners[e.provider+e.action]=i}removeProviderMessageListener(e){delete this._providerMessageListeners[e.provider+e.action]}_postNativeShellMessage(e){try{if(this.shellAndroid)return window.MobileInterface.postMessage(JSON.stringify(e));if(this.shellApple)return window.webkit.messageHandlers.int.postMessage(e)}catch(e){console.error("Failed to send shell message towards console",e)}}_doSendGenericMessage(e,i){let r={type:e,data:i};this.isMobile?this._postNativeShellMessage(r):console.warn("Failed to send generic message to console.",r)}_doSendProviderMessage(e){if(this.isMobile)this._postNativeShellMessage({type:"provider",data:e});else{if(!e.provider||!e.action)return;switch(e.provider.trim().toUpperCase()){case"PUSH":switch(e.action.trim().toUpperCase()){case"PROVIDER_INIT":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_INIT",provider:"push",version:"web",enabled:!0,disabled:!1,hasPermission:!0,requiresPermission:!1,success:!0}));break;case"PROVIDER_ENABLE":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_ENABLE",provider:"push",hasPermission:!0,success:!0}));break;default:throw Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;case"STORAGE":switch(e.action){case"PROVIDER_INIT":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_INIT",provider:"storage",version:"1.0.0",disabled:!1,enabled:!0,hasPermission:!0,requiresPermission:!1,success:!0}));break;case"PROVIDER_ENABLE":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_ENABLE",provider:"storage",hasPermission:!0,success:!0}));break;case"STORE":{let i=e.key?e.key.trim():null;if(!i||0===i.length)throw Error("Storage provider 'store' action requires a `key`");null===e.value?window.localStorage.removeItem(i):window.localStorage.setItem(i,JSON.stringify(e.value))}break;case"RETRIEVE":{let i=e.key?e.key.trim():null;if(!i||0===i.length)throw Error("Storage provider 'retrieve' action requires a `key`");let r=window.localStorage.getItem(i);if(null!==r)try{r=JSON.parse(r)}catch(e){}this._handleProviderResponse(JSON.stringify({action:"RETRIEVE",provider:"storage",key:i,value:r}))}break;default:throw Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;default:console.error("Unsupported provider: "+e.provider)}}}_handleProviderResponse(e){if(!e)return;let i=JSON.parse(e),r=i.provider,s=i.action,t=this._pendingProviderPromises[r+s];t&&(window.clearTimeout(t[1]),delete this._pendingProviderPromises[r+s],t[0].resolve(i));let o=this._providerMessageListeners[r+s];o&&o(i)}_callCompletedCallback(){let e=this._enableCompleteCallback;this._enableCompleteCallback=null,e&&window.setTimeout(()=>{e()},0)}static _createConsoleRegistration(){return{name:platform.name,version:platform.version,platform:platform.os.toString(),apps:[],model:((platform.manufacturer?platform.manufacturer+" ":"")+(platform.product?platform.product:"")).trim()}}_initialiseProvider(e){return __awaiter(this,void 0,void 0,function*(){let i;console.debug("Console: initialising provider '"+e+"'");try{i=yield this.sendProviderMessage({provider:e,action:"PROVIDER_INIT"},!0),this._registration.providers[e].version=i.version,this._registration.providers[e].requiresPermission=i.requiresPermission,this._registration.providers[e].hasPermission=i.hasPermission,this._registration.providers[e].success=i.success,this._registration.providers[e].enabled=i.enabled,this._registration.providers[e].disabled=i.disabled,this._registration.providers[e].data=i.data}catch(e){console.error(e),i={action:"",disabled:!1,enabled:!1,hasPermission:!1,provider:"",requiresPermission:!1,version:"",success:!1}}if(i.success||(console.debug("Provider initialisation failed: '"+e+"'"),i.disabled=!0,this._registration.providers[e].disabled=!0),i.disabled||i.enabled){let i=this._pendingProviderEnables.indexOf(e);i>=0&&this._pendingProviderEnables.splice(i,1)}})}}
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,i,r,s){return new(r||(r=Promise))(function(t,o){function n(e){try{d(s.next(e))}catch(e){o(e)}}function a(e){try{d(s.throw(e))}catch(e){o(e)}}function d(e){var i;e.done?t(e.value):((i=e.value)instanceof r?i:new r(function(e){e(i)})).then(n,a)}d((s=s.apply(e,i||[])).next())})};import e from"./index";import{Deferred as i}from"./util";let platform=require("platform");export class Console{constructor(i,r,s){this._autoEnable=!1,this._initialised=!1,this._initialiseInProgress=!1,this._pendingProviderPromises={},this._providerMessageListeners={},this._pendingProviderEnables=[],this._registrationTimer=null,this._realm=i,this._autoEnable=r,this._enableCompleteCallback=s,window.OpenRemoteConsole=this;let t=new URLSearchParams(window.location.search),o=t.get("consoleName"),n=t.get("consoleVersion"),a=t.get("consolePlatform"),d=t.get("consoleProviders"),l=t.get("consoleAutoEnable"),p=d&&d.length>0?d.split(" "):["push"];this._pendingProviderEnables=p;let h=Console._createConsoleRegistration(),g=window.localStorage.getItem("OpenRemoteConsole:"+i);if(g)try{let e=JSON.parse(g);e.id&&(h.id=e.id),e.name&&(h.name=e.name),e.providers&&(h.providers=e.providers),e.apps&&(h.apps=e.apps)}catch(e){console.error("Failed to deserialise console registration")}let v=h.providers;for(let e of(h.providers={},p)){let i=v&&v.hasOwnProperty(e)?v[e]:{enabled:!1,disabled:!1};h.providers[e]=i}let c=e.getAppName();c.length>0&&0>h.apps.indexOf(c)&&h.apps.push(c),this._registration=h,o&&(h.name=o),n&&(h.version=n),a&&(h.platform=a),l&&(this._autoEnable="TRUE"===l||"true"===l)}get registration(){return this._registration}get autoEnable(){return this._autoEnable}get pendingProviderEnables(){return this._pendingProviderEnables.slice(0)}get shellApple(){let e=navigator.userAgentData&&navigator.userAgentData.platform?navigator.userAgentData.platform:navigator.platform;return e&&("iP"===e.substring(0,2)||"Mac"===e.substring(0,3))&&window.webkit&&window.webkit.messageHandlers}get shellAndroid(){return!!window.MobileInterface}get isMobile(){return this.shellApple||this.shellAndroid}initialise(){return __awaiter(this,void 0,void 0,function*(){if(!this._initialised&&!this._initialiseInProgress){console.debug("Console: initialising"),this._initialiseInProgress=!0;try{if(this._registration.providers)for(let e of Object.keys(this._registration.providers))yield this._initialiseProvider(e);this._registration.id||(yield this.sendRegistration(0)),this._initialised=!0,this._initialiseInProgress=!1,0===this._pendingProviderEnables.length?(yield this.sendRegistration(),this._callCompletedCallback()):this._autoEnable&&(yield this.enableProviders())}catch(e){console.error(e)}finally{this._initialiseInProgress=!1}}})}enableProviders(){return __awaiter(this,void 0,void 0,function*(){if(!this._initialised)throw Error("Console must be initialised before enabling providers");for(let e=this._pendingProviderEnables.length-1;e>-1;e--){let i=this._pendingProviderEnables[e];yield this.enableProvider(i)}})}enableProvider(e,i){return __awaiter(this,void 0,void 0,function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),Error("Console must be initialised before enabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),Error("Invalid console provider '"+e+"'");console.debug("Console: enabling provider '"+e+"'");let r={provider:e,action:"PROVIDER_ENABLE",consoleId:this._registration.id,data:i},s=yield this.sendProviderMessage(r,!0);this._registration.providers[e].hasPermission=s.hasPermission,this._registration.providers[e].success=s.success,this._registration.providers[e].enabled=s.success,this._registration.providers[e].data=s.data;let t=this._pendingProviderEnables.indexOf(e);return t>=0&&(this._pendingProviderEnables.splice(t,1),0===this._pendingProviderEnables.length&&(this.sendRegistration(),this._callCompletedCallback())),s})}disableProvider(e){return __awaiter(this,void 0,void 0,function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),Error("Console must be initialised before disabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),Error("Invalid console provider '"+e+"'");console.debug("Console: disabling provider '"+e+"'");let i=yield this.sendProviderMessage({provider:e,action:"PROVIDER_DISABLE"},!0);return this._registration.providers[e].disabled=!0,this._registration.providers[e].enabled=!1,i})}getProvider(e){return this._registration&&this._registration.providers?this._registration.providers[e]:void 0}sendProviderMessage(e,r){return __awaiter(this,void 0,void 0,function*(){if("storage"!==e.provider&&!this._registration.providers.hasOwnProperty(e.provider))throw console.debug("Invalid console provider '"+e.provider+"'"),Error("Invalid console provider '"+e.provider+"'");if(!r)return void this._doSendProviderMessage(e);let s=e.provider+e.action;if(this._pendingProviderPromises[s])throw Error("Message already pending for provider '"+e.provider+"' with action '"+e.action+"'");let t=new i,o=()=>{delete this._pendingProviderPromises[s],t.reject("No response from provider")};return this._pendingProviderPromises[s]=[t,window.setTimeout(o,5e3)],this._doSendProviderMessage(e),t.promise})}sendRegistration(i){return this._registrationTimer&&(window.clearTimeout(this._registrationTimer),this._registrationTimer=null),console.debug("Sending registration in: "+(i=void 0!==i?i:2e3)+"ms"),new Promise((i,r)=>{this._registrationTimer=window.setTimeout(()=>{this._registrationTimer=null,console.debug("Console: updating registration");try{this._registration.name||(this._registration.name="Console"),this._registration.platform||(this._registration.platform="N/A"),this._registration.version||(this._registration.version="N/A"),this._registration.providers||(this._registration.providers={}),e.rest.api.ConsoleResource.register(this._registration).then(e=>{if(200!==e.status)throw Error("Failed to register console");this._registration=e.data,console.debug("Console: registration successful"),console.debug("Console: updating locally stored registration"),window.localStorage.setItem("OpenRemoteConsole:"+this._realm,JSON.stringify(this._registration)),i()})}catch(e){console.error("Failed to register console"),r("Failed to register console")}})})}storeData(e,i){this.sendProviderMessage({provider:"storage",action:"STORE",key:e,value:i},!1)}retrieveData(e){return __awaiter(this,void 0,void 0,function*(){let i=this.sendProviderMessage({provider:"storage",action:"RETRIEVE",key:e},!0);try{let e=yield Promise.race([i,new Promise((e,i)=>setTimeout(i,2e3))]);if(e&&e.value){let i=e.value;return"null"===i?void 0:i}}catch(e){console.log("Failed to retrieve data from storage provider")}})}addProviderMessageListener(e,i){this._providerMessageListeners[e.provider+e.action]=i}removeProviderMessageListener(e){delete this._providerMessageListeners[e.provider+e.action]}_postNativeShellMessage(e){try{if(this.shellAndroid)return window.MobileInterface.postMessage(JSON.stringify(e));if(this.shellApple)return window.webkit.messageHandlers.int.postMessage(e)}catch(e){console.error("Failed to send shell message towards console",e)}}_doSendGenericMessage(e,i){let r={type:e,data:i};this.isMobile?this._postNativeShellMessage(r):console.warn("Failed to send generic message to console.",r)}_doSendProviderMessage(e){if(this.isMobile)this._postNativeShellMessage({type:"provider",data:e});else{if(!e.provider||!e.action)return;switch(e.provider.trim().toUpperCase()){case"PUSH":switch(e.action.trim().toUpperCase()){case"PROVIDER_INIT":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_INIT",provider:"push",version:"web",enabled:!0,disabled:!1,hasPermission:!0,requiresPermission:!1,success:!0}));break;case"PROVIDER_ENABLE":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_ENABLE",provider:"push",hasPermission:!0,success:!0}));break;default:throw Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;case"STORAGE":switch(e.action){case"PROVIDER_INIT":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_INIT",provider:"storage",version:"1.0.0",disabled:!1,enabled:!0,hasPermission:!0,requiresPermission:!1,success:!0}));break;case"PROVIDER_ENABLE":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_ENABLE",provider:"storage",hasPermission:!0,success:!0}));break;case"STORE":{let i=e.key?e.key.trim():null;if(!i||0===i.length)throw Error("Storage provider 'store' action requires a `key`");null===e.value?window.localStorage.removeItem(i):window.localStorage.setItem(i,JSON.stringify(e.value))}break;case"RETRIEVE":{let i=e.key?e.key.trim():null;if(!i||0===i.length)throw Error("Storage provider 'retrieve' action requires a `key`");let r=window.localStorage.getItem(i);if(null!==r)try{r=JSON.parse(r)}catch(e){}this._handleProviderResponse(JSON.stringify({action:"RETRIEVE",provider:"storage",key:i,value:r}))}break;default:throw Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;default:console.error("Unsupported provider: "+e.provider)}}}_handleProviderResponse(e){if(!e)return;let i=JSON.parse(e),r=i.provider,s=i.action,t=this._pendingProviderPromises[r+s];t&&(window.clearTimeout(t[1]),delete this._pendingProviderPromises[r+s],t[0].resolve(i));let o=this._providerMessageListeners[r+s];o&&o(i)}_callCompletedCallback(){let e=this._enableCompleteCallback;this._enableCompleteCallback=null,e&&window.setTimeout(()=>{e()},0)}static _createConsoleRegistration(){return{name:platform.name,version:platform.version,platform:platform.os.toString(),apps:[],model:((platform.manufacturer?platform.manufacturer+" ":"")+(platform.product?platform.product:"")).trim()}}_initialiseProvider(e){return __awaiter(this,void 0,void 0,function*(){let i;console.debug("Console: initialising provider '"+e+"'");try{i=yield this.sendProviderMessage({provider:e,action:"PROVIDER_INIT"},!0),this._registration.providers[e].version=i.version,this._registration.providers[e].requiresPermission=i.requiresPermission,this._registration.providers[e].hasPermission=i.hasPermission,this._registration.providers[e].success=i.success,this._registration.providers[e].enabled=i.enabled,this._registration.providers[e].disabled=i.disabled,this._registration.providers[e].data=i.data}catch(e){console.error(e),i={action:"",disabled:!1,enabled:!1,hasPermission:!1,provider:"",requiresPermission:!1,version:"",success:!1}}if(i.success||(console.debug("Provider initialisation failed: '"+e+"'"),i.disabled=!0,this._registration.providers[e].disabled=!0),i.disabled||i.enabled){let i=this._pendingProviderEnables.indexOf(e);i>=0&&this._pendingProviderEnables.splice(i,1)}})}}
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):((t=e.value)instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((n=n.apply(e,t||[])).next())})};import"url-search-params-polyfill";import{Console as e}from"./console";import t from"@openremote/rest";import{EventProviderStatus as i,WebSocketEventProvider as n}from"./event";import o from"i18next";import r from"i18next-http-backend";import s from"moment";import{AssetModelUtil as a}from"@openremote/model";import*as l from"./util";import{createMdiIconSet as c,createSvgIconSet as h,IconSets as d,OrIconSet as u}from"@openremote/or-icon";import _ from"keycloak-js";export*from"./asset-mixin";export*from"./console";export*from"./event";export*from"./defaults";export const DEFAULT_ICONSET="mdi";export const OPENREMOTE_CLIENT_ID="openremote";export const RESTRICTED_USER_REALM_ROLE="restricted_user";export var ORError;!function(e){e.MANAGER_FAILED_TO_LOAD="MANAGER_FAILED_TO_LOAD",e.AUTH_FAILED="AUTH_FAILED",e.AUTH_TYPE_UNSUPPORTED="AUTH_TYPE_UNSUPPORTED",e.CONSOLE_ERROR="CONSOLE_INIT_ERROR",e.EVENTS_CONNECTION_ERROR="EVENTS_CONNECTION_ERROR",e.TRANSLATION_ERROR="TRANSLATION_ERROR"}(ORError||(ORError={}));export var OREvent;!function(e){e.ERROR="ERROR",e.READY="READY",e.ONLINE="ONLINE",e.OFFLINE="OFFLINE",e.CONNECTING="CONNECTING",e.CONSOLE_INIT="CONSOLE_INIT",e.CONSOLE_READY="CONSOLE_READY",e.TRANSLATE_INIT="TRANSLATE_INIT",e.TRANSLATE_LANGUAGE_CHANGED="TRANSLATE_LANGUAGE_CHANGED",e.DISPLAY_REALM_CHANGED="DISPLAY_REALM_CHANGED"}(OREvent||(OREvent={}));export const DEFAULT_LANGUAGES={en:"english",cn:"chinese",nl:"dutch",fr:"french",de:"german",it:"italian",pt:"portuguese",ro:"romanian",es:"spanish",uk:"ukrainian"};export function normaliseConfig(e){let t=e?Object.assign({},e):{};return t.managerUrl&&""!==t.managerUrl?t.managerUrl=t.managerUrl.replace(/\/+$/,""):t.managerUrl=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")+window.location.pathname.replace(/\/[^/]+\/?$/,""),t.realm&&""!==t.realm||(t.realm="master"),t.auth||(t.auth="KEYCLOAK"),void 0===t.consoleAutoEnable&&(t.consoleAutoEnable=!0),void 0===t.applyConfigToAdmin&&(t.applyConfigToAdmin=!0),t.eventProviderType||(t.eventProviderType="WEBSOCKET"),(!t.pollingIntervalMillis||t.pollingIntervalMillis<5e3)&&(t.pollingIntervalMillis=1e4),void 0===t.loadIcons&&(t.loadIcons=!0),void 0===t.loadTranslations&&(t.loadTranslations=["or"]),void 0===t.translationsLoadPath&&(t.translationsLoadPath="locales/{{lng}}/{{ns}}.json"),void 0===t.loadDescriptors&&(t.loadDescriptors=!0),void 0===t.clientId&&(t.clientId=OPENREMOTE_CLIENT_ID),t}export class Manager{constructor(){this._authenticated=!1,this._ready=!1,this._name="",this._username="",this._keycloakUpdateTokenInterval=void 0,this._managerVersion="",this._authServerUrl="",this._listeners=[],this._disconnected=!1}get username(){return this._username}get error(){return this._error}get authenticated(){return this._authenticated}get ready(){return this._ready}get config(){return this._config}get roles(){let e=new Map;return this._keycloak?this._keycloak.resourceAccess&&this._config.clientId&&this._keycloak.resourceAccess&&Object.entries(this._keycloak.resourceAccess).forEach(([t,i])=>{let n=i.roles;e.set(t,n)}):this._basicIdentity&&this._basicIdentity.roles&&e.set(this._config.clientId,this._basicIdentity.roles),e}get managerVersion(){return this._managerVersion}get isManagerAvailable(){return this._managerVersion&&""!==this._managerVersion}get managerUrl(){var e;return null==(e=this._config)?void 0:e.managerUrl}get keycloakUrl(){var e;return null==(e=this._config)?void 0:e.keycloakUrl}get isError(){return!!this._error}get connectionStatus(){return this._events&&this._events.status}get console(){return this._console}get consoleAppConfig(){return this._consoleAppConfig}get events(){return this._events}get rest(){return t}get language(){return o.language}set language(e){console.debug(`Changing language to ${e}.`),e&&(o.changeLanguage(e),this.console.storeData("LANGUAGE",e),this.authenticated&&this.updateKeycloakUserLanguage(e).catch(e=>console.error(e)))}get displayRealm(){return this._displayRealm||this._config.realm}set displayRealm(e){this.isSuperUser()&&this._displayRealm!==e&&(this._displayRealm=e,this._emitEvent(OREvent.DISPLAY_REALM_CHANGED))}get clientId(){return this._config.clientId||OPENREMOTE_CLIENT_ID}getEventProvider(){return this.events}get mapType(){return this._config.mapType||"VECTOR"}isManagerSameOrigin(){if(!this.ready)return!1;let e=new URL(this._config.managerUrl),t=window.location;return e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}addListener(e){0>this._listeners.indexOf(e)&&this._listeners.push(e)}removeListener(e){let t=this._listeners.indexOf(e);t>=0&&this._listeners.splice(t,1)}init(t){return __awaiter(this,void 0,void 0,function*(){this._config&&console.debug("Already initialised"),this._config=normaliseConfig(t);let i=yield this.loadManagerInfo(),n=new e(this._config.realm,this._config.consoleAutoEnable,()=>{this._emitEvent(OREvent.CONSOLE_READY)});if(this._console=n,"BASIC"===this._config.auth)i=(yield this.doTranslateInit())&&i,i=yield this.doAuthInit();else if("KEYCLOAK"===this._config.auth){if(!this._config.keycloakUrl&&this._authServerUrl){let e,t=new URL(this._config.managerUrl);this._authServerUrl.startsWith("//")&&(this._authServerUrl=t.protocol+this._authServerUrl);try{e=new URL(this._authServerUrl)}catch(i){(e=new URL(t)).pathname=this._authServerUrl}e.protocol||(e.protocol=t.protocol),e.hostname||(e.hostname=t.hostname),e.port||(e.port=t.port),this._config.keycloakUrl=e.toString()}this._config.keycloakUrl||(this._config.keycloakUrl=this._config.managerUrl+"/auth"),this._config.keycloakUrl=this._config.keycloakUrl.replace(/\/+$/,""),(i=yield this.doAuthInit())||this._config.skipFallbackToBasicAuth||(console.debug("Falling back to basic auth"),this._config.auth="BASIC",i=yield this.doAuthInit())}return!!i&&(i&&(i=this.doRestApiInit()),(yield this.doConsoleInit())&&this._clearWebHistory(),(i=(yield this.doTranslateInit())&&i)&&(i=yield this.doDescriptorsInit(),i=yield this.getConsoleAppConfig()),this.doIconInit(),i?(this._readyCallback&&(yield this._readyCallback()),this._ready=!0,this._emitEvent(OREvent.READY)):(this._config=void 0,console.warn("Failed to initialise the manager")),this.displayRealm=t.realm||"master",i)})}loadManagerInfo(){return __awaiter(this,void 0,void 0,function*(){try{let e=yield new Promise((e,t)=>{let i=new XMLHttpRequest;i.addEventListener("load",()=>{e(JSON.parse(i.responseText))}),i.addEventListener("error",()=>{t(Error("Failed to contact the manager"))}),i.open("GET",this._config.managerUrl+"/api/master/info"),i.send()});return this._managerVersion=e&&e.version?e.version:"",this._authServerUrl=e&&e.authServerUrl?e.authServerUrl:"",!0}catch(e){return console.error("Failed to contact the manager",e),this._setError(ORError.MANAGER_FAILED_TO_LOAD),!1}})}doTranslateInit(){return __awaiter(this,void 0,void 0,function*(){if(o.isInitialized)return!0;o.on("initialized",e=>{this._emitEvent(OREvent.TRANSLATE_INIT)}),o.on("languageChanged",e=>{s.locale(e),this._emitEvent(OREvent.TRANSLATE_LANGUAGE_CHANGED)});let e={lng:(yield this.getConsolePreferredLanguage())||(yield this.getUserPreferredLanguage())||this.config.defaultLanguage||"en",fallbackLng:"en",defaultNS:"app",fallbackNS:"or",ns:this.config.loadTranslations,interpolation:{format:(e,t,i)=>"uppercase"===t?e.toUpperCase():e instanceof Date?s(e).format(t):e},backend:{loadPath:(e,t)=>1===t.length&&"or"===t[0]?this.config.managerUrl+"/shared/locales/{{lng}}/{{ns}}.json":this.config.translationsLoadPath?this.config.translationsLoadPath:"locales/{{lng}}/{{ns}}.json"}};this.config.configureTranslationsOptions&&this.config.configureTranslationsOptions(e);try{yield o.use(r).init(e)}catch(e){return console.error(e),this._setError(ORError.TRANSLATION_ERROR),!1}return!0})}doDescriptorsInit(){return __awaiter(this,void 0,void 0,function*(){if(!this.config.loadDescriptors)return!0;try{let e=yield t.api.AssetModelResource.getAssetInfos(),i=yield t.api.AssetModelResource.getMetaItemDescriptors(),n=yield t.api.AssetModelResource.getValueDescriptors();a._assetTypeInfos=e.data,a._metaItemDescriptors=Object.values(i.data),a._valueDescriptors=Object.values(n.data)}catch(e){return console.error(e),!1}return!0})}doAuthInit(){return __awaiter(this,void 0,void 0,function*(){let e=!0;switch(this._config.auth){case"BASIC":e=yield this.initialiseBasicAuth();break;case"KEYCLOAK":e=yield this.loadAndInitialiseKeycloak();break;case"NONE":return!0;default:return this._setError(ORError.AUTH_TYPE_UNSUPPORTED),!1}return!!e&&(t.addRequestInterceptor(e=>{if(!e.headers.Authorization){let t=this.getAuthorizationHeader();t&&(e.headers.Authorization=t)}return e}),e)})}doRestApiInit(){return t.setTimeout(2e4),t.initialise(this.getApiBaseUrl()),!0}doEventsSubscriptionInit(){return __awaiter(this,void 0,void 0,function*(){let e=!1;return"WEBSOCKET"===this._config.eventProviderType&&(this._events=new n(this._config.managerUrl),this._events.subscribeStatusChange(e=>this._onEventProviderStatusChanged(e)),e=yield this._events.connect()),e||this._setError(ORError.EVENTS_CONNECTION_ERROR),e})}_connectEvents(){var e;(null==(e=this.events)?void 0:e.status)===i.DISCONNECTED?this.events.connect().catch(e=>{console.error("Failed to connect EventProvider."),console.error(e)}):console.warn("Tried to connect EventProvider, but it wasn't disconnected!")}_onEventProviderStatusChanged(e){switch(e){case i.DISCONNECTED:this._onDisconnect();break;case i.CONNECTED:break;case i.CONNECTING:this._emitEvent(OREvent.CONNECTING)}}doConsoleInit(){return __awaiter(this,void 0,void 0,function*(){try{return yield this.console.initialise(),this._emitEvent(OREvent.CONSOLE_INIT),!0}catch(e){return this._setError(ORError.CONSOLE_ERROR),!1}})}doIconInit(){this._config.loadIcons&&(d.addIconSet("mdi",c(manager.managerUrl)),d.addIconSet("or",h(u.size,u.icons)))}getConsoleAppConfig(){return __awaiter(this,void 0,void 0,function*(){var e;try{let t=yield fetch((null!=(e=manager.managerUrl)?e:"")+"/consoleappconfig/"+manager.displayRealm+".json");return this._consoleAppConfig=yield t.json(),!0}catch(e){return!0}})}getConsolePreferredLanguage(){return __awaiter(this,arguments,void 0,function*(e=this.console){return e.retrieveData("LANGUAGE")})}getUserPreferredLanguage(){return __awaiter(this,arguments,void 0,function*(e=this._keycloak){if(e&&e.authenticated){let t=(null==e?void 0:e.profile)||(yield null==e?void 0:e.loadUserProfile());if(null==t?void 0:t.attributes){let e=new Map(Object.entries(t.attributes));if(e.has("locale")){let t=e.get("locale");if("string"==typeof t[0])return t[0]}console.warn("Could not get user language from keycloak: no user attributes were found.")}else console.warn("Could not get user language from keycloak: no valid keycloak user profile was found.")}})}updateKeycloakUserLanguage(e){return __awaiter(this,arguments,void 0,function*(e,t=this.rest){return this.authenticated?t?void(yield t.api.UserResource.updateCurrentUserLocale(e,{headers:{"Content-Type":"application/json"}})):void console.warn("Tried updating user language, but the REST API is not initialized yet."):void console.warn("Tried updating user language, but the user is not authenticated.")})}logout(e){this._authenticated&&(this._authenticated=!0,this._keycloak?(this.isMobile()&&this.console.storeData("REFRESH_TOKEN",null),this._keycloakUpdateTokenInterval&&(window.clearTimeout(this._keycloakUpdateTokenInterval),this._keycloakUpdateTokenInterval=void 0),this._keycloak.logout(e&&""!==e?{redirectUri:e}:void 0)):this._basicIdentity&&(this._basicIdentity=void 0,e?window.location.href=e:window.location.reload()))}login(e){switch(this._config.auth){case"BASIC":e&&e.credentials&&(this._config.credentials=Object.assign({},e.credentials)),this.doBasicLogin();break;case"KEYCLOAK":if(this._keycloak){let t={};e&&e.redirectUrl&&""!==e.redirectUrl&&(t.redirectUri=e.redirectUrl),(null==e?void 0:e.action)&&""!==e.action&&(t.action=e.action),this.isMobile()&&(t.scope="offline_access"),this._keycloak.login(t)}}}initialiseBasicAuth(){return __awaiter(this,void 0,void 0,function*(){return this.config.basicLoginProvider?(this.config.autoLogin&&(this._readyCallback=()=>this.doBasicLogin()),!0):(console.debug("No basicLoginProvider defined on config so cannot display login UI"),!1)})}doBasicLogin(){return __awaiter(this,void 0,void 0,function*(){var e,i,n,o;if(!this.config.basicLoginProvider)return;let r={username:(null==(e=this.config.credentials)?void 0:e.username)?null==(i=this.config.credentials)?void 0:i.username:"",password:(null==(n=this.config.credentials)?void 0:n.password)?null==(o=this.config.credentials)?void 0:o.password:"",cancel:!1},s=!1;for(this._basicIdentity={roles:void 0,token:void 0,user:void 0};!s;){if((r=yield this.config.basicLoginProvider(r.username,r.password)).cancel){console.debug("Basic authentication cancelled by user");break}if(!r.username||!r.password)continue;this._basicIdentity.token=btoa(r.username+":"+r.password);let e=!1;try{let i=yield t.api.UserResource.getCurrent();200===i.status&&(e=!0,this._basicIdentity.user=i.data),e||401!==i.status&&403!==i.status||console.debug("Basic authentication invalid credentials, trying again")}catch(e){console.error("Basic auth failed: ",e)}if(e){console.debug("Basic authentication successful"),s=!0;let e=yield t.api.UserResource.getCurrentUserClientRoles(this.clientId);this._basicIdentity.roles=e.data}else{console.debug("Unknown response so aborting"),this._basicIdentity=void 0;break}}s&&this._onAuthenticated()})}isSuperUser(){return!!(this.getRealm()&&"master"===this.getRealm()&&this.hasRealmRole("admin"))}isRestrictedUser(){return!!this.hasRealmRole("restricted_user")}getApiBaseUrl(){let e=this._config.managerUrl;return e+("/api/"+this._config.realm+"/")}getAppName(){let e=location.pathname.split("/");return e.length>=1?e[1]:""}hasRealmRole(e){return this.isKeycloak()&&this._keycloak.hasRealmRole(e)}hasRole(e,t=this._config.clientId){let i=this.roles;return i&&i.has(t)&&i.get(t).indexOf(e)>=0}getAuthorizationHeader(){return this.getKeycloakToken()?"Bearer "+this.getKeycloakToken():this.getBasicToken()?"Basic "+this.getBasicToken():void 0}getKeycloakToken(){if(this.isKeycloak())return this._keycloak.token}getBasicToken(){return this._basicIdentity?this._basicIdentity.token:void 0}getRealm(){if(this._config)return this._config.realm}isMobile(){return this.console&&this.console.isMobile}isKeycloak(){return!!this._keycloak}_onAuthenticated(){this._authenticated=!0,this._events||this.doEventsSubscriptionInit()}loadAndInitialiseKeycloak(){return __awaiter(this,void 0,void 0,function*(){var e,t,i,n;try{this._keycloak=new _({clientId:this._config.clientId,realm:this._config.realm,url:this._config.keycloakUrl});let o=yield this._getNativeOfflineRefreshToken(),r=yield this._keycloak.init({checkLoginIframe:!1,onLoad:"check-sso"});if(!r&&o)try{console.error("SETTING OFFLINE TOKEN"),this._keycloak.refreshToken=o,r=yield this._updateKeycloakAccessToken()}catch(e){console.error("Failed to authenticate using offline token")}if(r)this._name=null==(e=this._keycloak.tokenParsed)?void 0:e.name,this._username=null==(t=this._keycloak.tokenParsed)?void 0:t.preferred_username,this._createTokenUpdateInterval(),this.isMobile()&&(null==(n=null==(i=this._keycloak)?void 0:i.refreshTokenParsed)?void 0:n.typ)==="Offline"&&(console.debug("Storing offline refresh token"),this.console.storeData("REFRESH_TOKEN",this._keycloak.refreshToken)),this._onAuthenticated();else if(this.config.autoLogin)return this.login(),!1;return!0}catch(e){return this._authenticated=!1,this._setError(ORError.AUTH_FAILED),console.error("Failed to initialise Keycloak: "+e),!1}})}_createTokenUpdateInterval(){this._keycloakUpdateTokenInterval||(this._keycloakUpdateTokenInterval=window.setInterval(()=>__awaiter(this,void 0,void 0,function*(){yield this._updateKeycloakAccessToken().catch(()=>{console.debug("Keycloak failed to refresh the access token"),this._onDisconnect()})}),1e4))}_updateKeycloakAccessToken(){return __awaiter(this,void 0,void 0,function*(){let e=yield this._keycloak.updateToken(20);return console.debug("Access token update success, refreshed from server: "+e),e&&this._onAuthenticated(),e})}_getNativeOfflineRefreshToken(){return __awaiter(this,void 0,void 0,function*(){if(this.isMobile())return yield this.console.retrieveData("REFRESH_TOKEN")})}_emitEvent(e){window.setTimeout(()=>{for(let t of this._listeners)t(e)},0)}_setError(e){this._error=e,this._emitEvent(OREvent.ERROR),console.warn("Error set: "+e)}_clearWebHistory(){var e;null==(e=this.console)||e._doSendGenericMessage("CLEAR_WEB_HISTORY",void 0)}_onDisconnect(){return __awaiter(this,void 0,void 0,function*(){this._disconnected||(console.debug("Disconnected"),this._disconnected=!0,this._keycloakUpdateTokenInterval&&(window.clearTimeout(this._keycloakUpdateTokenInterval),this._keycloakUpdateTokenInterval=void 0),this._emitEvent(OREvent.OFFLINE),this.reconnect())})}_onReconnected(){console.debug("Reconnected"),this._disconnected=!1,this._createTokenUpdateInterval(),this._emitEvent(OREvent.ONLINE)}reconnect(){return __awaiter(this,arguments,void 0,function*(e=3e3){if(!this._disconnected)return;this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=void 0);let t=yield __awaiter(this,void 0,void 0,function*(){var e;if(console.debug("Attempting reconnect"),!(yield this.isKeycloakReachable()))return console.debug("Keycloak is unreachable"),!1;console.debug("Keycloak is reachable"),console.debug("Checking keycloak access token");try{yield this._updateKeycloakAccessToken()}catch(t){let e=yield this._getNativeOfflineRefreshToken();this._keycloak.refreshToken=e;try{yield this._updateKeycloakAccessToken()}catch(e){console.debug("Cannot update access token so sending to login"),this.login();return}return console.debug("Keycloak access token is valid"),!0}let t=this.events&&this.events.status===i.CONNECTING;return console.debug("If event provider offline then attempting reconnect: offline="+t),!t||(yield null==(e=this.events)?void 0:e.connect())});if(void 0!==t){if(!t){console.debug("Scheduling another reconnect attempt in (ms): "+(e=Math.min(Manager.MAX_RECONNECT_DELAY,e+3e3))),this._reconnectTimer=window.setTimeout(()=>this.reconnect(e),e);return}this._onReconnected()}})}isKeycloakReachable(){return __awaiter(this,arguments,void 0,function*(e=2e3){let t=new AbortController,i=setTimeout(()=>t.abort(),e);try{let e=this._keycloak.endpoints.token(),i=yield fetch(e,{method:"OPTIONS",signal:t.signal});return 200===i.status}catch(e){return!1}finally{clearTimeout(i)}})}}Manager.MAX_RECONNECT_DELAY=45e3;export const manager=new Manager;export default manager;export{l as Util};
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):((t=e.value)instanceof i?t:new i(function(e){e(t)})).then(s,a)}l((n=n.apply(e,t||[])).next())})};import"url-search-params-polyfill";import{Console as e}from"./console";import t from"@openremote/rest";import{EventProviderStatus as i,WebSocketEventProvider as n}from"./event";import o from"i18next";import r from"i18next-http-backend";import s from"moment";import{AssetModelUtil as a}from"@openremote/model";import*as l from"./util";import{createMdiIconSet as c,createSvgIconSet as h,IconSets as d,OrIconSet as u}from"@openremote/or-icon";import _ from"keycloak-js";export*from"./asset-mixin";export*from"./console";export*from"./event";export*from"./defaults";export const DEFAULT_ICONSET="mdi";export const OPENREMOTE_CLIENT_ID="openremote";export const RESTRICTED_USER_REALM_ROLE="restricted_user";export var ORError;!function(e){e.MANAGER_FAILED_TO_LOAD="MANAGER_FAILED_TO_LOAD",e.AUTH_FAILED="AUTH_FAILED",e.AUTH_TYPE_UNSUPPORTED="AUTH_TYPE_UNSUPPORTED",e.CONSOLE_ERROR="CONSOLE_INIT_ERROR",e.EVENTS_CONNECTION_ERROR="EVENTS_CONNECTION_ERROR",e.TRANSLATION_ERROR="TRANSLATION_ERROR"}(ORError||(ORError={}));export var OREvent;!function(e){e.ERROR="ERROR",e.READY="READY",e.ONLINE="ONLINE",e.OFFLINE="OFFLINE",e.CONNECTING="CONNECTING",e.CONSOLE_INIT="CONSOLE_INIT",e.CONSOLE_READY="CONSOLE_READY",e.TRANSLATE_INIT="TRANSLATE_INIT",e.TRANSLATE_LANGUAGE_CHANGED="TRANSLATE_LANGUAGE_CHANGED",e.DISPLAY_REALM_CHANGED="DISPLAY_REALM_CHANGED"}(OREvent||(OREvent={}));export const DEFAULT_LANGUAGES={en:"english",cn:"chinese",nl:"dutch",fr:"french",de:"german",it:"italian",pt:"portuguese",ro:"romanian",es:"spanish",uk:"ukrainian"};export function normaliseConfig(e){let t=e?Object.assign({},e):{};return t.managerUrl&&""!==t.managerUrl?t.managerUrl=t.managerUrl.replace(/\/+$/,""):t.managerUrl=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")+window.location.pathname.replace(/\/[^/]+\/?$/,""),t.realm&&""!==t.realm||(t.realm="master"),t.auth||(t.auth="KEYCLOAK"),void 0===t.consoleAutoEnable&&(t.consoleAutoEnable=!0),void 0===t.applyConfigToAdmin&&(t.applyConfigToAdmin=!0),t.eventProviderType||(t.eventProviderType="WEBSOCKET"),(!t.pollingIntervalMillis||t.pollingIntervalMillis<5e3)&&(t.pollingIntervalMillis=1e4),void 0===t.loadIcons&&(t.loadIcons=!0),void 0===t.loadTranslations&&(t.loadTranslations=["or"]),void 0===t.translationsLoadPath&&(t.translationsLoadPath="locales/{{lng}}/{{ns}}.json"),void 0===t.loadDescriptors&&(t.loadDescriptors=!0),void 0===t.clientId&&(t.clientId=OPENREMOTE_CLIENT_ID),t}export class Manager{constructor(){this._authenticated=!1,this._ready=!1,this._name="",this._username="",this._keycloakUpdateTokenInterval=void 0,this._managerVersion="",this._authServerUrl="",this._listeners=[],this._disconnected=!1}get username(){return this._username}get error(){return this._error}get authenticated(){return this._authenticated}get ready(){return this._ready}get config(){return this._config}get roles(){let e=new Map;return this._keycloak?this._keycloak.resourceAccess&&this._config.clientId&&this._keycloak.resourceAccess&&Object.entries(this._keycloak.resourceAccess).forEach(([t,i])=>{let n=i.roles;e.set(t,n)}):this._basicIdentity&&this._basicIdentity.roles&&e.set(this._config.clientId,this._basicIdentity.roles),e}get managerVersion(){return this._managerVersion}get isManagerAvailable(){return this._managerVersion&&""!==this._managerVersion}get managerUrl(){var e;return null==(e=this._config)?void 0:e.managerUrl}get keycloakUrl(){var e;return null==(e=this._config)?void 0:e.keycloakUrl}get isError(){return!!this._error}get connectionStatus(){return this._events&&this._events.status}get console(){return this._console}get consoleAppConfig(){return this._consoleAppConfig}get events(){return this._events}get rest(){return t}get language(){return o.language}set language(e){console.debug(`Changing language to ${e}.`),e&&(o.changeLanguage(e),this.console.storeData("LANGUAGE",e),this.authenticated&&this.updateKeycloakUserLanguage(e).catch(e=>console.error(e)))}get displayRealm(){return this._displayRealm||this._config.realm}set displayRealm(e){this.isSuperUser()&&this._displayRealm!==e&&(this._displayRealm=e,this._emitEvent(OREvent.DISPLAY_REALM_CHANGED))}get clientId(){return this._config.clientId||OPENREMOTE_CLIENT_ID}getEventProvider(){return this.events}get mapType(){return this._config.mapType||"VECTOR"}isManagerSameOrigin(){if(!this.ready)return!1;let e=new URL(this._config.managerUrl),t=window.location;return e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}addListener(e){0>this._listeners.indexOf(e)&&this._listeners.push(e)}removeListener(e){let t=this._listeners.indexOf(e);t>=0&&this._listeners.splice(t,1)}init(t){return __awaiter(this,void 0,void 0,function*(){this._config&&console.debug("Already initialised"),this._config=normaliseConfig(t);let i=yield this.loadManagerInfo(),n=new e(this._config.realm,this._config.consoleAutoEnable,()=>{this._emitEvent(OREvent.CONSOLE_READY)});if(this._console=n,"BASIC"===this._config.auth)i=(yield this.doTranslateInit())&&i,i=yield this.doAuthInit();else if("KEYCLOAK"===this._config.auth){if(!this._config.keycloakUrl&&this._authServerUrl){let e,t=new URL(this._config.managerUrl);this._authServerUrl.startsWith("//")&&(this._authServerUrl=t.protocol+this._authServerUrl);try{e=new URL(this._authServerUrl)}catch(i){(e=new URL(t)).pathname=this._authServerUrl}e.protocol||(e.protocol=t.protocol),e.hostname||(e.hostname=t.hostname),e.port||(e.port=t.port),this._config.keycloakUrl=e.toString()}this._config.keycloakUrl||(this._config.keycloakUrl=this._config.managerUrl+"/auth"),this._config.keycloakUrl=this._config.keycloakUrl.replace(/\/+$/,""),(i=yield this.doAuthInit())||this._config.skipFallbackToBasicAuth||(console.debug("Falling back to basic auth"),this._config.auth="BASIC",i=yield this.doAuthInit())}return!!i&&(i&&(i=this.doRestApiInit()),(yield this.doConsoleInit())&&this._clearWebHistory(),(i=(yield this.doTranslateInit())&&i)&&(i=yield this.doDescriptorsInit(),i=yield this.getConsoleAppConfig()),this.doIconInit(),i?(this._readyCallback&&(yield this._readyCallback()),this._ready=!0,this._emitEvent(OREvent.READY)):(this._config=void 0,console.warn("Failed to initialise the manager")),this.displayRealm=t.realm||"master",i)})}loadManagerInfo(){return __awaiter(this,void 0,void 0,function*(){try{let e=yield new Promise((e,t)=>{let i=new XMLHttpRequest;i.addEventListener("load",()=>{e(JSON.parse(i.responseText))}),i.addEventListener("error",()=>{t(Error("Failed to contact the manager"))}),i.open("GET",this._config.managerUrl+"/api/master/info"),i.send()});return this._managerVersion=e&&e.version?e.version:"",this._authServerUrl=e&&e.authServerUrl?e.authServerUrl:"",!0}catch(e){return console.error("Failed to contact the manager",e),this._setError(ORError.MANAGER_FAILED_TO_LOAD),!1}})}doTranslateInit(){return __awaiter(this,void 0,void 0,function*(){if(o.isInitialized)return!0;o.on("initialized",e=>{this._emitEvent(OREvent.TRANSLATE_INIT)}),o.on("languageChanged",e=>{s.locale(e),this._emitEvent(OREvent.TRANSLATE_LANGUAGE_CHANGED)});let e={lng:(yield this.getConsolePreferredLanguage())||(yield this.getUserPreferredLanguage())||this.config.defaultLanguage||"en",fallbackLng:"en",defaultNS:"app",fallbackNS:"or",ns:this.config.loadTranslations,interpolation:{format:(e,t,i)=>"uppercase"===t?e.toUpperCase():e instanceof Date?s(e).format(t):e},backend:{loadPath:(e,t)=>1===t.length&&"or"===t[0]?this.config.managerUrl+"/shared/locales/{{lng}}/{{ns}}.json":this.config.translationsLoadPath?this.config.translationsLoadPath:"locales/{{lng}}/{{ns}}.json"}};this.config.configureTranslationsOptions&&this.config.configureTranslationsOptions(e);try{yield o.use(r).init(e)}catch(e){return console.error(e),this._setError(ORError.TRANSLATION_ERROR),!1}return!0})}doDescriptorsInit(){return __awaiter(this,void 0,void 0,function*(){if(!this.config.loadDescriptors)return!0;try{let e=yield t.api.AssetModelResource.getAssetInfos(),i=yield t.api.AssetModelResource.getMetaItemDescriptors(),n=yield t.api.AssetModelResource.getValueDescriptors();a._assetTypeInfos=e.data,a._metaItemDescriptors=Object.values(i.data),a._valueDescriptors=Object.values(n.data)}catch(e){return console.error(e),!1}return!0})}doAuthInit(){return __awaiter(this,void 0,void 0,function*(){let e=!0;switch(this._config.auth){case"BASIC":e=yield this.initialiseBasicAuth();break;case"KEYCLOAK":e=yield this.loadAndInitialiseKeycloak();break;case"NONE":return!0;default:return this._setError(ORError.AUTH_TYPE_UNSUPPORTED),!1}return!!e&&(t.addRequestInterceptor(e=>{if(!e.headers.Authorization){let t=this.getAuthorizationHeader();t&&(e.headers.Authorization=t)}return e}),e)})}doRestApiInit(){return t.setTimeout(2e4),t.initialise(this.getApiBaseUrl()),!0}doEventsSubscriptionInit(){return __awaiter(this,void 0,void 0,function*(){let e=!1;return"WEBSOCKET"===this._config.eventProviderType&&(this._events=new n(this._config.managerUrl),this._events.subscribeStatusChange(e=>this._onEventProviderStatusChanged(e)),e=yield this._events.connect()),e||this._setError(ORError.EVENTS_CONNECTION_ERROR),e})}_connectEvents(){var e;(null==(e=this.events)?void 0:e.status)===i.DISCONNECTED?this.events.connect().catch(e=>{console.error("Failed to connect EventProvider."),console.error(e)}):console.warn("Tried to connect EventProvider, but it wasn't disconnected!")}_onEventProviderStatusChanged(e){switch(e){case i.DISCONNECTED:this._onDisconnect();break;case i.CONNECTED:break;case i.CONNECTING:this._emitEvent(OREvent.CONNECTING)}}doConsoleInit(){return __awaiter(this,void 0,void 0,function*(){try{return yield this.console.initialise(),this._emitEvent(OREvent.CONSOLE_INIT),!0}catch(e){return this._setError(ORError.CONSOLE_ERROR),!1}})}doIconInit(){this._config.loadIcons&&(d.addIconSet("mdi",c(manager.managerUrl)),d.addIconSet("or",h(u.size,u.icons)))}getConsoleAppConfig(){return __awaiter(this,void 0,void 0,function*(){var e;try{let t=yield fetch((null!=(e=manager.managerUrl)?e:"")+"/consoleappconfig/"+manager.displayRealm+".json");return this._consoleAppConfig=yield t.json(),!0}catch(e){return!0}})}getConsolePreferredLanguage(){return __awaiter(this,arguments,void 0,function*(e=this.console){return e.retrieveData("LANGUAGE")})}getUserPreferredLanguage(){return __awaiter(this,arguments,void 0,function*(e=this._keycloak){if(e&&e.authenticated){let t=(null==e?void 0:e.profile)||(yield null==e?void 0:e.loadUserProfile());if(null==t?void 0:t.attributes){let e=new Map(Object.entries(t.attributes));if(e.has("locale")){let t=e.get("locale");if("string"==typeof t[0])return t[0]}console.warn("Could not get user language from keycloak: no user attributes were found.")}else console.warn("Could not get user language from keycloak: no valid keycloak user profile was found.")}})}updateKeycloakUserLanguage(e){return __awaiter(this,arguments,void 0,function*(e,t=this.rest){return this.authenticated?t?void(yield t.api.UserResource.updateCurrentUserLocale(e,{headers:{"Content-Type":"application/json"}})):void console.warn("Tried updating user language, but the REST API is not initialized yet."):void console.warn("Tried updating user language, but the user is not authenticated.")})}logout(e){this._authenticated&&(this._authenticated=!0,this._keycloak?(this.isMobile()&&this.console.storeData("REFRESH_TOKEN",null),this._keycloakUpdateTokenInterval&&(window.clearTimeout(this._keycloakUpdateTokenInterval),this._keycloakUpdateTokenInterval=void 0),this._keycloak.logout(e&&""!==e?{redirectUri:e}:void 0)):this._basicIdentity&&(this._basicIdentity=void 0,e?window.location.href=e:window.location.reload()))}login(e){switch(this._config.auth){case"BASIC":e&&e.credentials&&(this._config.credentials=Object.assign({},e.credentials)),this.doBasicLogin();break;case"KEYCLOAK":if(this._keycloak){let t={};e&&e.redirectUrl&&""!==e.redirectUrl&&(t.redirectUri=e.redirectUrl),(null==e?void 0:e.action)&&""!==e.action&&(t.action=e.action),this.isMobile()&&(t.scope="offline_access"),this._keycloak.login(t)}}}initialiseBasicAuth(){return __awaiter(this,void 0,void 0,function*(){return this.config.basicLoginProvider?(this.config.autoLogin&&(this._readyCallback=()=>this.doBasicLogin()),!0):(console.debug("No basicLoginProvider defined on config so cannot display login UI"),!1)})}doBasicLogin(){return __awaiter(this,void 0,void 0,function*(){var e,i,n,o;if(!this.config.basicLoginProvider)return;let r={username:(null==(e=this.config.credentials)?void 0:e.username)?null==(i=this.config.credentials)?void 0:i.username:"",password:(null==(n=this.config.credentials)?void 0:n.password)?null==(o=this.config.credentials)?void 0:o.password:"",cancel:!1},s=!1;for(this._basicIdentity={roles:void 0,token:void 0,user:void 0};!s;){if((r=yield this.config.basicLoginProvider(r.username,r.password)).cancel){console.debug("Basic authentication cancelled by user");break}if(!r.username||!r.password)continue;this._basicIdentity.token=btoa(r.username+":"+r.password);let e=!1;try{let i=yield t.api.UserResource.getCurrent();200===i.status&&(e=!0,this._basicIdentity.user=i.data),e||401!==i.status&&403!==i.status||console.debug("Basic authentication invalid credentials, trying again")}catch(e){console.error("Basic auth failed: ",e)}if(e){console.debug("Basic authentication successful"),s=!0;let e=yield t.api.UserResource.getCurrentUserClientRoles(this.clientId);this._basicIdentity.roles=e.data}else{console.debug("Unknown response so aborting"),this._basicIdentity=void 0;break}}s&&this._onAuthenticated()})}isSuperUser(){return!!(this.getRealm()&&"master"===this.getRealm()&&this.hasRealmRole("admin"))}isRestrictedUser(){return!!this.hasRealmRole("restricted_user")}getApiBaseUrl(){let e=this._config.managerUrl;return e+("/api/"+this._config.realm+"/")}getAppName(){let e=location.pathname.split("/");return e.length>=1?e[1]:""}hasRealmRole(e){return this.isKeycloak()&&this._keycloak.hasRealmRole(e)}hasRole(e,t=this._config.clientId){let i=this.roles;return i&&i.has(t)&&i.get(t).indexOf(e)>=0}getAuthorizationHeader(){return this.getKeycloakToken()?"Bearer "+this.getKeycloakToken():this.getBasicToken()?"Basic "+this.getBasicToken():void 0}getKeycloakToken(){if(this.isKeycloak())return this._keycloak.token}getBasicToken(){return this._basicIdentity?this._basicIdentity.token:void 0}getRealm(){if(this._config)return this._config.realm}isMobile(){return this.console&&this.console.isMobile}isKeycloak(){return!!this._keycloak}_onAuthenticated(){this._authenticated=!0,this._events||this.doEventsSubscriptionInit()}loadAndInitialiseKeycloak(){return __awaiter(this,void 0,void 0,function*(){var e,t,i,n;try{this._keycloak=new _({clientId:this._config.clientId,realm:this._config.realm,url:this._config.keycloakUrl});let o=yield this._getNativeOfflineRefreshToken(),r=yield this._keycloak.init({checkLoginIframe:!1,onLoad:"check-sso"});if(!r&&o)try{console.error("SETTING OFFLINE TOKEN"),this._keycloak.refreshToken=o,r=yield this._updateKeycloakAccessToken()}catch(e){console.error("Failed to authenticate using offline token")}if(r)this._name=null==(e=this._keycloak.tokenParsed)?void 0:e.name,this._username=null==(t=this._keycloak.tokenParsed)?void 0:t.preferred_username,this._createTokenUpdateInterval(),this.isMobile()&&(null==(n=null==(i=this._keycloak)?void 0:i.refreshTokenParsed)?void 0:n.typ)==="Offline"&&(console.debug("Storing offline refresh token"),this.console.storeData("REFRESH_TOKEN",this._keycloak.refreshToken)),this._onAuthenticated();else if(this.config.autoLogin)return this.login(),!1;return!0}catch(e){return this._authenticated=!1,this._setError(ORError.AUTH_FAILED),console.error("Failed to initialise Keycloak: "+e),!1}})}_createTokenUpdateInterval(){this._keycloakUpdateTokenInterval||(this._keycloakUpdateTokenInterval=window.setInterval(()=>__awaiter(this,void 0,void 0,function*(){yield this._updateKeycloakAccessToken().catch(()=>{console.debug("Keycloak failed to refresh the access token"),this._onDisconnect()})}),1e4))}_updateKeycloakAccessToken(){return __awaiter(this,void 0,void 0,function*(){let e=yield this._keycloak.updateToken(20);return console.debug("Access token update success, refreshed from server: "+e),e&&this._onAuthenticated(),e})}_getNativeOfflineRefreshToken(){return __awaiter(this,void 0,void 0,function*(){if(this.isMobile())return yield this.console.retrieveData("REFRESH_TOKEN")})}_emitEvent(e){window.setTimeout(()=>{for(let t of this._listeners)t(e)},0)}_setError(e){this._error=e,this._emitEvent(OREvent.ERROR),console.warn("Error set: "+e)}_clearWebHistory(){var e;null==(e=this.console)||e._doSendGenericMessage("CLEAR_WEB_HISTORY",void 0)}_onDisconnect(){return __awaiter(this,void 0,void 0,function*(){this._disconnected||(console.debug("Disconnected"),this._disconnected=!0,this._keycloakUpdateTokenInterval&&(window.clearTimeout(this._keycloakUpdateTokenInterval),this._keycloakUpdateTokenInterval=void 0),this._emitEvent(OREvent.OFFLINE),this.reconnect())})}_onReconnected(){console.debug("Reconnected"),this._disconnected=!1,this._createTokenUpdateInterval(),this._emitEvent(OREvent.ONLINE)}reconnect(){return __awaiter(this,arguments,void 0,function*(e=3e3){if(!this._disconnected)return;this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=void 0);let t=()=>__awaiter(this,void 0,void 0,function*(){var e;if(console.debug("Attempting reconnect"),!(yield this.isKeycloakReachable()))return console.debug("Keycloak is unreachable"),!1;console.debug("Keycloak is reachable"),console.debug("Checking keycloak access token");try{yield this._updateKeycloakAccessToken()}catch(t){let e=yield this._getNativeOfflineRefreshToken();this._keycloak.refreshToken=e;try{yield this._updateKeycloakAccessToken()}catch(e){console.debug("Cannot update access token so sending to login"),this.login();return}return console.debug("Keycloak access token is valid"),!0}let t=this.events&&this.events.status===i.CONNECTING;return console.debug("If event provider offline then attempting reconnect: offline="+t),!t||(yield null==(e=this.events)?void 0:e.connect())}),n=yield t();if(void 0!==n){if(!n){console.debug("Scheduling another reconnect attempt in (ms): "+(e=Math.min(Manager.MAX_RECONNECT_DELAY,e+3e3))),this._reconnectTimer=window.setTimeout(()=>this.reconnect(e),e);return}this._onReconnected()}})}isKeycloakReachable(){return __awaiter(this,arguments,void 0,function*(e=2e3){let t=new AbortController,i=setTimeout(()=>t.abort(),e);try{let e=this._keycloak.endpoints.token(),i=yield fetch(e,{method:"OPTIONS",signal:t.signal});return 200===i.status}catch(e){return!1}finally{clearTimeout(i)}})}}Manager.MAX_RECONNECT_DELAY=45e3;export const manager=new Manager;export default manager;export{l as Util};
|
package/lib/util.d.ts
CHANGED
|
@@ -94,6 +94,4 @@ export interface RequestEventDetail<T> {
|
|
|
94
94
|
detail: T;
|
|
95
95
|
}
|
|
96
96
|
export declare function dispatchCancellableEvent<T>(target: EventTarget, event: CustomEvent<RequestEventDetail<T>>): Promise<RequestEventDetail<T>>;
|
|
97
|
-
export declare function disableScroll(): void;
|
|
98
|
-
export declare function enableScroll(): void;
|
|
99
97
|
export declare function blobToBase64(blob: Blob): Promise<unknown>;
|
package/lib/util.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"i18next";import t from"qs";import{AssetModelUtil as r}from"@openremote/model";import n from"moment";import{transform as o}from"lodash";export class Deferred{get resolve(){return this._resolve}get reject(){return this._reject}get promise(){return this._promise}constructor(){this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t}),Object.freeze(this)}}export function getBrowserLanguage(){return navigator.language.split("-")[0]||"en"}export function getQueryParameters(e){return t.parse(e,{ignoreQueryPrefix:!0})}export function getQueryParameter(e){let t;if(location.search&&""!==location.search&&(t=getQueryParameters(location.search)),location.hash){let e=location.hash.indexOf("?");e>-1&&(t=getQueryParameters(location.hash.substring(e+1)))}return t?t[e]:void 0}export function getGeoNotificationsFromRulesSet(e){let t=[];return e.rules.forEach(e=>{if(e.when&&e.then&&e.then.length>0){let r=new Map;for(let n of(addGeofencePredicatesFromRuleCondition(e.when,0,r),r.size>0&&e.then.forEach(e=>addPushNotificationsFromRuleAction(e,r)),r.values()))n.forEach(e=>{e.notification&&t.push(e)})}}),t}function addGeofencePredicatesFromRuleCondition(e,t,r){if(!e)return;let n=[];e.groups&&e.groups.forEach(e=>{e.items&&e.items.forEach(e=>{n.push(e)})}),e.items&&e.items.forEach(e=>{n.push(e)}),n&&n.forEach(e=>{if(e.assets&&e.assets.attributes){let n=[];if(addGeoNotificationsFromAttributePredicateCondition(e.assets.attributes,n),n.length>0){let o=e.tag||t.toString();r.set(o,n)}}})}function addGeoNotificationsFromAttributePredicateCondition(e,t){e&&(e.items.forEach(e=>{e.value&&("radial"===e.value.predicateType||"rect"===e.value.predicateType)&&t.push({predicate:e.value})}),e.groups&&e.groups.forEach(e=>addGeoNotificationsFromAttributePredicateCondition(e,t)))}function addPushNotificationsFromRuleAction(e,t){if(e&&"notification"===e.action&&e.notification&&e.notification.message&&"push"===e.notification.message.type){let r=e.target;if(r&&r.conditionAssets){let n=t.get(r.conditionAssets);n&&n.forEach(t=>{t.notification=e.notification.message})}else for(let r of t.values())r.forEach(t=>{t.notification=e.notification.message})}}let TIME_DURATION_REGEXP=/([+-])?((\d+)[Dd])?\s*((\d+)[Hh])?\s*((\d+)[Mm]$)?\s*((\d+)[Ss])?\s*((\d+)([Mm][Ss]$))?\s*((\d+)[Ww])?\s*((\d+)[Mm][Nn])?\s*((\d+)[Yy])?/;export function isTimeDuration(e){return!!e&&(e=e.trim()).length>0&&(TIME_DURATION_REGEXP.test(e)||isTimeDurationPositiveInfinity(e)||isTimeDurationNegativeInfinity(e))}export function isTimeDurationPositiveInfinity(e){return"*"===(e=null!=e?e.trim():void 0)||"+*"===e}export function isTimeDurationNegativeInfinity(e){return"-*"===(e=null!=e?e.trim():void 0)}export function isObject(e){return!!e&&"object"==typeof e}export function isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)}export function objectsEqual(e,t,r=!0){if(null==e||null==t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Function||e instanceof RegExp)return e===t;if(e===t||e.valueOf()===t.valueOf())return!0;if(Array.isArray(e)&&e.length!==t.length||e instanceof Date||!(e instanceof Object)||!(t instanceof Object))return!1;if(r){let r=Object.keys(e);return Object.keys(t).every(e=>-1!==r.indexOf(e))&&r.every(r=>objectsEqual(e[r],t[r]))}return!1}export function difference(e,t){let r=(e,t)=>o(e,function(e,n,o){objectsEqual(n,null==t?void 0:t[o])||(e[o]=isObject(n)&&isObject(null==t?void 0:t[o])?r(n,null==t?void 0:t[o]):n)});return r(e,t)}export function arrayRemove(e,t){if(0===e.length)return;let r=e.indexOf(t);r>=0&&e.splice(r,1)}export function sentenceCaseToCamelCase(e){return null==e?"":e.split(" ").map((e,t)=>0===t?e[0].toLowerCase()+e.substring(1):e[0].toUpperCase()+e.substring(1)).join("")}export function camelCaseToSentenceCase(e){if(null==e)return"";let t=!1;return e.split(/([A-Z]|\d)/).map((e,r,n)=>{if(!e)return e;if(!t)return t=!0,e.charAt(0).toUpperCase()+e.slice(1);if("_"===e)return" ";if(1===e.length&&e===e.toUpperCase()){let t=!n[r-1]||"_"===n[r-1],o=r+1<n.length&&n[r+1]&&"_"!==n[r+1],a=r+3>n.length||!n[r+1]&&!n[r+3];(!t||o)&&(e=" "+e),!o&&(t||a)||(e=e.toLowerCase())}return e}).join("").trim()}export function stringMatch(e,t){if(t===e)return!0;let r=e.endsWith("*"),n=!r&&e.startsWith("*"),o=!r&&!n&&e.startsWith("^")&&e.endsWith("$");if(r&&t.startsWith(e.substr(0,e.length-1))||n&&t.endsWith(e.substr(1)))return!0;if(o)try{return new RegExp(e).test(t)}catch(e){console.error("Failed to compile needle as a RegExp: "+e)}return!1}export function capitaliseFirstLetter(e){if(e)return 1===e.length?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)}export function enumContains(e,t){return e&&Object.values(e).includes(t)}export function getEnumKeyAsString(e,t){return Object.keys(e).find(r=>e[r]===t)}export function getWeekNumber(e){(e=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))).setUTCDate(e.getUTCDate()+4-(e.getUTCDay()||7));let t=new Date(Date.UTC(e.getUTCFullYear(),0,1));return Math.ceil(((e.getTime()-t.getTime())/864e5+1)/7)}let monthNames=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];export function formatCronString(e,t,r,n,o,a,i){let s="";if(a?Array.isArray(a)?s+=a.toString().replace(" ",""):s+=a.toString():s+="0",s+=" ",o?Array.isArray(o)?s+=o.toString().replace(" ",""):s+=o.toString():s+="0",s+=" ",n?Array.isArray(n)?s+=n.toString().replace(" ",""):s+=n.toString():s+="0",s+=" ",r?Array.isArray(r)?s+=r.toString().replace(" ",""):s+=r.toString():s+="*",s+=" ",t)if(Array.isArray(t))if("number"==typeof t[0]){let e=[];t.forEach(t=>{e.push(monthNames[t].toString())}),s+=e.toString().replace(" ","")}else s+=t.toString().replace(" ","");else s+=t.toString();else s+="*";return s+=" ",i?s+=i.toString():s+="?",s+=" ",e?Array.isArray(e)?s+=e.toString().replace(" ",""):s+=e:s+="*",s}export function dateToCronString(e){return formatCronString(e.getFullYear(),monthNames[e.getMonth()],[e.getDate()],[e.getHours()],[e.getMinutes()])}export function cronStringToISOString(e,t){let r=e.split(" ");if(!Number.isNaN(Number(r[0]))&&!Number.isNaN(Number(r[1]))&&!Number.isNaN(Number(r[2]))&&(!Number.isNaN(Number(r[3]))||"*"==r[3])){let e=(!Number.isNaN(Number(r[6]))?r[6]:new Date().getFullYear()).toString(),o="";o=1==(o="*"!=r[4]?monthNames.indexOf(r[4]).toString():new Date().getMonth().toString()).length?"0"+o:o;let a=1==r[3].length&&"*"!=r[3]?"0"+r[3]:r[3].replace("*","01"),i=1==r[2].length&&"*"!=r[2]?"0"+r[2]:r[2].replace("*","00"),s=1==r[1].length&&"*"!=r[1]?"0"+r[1]:r[1].replace("*","00"),u=1==r[0].length&&"*"!=r[0]?"0"+r[0]:r[0].replace("*","00");if(e.length>0&&o.length>0)if(t)return n.utc({year:Number(e),month:Number(o),date:Number(a),hour:Number(i),minute:Number(s),second:Number(u)}).toISOString();else return n({year:Number(e),month:Number(o),date:Number(a),hour:Number(i),minute:Number(s),second:Number(u)}).toISOString()}}export function getMetaValue(e,t,r){let n="string"==typeof e?e:e.name;return t&&t.meta&&t.meta.hasOwnProperty(n)?t.meta[n]:r&&r.meta?r.meta[n]:void 0}export function hasMetaItem(e,t,r){let n="string"==typeof e?e:e.name;return!!(t&&t.meta&&t.meta.hasOwnProperty(n)||r&&r.meta&&r.meta.hasOwnProperty(n))}export function getAssetTypeLabel(t){return("string"==typeof t&&(t=r.getAssetDescriptor(t)),t)?e.t("label.asset."+t.name,{defaultValue:camelCaseToSentenceCase(t.name)}):""}export function getValueDescriptorLabel(t){if(!t)return e.t("label.value.unknown",{defaultValue:"Unknown"});let r="string"==typeof t?t:t.name;return e.t("label.value."+r,{defaultValue:camelCaseToSentenceCase(r||"")})}export function getAllowedValueLabel(t,r){if(t)return e.t("label.allowedValue."+t,{defaultValue:r||camelCaseToSentenceCase(t||""),nsSeparator:!1})}export function getMetaItemNameValueHolder(e,t){let n="string"==typeof e?r.getMetaItemDescriptor(e):e;return n?{name:n.name,type:n.type,value:t}:{name:typeof e,type:r.resolveValueTypeFromValue(t),value:t}}export function getAttributeLabel(e,t,r,n,o){return getValueHolderLabel(e,t,r,n,!0,o)}export function getMetaLabel(e,t,r,n,o){return getValueHolderLabel(e||getMetaItemNameValueHolder(t,null),t,r,n,!1,o)}function getValueHolderLabel(e,t,r,n,o,a){let i=doStandardTranslationLookup("label",e,t,r,o),s="";if(i||(i=getMetaValue("label",e,t&&t.meta?t:void 0)),n&&(s=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,r,o))),!i){let r=e?e.name:t?"string"==typeof t?t:t.name:void 0;i=a||(r?camelCaseToSentenceCase(r):void 0)}return i?i+(s?" ("+s+")":""):s}export function getAttributeValueAsString(e,t,r,n,o){return getValueHolderValueAsString(e,t,r,n,!0,o)}export function getMetaValueAsString(e,t,r,n,o){return getValueHolderValueAsString(e||getMetaItemNameValueHolder(t,null),t,r,n,!1,o)}function getValueHolderValueAsString(e,t,r,n,o,a){let i=getValueAsString(e?e.value:void 0,()=>getValueFormatConstraintOrUnits("format",e,t,r,o),void 0,a),s=getAttributeUnits(e,t,r);return n&&s&&s.length&&(i=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,r,o),i)),i}export function getValueAsString(t,r,o,a){let i="";if(null==t)i=a||"";else if("string"==typeof t)i=t;else if("number"==typeof t||"boolean"==typeof t||t instanceof Date){let a=r&&r();if(a&&0!==Object.keys(a).length)switch("number"==typeof t?a.asBoolean?t=!!t:a.asDate&&(t=new Date(t)):"boolean"==typeof t&&a.asNumber&&(t=+!!t),typeof t){case"number":i=new Intl.NumberFormat(o||e.language,a).format(t);break;case"boolean":a.asOnOff&&(i=t?e.t("on"):e.t("off")),a.asOpenClosed&&(i=t?e.t("open"):e.t("closed")),a.asPressedReleased&&(i=t?e.t("pressed"):e.t("released"));break;case"object":if(a.momentJsFormat)i=n(t).format(a.momentJsFormat);else if(a.iso8601)i=t.toISOString();else if(a.week){let e=getWeekNumber(t);i="2-digit"===a.week?String(e).padStart(2,"0"):Number(e).toString(10)}else i=new Intl.DateTimeFormat(o||e.language,a).format(t)}else i=Object(t).toString()}return i}export function resolveUnits(t,r){if(!t)return"";r||(r="");let n=t.map((t,n)=>{if(3!==t.length||t.toUpperCase()!==t)return e.t(["units."+t,"or:units."+t]);{let o=new Intl.NumberFormat(e.language,{currency:t,style:"currency"}).formatToParts();if(0!==n||"currency"!==o[0].type)return"currency"===o[0].type?o[0].value:o[o.length-1].value;if(!r)return o[0].value;r=o[0].value+r}}).join("");return r.length>0?r+" "+n:n}export function getAttributeValueConstraints(e,t,r){return getValueFormatConstraintOrUnits("constraints",e,t,r,!0)}export function getMetaValueConstraints(e,t,r){return getValueFormatConstraintOrUnits("constraints",e||getMetaItemNameValueHolder(t,null),t,r,!1)}export function getAttributeUnits(e,t,r){return getValueFormatConstraintOrUnits("units",e,t,r,!0)}export function getMetaUnits(e,t,r){return getValueFormatConstraintOrUnits("units",e||getMetaItemNameValueHolder(t,null),t,r,!1)}export function getAttributeValueFormat(e,t,r){return getValueFormatConstraintOrUnits("format",e,t,r,!0)}export function getMetaValueFormat(e,t,r){return getValueFormatConstraintOrUnits("format",e||getMetaItemNameValueHolder(t,null),t,r,!1)}export function mergeObjects(e,t,r){if(e&&!t)return Object.assign({},e);if(t&&!e)return Object.assign({},t);let n=Object.assign({},e),o=[];return Object.entries(t).forEach(([e,t])=>{mergeObjectKey(n,o,e,t,r)}),n}function mergeObjectKey(e,t,r,n,o){let a=e;t.forEach(e=>{a.hasOwnProperty(e)||(a[e]={}),a=a[e]}),a&&(a.hasOwnProperty(r)?null==n?delete a[r]:Array.isArray(a[r])?o?a[r]=[...a[r],...n]:a[r]=[...n]:"object"==typeof n?a[r]=mergeObjects(Object.assign({},a[r]),n,o):a[r]=n:null==n?delete a[r]:Array.isArray(n)?a[r]=[...n]:"object"==typeof n?a[r]=Object.assign({},n):a[r]=n)}function getValueFormatConstraintOrUnits(e,t,n,o,a){let i,s=[],u=doStandardTranslationLookup(e,t&&"string"==typeof t?t:t?t.name:n?"string"==typeof n?n:n.name:void 0,n,o,a);if(u&&(i=JSON.parse(u)))if("format"!==e)return i;else s.push(i);if(t&&t.meta&&(i=getMetaValue(e,t,n)))if("format"!==e)return i;else s.push(i);if(n&&"string"!=typeof n&&n.hasOwnProperty(e)){if(i=n[e],"format"!==e)return i;s.push(i)}if(n&&n.type){if(i=r.getValueDescriptor(n.type)[e],"format"!==e)return i;s.push(i)}if("format"!==e||0===s.length)return i;let l={};return s.reverse().forEach(e=>{l=Object.assign(Object.assign({},l),e)}),l}function doStandardTranslationLookup(t,r,n,o,a,i){let s;if(r?s="string"==typeof r?r:r.name:n&&(s="string"==typeof n?n:n.name),!s)return;let u=[],l=t+"."+(a?"attribute":"meta")+".";if(o&&u.push(l+o+"."+s),n&&"string"!=typeof n&&(u.push(l+n.type+"."+s),u.push(l+n.type)),u.push(l+s),u.length>0)return e.t(u,{defaultValue:i||""})}export function updateAsset(e,t){let r=t.ref.name;if(e.attributes)if(t.deleted)delete e.attributes[r];else{let n=e.attributes[r];n&&(n.value=t.value,n.timestamp=t.timestamp)}return Object.assign({},e)}export function loadJs(e){return new Promise((t,r)=>{let n=document.createElement("script");n.type="text/javascript",n.src=e,n.addEventListener("load",e=>t(e),!1),n.addEventListener("error",e=>r(e),!1),document.body.appendChild(n)})}export function sortByNumber(e){return(t,r)=>{let n=e(t),o=e(r);return n||o?n&&!o?1:!n&&o?-1:n-o:0}}export function sortByString(e){return(t,r)=>{let n=e(t),o=e(r);return n||o?n&&!o?1:!n&&o?-1:n.localeCompare(o):0}}export function dispatchCancellableEvent(e,t){let r=new Deferred;return e.dispatchEvent(t),window.setTimeout(()=>{r.resolve(t.detail)}),r.promise}let keys={37:1,38:1,39:1,40:1};function preventDefault(e){e.preventDefault()}function preventDefaultForScrollKeys(e){if(keys[e.keyCode])return preventDefault(e),!1}let supportsPassive=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{supportsPassive=!0}}))}catch(e){}let wheelOpt=!!supportsPassive&&{passive:!1},wheelEvent="onwheel"in document.createElement("div")?"wheel":"mousewheel";export function disableScroll(){window.addEventListener("DOMMouseScroll",preventDefault,!1),window.addEventListener(wheelEvent,preventDefault,wheelOpt),window.addEventListener("touchmove",preventDefault,wheelOpt),window.addEventListener("keydown",preventDefaultForScrollKeys,!1)}export function enableScroll(){window.removeEventListener("DOMMouseScroll",preventDefault,!1),window.removeEventListener(wheelEvent,preventDefault,wheelOpt),window.removeEventListener("touchmove",preventDefault,wheelOpt),window.removeEventListener("keydown",preventDefaultForScrollKeys,!1)}export function blobToBase64(e){return new Promise((t,r)=>{let n=new FileReader;n.readAsDataURL(e),n.onload=()=>{t(n.result)},n.onerror=e=>{r(e)}})}
|
|
1
|
+
import e from"i18next";import t from"qs";import{AssetModelUtil as r}from"@openremote/model";import n from"moment";import{transform as o}from"lodash";export class Deferred{get resolve(){return this._resolve}get reject(){return this._reject}get promise(){return this._promise}constructor(){this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t}),Object.freeze(this)}}export function getBrowserLanguage(){return navigator.language.split("-")[0]||"en"}export function getQueryParameters(e){return t.parse(e,{ignoreQueryPrefix:!0})}export function getQueryParameter(e){let t;if(location.search&&""!==location.search&&(t=getQueryParameters(location.search)),location.hash){let e=location.hash.indexOf("?");e>-1&&(t=getQueryParameters(location.hash.substring(e+1)))}return t?t[e]:void 0}export function getGeoNotificationsFromRulesSet(e){let t=[];return e.rules.forEach(e=>{if(e.when&&e.then&&e.then.length>0){let r=new Map;for(let n of(addGeofencePredicatesFromRuleCondition(e.when,0,r),r.size>0&&e.then.forEach(e=>addPushNotificationsFromRuleAction(e,r)),r.values()))n.forEach(e=>{e.notification&&t.push(e)})}}),t}function addGeofencePredicatesFromRuleCondition(e,t,r){if(!e)return;let n=[];e.groups&&e.groups.forEach(e=>{e.items&&e.items.forEach(e=>{n.push(e)})}),e.items&&e.items.forEach(e=>{n.push(e)}),n&&n.forEach(e=>{if(e.assets&&e.assets.attributes){let n=[];if(addGeoNotificationsFromAttributePredicateCondition(e.assets.attributes,n),n.length>0){let o=e.tag||t.toString();r.set(o,n)}}})}function addGeoNotificationsFromAttributePredicateCondition(e,t){e&&(e.items.forEach(e=>{e.value&&("radial"===e.value.predicateType||"rect"===e.value.predicateType)&&t.push({predicate:e.value})}),e.groups&&e.groups.forEach(e=>addGeoNotificationsFromAttributePredicateCondition(e,t)))}function addPushNotificationsFromRuleAction(e,t){if(e&&"notification"===e.action&&e.notification&&e.notification.message&&"push"===e.notification.message.type){let r=e.target;if(r&&r.conditionAssets){let n=t.get(r.conditionAssets);n&&n.forEach(t=>{t.notification=e.notification.message})}else for(let r of t.values())r.forEach(t=>{t.notification=e.notification.message})}}let TIME_DURATION_REGEXP=/([+-])?((\d+)[Dd])?\s*((\d+)[Hh])?\s*((\d+)[Mm]$)?\s*((\d+)[Ss])?\s*((\d+)([Mm][Ss]$))?\s*((\d+)[Ww])?\s*((\d+)[Mm][Nn])?\s*((\d+)[Yy])?/;export function isTimeDuration(e){return!!e&&(e=e.trim()).length>0&&(TIME_DURATION_REGEXP.test(e)||isTimeDurationPositiveInfinity(e)||isTimeDurationNegativeInfinity(e))}export function isTimeDurationPositiveInfinity(e){return"*"===(e=null!=e?e.trim():void 0)||"+*"===e}export function isTimeDurationNegativeInfinity(e){return"-*"===(e=null!=e?e.trim():void 0)}export function isObject(e){return!!e&&"object"==typeof e}export function isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)}export function objectsEqual(e,t,r=!0){if(null==e||null==t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Function||e instanceof RegExp)return e===t;if(e===t||e.valueOf()===t.valueOf())return!0;if(Array.isArray(e)&&e.length!==t.length||e instanceof Date||!(e instanceof Object)||!(t instanceof Object))return!1;if(r){let r=Object.keys(e);return Object.keys(t).every(e=>-1!==r.indexOf(e))&&r.every(r=>objectsEqual(e[r],t[r]))}return!1}export function difference(e,t){let r=(e,t)=>o(e,function(e,n,o){objectsEqual(n,null==t?void 0:t[o])||(e[o]=isObject(n)&&isObject(null==t?void 0:t[o])?r(n,null==t?void 0:t[o]):n)});return r(e,t)}export function arrayRemove(e,t){if(0===e.length)return;let r=e.indexOf(t);r>=0&&e.splice(r,1)}export function sentenceCaseToCamelCase(e){return null==e?"":e.split(" ").map((e,t)=>0===t?e[0].toLowerCase()+e.substring(1):e[0].toUpperCase()+e.substring(1)).join("")}export function camelCaseToSentenceCase(e){if(null==e)return"";let t=!1;return e.split(/([A-Z]|\d)/).map((e,r,n)=>{if(!e)return e;if(!t)return t=!0,e.charAt(0).toUpperCase()+e.slice(1);if("_"===e)return" ";if(1===e.length&&e===e.toUpperCase()){let t=!n[r-1]||"_"===n[r-1],o=r+1<n.length&&n[r+1]&&"_"!==n[r+1],a=r+3>n.length||!n[r+1]&&!n[r+3];(!t||o)&&(e=" "+e),!o&&(t||a)||(e=e.toLowerCase())}return e}).join("").trim()}export function stringMatch(e,t){if(t===e)return!0;let r=e.endsWith("*"),n=!r&&e.startsWith("*"),o=!r&&!n&&e.startsWith("^")&&e.endsWith("$");if(r&&t.startsWith(e.substr(0,e.length-1))||n&&t.endsWith(e.substr(1)))return!0;if(o)try{return new RegExp(e).test(t)}catch(e){console.error("Failed to compile needle as a RegExp: "+e)}return!1}export function capitaliseFirstLetter(e){if(e)return 1===e.length?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)}export function enumContains(e,t){return e&&Object.values(e).includes(t)}export function getEnumKeyAsString(e,t){return Object.keys(e).find(r=>e[r]===t)}export function getWeekNumber(e){(e=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))).setUTCDate(e.getUTCDate()+4-(e.getUTCDay()||7));let t=new Date(Date.UTC(e.getUTCFullYear(),0,1));return Math.ceil(((e.getTime()-t.getTime())/864e5+1)/7)}let monthNames=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];export function formatCronString(e,t,r,n,o,a,i){let s="";if(a?Array.isArray(a)?s+=a.toString().replace(" ",""):s+=a.toString():s+="0",s+=" ",o?Array.isArray(o)?s+=o.toString().replace(" ",""):s+=o.toString():s+="0",s+=" ",n?Array.isArray(n)?s+=n.toString().replace(" ",""):s+=n.toString():s+="0",s+=" ",r?Array.isArray(r)?s+=r.toString().replace(" ",""):s+=r.toString():s+="*",s+=" ",t)if(Array.isArray(t))if("number"==typeof t[0]){let e=[];t.forEach(t=>{e.push(monthNames[t].toString())}),s+=e.toString().replace(" ","")}else s+=t.toString().replace(" ","");else s+=t.toString();else s+="*";return s+=" ",i?s+=i.toString():s+="?",s+=" ",e?Array.isArray(e)?s+=e.toString().replace(" ",""):s+=e:s+="*",s}export function dateToCronString(e){return formatCronString(e.getFullYear(),monthNames[e.getMonth()],[e.getDate()],[e.getHours()],[e.getMinutes()])}export function cronStringToISOString(e,t){let r=e.split(" ");if(!Number.isNaN(Number(r[0]))&&!Number.isNaN(Number(r[1]))&&!Number.isNaN(Number(r[2]))&&(!Number.isNaN(Number(r[3]))||"*"==r[3])){let e=(!Number.isNaN(Number(r[6]))?r[6]:new Date().getFullYear()).toString(),o="";o=1==(o="*"!=r[4]?monthNames.indexOf(r[4]).toString():new Date().getMonth().toString()).length?"0"+o:o;let a=1==r[3].length&&"*"!=r[3]?"0"+r[3]:r[3].replace("*","01"),i=1==r[2].length&&"*"!=r[2]?"0"+r[2]:r[2].replace("*","00"),s=1==r[1].length&&"*"!=r[1]?"0"+r[1]:r[1].replace("*","00"),u=1==r[0].length&&"*"!=r[0]?"0"+r[0]:r[0].replace("*","00");if(e.length>0&&o.length>0)if(t)return n.utc({year:Number(e),month:Number(o),date:Number(a),hour:Number(i),minute:Number(s),second:Number(u)}).toISOString();else return n({year:Number(e),month:Number(o),date:Number(a),hour:Number(i),minute:Number(s),second:Number(u)}).toISOString()}}export function getMetaValue(e,t,r){let n="string"==typeof e?e:e.name;return t&&t.meta&&t.meta.hasOwnProperty(n)?t.meta[n]:r&&r.meta?r.meta[n]:void 0}export function hasMetaItem(e,t,r){let n="string"==typeof e?e:e.name;return!!(t&&t.meta&&t.meta.hasOwnProperty(n)||r&&r.meta&&r.meta.hasOwnProperty(n))}export function getAssetTypeLabel(t){return("string"==typeof t&&(t=r.getAssetDescriptor(t)),t)?e.t("label.asset."+t.name,{defaultValue:camelCaseToSentenceCase(t.name)}):""}export function getValueDescriptorLabel(t){if(!t)return e.t("label.value.unknown",{defaultValue:"Unknown"});let r="string"==typeof t?t:t.name;return e.t("label.value."+r,{defaultValue:camelCaseToSentenceCase(r||"")})}export function getAllowedValueLabel(t,r){if(t)return e.t("label.allowedValue."+t,{defaultValue:r||camelCaseToSentenceCase(t||""),nsSeparator:!1})}export function getMetaItemNameValueHolder(e,t){let n="string"==typeof e?r.getMetaItemDescriptor(e):e;return n?{name:n.name,type:n.type,value:t}:{name:typeof e,type:r.resolveValueTypeFromValue(t),value:t}}export function getAttributeLabel(e,t,r,n,o){return getValueHolderLabel(e,t,r,n,!0,o)}export function getMetaLabel(e,t,r,n,o){return getValueHolderLabel(e||getMetaItemNameValueHolder(t,null),t,r,n,!1,o)}function getValueHolderLabel(e,t,r,n,o,a){let i=doStandardTranslationLookup("label",e,t,r,o),s="";if(i||(i=getMetaValue("label",e,t&&t.meta?t:void 0)),n&&(s=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,r,o))),!i){let r=e?e.name:t?"string"==typeof t?t:t.name:void 0;i=a||(r?camelCaseToSentenceCase(r):void 0)}return i?i+(s?" ("+s+")":""):s}export function getAttributeValueAsString(e,t,r,n,o){return getValueHolderValueAsString(e,t,r,n,!0,o)}export function getMetaValueAsString(e,t,r,n,o){return getValueHolderValueAsString(e||getMetaItemNameValueHolder(t,null),t,r,n,!1,o)}function getValueHolderValueAsString(e,t,r,n,o,a){let i=getValueAsString(e?e.value:void 0,()=>getValueFormatConstraintOrUnits("format",e,t,r,o),void 0,a),s=getAttributeUnits(e,t,r);return n&&s&&s.length&&(i=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,r,o),i)),i}export function getValueAsString(t,r,o,a){let i="";if(null==t)i=a||"";else if("string"==typeof t)i=t;else if("number"==typeof t||"boolean"==typeof t||t instanceof Date){let a=r&&r();if(a&&0!==Object.keys(a).length)switch("number"==typeof t?a.asBoolean?t=!!t:a.asDate&&(t=new Date(t)):"boolean"==typeof t&&a.asNumber&&(t=+!!t),typeof t){case"number":i=new Intl.NumberFormat(o||e.language,a).format(t);break;case"boolean":a.asOnOff&&(i=t?e.t("on"):e.t("off")),a.asOpenClosed&&(i=t?e.t("open"):e.t("closed")),a.asPressedReleased&&(i=t?e.t("pressed"):e.t("released"));break;case"object":if(a.momentJsFormat)i=n(t).format(a.momentJsFormat);else if(a.iso8601)i=t.toISOString();else if(a.week){let e=getWeekNumber(t);i="2-digit"===a.week?String(e).padStart(2,"0"):Number(e).toString(10)}else i=new Intl.DateTimeFormat(o||e.language,a).format(t)}else i=Object(t).toString()}return i}export function resolveUnits(t,r){if(!t)return"";r||(r="");let n=t.map((t,n)=>{if(3!==t.length||t.toUpperCase()!==t)return e.t(["units."+t,"or:units."+t]);{let o=new Intl.NumberFormat(e.language,{currency:t,style:"currency"}).formatToParts();if(0!==n||"currency"!==o[0].type)return"currency"===o[0].type?o[0].value:o[o.length-1].value;if(!r)return o[0].value;r=o[0].value+r}}).join("");return r.length>0?r+" "+n:n}export function getAttributeValueConstraints(e,t,r){return getValueFormatConstraintOrUnits("constraints",e,t,r,!0)}export function getMetaValueConstraints(e,t,r){return getValueFormatConstraintOrUnits("constraints",e||getMetaItemNameValueHolder(t,null),t,r,!1)}export function getAttributeUnits(e,t,r){return getValueFormatConstraintOrUnits("units",e,t,r,!0)}export function getMetaUnits(e,t,r){return getValueFormatConstraintOrUnits("units",e||getMetaItemNameValueHolder(t,null),t,r,!1)}export function getAttributeValueFormat(e,t,r){return getValueFormatConstraintOrUnits("format",e,t,r,!0)}export function getMetaValueFormat(e,t,r){return getValueFormatConstraintOrUnits("format",e||getMetaItemNameValueHolder(t,null),t,r,!1)}export function mergeObjects(e,t,r){if(e&&!t)return Object.assign({},e);if(t&&!e)return Object.assign({},t);let n=Object.assign({},e),o=[];return Object.entries(t).forEach(([e,t])=>{mergeObjectKey(n,o,e,t,r)}),n}function mergeObjectKey(e,t,r,n,o){let a=e;t.forEach(e=>{a.hasOwnProperty(e)||(a[e]={}),a=a[e]}),a&&(a.hasOwnProperty(r)?null==n?delete a[r]:Array.isArray(a[r])?o?a[r]=[...a[r],...n]:a[r]=[...n]:"object"==typeof n?a[r]=mergeObjects(Object.assign({},a[r]),n,o):a[r]=n:null==n?delete a[r]:Array.isArray(n)?a[r]=[...n]:"object"==typeof n?a[r]=Object.assign({},n):a[r]=n)}function getValueFormatConstraintOrUnits(e,t,n,o,a){let i,s=[],u=doStandardTranslationLookup(e,t&&"string"==typeof t?t:t?t.name:n?"string"==typeof n?n:n.name:void 0,n,o,a);if(u&&(i=JSON.parse(u)))if("format"!==e)return i;else s.push(i);if(t&&t.meta&&(i=getMetaValue(e,t,n)))if("format"!==e)return i;else s.push(i);if(n&&"string"!=typeof n&&n.hasOwnProperty(e)){if(i=n[e],"format"!==e)return i;s.push(i)}if(n&&n.type){if(i=r.getValueDescriptor(n.type)[e],"format"!==e)return i;s.push(i)}if("format"!==e||0===s.length)return i;let l={};return s.reverse().forEach(e=>{l=Object.assign(Object.assign({},l),e)}),l}function doStandardTranslationLookup(t,r,n,o,a,i){let s;if(r?s="string"==typeof r?r:r.name:n&&(s="string"==typeof n?n:n.name),!s)return;let u=[],l=t+"."+(a?"attribute":"meta")+".";if(o&&u.push(l+o+"."+s),n&&"string"!=typeof n&&(u.push(l+n.type+"."+s),u.push(l+n.type)),u.push(l+s),u.length>0)return e.t(u,{defaultValue:i||""})}export function updateAsset(e,t){let r=t.ref.name;if(e.attributes)if(t.deleted)delete e.attributes[r];else{let n=e.attributes[r];n&&(n.value=t.value,n.timestamp=t.timestamp)}return Object.assign({},e)}export function loadJs(e){return new Promise((t,r)=>{let n=document.createElement("script");n.type="text/javascript",n.src=e,n.addEventListener("load",e=>t(e),!1),n.addEventListener("error",e=>r(e),!1),document.body.appendChild(n)})}export function sortByNumber(e){return(t,r)=>{let n=e(t),o=e(r);return n||o?n&&!o?1:!n&&o?-1:n-o:0}}export function sortByString(e){return(t,r)=>{let n=e(t),o=e(r);return n||o?n&&!o?1:!n&&o?-1:n.localeCompare(o):0}}export function dispatchCancellableEvent(e,t){let r=new Deferred;return e.dispatchEvent(t),window.setTimeout(()=>{r.resolve(t.detail)}),r.promise}export function blobToBase64(e){return new Promise((t,r)=>{let n=new FileReader;n.readAsDataURL(e),n.onload=()=>{t(n.result)},n.onerror=e=>{r(e)}})}
|
package/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AA0BA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AAEjC,MAAM,OAAO,QAAQ;IAMjB,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACJ;AAOD,MAAM,UAAU,kBAAkB;IAC9B,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAC/C,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IAC/C,IAAI,MAAM,CAAC;IAEX,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACb,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,iBAAwC;IAEpF,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAE/C,iBAAiB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAEtC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA6B,CAAC;YAChE,sCAAsC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEzE,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,kCAAkC,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC1G,CAAC;YACD,KAAK,MAAM,mBAAmB,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5D,mBAAmB,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;oBAC5C,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;wBAC/B,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAC3C,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,SAAS,sCAAsC,CAAC,aAAoD,EAAE,KAAa,EAAE,kBAAkD;IACnK,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO;IACX,CAAC;IACD,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACvB,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACvC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;oBACpC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC3B,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACxC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAC;IAEP,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,OAAO,CAAC,CAAC,WAAgB,EAAE,EAAE;YAC/B,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;gBAC/C,kDAAkD,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBACpG,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACpD,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,SAAS,kDAAkD,CAAC,kBAA8D,EAAE,gBAAmC;IAC3J,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO;IACX,CAAC;IAED,kBAAkB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAM,CAAC,aAAa,KAAK,MAAM,CAAC,EAAE,CAAC;YAC/G,gBAAgB,CAAC,IAAI,CAAC;gBAClB,SAAS,EAAE,SAAS,CAAC,KAA0B;aAClD,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAC5B,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,kDAAkD,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtI,CAAC;AACL,CAAC;AAED,SAAS,kCAAkC,CAAC,UAA2B,EAAE,eAA+C;IACpH,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACrD,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChH,0BAA0B;YAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACjC,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBACnC,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACrE,IAAI,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;wBACzC,eAAe,CAAC,YAAY,GAAG,UAAU,CAAC,YAAa,CAAC,OAAkC,CAAC;oBAC/F,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,mCAAmC;gBACnC,KAAK,MAAM,gBAAgB,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;oBACtD,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;wBACzC,eAAe,CAAC,YAAY,GAAG,UAAU,CAAC,YAAa,CAAC,OAAkC,CAAC;oBAC/F,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,oBAAoB,GAAG,0IAA0I,CAAC;AAExK,MAAM,UAAU,cAAc,CAAC,IAAa;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAEnB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;WACf,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;eAC5B,8BAA8B,CAAC,IAAI,CAAC;eACpC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAa;IACxD,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,OAAO,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAa;IACxD,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,OAAO,IAAI,KAAK,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAW;IAChC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAW;IAClC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU,EAAE,IAAU,EAAE,OAAgB,IAAI;IACrE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7E,OAAO,IAAI,KAAK,IAAI,CAAC;IACzB,CAAC;IACD,uDAAuD;IACvD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,qFAAqF;IACrF,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,KAAK,IAAI,CAAC;IACzB,CAAC;IACD,iHAAiH;IACjH,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,IAAI,CAAC;IACzB,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,iDAAiD;IACjD,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,mEAAmE;IACnE,IAAI,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACP,kCAAkC;QAClC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC;YACF,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACV,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AACD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAY,EAAE,IAAU;IAC/C,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,IAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,UAAS,MAAW,EAAE,KAAK,EAAE,GAA6B;QACpH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnG,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,GAAQ,EAAE,IAAO;IAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO;IACX,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAuB;IAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,KAAa,EAAU,EAAE;QAC/D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAuB;IAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,OAAO,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QAC7C,oBAAoB;QACpB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAEjB,uDAAuD;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,GAAG,CAAC;QAC1B,8BAA8B;QAC9B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1C,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YACtD,MAAM,QAAQ,GAAG,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YAClE,MAAM,4BAA4B,GAAG,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;YAChF,eAAe;YACf,IAAI,CAAC,eAAe,IAAI,QAAQ;gBAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC9C,sCAAsC;YACtC,IAAI,QAAQ,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,4BAA4B,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7F,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,QAAgB;IAExD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAEzF,IAAI,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,wCAAwC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAuB;IACzD,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO;IACX,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACjD,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,GAAW;IACvD,aAAa;IACb,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACzD,OAAO,GAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAC,IAAU;IACpC,qCAAqC;IACrC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/E,iEAAiE;IACjE,6BAA6B;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,wBAAwB;IACxB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;IAChE,2CAA2C;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAE,CAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,uCAAuC;IACvC,OAAO,MAAM,CAAC;AAClB,CAAC;AAID,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAExG;;;;;;;;;;;;;;IAcI;AACJ,MAAM,UAAU,gBAAgB,CAAC,KAAkC,EAAE,MAAqC,EAAE,IAAwB,EAAE,KAAyB,EAAE,OAA2B,EAAE,OAA2B,EAAE,aAAsB;IAC7O,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAG,OAAO,EAAE,CAAC;QACT,IAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;aACxE,CAAC;YAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QAAC,IAAI,IAAI,GAAG,CAAA;IAAA,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC;IACZ,IAAG,OAAO,EAAE,CAAC;QACT,IAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;aACxE,CAAC;YAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QAAC,IAAI,IAAI,GAAG,CAAA;IAAA,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC;IACZ,IAAG,KAAK,EAAE,CAAC;QACP,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;aACpE,CAAC;YAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QAAC,IAAI,IAAI,GAAG,CAAA;IAAA,CAAC;IACrB,IAAI,IAAI,GAAG,CAAA;IACX,IAAG,IAAI,EAAE,CAAC;QACN,IAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;aAClE,CAAC;YAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QAAC,IAAI,IAAI,GAAG,CAAA;IAAA,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC;IACZ,IAAG,MAAM,EAAE,CAAC;QACR,IAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,IAAG,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvF,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACJ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;aACI,CAAC;YAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QAAC,IAAI,IAAI,GAAG,CAAA;IAAA,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC;IACZ,IAAG,aAAa,EAAE,CAAC;QAAC,IAAI,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;IAAC,CAAC;SAClD,CAAC;QAAC,IAAI,IAAI,GAAG,CAAA;IAAC,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC;IACZ,IAAG,KAAK,EAAE,CAAC;QACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;aACrE,CAAC;YAAC,IAAI,IAAI,KAAK,CAAC;QAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QAAC,IAAI,IAAI,GAAG,CAAA;IAAA,CAAC;IACrB,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACvC,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACvI,CAAC;AACD;;;;EAIE;AACF,MAAM,UAAU,qBAAqB,CAAC,UAAkB,EAAE,KAAc;IACpE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACpK,MAAM,IAAI,GAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1G,IAAI,KAAK,GAAW,EAAE,CAAC;QACvB,IAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;YAClB,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7C,CAAC;QACD,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,IAAI,GAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACtH,MAAM,IAAI,GAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACtH,MAAM,MAAM,GAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACxH,MAAM,MAAM,GAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACxH,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,IAAG,KAAK,EAAE,CAAC;gBACP,OAAO,MAAM,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACxK,CAAC;iBAAM,CAAC;gBACJ,OAAO,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACpK,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAID,MAAM,UAAU,YAAY,CAAC,IAAyB,EAAE,SAAqC,EAAE,UAA8D;IACzJ,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAmB,CAAC,IAAK,CAAC;IAE9E,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,UAAU,IAAK,UAAyB,CAAC,IAAI,EAAE,CAAC;QAChD,OAAQ,UAAyB,CAAC,IAAK,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAyB,EAAE,SAAqC,EAAE,UAAyC;IACnI,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAmB,CAAC,IAAK,CAAC;IAE9E,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,UAAU,IAAK,UAAyB,CAAC,IAAI,IAAK,UAAyB,CAAC,IAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7G,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAA0C;IACxE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,EAAC,YAAY,EAAE,uBAAuB,CAAC,IAAI,CAAC,IAAK,CAAC,EAAC,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAgD;IACpF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,OAAO,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAC,YAAY,EAAE,SAAS,EAAC,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,OAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9E,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,EAAE,EAAC,YAAY,EAAE,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,YAAoB,EAAE,QAAiB;IACxE,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO;IACX,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,qBAAqB,GAAG,YAAY,EAAE,EAAC,YAAY,EAAE,QAAQ,IAAI,uBAAuB,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC;AACxJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,oBAAiD,EAAE,KAAU;IACpG,MAAM,UAAU,GAAG,OAAO,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,oBAAoB,CAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAEjJ,IAAI,UAAU,EAAE,CAAC;QACb,OAAO;YACH,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,KAAK;SACf,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,EAAE,OAAO,oBAAoB;QACjC,IAAI,EAAE,cAAc,CAAC,yBAAyB,CAAC,KAAK,CAAC;QACrD,KAAK,EAAE,KAAK;KACf,CAAA;AACL,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,SAAqC,EAAE,UAA2C,EAAE,SAA6B,EAAE,SAAkB,EAAE,QAAiB;IACtL,OAAO,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAA0C,EAAE,UAAuC,EAAE,SAA6B,EAAE,SAAkB,EAAE,QAAiB;IAClL,MAAM,eAAe,GAAG,QAAQ,IAAI,0BAA0B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjF,OAAO,mBAAmB,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,mBAAmB,CAAC,eAAiD,EAAE,UAAkE,EAAE,SAA6B,EAAE,SAAkB,EAAE,WAAoB,EAAE,QAAiB;IAE1O,IAAI,KAAK,GAAG,2BAA2B,yCAA2B,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACvH,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,4BAA4B;QAC5B,KAAK,GAAG,YAAY,yCAA2B,eAAiC,EAAE,UAAU,IAAK,UAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,UAAiC,CAAC,CAAC,CAAC,SAAS,CAAW,CAAC;IAC/L,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,KAAK,GAAyB,+BAA+B,yCAA2B,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACnJ,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,IAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9I,KAAK,GAAG,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9E,CAAC;AAGD,MAAM,UAAU,yBAAyB,CAAC,SAAyB,EAAE,UAAoD,EAAE,SAA6B,EAAE,SAAkB,EAAE,QAAiB;IAC3L,OAAO,2BAA2B,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAA0C,EAAE,UAAuC,EAAE,SAA6B,EAAE,SAAkB,EAAE,QAAiB;IAC1L,MAAM,eAAe,GAAG,QAAQ,IAAI,0BAA0B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjF,OAAO,2BAA2B,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,2BAA2B,CAAC,eAAiD,EAAE,UAAkE,EAAE,SAA6B,EAAE,SAAkB,EAAE,WAAoB,EAAE,QAAiB;IAElP,IAAI,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,+BAA+B,2CAA4B,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjO,MAAM,SAAS,GAAG,iBAAiB,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5E,IAAI,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAyB,+BAA+B,yCAA2B,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACnJ,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAU,EAAE,cAA6C,EAAE,QAAiB,EAAE,QAAiB;IAC5H,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE,CAAC;QAClD,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC9B,CAAC;SAAM,CAAC;QACJ,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7B,QAAQ,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAE5F,MAAM,MAAM,GAAG,cAAc,IAAI,cAAc,EAAE,CAAC;YAElD,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACnB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;oBACpB,CAAC;yBAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBACvB,8BAA8B;wBAC9B,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACxD,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;gBAED,QAAQ,OAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpB,KAAK,QAAQ;wBACT,QAAQ,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACrF,MAAM;oBACV,KAAK,SAAS;wBACV,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACjB,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC1D,CAAC;wBACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;4BACtB,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBAC/D,CAAC;wBACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;4BAC3B,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;wBACpE,CAAC;wBACD,MAAM;oBACV,KAAK,QAAQ,EAAE,gBAAgB;wBAC3B,2CAA2C;wBAC3C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;4BACxB,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;wBAC3D,CAAC;6BAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACxB,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;wBACnC,CAAC;6BAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;4BACrB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;4BACpC,QAAQ,GAAG,MAAM,CAAC,IAAI,2DAA2C,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACrI,CAAC;6BAAM,CAAC;4BACJ,QAAQ,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,MAA+B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACpH,CAAC;wBACD,MAAM;gBACd,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAA2B,EAAE,QAAiB;IACvE,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,QAAQ,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YACnD,4DAA4D;YAC5D,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC3G,kDAAkD;YAClD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9C,IAAI,QAAQ,EAAE,CAAC;oBACX,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACJ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC1B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACzF,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAqC,EAAE,UAAoD,EAAE,SAA6B;IACnK,OAAO,+BAA+B,qDAAiC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AACnH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAA0C,EAAE,UAAuC,EAAE,SAA6B;IACtJ,MAAM,eAAe,GAAG,QAAQ,IAAI,0BAA0B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjF,OAAO,+BAA+B,qDAAiC,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC1H,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAqC,EAAE,UAAsE,EAAE,SAA6B;IAC1K,OAAO,+BAA+B,yCAA2B,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC7G,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAA0C,EAAE,UAAuC,EAAE,SAA6B;IAC3I,MAAM,eAAe,GAAG,QAAQ,IAAI,0BAA0B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjF,OAAO,+BAA+B,yCAA2B,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACpH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAqC,EAAE,UAAoD,EAAE,SAA6B;IAC9J,OAAO,+BAA+B,2CAA4B,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC9G,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAA0C,EAAE,UAAuC,EAAE,SAA6B;IACjJ,MAAM,eAAe,GAAG,QAAQ,IAAI,0BAA0B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjF,OAAO,+BAA+B,2CAA4B,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACrH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAqB,EAAE,CAAqB,EAAE,WAAoB;IAC3F,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACV,yBAAW,CAAC,EAAE;IAClB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACV,yBAAW,CAAC,EAAE;IAClB,CAAC;IACD,MAAM,MAAM,qBAAO,CAAC,CAAC,CAAC;IACtB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,CAAC,OAAO,CAAC,CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAClC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAC,WAAW,CAAC,CAAA;IAClD,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB,EAAE,IAAc,EAAE,GAAW,EAAE,KAAU,EAAE,WAAoB;IACtG,IAAI,IAAI,GAAQ,WAAW,CAAC;IAE5B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACf,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,qBAAO,KAAK,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,WAAW,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;aAAM,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,mBAAK,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,+BAA+B,CAAI,MAA6F,EAAE,eAA0D,EAAE,UAAkE,EAAE,SAA6B,EAAE,WAAoB;IAE1T,IAAI,OAAsB,CAAC;IAC3B,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,MAAM,IAAI,GAAG,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAE,eAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1O,MAAM,GAAG,GAAG,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1F,IAAI,GAAG,EAAE,CAAC;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;QAC/B,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,MAAM,6CAA8B,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,OAAsB,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,CAAC;YACnB,CAAC;QACL,CAAC;IACL,CAAC;IAED,eAAe;IACf,IAAI,eAAe,IAAK,eAA8B,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,eAAiC,EAAE,UAAU,CAAM,CAAC;QAEnF,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,MAAM,6CAA8B,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,OAAsB,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,CAAC;YACnB,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,UAAU,IAAI,OAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,IAAK,UAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9F,OAAO,GAAI,UAAkB,CAAC,MAAM,CAAM,CAAC;QAC3C,IAAI,MAAM,6CAA8B,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,OAAsB,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAED,IAAI,UAAU,IAAK,UAAgD,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,eAAe,GAAG,cAAc,CAAC,kBAAkB,CAAE,UAAgD,CAAC,IAAI,CAAC,CAAC;QAClH,OAAO,GAAI,eAAuB,CAAC,MAAM,CAAM,CAAC;QAChD,IAAI,MAAM,6CAA8B,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,OAAsB,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAED,IAAI,MAAM,6CAA8B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,GAAgB,EAAE,CAAC;IACnC,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACjC,YAAY,mCAAO,YAAY,GAAI,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAA;IAEF,OAAO,YAAiB,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAAC,MAAwH,EAAE,eAA0D,EAAE,qBAA6E,EAAE,SAA6B,EAAE,WAAoB,EAAE,QAAiB;IAE5W,kEAAkE;IAClE,gHAAgH;IAChH,gEAAgE;IAChE,6CAA6C;IAC7C,IAAI,IAAwB,CAAC;IAE7B,IAAI,eAAe,EAAE,CAAC;QAClB,IAAI,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;IACxF,CAAC;SAAM,IAAI,qBAAqB,EAAE,CAAC;QAC/B,IAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC;IAC5G,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,MAAM,MAAM,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IAEzE,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE5B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,EAAC,YAAY,EAAE,QAAQ,IAAI,EAAE,EAAC,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,KAAqB;IAE3D,MAAM,aAAa,GAAG,KAAK,CAAC,GAAI,CAAC,IAAK,CAAC;IAEvC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC,UAAW,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAClD,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC9B,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAChC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACjB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC;AAEF,MAAM,UAAU,YAAY,CAAI,cAAmC;IAC/D,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,cAAmC;IAC/D,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC;AACN,CAAC;AAOD,MAAM,UAAU,wBAAwB,CAAI,MAAmB,EAAE,KAAyC;IACtG,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAyB,CAAC;IACvD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC5B,CAAC;AAED,yCAAyC;AACzC,4DAA4D;AAC5D,MAAM,IAAI,GAAG,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC;AAC1C,SAAS,cAAc,CAAC,CAAQ;IAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;AACvB,CAAC;AACD,SAAS,2BAA2B,CAAC,CAAgB;IACjD,IAAK,IAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,cAAc,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,8DAA8D;AAC9D,IAAI,eAAe,GAAG,KAAK,CAAC;AAC5B,IAAI,CAAC;IACD,aAAa;IACb,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE;QACvE,GAAG,EAAE,GAAG,EAAE,GAAG,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;KACzC,CAAC,CAAC,CAAC;AACR,CAAC;AAAC,OAAM,CAAC,EAAE,CAAC,CAAA,CAAC;AAEb,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,MAAM,UAAU,GAAG,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;AAEvF,uBAAuB;AACvB,MAAM,UAAU,aAAa;IACzB,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW;IAC7E,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB;IAChF,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;IACzE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,sBAAsB;AACtB,MAAM,UAAU,YAAY;IACxB,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACpE,aAAa;IACb,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IACjE,aAAa;IACb,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAClE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAS;IAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE/B,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE;YACrB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YAC3B,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openremote/core",
|
|
3
|
-
"version": "1.8.0-snapshot.
|
|
3
|
+
"version": "1.8.0-snapshot.20250818162953",
|
|
4
4
|
"description": "OpenRemote 3.x Core",
|
|
5
5
|
"main": "dist/umd/index.bundle.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./lib/index.js",
|
|
9
|
-
"./*": "./lib/*.js"
|
|
9
|
+
"./*": "./lib/*.js",
|
|
10
|
+
"./lib/util": "./lib/util.js"
|
|
10
11
|
},
|
|
11
12
|
"types": "lib/index.d.ts",
|
|
12
13
|
"files": [
|
|
@@ -20,8 +21,8 @@
|
|
|
20
21
|
"author": "OpenRemote",
|
|
21
22
|
"license": "AGPL-3.0-or-later",
|
|
22
23
|
"dependencies": {
|
|
23
|
-
"@openremote/or-icon": "1.8.0-snapshot.
|
|
24
|
-
"@openremote/rest": "1.8.0-snapshot.
|
|
24
|
+
"@openremote/or-icon": "1.8.0-snapshot.20250818162953",
|
|
25
|
+
"@openremote/rest": "1.8.0-snapshot.20250818162953",
|
|
25
26
|
"i18next": "^21.5.3",
|
|
26
27
|
"i18next-http-backend": "^1.3.1",
|
|
27
28
|
"keycloak-js": "^25.0.1",
|
|
@@ -31,7 +32,7 @@
|
|
|
31
32
|
"url-search-params-polyfill": "^8.1.0"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
|
-
"@openremote/util": "1.8.0-snapshot.
|
|
35
|
+
"@openremote/util": "1.8.0-snapshot.20250818162953",
|
|
35
36
|
"@types/qs": "^6.9.7",
|
|
36
37
|
"xmldom": "^0.6.0",
|
|
37
38
|
"xpath": "^0.0.32"
|