@openremote/or-asset-tree 1.7.0-snapshot.20250704123426 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -551,7 +551,7 @@
|
|
|
551
551
|
.draggable:active[draggable="true"] {
|
|
552
552
|
cursor: grabbing;
|
|
553
553
|
}
|
|
554
|
-
`},1032:(e,t,n)=>{"use strict";n.d(t,{C3:()=>r,KQ:()=>c,ct:()=>o,gR:()=>a});var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},i(e,t)};function o(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var r=function(){return r=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)};function a(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,r=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function c(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(s(arguments[t]));return e}},2960:function(e,t,n){!function(e){"use strict";var t,n=function(){try{if(e.URLSearchParams&&"bar"===new e.URLSearchParams("foo=bar").get("foo"))return e.URLSearchParams}catch(e){}return null}(),i=n&&"a=1"===new n({a:1}).toString(),o=n&&"+"===new n("s=%2B").get("s"),r=n&&"size"in n.prototype,a="__URLSearchParams__",s=!n||((t=new n).append("s"," &"),"s=+%26"===t.toString()),c=f.prototype,d=!(!e.Symbol||!e.Symbol.iterator);if(!(n&&i&&o&&s&&r)){c.append=function(e,t){g(this[a],e,t)},c.delete=function(e){delete this[a][e]},c.get=function(e){var t=this[a];return this.has(e)?t[e][0]:null},c.getAll=function(e){var t=this[a];return this.has(e)?t[e].slice(0):[]},c.has=function(e){return v(this[a],e)},c.set=function(e,t){this[a][e]=[""+t]},c.toString=function(){var e,t,n,i,o=this[a],r=[];for(t in o)for(n=p(t),e=0,i=o[t];e<i.length;e++)r.push(n+"="+p(i[e]));return r.join("&")};var l,m=e.Proxy&&n&&(!o||!s||!i||!r);m?(l=new Proxy(n,{construct:function(e,t){return new e(new f(t[0]).toString())}})).toString=Function.prototype.toString.bind(f):l=f,Object.defineProperty(e,"URLSearchParams",{value:l});var u=e.URLSearchParams.prototype;u.polyfill=!0,!m&&e.Symbol&&(u[e.Symbol.toStringTag]="URLSearchParams"),"forEach"in u||(u.forEach=function(e,t){var n=_(this.toString());Object.getOwnPropertyNames(n).forEach((function(i){n[i].forEach((function(n){e.call(t,n,i,this)}),this)}),this)}),"sort"in u||(u.sort=function(){var e,t,n,i=_(this.toString()),o=[];for(e in i)o.push(e);for(o.sort(),t=0;t<o.length;t++)this.delete(o[t]);for(t=0;t<o.length;t++){var r=o[t],a=i[r];for(n=0;n<a.length;n++)this.append(r,a[n])}}),"keys"in u||(u.keys=function(){var e=[];return this.forEach((function(t,n){e.push(n)})),b(e)}),"values"in u||(u.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),b(e)}),"entries"in u||(u.entries=function(){var e=[];return this.forEach((function(t,n){e.push([n,t])})),b(e)}),d&&(u[e.Symbol.iterator]=u[e.Symbol.iterator]||u.entries),"size"in u||Object.defineProperty(u,"size",{get:function(){var e=_(this.toString());if(u===this)throw new TypeError("Illegal invocation at URLSearchParams.invokeGetter");return Object.keys(e).reduce((function(t,n){return t+e[n].length}),0)}})}function f(e){((e=e||"")instanceof URLSearchParams||e instanceof f)&&(e=e.toString()),this[a]=_(e)}function p(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'\(\)~]|%20|%00/g,(function(e){return t[e]}))}function h(e){return e.replace(/[ +]/g,"%20").replace(/(%[a-f0-9]{2})+/gi,(function(e){return decodeURIComponent(e)}))}function b(t){var n={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return d&&(n[e.Symbol.iterator]=function(){return n}),n}function _(e){var t={};if("object"==typeof e)if(y(e))for(var n=0;n<e.length;n++){var i=e[n];if(!y(i)||2!==i.length)throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");g(t,i[0],i[1])}else for(var o in e)e.hasOwnProperty(o)&&g(t,o,e[o]);else{0===e.indexOf("?")&&(e=e.slice(1));for(var r=e.split("&"),a=0;a<r.length;a++){var s=r[a],c=s.indexOf("=");-1<c?g(t,h(s.slice(0,c)),h(s.slice(c+1))):s&&g(t,h(s),"")}}return t}function g(e,t,n){var i="string"==typeof n?n:null!=n&&"function"==typeof n.toString?n.toString():JSON.stringify(n);v(e,t)?e[t].push(i):e[t]=[i]}function y(e){return!!e&&"[object Array]"===Object.prototype.toString.call(e)}function v(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(void 0!==n.g?n.g:"undefined"!=typeof window?window:this)},6884:(e,t,n)=>{"use strict";n.d(t,{_u:()=>Kt,ie:()=>Xt,wZ:()=>Zt,kV:()=>Gt,_A:()=>Jt,k1:()=>Qt,aQ:()=>i,cp:()=>an,Cc:()=>Vt});var i={};n.r(i),n.d(i,{Deferred:()=>m,arrayRemove:()=>x,blobToBase64:()=>ye,camelCaseToSentenceCase:()=>T,capitaliseFirstLetter:()=>M,cronStringToISOString:()=>R,dateToCronString:()=>Y,difference:()=>E,disableScroll:()=>_e,dispatchCancellableEvent:()=>le,enableScroll:()=>ge,enumContains:()=>C,formatCronString:()=>I,getAllowedValueLabel:()=>j,getAssetTypeLabel:()=>B,getAttributeLabel:()=>z,getAttributeUnits:()=>Z,getAttributeValueAsString:()=>q,getAttributeValueConstraints:()=>J,getAttributeValueFormat:()=>te,getBrowserLanguage:()=>u,getEnumKeyAsString:()=>D,getGeoNotificationsFromRulesSet:()=>h,getMetaItemNameValueHolder:()=>U,getMetaLabel:()=>W,getMetaUnits:()=>ee,getMetaValue:()=>P,getMetaValueAsString:()=>V,getMetaValueConstraints:()=>Q,getMetaValueFormat:()=>ne,getQueryParameter:()=>p,getQueryParameters:()=>f,getValueAsString:()=>K,getValueDescriptorLabel:()=>H,getWeekNumber:()=>S,hasMetaItem:()=>N,isFunction:()=>k,isObject:()=>F,isTimeDuration:()=>g,isTimeDurationNegativeInfinity:()=>v,isTimeDurationPositiveInfinity:()=>y,loadJs:()=>se,mergeObjects:()=>ie,objectsEqual:()=>w,resolveUnits:()=>X,sentenceCaseToCamelCase:()=>A,sortByNumber:()=>ce,sortByString:()=>de,stringMatch:()=>L,updateAsset:()=>ae}),n(2960);var o=n(7096),r=n(6960),a=n.n(r),s=n(8416),c=n(6104),d=n.n(c),l=n(5564);class m{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)}}function u(){return navigator.language.split("-")[0]||"en"}function f(e){return a().parse(e,{ignoreQueryPrefix:!0})}function p(e){let t;if(location.search&&""!==location.search&&(t=f(location.search)),location.hash){const e=location.hash.indexOf("?");e>-1&&(t=f(location.hash.substring(e+1)))}return t?t[e]:void 0}function h(e){const t=[];return e.rules.forEach((e=>{if(e.when&&e.then&&e.then.length>0){const n=new Map;(function(e,t,n){if(!e)return;const i=[];e.groups&&e.groups.forEach((e=>{e.items&&e.items.forEach((e=>{i.push(e)}))})),e.items&&e.items.forEach((e=>{i.push(e)})),i&&i.forEach((e=>{if(e.assets&&e.assets.attributes){const t=[];if(b(e.assets.attributes,t),t.length>0){const i=e.tag||(0).toString();n.set(i,t)}}}))})(e.when,0,n),n.size>0&&e.then.forEach((e=>function(e,t){if(e&&"notification"===e.action&&e.notification&&e.notification.message&&"push"===e.notification.message.type){const n=e.target;if(n&&n.conditionAssets){const i=t.get(n.conditionAssets);i&&i.forEach((t=>{t.notification=e.notification.message}))}else for(const n of t.values())n.forEach((t=>{t.notification=e.notification.message}))}}(e,n)));for(const e of n.values())e.forEach((e=>{e.notification&&t.push(e)}))}})),t}function b(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=>b(e,t))))}const _=/([+-])?((\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])?/;function g(e){return!!e&&(e=e.trim()).length>0&&(_.test(e)||y(e)||v(e))}function y(e){return"*"===(e=null!=e?e.trim():void 0)||"+*"===e}function v(e){return"-*"===(null!=e?e.trim():void 0)}function F(e){return!!e&&"object"==typeof e}function k(e){return!!(e&&e.constructor&&e.call&&e.apply)}function w(e,t,n=!0){if(null==e||null==t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Function)return e===t;if(e instanceof RegExp)return e===t;if(e===t||e.valueOf()===t.valueOf())return!0;if(Array.isArray(e)&&e.length!==t.length)return!1;if(e instanceof Date)return!1;if(!(e instanceof Object))return!1;if(!(t instanceof Object))return!1;if(n){const n=Object.keys(e);return Object.keys(t).every((e=>-1!==n.indexOf(e)))&&n.every((n=>w(e[n],t[n])))}return!1}function E(e,t){const n=(e,t)=>(0,l.transform)(e,(function(e,i,o){w(i,null==t?void 0:t[o])||(e[o]=F(i)&&F(null==t?void 0:t[o])?n(i,null==t?void 0:t[o]):i)}));return n(e,t)}function x(e,t){if(0===e.length)return;const n=e.indexOf(t);n>=0&&e.splice(n,1)}function A(e){return null==e?"":e.split(" ").map(((e,t)=>0===t?e[0].toLowerCase()+e.substring(1):e[0].toUpperCase()+e.substring(1))).join("")}function T(e){if(null==e)return"";let t=!1;return e.split(/([A-Z]|\d)/).map(((e,n,i)=>{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()){const t=!i[n-1]||"_"===i[n-1],o=n+1<i.length&&i[n+1]&&"_"!==i[n+1],r=n+3>i.length||!i[n+1]&&!i[n+3];t&&!o||(e=" "+e),(o||!t&&!r)&&(e=e.toLowerCase())}return e})).join("").trim()}function L(e,t){if(t===e)return!0;const n=e.endsWith("*"),i=!n&&e.startsWith("*"),o=!n&&!i&&e.startsWith("^")&&e.endsWith("$");if(n&&t.startsWith(e.substr(0,e.length-1)))return!0;if(i&&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}function M(e){if(e)return 1===e.length?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)}function C(e,t){return e&&Object.values(e).includes(t)}function D(e,t){return Object.keys(e).find((n=>e[n]===t))}function S(e){(e=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))).setUTCDate(e.getUTCDate()+4-(e.getUTCDay()||7));const t=new Date(Date.UTC(e.getUTCFullYear(),0,1));return Math.ceil(((e.getTime()-t.getTime())/864e5+1)/7)}const O=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];function I(e,t,n,i,o,r,a){let s="";if(r?Array.isArray(r)?s+=r.toString().replace(" ",""):s+=r.toString():s+="0",s+=" ",o?Array.isArray(o)?s+=o.toString().replace(" ",""):s+=o.toString():s+="0",s+=" ",i?Array.isArray(i)?s+=i.toString().replace(" ",""):s+=i.toString():s+="0",s+=" ",n?Array.isArray(n)?s+=n.toString().replace(" ",""):s+=n.toString():s+="*",s+=" ",t)if(Array.isArray(t))if("number"==typeof t[0]){const e=[];t.forEach((t=>{e.push(O[t].toString())})),s+=e.toString().replace(" ","")}else s+=t.toString().replace(" ","");else s+=t.toString();else s+="*";return s+=" ",s+=a?a.toString():"?",s+=" ",e?Array.isArray(e)?s+=e.toString().replace(" ",""):s+=e:s+="*",s}function Y(e){return I(e.getFullYear(),O[e.getMonth()],[e.getDate()],[e.getHours()],[e.getMinutes()])}function R(e,t){const n=e.split(" ");if(!(Number.isNaN(Number(n[0]))||Number.isNaN(Number(n[1]))||Number.isNaN(Number(n[2]))||Number.isNaN(Number(n[3]))&&"*"!=n[3])){const e=(Number.isNaN(Number(n[6]))?(new Date).getFullYear():n[6]).toString();let i="";i="*"!=n[4]?O.indexOf(n[4]).toString():(new Date).getMonth().toString(),i=1==i.length?"0"+i:i;const o=1==n[3].length&&"*"!=n[3]?"0"+n[3]:n[3].replace("*","01"),r=1==n[2].length&&"*"!=n[2]?"0"+n[2]:n[2].replace("*","00"),a=1==n[1].length&&"*"!=n[1]?"0"+n[1]:n[1].replace("*","00"),s=1==n[0].length&&"*"!=n[0]?"0"+n[0]:n[0].replace("*","00");if(e.length>0&&i.length>0)return t?d().utc({year:Number(e),month:Number(i),date:Number(o),hour:Number(r),minute:Number(a),second:Number(s)}).toISOString():d()({year:Number(e),month:Number(i),date:Number(o),hour:Number(r),minute:Number(a),second:Number(s)}).toISOString()}}function P(e,t,n){const i="string"==typeof e?e:e.name;return t&&t.meta&&t.meta.hasOwnProperty(i)?t.meta[i]:n&&n.meta?n.meta[i]:void 0}function N(e,t,n){const i="string"==typeof e?e:e.name;return!!(t&&t.meta&&t.meta.hasOwnProperty(i))||!!(n&&n.meta&&n.meta.hasOwnProperty(i))}function B(e){return"string"==typeof e&&(e=s.S8.getAssetDescriptor(e)),e?o.cp.t("label.asset."+e.name,{defaultValue:T(e.name)}):""}function H(e){if(!e)return o.cp.t("label.value.unknown",{defaultValue:"Unknown"});const t="string"==typeof e?e:e.name;return o.cp.t("label.value."+t,{defaultValue:T(t||"")})}function j(e,t){if(e)return o.cp.t("label.allowedValue."+e,{defaultValue:t||T(e||""),nsSeparator:!1})}function U(e,t){const n="string"==typeof e?s.S8.getMetaItemDescriptor(e):e;return n?{name:n.name,type:n.type,value:t}:{name:typeof e,type:s.S8.resolveValueTypeFromValue(t),value:t}}function z(e,t,n,i,o){return $(e,t,n,i,!0,o)}function W(e,t,n,i,o){return $(e||U(t,null),t,n,i,!1,o)}function $(e,t,n,i,o,r){let a=re("label",e,t,n,o),s="";if(a||(a=P("label",e,t&&t.meta?t:void 0)),i&&(s=X(oe("units",e,t,n,o))),!a){const n=e?e.name:t?"string"==typeof t?t:t.name:void 0;a=r||(n?T(n):void 0)}return a?a+(s?" ("+s+")":""):s}function q(e,t,n,i,o){return G(e,t,n,i,!0,o)}function V(e,t,n,i,o){return G(e||U(t,null),t,n,i,!1,o)}function G(e,t,n,i,o,r){let a=K(e?e.value:void 0,(()=>oe("format",e,t,n,o)),void 0,r);const s=Z(e,t,n);return i&&s&&s.length&&(a=X(oe("units",e,t,n,o),a)),a}function K(e,t,n,i){let r="";if(null==e)r=i||"";else if("string"==typeof e)r=e;else if("number"==typeof e||"boolean"==typeof e||e instanceof Date){const i=t&&t();if(i&&0!==Object.keys(i).length)switch("number"==typeof e?i.asBoolean?e=!!e:i.asDate&&(e=new Date(e)):"boolean"==typeof e&&i.asNumber&&(e=e?1:0),typeof e){case"number":r=new Intl.NumberFormat(n||o.cp.language,i).format(e);break;case"boolean":i.asOnOff&&(r=e?o.cp.t("on"):o.cp.t("off")),i.asOpenClosed&&(r=e?o.cp.t("open"):o.cp.t("closed")),i.asPressedReleased&&(r=e?o.cp.t("pressed"):o.cp.t("released"));break;case"object":if(i.momentJsFormat)r=d()(e).format(i.momentJsFormat);else if(i.iso8601)r=e.toISOString();else if(i.week){const t=S(e);r="2-digit"===i.week?String(t).padStart(2,"0"):Number(t).toString(10)}else r=new Intl.DateTimeFormat(n||o.cp.language,i).format(e)}else r=Object(e).toString()}return r}function X(e,t){if(!e)return"";t||(t="");const n=e.map(((e,n)=>{if(3!==e.length||e.toUpperCase()!==e)return o.cp.t(["units."+e,"or:units."+e]);{const i=new Intl.NumberFormat(o.cp.language,{currency:e,style:"currency"}).formatToParts();if(0!==n||"currency"!==i[0].type)return"currency"===i[0].type?i[0].value:i[i.length-1].value;if(!t)return i[0].value;t=i[0].value+t}})).join("");return t.length>0?t+" "+n:n}function J(e,t,n){return oe("constraints",e,t,n,!0)}function Q(e,t,n){return oe("constraints",e||U(t,null),t,n,!1)}function Z(e,t,n){return oe("units",e,t,n,!0)}function ee(e,t,n){return oe("units",e||U(t,null),t,n,!1)}function te(e,t,n){return oe("format",e,t,n,!0)}function ne(e,t,n){return oe("format",e||U(t,null),t,n,!1)}function ie(e,t,n){if(e&&!t)return Object.assign({},e);if(t&&!e)return Object.assign({},t);const i=Object.assign({},e),o=[];return Object.entries(t).forEach((([e,t])=>{!function(e,t,n,i,o){let r=e;t.forEach((e=>{r.hasOwnProperty(e)||(r[e]={}),r=r[e]})),r&&(r.hasOwnProperty(n)?null==i?delete r[n]:Array.isArray(r[n])?r[n]=o?[...r[n],...i]:[...i]:r[n]="object"==typeof i?ie(Object.assign({},r[n]),i,o):i:null==i?delete r[n]:Array.isArray(i)?r[n]=[...i]:r[n]="object"==typeof i?Object.assign({},i):i)}(i,o,e,t,n)})),i}function oe(e,t,n,i,o){let r;const a=[],c=re(e,t&&"string"==typeof t?t:t?t.name:n?"string"==typeof n?n:n.name:void 0,n,i,o);if(c&&(r=JSON.parse(c),r)){if("format"!==e)return r;a.push(r)}if(t&&t.meta&&(r=P(e,t,n),r)){if("format"!==e)return r;a.push(r)}if(n&&"string"!=typeof n&&n.hasOwnProperty(e)){if(r=n[e],"format"!==e)return r;a.push(r)}if(n&&n.type){if(r=s.S8.getValueDescriptor(n.type)[e],"format"!==e)return r;a.push(r)}if("format"!==e||0===a.length)return r;let d={};return a.reverse().forEach((e=>{d=Object.assign(Object.assign({},d),e)})),d}function re(e,t,n,i,r,a){let s;if(t?s="string"==typeof t?t:t.name:n&&(s="string"==typeof n?n:n.name),!s)return;const c=[],d=e+"."+(r?"attribute":"meta")+".";return i&&c.push(d+i+"."+s),n&&"string"!=typeof n&&(c.push(d+n.type+"."+s),c.push(d+n.type)),c.push(d+s),c.length>0?o.cp.t(c,{defaultValue:a||""}):void 0}function ae(e,t){const n=t.ref.name;if(e.attributes)if(t.deleted)delete e.attributes[n];else{const i=e.attributes[n];i&&(i.value=t.value,i.timestamp=t.timestamp)}return Object.assign({},e)}function se(e){return new Promise(((t,n)=>{const i=document.createElement("script");i.type="text/javascript",i.src=e,i.addEventListener("load",(e=>t(e)),!1),i.addEventListener("error",(e=>n(e)),!1),document.body.appendChild(i)}))}function ce(e){return(t,n)=>{const i=e(t),o=e(n);return i||o?i&&!o?1:!i&&o?-1:i-o:0}}function de(e){return(t,n)=>{const i=e(t),o=e(n);return i||o?i&&!o?1:!i&&o?-1:i.localeCompare(o):0}}function le(e,t){const n=new m;return e.dispatchEvent(t),window.setTimeout((()=>{n.resolve(t.detail)})),n.promise}const me={37:1,38:1,39:1,40:1};function ue(e){e.preventDefault()}function fe(e){if(me[e.keyCode])return ue(e),!1}let pe=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{pe=!0}}))}catch(gt){}const he=!!pe&&{passive:!1},be="onwheel"in document.createElement("div")?"wheel":"mousewheel";function _e(){window.addEventListener("DOMMouseScroll",ue,!1),window.addEventListener(be,ue,he),window.addEventListener("touchmove",ue,he),window.addEventListener("keydown",fe,!1)}function ge(){window.removeEventListener("DOMMouseScroll",ue,!1),window.removeEventListener(be,ue,he),window.removeEventListener("touchmove",ue,he),window.removeEventListener("keydown",fe,!1)}function ye(e){return new Promise(((t,n)=>{const i=new FileReader;i.readAsDataURL(e),i.onload=()=>{t(i.result)},i.onerror=e=>{n(e)}}))}var ve=function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))};let Fe=n(6900);class ke{constructor(e,t,n){this._autoEnable=!1,this._initialised=!1,this._initialiseInProgress=!1,this._pendingProviderPromises={},this._providerMessageListeners={},this._pendingProviderEnables=[],this._registrationTimer=null,this._realm=e,this._autoEnable=t,this._enableCompleteCallback=n,window.OpenRemoteConsole=this;let i=new URLSearchParams(window.location.search),o=i.get("consoleName"),r=i.get("consoleVersion"),a=i.get("consolePlatform"),s=i.get("consoleProviders"),c=i.get("consoleAutoEnable"),d=s&&s.length>0?s.split(" "):["push"];this._pendingProviderEnables=d;let l=ke._createConsoleRegistration(),m=window.localStorage.getItem("OpenRemoteConsole:"+e);if(m)try{let e=JSON.parse(m);e.id&&(l.id=e.id),e.name&&(l.name=e.name),e.providers&&(l.providers=e.providers),e.apps&&(l.apps=e.apps)}catch(e){console.error("Failed to deserialise console registration")}let u=l.providers;l.providers={};for(let e of d){let t=u&&u.hasOwnProperty(e)?u[e]:{enabled:!1,disabled:!1};l.providers[e]=t}let f=an.getAppName();f.length>0&&l.apps.indexOf(f)<0&&l.apps.push(f),this._registration=l,o&&(l.name=o),r&&(l.version=r),a&&(l.platform=a),c&&(this._autoEnable="TRUE"===c||"true"===c)}get registration(){return this._registration}get autoEnable(){return this._autoEnable}get pendingProviderEnables(){return this._pendingProviderEnables.slice(0)}get shellApple(){const 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 ve(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 ve(this,void 0,void 0,(function*(){if(!this._initialised)throw new Error("Console must be initialised before enabling providers");for(let e=this._pendingProviderEnables.length-1;e>-1;e--){let t=this._pendingProviderEnables[e];yield this.enableProvider(t)}}))}enableProvider(e,t){return ve(this,void 0,void 0,(function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),new Error("Console must be initialised before enabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),new Error("Invalid console provider '"+e+"'");console.debug("Console: enabling provider '"+e+"'");let n={provider:e,action:"PROVIDER_ENABLE",consoleId:this._registration.id,data:t},i=yield this.sendProviderMessage(n,!0);this._registration.providers[e].hasPermission=i.hasPermission,this._registration.providers[e].success=i.success,this._registration.providers[e].enabled=i.success,this._registration.providers[e].data=i.data;let o=this._pendingProviderEnables.indexOf(e);return o>=0&&(this._pendingProviderEnables.splice(o,1),0===this._pendingProviderEnables.length&&(this.sendRegistration(),this._callCompletedCallback())),i}))}disableProvider(e){return ve(this,void 0,void 0,(function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),new Error("Console must be initialised before disabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),new Error("Invalid console provider '"+e+"'");console.debug("Console: disabling provider '"+e+"'");let t=yield this.sendProviderMessage({provider:e,action:"PROVIDER_DISABLE"},!0);return this._registration.providers[e].disabled=!0,this._registration.providers[e].enabled=!1,t}))}getProvider(e){return this._registration&&this._registration.providers?this._registration.providers[e]:void 0}sendProviderMessage(e,t){return ve(this,void 0,void 0,(function*(){if("storage"!==e.provider&&!this._registration.providers.hasOwnProperty(e.provider))throw console.debug("Invalid console provider '"+e.provider+"'"),new Error("Invalid console provider '"+e.provider+"'");if(!t)return void this._doSendProviderMessage(e);let n=e.provider+e.action;if(this._pendingProviderPromises[n])throw new Error("Message already pending for provider '"+e.provider+"' with action '"+e.action+"'");const i=new m;return this._pendingProviderPromises[n]=[i,window.setTimeout((()=>{delete this._pendingProviderPromises[n],i.reject("No response from provider")}),5e3)],this._doSendProviderMessage(e),i.promise}))}sendRegistration(e){return this._registrationTimer&&(window.clearTimeout(this._registrationTimer),this._registrationTimer=null),e=void 0!==e?e:2e3,console.debug("Sending registration in: "+e+"ms"),new Promise(((e,t)=>{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={}),an.rest.api.ConsoleResource.register(this._registration).then((t=>{if(200!==t.status)throw new Error("Failed to register console");this._registration=t.data,console.debug("Console: registration successful"),console.debug("Console: updating locally stored registration"),window.localStorage.setItem("OpenRemoteConsole:"+this._realm,JSON.stringify(this._registration)),e()}))}catch(e){console.error("Failed to register console"),t("Failed to register console")}}))}))}storeData(e,t){this.sendProviderMessage({provider:"storage",action:"STORE",key:e,value:t},!1)}retrieveData(e){return ve(this,void 0,void 0,(function*(){let t=this.sendProviderMessage({provider:"storage",action:"RETRIEVE",key:e},!0);try{const e=yield Promise.race([t,new Promise(((e,t)=>setTimeout(t,2e3)))]);if(e&&e.value){const t=e.value;return"null"===t?void 0:t}}catch(e){console.log("Failed to retrieve data from storage provider")}}))}addProviderMessageListener(e,t){this._providerMessageListeners[e.provider+e.action]=t}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,t){const n={type:e,data:t};this.isMobile?this._postNativeShellMessage(n):console.warn("Failed to send generic message to console.",n)}_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":let t={action:"PROVIDER_INIT",provider:"push",version:"web",enabled:!0,disabled:!1,hasPermission:!0,requiresPermission:!1,success:!0};this._handleProviderResponse(JSON.stringify(t));break;case"PROVIDER_ENABLE":let n={action:"PROVIDER_ENABLE",provider:"push",hasPermission:!0,success:!0};this._handleProviderResponse(JSON.stringify(n));break;default:throw new Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;case"STORAGE":switch(e.action){case"PROVIDER_INIT":let t={action:"PROVIDER_INIT",provider:"storage",version:"1.0.0",disabled:!1,enabled:!0,hasPermission:!0,requiresPermission:!1,success:!0};this._handleProviderResponse(JSON.stringify(t));break;case"PROVIDER_ENABLE":let n={action:"PROVIDER_ENABLE",provider:"storage",hasPermission:!0,success:!0};this._handleProviderResponse(JSON.stringify(n));break;case"STORE":{let t=e.key?e.key.trim():null;if(!t||0===t.length)throw new Error("Storage provider 'store' action requires a `key`");null===e.value?window.localStorage.removeItem(t):window.localStorage.setItem(t,JSON.stringify(e.value))}break;case"RETRIEVE":{let t=e.key?e.key.trim():null;if(!t||0===t.length)throw new Error("Storage provider 'retrieve' action requires a `key`");let n=window.localStorage.getItem(t);if(null!==n)try{n=JSON.parse(n)}catch(e){}this._handleProviderResponse(JSON.stringify({action:"RETRIEVE",provider:"storage",key:t,value:n}))}break;default:throw new Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;default:console.error("Unsupported provider: "+e.provider)}}}_handleProviderResponse(e){if(!e)return;let t=JSON.parse(e),n=t.provider,i=t.action,o=this._pendingProviderPromises[n+i];o&&(window.clearTimeout(o[1]),delete this._pendingProviderPromises[n+i],o[0].resolve(t));let r=this._providerMessageListeners[n+i];r&&r(t)}_callCompletedCallback(){let e=this._enableCompleteCallback;this._enableCompleteCallback=null,e&&window.setTimeout((()=>{e()}),0)}static _createConsoleRegistration(){return{name:Fe.name,version:Fe.version,platform:Fe.os.toString(),apps:[],model:((Fe.manufacturer?Fe.manufacturer+" ":"")+(Fe.product?Fe.product:"")).trim()}}_initialiseProvider(e){return ve(this,void 0,void 0,(function*(){let t;console.debug("Console: initialising provider '"+e+"'");try{t=yield this.sendProviderMessage({provider:e,action:"PROVIDER_INIT"},!0),this._registration.providers[e].version=t.version,this._registration.providers[e].requiresPermission=t.requiresPermission,this._registration.providers[e].hasPermission=t.hasPermission,this._registration.providers[e].success=t.success,this._registration.providers[e].enabled=t.enabled,this._registration.providers[e].disabled=t.disabled,this._registration.providers[e].data=t.data}catch(e){console.error(e),t={action:"",disabled:!1,enabled:!1,hasPermission:!1,provider:"",requiresPermission:!1,version:"",success:!1}}if(t.success||(console.debug("Provider initialisation failed: '"+e+"'"),t.disabled=!0,this._registration.providers[e].disabled=!0),t.disabled||t.enabled){let t=this._pendingProviderEnables.indexOf(e);t>=0&&this._pendingProviderEnables.splice(t,1)}}))}}var we=n(9048),Ee=n.n(we);class xe{constructor(e){this.httpClient=e}updateCurrentUserLocale(e,t){return this.httpClient.request({method:"PUT",url:qe`user/locale`,data:e,options:t})}query(e,t){return this.httpClient.request({method:"POST",url:qe`user/query`,data:e,options:t})}getCurrent(e){return this.httpClient.request({method:"GET",url:qe`user/user`,options:e})}getCurrentUserRealmRoles(e){return this.httpClient.request({method:"GET",url:qe`user/userRealmRoles`,options:e})}getCurrentUserClientRoles(e,t){return this.httpClient.request({method:"GET",url:qe`user/userRoles/${e}`,options:t})}disconnectUserSession(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/disconnect/${t}`,options:n})}resetPassword(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`user/${e}/reset-password/${t}`,data:n,options:i})}resetSecret(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/reset-secret/${t}`,options:n})}updateRoles(e,t,n){return this.httpClient.request({method:"PUT",url:qe`user/${e}/roles`,data:t,options:n})}getUserRealmRoles(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/userRealmRoles/${t}`,options:n})}updateUserRealmRoles(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`user/${e}/userRealmRoles/${t}`,data:n,options:i})}getUserClientRoles(e,t,n,i){return this.httpClient.request({method:"GET",url:qe`user/${e}/userRoles/${t}/${n}`,options:i})}updateUserClientRoles(e,t,n,i,o){return this.httpClient.request({method:"PUT",url:qe`user/${e}/userRoles/${t}/${n}`,data:i,options:o})}getUserSessions(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/userSessions/${t}`,options:n})}create(e,t,n){return this.httpClient.request({method:"POST",url:qe`user/${e}/users`,data:t,options:n})}update(e,t,n){return this.httpClient.request({method:"PUT",url:qe`user/${e}/users`,data:t,options:n})}delete(e,t,n){return this.httpClient.request({method:"DELETE",url:qe`user/${e}/users/${t}`,options:n})}getClientRoles(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/${t}/roles`,options:n})}updateClientRoles(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`user/${e}/${t}/roles`,data:n,options:i})}get(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/${t}`,options:n})}}class Ae{constructor(e){this.httpClient=e}getPredictedDatapoints(e,t,n,i){return this.httpClient.request({method:"POST",url:qe`asset/predicted/${e}/${t}`,data:n,options:i})}writePredictedDatapoints(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`asset/predicted/${e}/${t}`,data:n,options:i})}}class Te{constructor(e){this.httpClient=e}getApps(e){return this.httpClient.request({method:"GET",url:qe`apps`,options:e})}getConsoleConfig(e){return this.httpClient.request({method:"GET",url:qe`apps/consoleConfig`,options:e})}getAppInfos(e){return this.httpClient.request({method:"GET",url:qe`apps/info`,options:e})}}class Le{constructor(e){this.httpClient=e}getConfig(e){return this.httpClient.request({method:"GET",url:qe`syslog/config`,options:e})}updateConfig(e,t){return this.httpClient.request({method:"PUT",url:qe`syslog/config`,data:e,options:t})}clearEvents(e){return this.httpClient.request({method:"DELETE",url:qe`syslog/event`,options:e})}getEvents(e,t){return this.httpClient.request({method:"GET",url:qe`syslog/event`,queryParams:e,options:t})}}class Me{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:qe`asset`,data:e,options:t})}delete(e,t){return this.httpClient.request({method:"DELETE",url:qe`asset`,queryParams:e,options:t})}writeAttributeValues(e,t){return this.httpClient.request({method:"PUT",url:qe`asset/attributes`,data:e,options:t})}writeAttributeEvents(e,t){return this.httpClient.request({method:"PUT",url:qe`asset/attributes/timestamp`,data:e,options:t})}updateNoneParent(e,t){return this.httpClient.request({method:"DELETE",url:qe`asset/parent`,queryParams:e,options:t})}getPartial(e,t){return this.httpClient.request({method:"GET",url:qe`asset/partial/${e}`,options:t})}queryAssets(e,t){return this.httpClient.request({method:"POST",url:qe`asset/query`,data:e,options:t})}getCurrentUserAssets(e){return this.httpClient.request({method:"GET",url:qe`asset/user/current`,options:e})}createUserAssetLinks(e,t){return this.httpClient.request({method:"POST",url:qe`asset/user/link`,data:e,options:t})}getUserAssetLinks(e,t){return this.httpClient.request({method:"GET",url:qe`asset/user/link`,queryParams:e,options:t})}deleteUserAssetLinks(e,t){return this.httpClient.request({method:"POST",url:qe`asset/user/link/delete`,data:e,options:t})}deleteAllUserAssetLinks(e,t,n){return this.httpClient.request({method:"DELETE",url:qe`asset/user/link/${e}/${t}`,options:n})}deleteUserAssetLink(e,t,n,i){return this.httpClient.request({method:"DELETE",url:qe`asset/user/link/${e}/${t}/${n}`,options:i})}get(e,t){return this.httpClient.request({method:"GET",url:qe`asset/${e}`,options:t})}update(e,t,n){return this.httpClient.request({method:"PUT",url:qe`asset/${e}`,data:t,options:n})}writeAttributeValue$PUT$asset_assetId_attribute_attributeName(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`asset/${e}/attribute/${t}`,data:n,options:i})}writeAttributeValue$PUT$asset_assetId_attribute_attributeName_timestamp(e,t,n,i,o){return this.httpClient.request({method:"PUT",url:qe`asset/${e}/attribute/${t}/${n}`,data:i,options:o})}updateParent(e,t,n){return this.httpClient.request({method:"PUT",url:qe`asset/${e}/child`,queryParams:t,options:n})}}class Ce{constructor(e){this.httpClient=e}createGlobalRuleset(e,t){return this.httpClient.request({method:"POST",url:qe`rules`,data:e,options:t})}getGlobalRulesets(e,t){return this.httpClient.request({method:"GET",url:qe`rules`,queryParams:e,options:t})}createAssetRuleset(e,t){return this.httpClient.request({method:"POST",url:qe`rules/asset`,data:e,options:t})}getAssetRulesets(e,t,n){return this.httpClient.request({method:"GET",url:qe`rules/asset/for/${e}`,queryParams:t,options:n})}deleteAssetRuleset(e,t){return this.httpClient.request({method:"DELETE",url:qe`rules/asset/${e}`,options:t})}getAssetRuleset(e,t){return this.httpClient.request({method:"GET",url:qe`rules/asset/${e}`,options:t})}updateAssetRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:qe`rules/asset/${e}`,data:t,options:n})}getAssetGeofences(e,t){return this.httpClient.request({method:"GET",url:qe`rules/geofences/${e}`,options:t})}getAssetEngineInfo(e,t){return this.httpClient.request({method:"GET",url:qe`rules/info/asset/${e}`,options:t})}getGlobalEngineInfo(e){return this.httpClient.request({method:"GET",url:qe`rules/info/global`,options:e})}getRealmEngineInfo(e,t){return this.httpClient.request({method:"GET",url:qe`rules/info/realm/${e}`,options:t})}createRealmRuleset(e,t){return this.httpClient.request({method:"POST",url:qe`rules/realm`,data:e,options:t})}getRealmRulesets(e,t,n){return this.httpClient.request({method:"GET",url:qe`rules/realm/for/${e}`,queryParams:t,options:n})}deleteRealmRuleset(e,t){return this.httpClient.request({method:"DELETE",url:qe`rules/realm/${e}`,options:t})}getRealmRuleset(e,t){return this.httpClient.request({method:"GET",url:qe`rules/realm/${e}`,options:t})}updateRealmRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:qe`rules/realm/${e}`,data:t,options:n})}deleteGlobalRuleset(e,t){return this.httpClient.request({method:"DELETE",url:qe`rules/${e}`,options:t})}getGlobalRuleset(e,t){return this.httpClient.request({method:"GET",url:qe`rules/${e}`,options:t})}updateGlobalRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:qe`rules/${e}`,data:t,options:n})}}class De{constructor(e){this.httpClient=e}createProvisioningConfig(e,t){return this.httpClient.request({method:"POST",url:qe`provisioning`,data:e,options:t})}getProvisioningConfigs(e){return this.httpClient.request({method:"GET",url:qe`provisioning`,options:e})}deleteProvisioningConfig(e,t){return this.httpClient.request({method:"DELETE",url:qe`provisioning/${e}`,options:t})}updateProvisioningConfig(e,t,n){return this.httpClient.request({method:"PUT",url:qe`provisioning/${e}`,data:t,options:n})}}class Se{constructor(e){this.httpClient=e}getManagerConfig(e){return this.httpClient.request({method:"GET",url:qe`configuration/manager`,options:e})}update(e,t){return this.httpClient.request({method:"PUT",url:qe`configuration/manager`,data:e,options:t})}fileUpload(e,t,n){return this.httpClient.request({method:"POST",url:qe`configuration/manager/file`,queryParams:t,data:e,options:n})}getManagerConfigImage(e,t){return this.httpClient.request({method:"GET",url:qe`configuration/manager/image/${e}`,options:t})}}class Oe{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:qe`dashboard`,data:e,options:t})}update(e,t){return this.httpClient.request({method:"PUT",url:qe`dashboard`,data:e,options:t})}getAllRealmDashboards(e,t){return this.httpClient.request({method:"GET",url:qe`dashboard/all/${e}`,options:t})}query(e,t){return this.httpClient.request({method:"POST",url:qe`dashboard/query`,data:e,options:t})}delete(e,t,n){return this.httpClient.request({method:"DELETE",url:qe`dashboard/${e}/${t}`,options:n})}get(e,t,n){return this.httpClient.request({method:"GET",url:qe`dashboard/${e}/${t}`,options:n})}}class Ie{constructor(e){this.httpClient=e}doProtocolAssetDiscovery(e,t,n){return this.httpClient.request({method:"GET",url:qe`agent/assetDiscovery/${e}`,queryParams:t,options:n})}doProtocolAssetImport(e,t,n,i){return this.httpClient.request({method:"POST",url:qe`agent/assetImport/${e}`,queryParams:n,data:t,options:i})}doProtocolInstanceDiscovery(e,t,n){return this.httpClient.request({method:"GET",url:qe`agent/instanceDiscovery/${e}`,queryParams:t,options:n})}}class Ye{constructor(e){this.httpClient=e}getDatapointExport(e,t){return this.httpClient.request({method:"GET",url:qe`asset/datapoint/export`,queryParams:e,options:t})}getDatapointPeriod(e,t){return this.httpClient.request({method:"GET",url:qe`asset/datapoint/periods`,queryParams:e,options:t})}getDatapoints(e,t,n,i){return this.httpClient.request({method:"POST",url:qe`asset/datapoint/${e}/${t}`,data:n,options:i})}}class Re{constructor(e){this.httpClient=e}createAlarm(e,t,n){return this.httpClient.request({method:"POST",url:qe`alarm`,queryParams:t,data:e,options:n})}getAlarms(e,t){return this.httpClient.request({method:"GET",url:qe`alarm`,queryParams:e,options:t})}removeAlarms(e,t){return this.httpClient.request({method:"DELETE",url:qe`alarm`,data:e,options:t})}setAssetLinks(e,t){return this.httpClient.request({method:"PUT",url:qe`alarm/assets`,data:e,options:t})}getAlarm(e,t){return this.httpClient.request({method:"GET",url:qe`alarm/${e}`,options:t})}removeAlarm(e,t){return this.httpClient.request({method:"DELETE",url:qe`alarm/${e}`,options:t})}updateAlarm(e,t,n){return this.httpClient.request({method:"PUT",url:qe`alarm/${e}`,data:t,options:n})}getAssetLinks(e,t,n){return this.httpClient.request({method:"GET",url:qe`alarm/${e}/assets`,queryParams:t,options:n})}}class Pe{constructor(e){this.httpClient=e}getSettings(e){return this.httpClient.request({method:"GET",url:qe`map`,options:e})}saveSettings(e,t){return this.httpClient.request({method:"PUT",url:qe`map`,data:e,options:t})}deleteMap(e){return this.httpClient.request({method:"DELETE",url:qe`map/deleteMap`,options:e})}getCustomMapInfo(e){return this.httpClient.request({method:"GET",url:qe`map/getCustomMapInfo`,options:e})}getSettingsJs(e){return this.httpClient.request({method:"GET",url:qe`map/js`,options:e})}getTile(e,t,n,i){return this.httpClient.request({method:"GET",url:qe`map/tile/${e}/${t}/${n}`,options:i})}uploadMap(e,t){return this.httpClient.request({method:"POST",url:qe`map/upload`,queryParams:e,options:t})}}class Ne{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:qe`realm`,data:e,options:t})}getAll(e){return this.httpClient.request({method:"GET",url:qe`realm`,options:e})}getAccessible(e){return this.httpClient.request({method:"GET",url:qe`realm/accessible`,options:e})}delete(e,t){return this.httpClient.request({method:"DELETE",url:qe`realm/${e}`,options:t})}get(e,t){return this.httpClient.request({method:"GET",url:qe`realm/${e}`,options:t})}update(e,t,n){return this.httpClient.request({method:"PUT",url:qe`realm/${e}`,data:t,options:n})}}class Be{constructor(e){this.httpClient=e}getHealthStatus(e){return this.httpClient.request({method:"GET",url:qe`health`,options:e})}getInfo(e){return this.httpClient.request({method:"GET",url:qe`info`,options:e})}}class He{constructor(e){this.httpClient=e}startTunnel(e,t){return this.httpClient.request({method:"POST",url:qe`gateway/tunnel`,data:e,options:t})}stopTunnel(e,t){return this.httpClient.request({method:"DELETE",url:qe`gateway/tunnel`,data:e,options:t})}getAllActiveTunnelInfos(e,t){return this.httpClient.request({method:"GET",url:qe`gateway/tunnel/${e}`,options:t})}getGatewayActiveTunnelInfos(e,t,n){return this.httpClient.request({method:"GET",url:qe`gateway/tunnel/${e}/${t}`,options:n})}getActiveTunnelInfo(e,t,n,i,o){return this.httpClient.request({method:"GET",url:qe`gateway/tunnel/${e}/${t}/${n}/${i}`,options:o})}}class je{constructor(e){this.httpClient=e}getAllNodeDefinitions(e){return this.httpClient.request({method:"GET",url:qe`flow`,options:e})}getNodeDefinition(e,t){return this.httpClient.request({method:"GET",url:qe`flow/${e}`,options:t})}getAllNodeDefinitionsByType(e,t){return this.httpClient.request({method:"GET",url:qe`flow/${e}`,options:t})}}class Ue{constructor(e){this.httpClient=e}register(e,t){return this.httpClient.request({method:"POST",url:qe`console/register`,data:e,options:t})}}class ze{constructor(e){this.httpClient=e}getAssetDescriptors(e,t){return this.httpClient.request({method:"GET",url:qe`model/assetDescriptors`,queryParams:e,options:t})}getAssetInfo(e,t,n){return this.httpClient.request({method:"GET",url:qe`model/assetInfo/${e}`,queryParams:t,options:n})}getAssetInfos(e,t){return this.httpClient.request({method:"GET",url:qe`model/assetInfos`,queryParams:e,options:t})}getMetaItemDescriptors(e,t){return this.httpClient.request({method:"GET",url:qe`model/metaItemDescriptors`,queryParams:e,options:t})}getValueDescriptors(e,t){return this.httpClient.request({method:"GET",url:qe`model/valueDescriptors`,queryParams:e,options:t})}}class We{constructor(e){this.httpClient=e}getNotifications(e,t){return this.httpClient.request({method:"GET",url:qe`notification`,queryParams:e,options:t})}removeNotifications(e,t){return this.httpClient.request({method:"DELETE",url:qe`notification`,queryParams:e,options:t})}sendNotification(e,t){return this.httpClient.request({method:"POST",url:qe`notification/alert`,data:e,options:t})}removeNotification(e,t){return this.httpClient.request({method:"DELETE",url:qe`notification/${e}`,options:t})}notificationAcknowledged(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`notification/${e}/acknowledged`,queryParams:n,data:t,options:i})}notificationDelivered(e,t,n){return this.httpClient.request({method:"PUT",url:qe`notification/${e}/delivered`,queryParams:t,options:n})}}class $e{constructor(e){this.httpClient=e}deleteConnections(e,t){return this.httpClient.request({method:"DELETE",url:qe`gateway/connection`,queryParams:e,options:t})}getConnections(e){return this.httpClient.request({method:"GET",url:qe`gateway/connection`,options:e})}deleteConnection(e,t){return this.httpClient.request({method:"DELETE",url:qe`gateway/connection/${e}`,options:t})}getConnection(e,t){return this.httpClient.request({method:"GET",url:qe`gateway/connection/${e}`,options:t})}setConnection(e,t,n){return this.httpClient.request({method:"PUT",url:qe`gateway/connection/${e}`,data:t,options:n})}getConnectionStatus(e,t){return this.httpClient.request({method:"GET",url:qe`gateway/status/${e}`,options:t})}}function qe(e,...t){let n="";for(let i=0;i<t.length;i++)n+=e[i],n+=encodeURIComponent(t[i]);return n+=e[e.length-1],n}class Ve{constructor(e,t=Ee().create()){this._userResource=new Ke(e,t),this._assetPredictedDatapointResource=new Xe(e,t),this._appResource=new Je(e,t),this._syslogResource=new Qe(e,t),this._assetResource=new Ze(e,t),this._rulesResource=new et(e,t),this._provisioningResource=new tt(e,t),this._configurationResource=new nt(e,t),this._dashboardResource=new it(e,t),this._agentResource=new ot(e,t),this._assetDatapointResource=new rt(e,t),this._alarmResource=new at(e,t),this._mapResource=new st(e,t),this._realmResource=new ct(e,t),this._statusResource=new dt(e,t),this._gatewayServiceResource=new lt(e,t),this._flowResource=new mt(e,t),this._consoleResource=new ut(e,t),this._assetModelResource=new ft(e,t),this._notificationResource=new pt(e,t),this._gatewayClientResource=new ht(e,t),this._assetResource=new Ze(e,t)}get UserResource(){return this._userResource}get AssetPredictedDatapointResource(){return this._assetPredictedDatapointResource}get AppResource(){return this._appResource}get SyslogResource(){return this._syslogResource}get AssetResource(){return this._assetResource}get RulesResource(){return this._rulesResource}get ProvisioningResource(){return this._provisioningResource}get ConfigurationResource(){return this._configurationResource}get DashboardResource(){return this._dashboardResource}get AgentResource(){return this._agentResource}get AssetDatapointResource(){return this._assetDatapointResource}get AlarmResource(){return this._alarmResource}get MapResource(){return this._mapResource}get RealmResource(){return this._realmResource}get StatusResource(){return this._statusResource}get GatewayServiceResource(){return this._gatewayServiceResource}get FlowResource(){return this._flowResource}get ConsoleResource(){return this._consoleResource}get AssetModelResource(){return this._assetModelResource}get NotificationResource(){return this._notificationResource}get GatewayClientResource(){return this._gatewayClientResource}}class Ge{constructor(e){this.axios=e}request(e){const t={};t.method=e.method,t.url=e.url,t.params=e.queryParams,t.data=e.data,function(e,t){if(null!=t)for(const n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}(t,e.options);const n=e.copyFn;return this.axios.request(t).then((e=>(n&&e.data&&(e.originalData=e.data,e.data=n(e.data)),e)))}}class Ke extends xe{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class Xe extends Ae{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class Je extends Te{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class Qe extends Le{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class Ze extends Me{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class et extends Ce{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class tt extends De{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class nt extends Se{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class it extends Oe{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ot extends Ie{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class rt extends Ye{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class at extends Re{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class st extends Pe{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ct extends Ne{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class dt extends Be{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class lt extends He{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class mt extends je{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ut extends Ue{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ft extends ze{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class pt extends We{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ht extends $e{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}Ee().isAxiosError;const bt=new class{get api(){return this._client}constructor(){this._axiosInstance=Ee().create(),this._axiosInstance.defaults.headers.common["Content-Type"]="application/json",this._axiosInstance.interceptors.request.use((e=>(e.paramsSerializer=e=>a().stringify(e,{arrayFormat:"repeat"}),e)))}get axiosInstance(){return this._axiosInstance}get baseUrl(){return this._baseUrl}setTimeout(e){this._axiosInstance.defaults.timeout=e}addRequestInterceptor(e){this._axiosInstance.interceptors.request.use(e)}initialise(e){this._baseUrl=e,this._client=new Ve(e,this._axiosInstance)}};var _t,gt,yt=function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))};(gt=_t||(_t={})).DISCONNECTED="DISCONNECTED",gt.CONNECTED="CONNECTED",gt.CONNECTING="CONNECTING";class vt{constructor(){this._disconnectRequested=!1,this._reconnectDelayMillis=Ft.MIN_RECONNECT_DELAY,this._reconnectTimer=null,this._status=_t.DISCONNECTED,this._connectingDeferred=null,this._statusCallbacks=[],this._pendingSubscription=null,this._queuedSubscriptions=[],this._subscriptionMap=new Map,this._assetEventCallbackMap=new Map,this._attributeEventCallbackMap=new Map,this._unloading=!1}get status(){return this._status}subscribeStatusChange(e){this._statusCallbacks.push(e)}unsubscribeStatusChange(e){x(this._statusCallbacks,e)}connect(){return this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),this._status===_t.CONNECTED?Promise.resolve(!0):(this._disconnectRequested=!1,this._connectingDeferred||(this._onStatusChanged(_t.CONNECTING),this._connectingDeferred=new m,this._doConnect().then((e=>{if(this._connectingDeferred){const t=this._connectingDeferred;this._connectingDeferred=null,e?(console.debug("Connected to event service: "+this.endpointUrl),this._reconnectDelayMillis=Ft.MIN_RECONNECT_DELAY,this._onStatusChanged(_t.CONNECTED),window.setTimeout((()=>{this._onConnect()}),0)):(console.debug("Failed to connect to event service: "+this.endpointUrl),this._scheduleReconnect()),t.resolve(e)}}))),this._connectingDeferred.promise)}disconnect(){console.debug("Disconnecting from event service: "+this.endpointUrl),this._disconnectRequested||(this._disconnectRequested=!0,this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),this.status!==_t.DISCONNECTED&&this._doDisconnect())}subscribe(e,t){const n={eventSubscription:e,callback:t,deferred:new m};return null!=this._pendingSubscription||this._status!==_t.CONNECTED?(this._queuedSubscriptions.push(n),n.deferred.promise):(this._pendingSubscription=n,this._doSubscribe(e).then((e=>{if(this._pendingSubscription){const t=this._pendingSubscription;this._pendingSubscription=null,this._subscriptionMap.set(e,t),this._processNextSubscription();const n=t.deferred;t.deferred=null,n&&n.resolve(e)}}),(e=>{if(this._pendingSubscription){const t=this._pendingSubscription;this._pendingSubscription=null,this._processNextSubscription();const n=t.deferred;t.deferred=null,n&&n.reject(e)}})),this._pendingSubscription.deferred.promise)}unsubscribe(e){return yt(this,void 0,void 0,(function*(){if(this._subscriptionMap.delete(e))this._doUnsubscribe(e);else if(this._assetEventCallbackMap.delete(e)){if(this._assetEventPromise&&0===this._assetEventCallbackMap.size){const e=yield this._assetEventPromise;this._assetEventPromise=void 0,this.unsubscribe(e)}}else if(this._attributeEventCallbackMap.delete(e)&&this._attributeEventPromise&&0===this._attributeEventCallbackMap.size){const e=yield this._attributeEventPromise;this._attributeEventPromise=void 0,this.unsubscribe(e)}}))}sendEvent(e){this._status===_t.CONNECTED&&this._doSend(e)}sendEventWithReply(e){return this._status!==_t.CONNECTED?Promise.reject("Not connected"):this._doSendWithReply(e)}subscribeAssetEvents(e,t,n){return yt(this,void 0,void 0,(function*(){const i=e&&"string"!=typeof e[0]?e.map((e=>e.id)):e,o="AssetEvent"+vt._subscriptionCounter++;if(!this._assetEventPromise){let e;an.authenticated||(e={filterType:"asset",realm:an.displayRealm});const t={eventType:"asset",filter:e};this._assetEventPromise=this.subscribe(t,(e=>{this._assetEventCallbackMap.forEach((t=>t(e)))}))}return this._assetEventCallbackMap.set(o,(e=>{const t=e.asset.id;i?i.find((e=>t===e))&&n(e):e.asset.realm===an.displayRealm&&n(e)})),this._assetEventPromise.then((()=>{try{if(i&&t){const e={messageID:"read-assets:"+i.join(",")+":"+o,eventType:"read-assets",assetQuery:{ids:i}};this.sendEventWithReply(e).then((e=>{const t=e;t.assets&&this._assetEventCallbackMap.has(o)&&t.assets.forEach((e=>{n({eventType:"asset",asset:e,cause:"READ"})}))}))}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),o&&this.unsubscribe(o),t}return o}))}))}subscribeAttributeEvents(e,t,n){return yt(this,void 0,void 0,(function*(){const i=e&&"string"!=typeof e[0],o=i?e.map((e=>e.id)):e,r=i?e:void 0,a="AttributeEvent"+vt._subscriptionCounter++;if(!this._attributeEventPromise){let e;an.authenticated||(e={filterType:"asset",realm:an.displayRealm});const t={eventType:"attribute",filter:e};this._attributeEventPromise=this.subscribe(t,(e=>{this._attributeEventCallbackMap.forEach((t=>t(e)))}))}const s=t=>{const r=t.ref;i?e.forEach((e=>{r.id===e.id&&r.name===e.name&&n(t)})):o?o.find((e=>r.id===e))&&n(t):t.realm===an.displayRealm&&n(t)};return this._attributeEventCallbackMap.set(a,s),this._attributeEventPromise.then((()=>{try{if(t&&o){const e={messageID:"read-assets:"+o.join(",")+":"+a,eventType:"read-assets",assetQuery:{ids:o}};this.sendEventWithReply(e).then((e=>{const t=e;t.assets&&this._attributeEventCallbackMap.has(a)&&t.assets.forEach((e=>{e.attributes&&Object.entries(e.attributes).forEach((([t,n])=>{r&&!r.find((n=>n.id===e.id&&n.name===t))||s({eventType:"attribute",timestamp:n.timestamp,value:n.value,ref:{id:e.id,name:t}})}))}))}))}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),a&&this.unsubscribe(a),t}return a}))}))}_processNextSubscription(){this._status===_t.CONNECTED&&0!==this._queuedSubscriptions.length&&setTimeout((()=>{const e=this._queuedSubscriptions.shift();e&&this.subscribe(e.eventSubscription,e.callback).then((t=>{const n=e.deferred;e.deferred=null,n&&n.resolve(t)}),(t=>{const n=e.deferred;e.deferred=null,n&&n.reject(t)}))}),0)}_onStatusChanged(e){e!==this._status&&(console.debug("Event provider status changed: "+e),this._status=e,this._unloading||window.setTimeout((()=>{this._statusCallbacks.forEach((t=>t(e)))}),0))}_onMessageReceived(e,t){const n=this._subscriptionMap.get(e);n&&n.callback(t)}_onConnect(){if(Object.keys(this._subscriptionMap).length>0){for(const e in this._subscriptionMap)this._subscriptionMap.has(e)&&this._queuedSubscriptions.unshift(this._subscriptionMap.get(e));this._subscriptionMap.clear()}this._processNextSubscription()}_onDisconnect(){this._status===_t.CONNECTED&&this._onStatusChanged(_t.DISCONNECTED),this._pendingSubscription&&(this._queuedSubscriptions.unshift(this._pendingSubscription),this._pendingSubscription=null),this._onStatusChanged(_t.CONNECTING),this._scheduleReconnect()}_scheduleReconnect(){this._reconnectTimer||this._disconnectRequested||(console.debug("Event provider scheduling reconnect in "+this._reconnectDelayMillis+"ms"),this._reconnectTimer=window.setTimeout((()=>{this._disconnectRequested||this.connect()}),this._reconnectDelayMillis),this._reconnectDelayMillis<Ft.MAX_RECONNECT_DELAY&&(this._reconnectDelayMillis=Math.min(Ft.MAX_RECONNECT_DELAY,this._reconnectDelayMillis+3e3)))}}vt.MIN_RECONNECT_DELAY=0,vt.MAX_RECONNECT_DELAY=3e4,vt._subscriptionCounter=0;class Ft extends vt{get endpointUrl(){return this._endpointUrl}constructor(e){super(),this._webSocket=void 0,this._connectDeferred=null,this._subscribeDeferred=null,this._repliesDeferred=new Map,this._endpointUrl=(e.startsWith("https:")?"wss":"ws")+"://"+e.substr(e.indexOf("://")+3)+"/websocket/events",window.addEventListener("beforeunload",(()=>{this._unloading=!0,this.disconnect()}))}_doConnect(){let e=this._endpointUrl+"?Realm="+an.config.realm;return an.authenticated&&(e+="&Authorization="+an.getAuthorizationHeader()),this._webSocket=new WebSocket(e),this._connectDeferred=new m,this._webSocket.onopen=()=>{if(this._connectDeferred){const e=this._connectDeferred;this._connectDeferred=null,e.resolve(!0)}},this._webSocket.onerror=e=>{if(this._connectDeferred){const e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else console.debug("Event provider error"),this._beforeDisconnect()},this._webSocket.onclose=()=>{if(this._webSocket=void 0,this._connectDeferred){const e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else this._beforeDisconnect()},this._webSocket.onmessage=e=>{const t=e.data;if(t&&t.startsWith("SUBSCRIBED:")){const e=t.substring(11),n=JSON.parse(e),i=this._subscribeDeferred;this._subscribeDeferred=null,i&&i.resolve(n.subscriptionId)}else if(t.startsWith("UNAUTHORIZED:")){const e=t.substring(13),n=JSON.parse(e),i=this._subscribeDeferred;this._subscribeDeferred=null,i&&(console.warn("Unauthorized event subscription: "+JSON.stringify(n,null,2)),i.reject("Unauthorized"))}else if(t.startsWith("TRIGGERED:")){const e=t.substring(10),n=JSON.parse(e);n.events&&n.events.forEach((e=>{this._onMessageReceived(n.subscriptionId,e)}))}else if(t.startsWith("EVENT:")){const e=t.substring(6),n=JSON.parse(e);if(n.messageID){const e=this._repliesDeferred.get(n.messageID);this._repliesDeferred.delete(n.messageID),e&&e.resolve(n)}}},this._connectDeferred.promise}_beforeDisconnect(){this._onDisconnect()}_doDisconnect(){var e;null===(e=this._webSocket)||void 0===e||e.close(),this._subscribeDeferred=null,this._repliesDeferred.clear()}_doSubscribe(e){return this._webSocket?this._subscribeDeferred?Promise.reject("There's already a pending subscription"):(this._subscribeDeferred=new m,e.subscriptionId||(e.subscriptionId=Ft._subscriptionCounter+++""),this._webSocket.send("SUBSCRIBE:"+JSON.stringify(e)),this._subscribeDeferred.promise):Promise.reject("Not connected")}_doUnsubscribe(e){if(!this._webSocket)return;const t={subscriptionId:e};this._webSocket.send("UNSUBSCRIBE:"+JSON.stringify(t))}_doSend(e){const t="EVENT:"+JSON.stringify(e);this._webSocket.send(t)}_doSendWithReply(e){if(e.messageID||(e.messageID=((new Date).getTime()+10*Math.random()).toString(10)),this._repliesDeferred.has(e.messageID))return Promise.reject("There's already a pending send and reply with this ID");const t=new m;return this._repliesDeferred.set(e.messageID,t),this._webSocket.send("EVENT:"+JSON.stringify(e)),t.promise}}function kt(e){return kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kt(e)}Ft._subscriptionCounter=1;var wt=[],Et=wt.forEach,xt=wt.slice;function At(e){return Et.call(xt.call(arguments,1),(function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])})),e}function Tt(){return"function"==typeof XMLHttpRequest||"object"===("undefined"==typeof XMLHttpRequest?"undefined":kt(XMLHttpRequest))}var Lt,Mt,Ct,Dt=n(6624),St=n.t(Dt,2);function Ot(e){return Ot="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ot(e)}"function"==typeof fetch&&(Lt="undefined"!=typeof global&&global.fetch?global.fetch:"undefined"!=typeof window&&window.fetch?window.fetch:fetch),Tt()&&("undefined"!=typeof global&&global.XMLHttpRequest?Mt=global.XMLHttpRequest:"undefined"!=typeof window&&window.XMLHttpRequest&&(Mt=window.XMLHttpRequest)),"function"==typeof ActiveXObject&&("undefined"!=typeof global&&global.ActiveXObject?Ct=global.ActiveXObject:"undefined"!=typeof window&&window.ActiveXObject&&(Ct=window.ActiveXObject)),Lt||!St||Mt||Ct||(Lt=Dt||St),"function"!=typeof Lt&&(Lt=void 0);var It=function(e,t){if(t&&"object"===Ot(t)){var n="";for(var i in t)n+="&"+encodeURIComponent(i)+"="+encodeURIComponent(t[i]);if(!n)return e;e=e+(-1!==e.indexOf("?")?"&":"?")+n.slice(1)}return e},Yt=function(e,t,n){Lt(e,t).then((function(e){if(!e.ok)return n(e.statusText||"Error",{status:e.status});e.text().then((function(t){n(null,{status:e.status,data:t})})).catch(n)})).catch(n)},Rt=!1;const Pt=function(e,t,n,i){return"function"==typeof n&&(i=n,n=void 0),i=i||function(){},Lt?function(e,t,n,i){e.queryStringParams&&(t=It(t,e.queryStringParams));var o=At({},"function"==typeof e.customHeaders?e.customHeaders():e.customHeaders);n&&(o["Content-Type"]="application/json");var r="function"==typeof e.requestOptions?e.requestOptions(n):e.requestOptions,a=At({method:n?"POST":"GET",body:n?e.stringify(n):void 0,headers:o},Rt?{}:r);try{Yt(t,a,i)}catch(e){if(!r||0===Object.keys(r).length||!e.message||e.message.indexOf("not implemented")<0)return i(e);try{Object.keys(r).forEach((function(e){delete a[e]})),Yt(t,a,i),Rt=!0}catch(e){i(e)}}}(e,t,n,i):Tt()||"function"==typeof ActiveXObject?function(e,t,n,i){n&&"object"===Ot(n)&&(n=It("",n).slice(1)),e.queryStringParams&&(t=It(t,e.queryStringParams));try{var o;(o=Mt?new Mt:new Ct("MSXML2.XMLHTTP.3.0")).open(n?"POST":"GET",t,1),e.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!e.withCredentials,n&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var r=e.customHeaders;if(r="function"==typeof r?r():r)for(var a in r)o.setRequestHeader(a,r[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(n)}catch(e){console&&console.log(e)}}(e,t,n,i):void i(new Error("No fetch and no xhr implementation found!"))};function Nt(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var Bt=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.services=t,this.options=n,this.allOptions=i,this.type="backend",this.init(t,n,i)}var t,n;return t=e,n=[{key:"init",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=At(n,this.options||{},{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:function(e){return JSON.parse(e)},stringify:JSON.stringify,parsePayload:function(e,t,n){return function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},t,n||"")},request:Pt,reloadInterval:"undefined"==typeof window&&36e5,customHeaders:{},queryStringParams:{},crossDomain:!1,withCredentials:!1,overrideMimeType:!1,requestOptions:{mode:"cors",credentials:"same-origin",cache:"default"}}),this.allOptions=i,this.services&&this.options.reloadInterval&&setInterval((function(){return t.reload()}),this.options.reloadInterval)}},{key:"readMulti",value:function(e,t,n){this._readAny(e,e,t,t,n)}},{key:"read",value:function(e,t,n){this._readAny([e],e,[t],t,n)}},{key:"_readAny",value:function(e,t,n,i,o){var r,a=this,s=this.options.loadPath;"function"==typeof this.options.loadPath&&(s=this.options.loadPath(e,n)),(s=function(e){return!!e&&"function"==typeof e.then}(r=s)?r:Promise.resolve(r)).then((function(r){if(!r)return o(null,{});var s=a.services.interpolator.interpolate(r,{lng:e.join("+"),ns:n.join("+")});a.loadUrl(s,o,t,i)}))}},{key:"loadUrl",value:function(e,t,n,i){var o=this;this.options.request(this.options,e,void 0,(function(r,a){if(a&&(a.status>=500&&a.status<600||!a.status))return t("failed loading "+e+"; status code: "+a.status,!0);if(a&&a.status>=400&&a.status<500)return t("failed loading "+e+"; status code: "+a.status,!1);if(!a&&r&&r.message&&r.message.indexOf("Failed to fetch")>-1)return t("failed loading "+e+": "+r.message,!0);if(r)return t(r,!1);var s,c;try{s="string"==typeof a.data?o.options.parse(a.data,n,i):a.data}catch(t){c="failed parsing "+e+" to json"}if(c)return t(c,!1);t(null,s)}))}},{key:"create",value:function(e,t,n,i,o){var r=this;if(this.options.addPath){"string"==typeof e&&(e=[e]);var a=this.options.parsePayload(t,n,i),s=0,c=[],d=[];e.forEach((function(n){var i=r.options.addPath;"function"==typeof r.options.addPath&&(i=r.options.addPath(n,t));var l=r.services.interpolator.interpolate(i,{lng:n,ns:t});r.options.request(r.options,l,a,(function(t,n){s+=1,c.push(t),d.push(n),s===e.length&&o&&o(c,d)}))}))}}},{key:"reload",value:function(){var e=this,t=this.services,n=t.backendConnector,i=t.languageUtils,o=t.logger,r=n.language;if(!r||"cimode"!==r.toLowerCase()){var a=[],s=function(e){i.toResolveHierarchy(e).forEach((function(e){a.indexOf(e)<0&&a.push(e)}))};s(r),this.allOptions.preload&&this.allOptions.preload.forEach((function(e){return s(e)})),a.forEach((function(t){e.allOptions.ns.forEach((function(e){n.read(t,e,"read",null,null,(function(i,r){i&&o.warn("loading namespace ".concat(e," for language ").concat(t," failed"),i),!i&&r&&o.log("loaded namespace ".concat(e," for language ").concat(t),r),n.loaded("".concat(t,"|").concat(e),i,r)}))}))}))}}}],n&&Nt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();Bt.type="backend";const Ht=Bt;var jt=n(1212),Ut=n(5964);class zt extends Error{}function Wt(e,t){if("string"!=typeof e)throw new zt("Invalid token specified: must be a string");t||(t={});const n=!0===t.header?0:1,i=e.split(".")[n];if("string"!=typeof i)throw new zt(`Invalid token specified: missing part #${n+1}`);let o;try{o=function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return function(e){return decodeURIComponent(atob(e).replace(/(.)/g,((e,t)=>{let n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return atob(t)}}(i)}catch(e){throw new zt(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(o)}catch(e){throw new zt(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}if(zt.prototype.name="InvalidTokenError","undefined"==typeof Promise)throw Error("Keycloak requires an environment that supports Promises. Make sure that you include the appropriate polyfill.");function $t(e){if(!(this instanceof $t))throw new Error("The 'Keycloak' constructor must be invoked with 'new'.");for(var t,n,i=this,o=[],r={enable:!0,callbackList:[],interval:5},a=document.getElementsByTagName("script"),s=0;s<a.length;s++)-1===a[s].src.indexOf("keycloak.js")&&-1===a[s].src.indexOf("keycloak.min.js")||-1===a[s].src.indexOf("version=")||(i.iframeVersion=a[s].src.substring(a[s].src.indexOf("version=")+8).split("&")[0]);var c=!0,d=T(console.info),l=T(console.warn);function m(e,t){for(var n=function(e){var t=null,n=window.crypto||window.msCrypto;if(n&&n.getRandomValues&&window.Uint8Array)return t=new Uint8Array(e),n.getRandomValues(t),t;t=new Array(e);for(var i=0;i<t.length;i++)t[i]=Math.floor(256*Math.random());return t}(e),i=new Array(e),o=0;o<e;o++)i[o]=t.charCodeAt(n[o]%t.length);return String.fromCharCode.apply(null,i)}function u(){return void 0!==i.authServerUrl?"/"==i.authServerUrl.charAt(i.authServerUrl.length-1)?i.authServerUrl+"realms/"+encodeURIComponent(i.realm):i.authServerUrl+"/realms/"+encodeURIComponent(i.realm):void 0}function f(e,t){var n=e.code,o=e.error,r=e.prompt,a=(new Date).getTime();if(e.kc_action_status&&i.onActionUpdate&&i.onActionUpdate(e.kc_action_status),o)if("none"!=r)if(e.error_description&&"authentication_expired"===e.error_description)i.login(e.loginOptions);else{var s={error:o,error_description:e.error_description};i.onAuthError&&i.onAuthError(s),t&&t.setError(s)}else t&&t.setSuccess();else if("standard"!=i.flow&&(e.access_token||e.id_token)&&f(e.access_token,null,e.id_token,!0),"implicit"!=i.flow&&n){var l="code="+n+"&grant_type=authorization_code",m=i.endpoints.token(),u=new XMLHttpRequest;u.open("POST",m,!0),u.setRequestHeader("Content-type","application/x-www-form-urlencoded"),l+="&client_id="+encodeURIComponent(i.clientId),l+="&redirect_uri="+e.redirectUri,e.pkceCodeVerifier&&(l+="&code_verifier="+e.pkceCodeVerifier),u.withCredentials=!0,u.onreadystatechange=function(){if(4==u.readyState)if(200==u.status){var e=JSON.parse(u.responseText);f(e.access_token,e.refresh_token,e.id_token,"standard"===i.flow),F()}else i.onAuthError&&i.onAuthError(),t&&t.setError()},u.send(l)}function f(n,o,r,s){h(n,o,r,a=(a+(new Date).getTime())/2),c&&i.idTokenParsed&&i.idTokenParsed.nonce!=e.storedNonce?(d("[KEYCLOAK] Invalid nonce, clearing token"),i.clearToken(),t&&t.setError()):s&&(i.onAuthSuccess&&i.onAuthSuccess(),t&&t.setSuccess())}}function p(e){return 0==e.status&&e.responseText&&e.responseURL.startsWith("file:")}function h(e,t,n,o){if(i.tokenTimeoutHandle&&(clearTimeout(i.tokenTimeoutHandle),i.tokenTimeoutHandle=null),t?(i.refreshToken=t,i.refreshTokenParsed=Wt(t)):(delete i.refreshToken,delete i.refreshTokenParsed),n?(i.idToken=n,i.idTokenParsed=Wt(n)):(delete i.idToken,delete i.idTokenParsed),e){if(i.token=e,i.tokenParsed=Wt(e),i.sessionId=i.tokenParsed.sid,i.authenticated=!0,i.subject=i.tokenParsed.sub,i.realmAccess=i.tokenParsed.realm_access,i.resourceAccess=i.tokenParsed.resource_access,o&&(i.timeSkew=Math.floor(o/1e3)-i.tokenParsed.iat),null!=i.timeSkew&&(d("[KEYCLOAK] Estimated time difference between browser and server is "+i.timeSkew+" seconds"),i.onTokenExpired)){var r=1e3*(i.tokenParsed.exp-(new Date).getTime()/1e3+i.timeSkew);d("[KEYCLOAK] Token expires in "+Math.round(r/1e3)+" s"),r<=0?i.onTokenExpired():i.tokenTimeoutHandle=setTimeout(i.onTokenExpired,r)}}else delete i.token,delete i.tokenParsed,delete i.subject,delete i.realmAccess,delete i.resourceAccess,i.authenticated=!1}function b(){var e="0123456789abcdef",t=m(36,e).split("");return t[14]="4",t[19]=e.substr(3&t[19]|8,1),t[8]=t[13]=t[18]=t[23]="-",t.join("")}function _(e){var t=function(e){var t;switch(i.flow){case"standard":t=["code","state","session_state","kc_action_status","iss"];break;case"implicit":t=["access_token","token_type","id_token","state","session_state","expires_in","kc_action_status","iss"];break;case"hybrid":t=["access_token","token_type","id_token","code","state","session_state","expires_in","kc_action_status","iss"]}t.push("error"),t.push("error_description"),t.push("error_uri");var n,o,r=e.indexOf("?"),a=e.indexOf("#");if("query"===i.responseMode&&-1!==r?(n=e.substring(0,r),""!==(o=g(e.substring(r+1,-1!==a?a:e.length),t)).paramsString&&(n+="?"+o.paramsString),-1!==a&&(n+=e.substring(a))):"fragment"===i.responseMode&&-1!==a&&(n=e.substring(0,a),""!==(o=g(e.substring(a+1),t)).paramsString&&(n+="#"+o.paramsString)),o&&o.oauthParams)if("standard"===i.flow||"hybrid"===i.flow){if((o.oauthParams.code||o.oauthParams.error)&&o.oauthParams.state)return o.oauthParams.newUrl=n,o.oauthParams}else if("implicit"===i.flow&&(o.oauthParams.access_token||o.oauthParams.error)&&o.oauthParams.state)return o.oauthParams.newUrl=n,o.oauthParams}(e);if(t){var o=n.get(t.state);return o&&(t.valid=!0,t.redirectUri=o.redirectUri,t.storedNonce=o.nonce,t.prompt=o.prompt,t.pkceCodeVerifier=o.pkceCodeVerifier,t.loginOptions=o.loginOptions),t}}function g(e,t){for(var n=e.split("&"),i={paramsString:"",oauthParams:{}},o=0;o<n.length;o++){var r=n[o].indexOf("="),a=n[o].slice(0,r);-1!==t.indexOf(a)?i.oauthParams[a]=n[o].slice(r+1):(""!==i.paramsString&&(i.paramsString+="&"),i.paramsString+=n[o])}return i}function y(){var e={setSuccess:function(t){e.resolve(t)},setError:function(t){e.reject(t)}};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}function v(){var e=y();if(!r.enable)return e.setSuccess(),e.promise;if(r.iframe)return e.setSuccess(),e.promise;var t=document.createElement("iframe");r.iframe=t,t.onload=function(){var t=i.endpoints.authorize();"/"===t.charAt(0)?r.iframeOrigin=window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""):r.iframeOrigin=t.substring(0,t.indexOf("/",8)),e.setSuccess()};var n=i.endpoints.checkSessionIframe();return t.setAttribute("src",n),t.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),t.setAttribute("title","keycloak-session-iframe"),t.style.display="none",document.body.appendChild(t),window.addEventListener("message",(function(e){if(e.origin===r.iframeOrigin&&r.iframe.contentWindow===e.source&&("unchanged"==e.data||"changed"==e.data||"error"==e.data)){"unchanged"!=e.data&&i.clearToken();for(var t=r.callbackList.splice(0,r.callbackList.length),n=t.length-1;n>=0;--n){var o=t[n];"error"==e.data?o.setError():o.setSuccess("unchanged"==e.data)}}}),!1),e.promise}function F(){r.enable&&i.token&&setTimeout((function(){k().then((function(e){e&&F()}))}),1e3*r.interval)}function k(){var e=y();if(r.iframe&&r.iframeOrigin){var t=i.clientId+" "+(i.sessionId?i.sessionId:"");r.callbackList.push(e);var n=r.iframeOrigin;1==r.callbackList.length&&r.iframe.contentWindow.postMessage(t,n)}else e.setSuccess();return e.promise}function w(){var e=y();if(r.enable||i.silentCheckSsoRedirectUri){var t=document.createElement("iframe");t.setAttribute("src",i.endpoints.thirdPartyCookiesIframe()),t.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),t.setAttribute("title","keycloak-3p-check-iframe"),t.style.display="none",document.body.appendChild(t);var n=function(o){t.contentWindow===o.source&&("supported"!==o.data&&"unsupported"!==o.data||("unsupported"===o.data&&(l("[KEYCLOAK] Your browser is blocking access to 3rd-party cookies, this means:\n\n - It is not possible to retrieve tokens without redirecting to the Keycloak server (a.k.a. no support for silent authentication).\n - It is not possible to automatically detect changes to the session status (such as the user logging out in another tab).\n\nFor more information see: https://www.keycloak.org/docs/latest/securing_apps/#_modern_browsers"),r.enable=!1,i.silentCheckSsoFallback&&(i.silentCheckSsoRedirectUri=!1)),document.body.removeChild(t),window.removeEventListener("message",n),e.setSuccess()))};window.addEventListener("message",n,!1)}else e.setSuccess();return function(e,t,n){var i=null,o=new Promise((function(e,n){i=setTimeout((function(){n({error:"Timeout when waiting for 3rd party check iframe message."})}),t)}));return Promise.race([e,o]).finally((function(){clearTimeout(i)}))}(e.promise,i.messageReceiveTimeout)}function E(e){if(!e||"default"==e)return{login:function(e){return window.location.assign(i.createLoginUrl(e)),y().promise},logout:async function(e){if("GET"===(e?.logoutMethod??i.logoutMethod))return void window.location.replace(i.createLogoutUrl(e));const n=i.createLogoutUrl(e),o=await fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({id_token_hint:i.idToken,client_id:i.clientId,post_logout_redirect_uri:t.redirectUri(e,!1)})});if(o.redirected)window.location.href=o.url;else{if(!o.ok)throw new Error("Logout failed, request returned an error code.");window.location.reload()}},register:function(e){return window.location.assign(i.createRegisterUrl(e)),y().promise},accountManagement:function(){var e=i.createAccountUrl();if(void 0===e)throw"Not supported by the OIDC server";return window.location.href=e,y().promise},redirectUri:function(e,t){return e&&e.redirectUri?e.redirectUri:i.redirectUri?i.redirectUri:location.href}};if("cordova"==e){r.enable=!1;var n=function(e,t,n){return window.cordova&&window.cordova.InAppBrowser?window.cordova.InAppBrowser.open(e,t,n):window.open(e,t,n)},o=function(e){var t=function(e){return e&&e.cordovaOptions?Object.keys(e.cordovaOptions).reduce((function(t,n){return t[n]=e.cordovaOptions[n],t}),{}):{}}(e);return t.location="no",e&&"none"==e.prompt&&(t.hidden="yes"),function(e){return Object.keys(e).reduce((function(t,n){return t.push(n+"="+e[n]),t}),[]).join(",")}(t)},a=function(){return i.redirectUri||"http://localhost"};return{login:function(e){var t=y(),r=o(e),s=i.createLoginUrl(e),c=n(s,"_blank",r),d=!1,l=!1,m=function(){l=!0,c.close()};return c.addEventListener("loadstart",(function(e){0==e.url.indexOf(a())&&(f(_(e.url),t),m(),d=!0)})),c.addEventListener("loaderror",(function(e){d||(0==e.url.indexOf(a())?(f(_(e.url),t),m(),d=!0):(t.setError(),m()))})),c.addEventListener("exit",(function(e){l||t.setError({reason:"closed_by_user"})})),t.promise},logout:function(e){var t,o=y(),r=i.createLogoutUrl(e),s=n(r,"_blank","location=no,hidden=yes,clearcache=yes");return s.addEventListener("loadstart",(function(e){0==e.url.indexOf(a())&&s.close()})),s.addEventListener("loaderror",(function(e){0==e.url.indexOf(a())||(t=!0),s.close()})),s.addEventListener("exit",(function(e){t?o.setError():(i.clearToken(),o.setSuccess())})),o.promise},register:function(e){var t=y(),r=i.createRegisterUrl(),s=o(e),c=n(r,"_blank",s);return c.addEventListener("loadstart",(function(e){0==e.url.indexOf(a())&&(c.close(),f(_(e.url),t))})),t.promise},accountManagement:function(){var e=i.createAccountUrl();if(void 0===e)throw"Not supported by the OIDC server";var t=n(e,"_blank","location=no");t.addEventListener("loadstart",(function(e){0==e.url.indexOf(a())&&t.close()}))},redirectUri:function(e){return a()}}}if("cordova-native"==e)return r.enable=!1,{login:function(e){var t=y(),n=i.createLoginUrl(e);return universalLinks.subscribe("keycloak",(function(e){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),f(_(e.url),t)})),window.cordova.plugins.browsertab.openUrl(n),t.promise},logout:function(e){var t=y(),n=i.createLogoutUrl(e);return universalLinks.subscribe("keycloak",(function(e){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),i.clearToken(),t.setSuccess()})),window.cordova.plugins.browsertab.openUrl(n),t.promise},register:function(e){var t=y(),n=i.createRegisterUrl(e);return universalLinks.subscribe("keycloak",(function(e){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),f(_(e.url),t)})),window.cordova.plugins.browsertab.openUrl(n),t.promise},accountManagement:function(){var e=i.createAccountUrl();if(void 0===e)throw"Not supported by the OIDC server";window.cordova.plugins.browsertab.openUrl(e)},redirectUri:function(e){return e&&e.redirectUri?e.redirectUri:i.redirectUri?i.redirectUri:"http://localhost"}};throw"invalid adapter type: "+e}i.init=function(o){if(i.didInitialize)throw new Error("A 'Keycloak' instance can only be initialized once.");if(i.didInitialize=!0,i.authenticated=!1,n=function(){try{return new x}catch(e){}return new A}(),t=o&&["default","cordova","cordova-native"].indexOf(o.adapter)>-1?E(o.adapter):o&&"object"==typeof o.adapter?o.adapter:window.Cordova||window.cordova?E("cordova"):E(),o){if(void 0!==o.useNonce&&(c=o.useNonce),void 0!==o.checkLoginIframe&&(r.enable=o.checkLoginIframe),o.checkLoginIframeInterval&&(r.interval=o.checkLoginIframeInterval),"login-required"===o.onLoad&&(i.loginRequired=!0),o.responseMode){if("query"!==o.responseMode&&"fragment"!==o.responseMode)throw"Invalid value for responseMode";i.responseMode=o.responseMode}if(o.flow){switch(o.flow){case"standard":i.responseType="code";break;case"implicit":i.responseType="id_token token";break;case"hybrid":i.responseType="code id_token token";break;default:throw"Invalid value for flow"}i.flow=o.flow}if(null!=o.timeSkew&&(i.timeSkew=o.timeSkew),o.redirectUri&&(i.redirectUri=o.redirectUri),o.silentCheckSsoRedirectUri&&(i.silentCheckSsoRedirectUri=o.silentCheckSsoRedirectUri),"boolean"==typeof o.silentCheckSsoFallback?i.silentCheckSsoFallback=o.silentCheckSsoFallback:i.silentCheckSsoFallback=!0,void 0!==o.pkceMethod){if("S256"!==o.pkceMethod&&!1!==o.pkceMethod)throw new TypeError(`Invalid value for pkceMethod', expected 'S256' or false but got ${o.pkceMethod}.`);i.pkceMethod=o.pkceMethod}else i.pkceMethod="S256";"boolean"==typeof o.enableLogging?i.enableLogging=o.enableLogging:i.enableLogging=!1,"POST"===o.logoutMethod?i.logoutMethod="POST":i.logoutMethod="GET","string"==typeof o.scope&&(i.scope=o.scope),"string"==typeof o.acrValues&&(i.acrValues=o.acrValues),"number"==typeof o.messageReceiveTimeout&&o.messageReceiveTimeout>0?i.messageReceiveTimeout=o.messageReceiveTimeout:i.messageReceiveTimeout=1e4}i.responseMode||(i.responseMode="fragment"),i.responseType||(i.responseType="code",i.flow="standard");var a=y(),s=y();s.promise.then((function(){i.onReady&&i.onReady(i.authenticated),a.setSuccess(i.authenticated)})).catch((function(e){a.setError(e)}));var d=function(t){var n,o=y();function r(e){i.endpoints=e?{authorize:function(){return e.authorization_endpoint},token:function(){return e.token_endpoint},logout:function(){if(!e.end_session_endpoint)throw"Not supported by the OIDC server";return e.end_session_endpoint},checkSessionIframe:function(){if(!e.check_session_iframe)throw"Not supported by the OIDC server";return e.check_session_iframe},register:function(){throw'Redirection to "Register user" page not supported in standard OIDC mode'},userinfo:function(){if(!e.userinfo_endpoint)throw"Not supported by the OIDC server";return e.userinfo_endpoint}}:{authorize:function(){return u()+"/protocol/openid-connect/auth"},token:function(){return u()+"/protocol/openid-connect/token"},logout:function(){return u()+"/protocol/openid-connect/logout"},checkSessionIframe:function(){var e=u()+"/protocol/openid-connect/login-status-iframe.html";return i.iframeVersion&&(e=e+"?version="+i.iframeVersion),e},thirdPartyCookiesIframe:function(){var e=u()+"/protocol/openid-connect/3p-cookies/step1.html";return i.iframeVersion&&(e=e+"?version="+i.iframeVersion),e},register:function(){return u()+"/protocol/openid-connect/registrations"},userinfo:function(){return u()+"/protocol/openid-connect/userinfo"}}}if(e?"string"==typeof e&&(n=e):n="keycloak.json",n)(c=new XMLHttpRequest).open("GET",n,!0),c.setRequestHeader("Accept","application/json"),c.onreadystatechange=function(){if(4==c.readyState)if(200==c.status||p(c)){var e=JSON.parse(c.responseText);i.authServerUrl=e["auth-server-url"],i.realm=e.realm,i.clientId=e.resource,r(null),o.setSuccess()}else o.setError()},c.send();else{if(!e.clientId)throw"clientId missing";i.clientId=e.clientId;var a=e.oidcProvider;if(a){var s,c;"string"==typeof a?(s="/"==a.charAt(a.length-1)?a+".well-known/openid-configuration":a+"/.well-known/openid-configuration",(c=new XMLHttpRequest).open("GET",s,!0),c.setRequestHeader("Accept","application/json"),c.onreadystatechange=function(){4==c.readyState&&(200==c.status||p(c)?(r(JSON.parse(c.responseText)),o.setSuccess()):o.setError())},c.send()):(r(a),o.setSuccess())}else{if(!e.url)for(var d=document.getElementsByTagName("script"),l=0;l<d.length;l++)if(d[l].src.match(/.*keycloak\.js/)){e.url=d[l].src.substr(0,d[l].src.indexOf("/js/keycloak.js"));break}if(!e.realm)throw"realm missing";i.authServerUrl=e.url,i.realm=e.realm,r(null),o.setSuccess()}}return o.promise}();function l(){var e=function(e){e||(n.prompt="none"),o&&o.locale&&(n.locale=o.locale),i.login(n).then((function(){s.setSuccess()})).catch((function(e){s.setError(e)}))},t=function(){var e=document.createElement("iframe"),t=i.createLoginUrl({prompt:"none",redirectUri:i.silentCheckSsoRedirectUri});e.setAttribute("src",t),e.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),e.setAttribute("title","keycloak-silent-check-sso"),e.style.display="none",document.body.appendChild(e);var n=function(t){t.origin===window.location.origin&&e.contentWindow===t.source&&(f(_(t.data),s),document.body.removeChild(e),window.removeEventListener("message",n))};window.addEventListener("message",n)},n={};switch(o.onLoad){case"check-sso":r.enable?v().then((function(){k().then((function(n){n?s.setSuccess():i.silentCheckSsoRedirectUri?t():e(!1)})).catch((function(e){s.setError(e)}))})):i.silentCheckSsoRedirectUri?t():e(!1);break;case"login-required":e(!0);break;default:throw"Invalid value for onLoad"}}function m(){var e=_(window.location.href);if(e&&window.history.replaceState(window.history.state,null,e.newUrl),e&&e.valid)return v().then((function(){f(e,s)})).catch((function(e){s.setError(e)}));o?o.token&&o.refreshToken?(h(o.token,o.refreshToken,o.idToken),r.enable?v().then((function(){k().then((function(e){e?(i.onAuthSuccess&&i.onAuthSuccess(),s.setSuccess(),F()):s.setSuccess()})).catch((function(e){s.setError(e)}))})):i.updateToken(-1).then((function(){i.onAuthSuccess&&i.onAuthSuccess(),s.setSuccess()})).catch((function(e){i.onAuthError&&i.onAuthError(),o.onLoad?l():s.setError(e)}))):o.onLoad?l():s.setSuccess():s.setSuccess()}return d.then((function(){(function(){var e=y(),t=function(){"interactive"!==document.readyState&&"complete"!==document.readyState||(document.removeEventListener("readystatechange",t),e.setSuccess())};return document.addEventListener("readystatechange",t),t(),e.promise})().then(w).then(m).catch((function(e){a.setError(e)}))})),d.catch((function(e){a.setError(e)})),a.promise},i.login=function(e){return t.login(e)},i.createLoginUrl=function(e){var o,r=b(),a=b(),s=t.redirectUri(e),d={state:r,nonce:a,redirectUri:encodeURIComponent(s),loginOptions:e};e&&e.prompt&&(d.prompt=e.prompt),o=e&&"register"==e.action?i.endpoints.register():i.endpoints.authorize();var l=e&&e.scope||i.scope;l?-1===l.indexOf("openid")&&(l="openid "+l):l="openid";var u,f=o+"?client_id="+encodeURIComponent(i.clientId)+"&redirect_uri="+encodeURIComponent(s)+"&state="+encodeURIComponent(r)+"&response_mode="+encodeURIComponent(i.responseMode)+"&response_type="+encodeURIComponent(i.responseType)+"&scope="+encodeURIComponent(l);if(c&&(f=f+"&nonce="+encodeURIComponent(a)),e&&e.prompt&&(f+="&prompt="+encodeURIComponent(e.prompt)),e&&e.maxAge&&(f+="&max_age="+encodeURIComponent(e.maxAge)),e&&e.loginHint&&(f+="&login_hint="+encodeURIComponent(e.loginHint)),e&&e.idpHint&&(f+="&kc_idp_hint="+encodeURIComponent(e.idpHint)),e&&e.action&&"register"!=e.action&&(f+="&kc_action="+encodeURIComponent(e.action)),e&&e.locale&&(f+="&ui_locales="+encodeURIComponent(e.locale)),e&&e.acr){var p=(u={id_token:{acr:e.acr}},JSON.stringify(u));f+="&claims="+encodeURIComponent(p)}if((e&&e.acrValues||i.acrValues)&&(f+="&acr_values="+encodeURIComponent(e.acrValues||i.acrValues)),i.pkceMethod){var h=m(96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");d.pkceCodeVerifier=h,f+="&code_challenge="+function(e,t){if("S256"!==e)throw new TypeError(`Invalid value for 'pkceMethod', expected 'S256' but got '${e}'.`);return function(e){const t=String.fromCodePoint(...e);return btoa(t)}(new Uint8Array(Ut.arrayBuffer(t))).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}(i.pkceMethod,h),f+="&code_challenge_method="+i.pkceMethod}return n.add(d),f},i.logout=function(e){return t.logout(e)},i.createLogoutUrl=function(e){if("POST"===(e?.logoutMethod??i.logoutMethod))return i.endpoints.logout();var n=i.endpoints.logout()+"?client_id="+encodeURIComponent(i.clientId)+"&post_logout_redirect_uri="+encodeURIComponent(t.redirectUri(e,!1));return i.idToken&&(n+="&id_token_hint="+encodeURIComponent(i.idToken)),n},i.register=function(e){return t.register(e)},i.createRegisterUrl=function(e){return e||(e={}),e.action="register",i.createLoginUrl(e)},i.createAccountUrl=function(e){var n=u(),o=void 0;return void 0!==n&&(o=n+"/account?referrer="+encodeURIComponent(i.clientId)+"&referrer_uri="+encodeURIComponent(t.redirectUri(e))),o},i.accountManagement=function(){return t.accountManagement()},i.hasRealmRole=function(e){var t=i.realmAccess;return!!t&&t.roles.indexOf(e)>=0},i.hasResourceRole=function(e,t){if(!i.resourceAccess)return!1;var n=i.resourceAccess[t||i.clientId];return!!n&&n.roles.indexOf(e)>=0},i.loadUserProfile=function(){var e=u()+"/account",t=new XMLHttpRequest;t.open("GET",e,!0),t.setRequestHeader("Accept","application/json"),t.setRequestHeader("Authorization","bearer "+i.token);var n=y();return t.onreadystatechange=function(){4==t.readyState&&(200==t.status?(i.profile=JSON.parse(t.responseText),n.setSuccess(i.profile)):n.setError())},t.send(),n.promise},i.loadUserInfo=function(){var e=i.endpoints.userinfo(),t=new XMLHttpRequest;t.open("GET",e,!0),t.setRequestHeader("Accept","application/json"),t.setRequestHeader("Authorization","bearer "+i.token);var n=y();return t.onreadystatechange=function(){4==t.readyState&&(200==t.status?(i.userInfo=JSON.parse(t.responseText),n.setSuccess(i.userInfo)):n.setError())},t.send(),n.promise},i.isTokenExpired=function(e){if(!i.tokenParsed||!i.refreshToken&&"implicit"!=i.flow)throw"Not authenticated";if(null==i.timeSkew)return d("[KEYCLOAK] Unable to determine if token is expired as timeskew is not set"),!0;var t=i.tokenParsed.exp-Math.ceil((new Date).getTime()/1e3)+i.timeSkew;if(e){if(isNaN(e))throw"Invalid minValidity";t-=e}return t<0},i.updateToken=function(e){var t=y();if(!i.refreshToken)return t.setError(),t.promise;e=e||5;var n=function(){var n=!1;if(-1==e?(n=!0,d("[KEYCLOAK] Refreshing token: forced refresh")):i.tokenParsed&&!i.isTokenExpired(e)||(n=!0,d("[KEYCLOAK] Refreshing token: token expired")),n){var r="grant_type=refresh_token&refresh_token="+i.refreshToken,a=i.endpoints.token();if(o.push(t),1==o.length){var s=new XMLHttpRequest;s.open("POST",a,!0),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),s.withCredentials=!0,r+="&client_id="+encodeURIComponent(i.clientId);var c=(new Date).getTime();s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status){d("[KEYCLOAK] Token refreshed"),c=(c+(new Date).getTime())/2;var e=JSON.parse(s.responseText);h(e.access_token,e.refresh_token,e.id_token,c),i.onAuthRefreshSuccess&&i.onAuthRefreshSuccess();for(var t=o.pop();null!=t;t=o.pop())t.setSuccess(!0)}else for(l("[KEYCLOAK] Failed to refresh token"),400==s.status&&i.clearToken(),i.onAuthRefreshError&&i.onAuthRefreshError(),t=o.pop();null!=t;t=o.pop())t.setError(!0)},s.send(r)}}else t.setSuccess(!1)};return r.enable?k().then((function(){n()})).catch((function(e){t.setError(e)})):n(),t.promise},i.clearToken=function(){i.token&&(h(null,null,null),i.onAuthLogout&&i.onAuthLogout(),i.loginRequired&&i.login())};var x=function(){if(!(this instanceof x))return new x;function e(){for(var e=(new Date).getTime(),t=0;t<localStorage.length;t++){var n=localStorage.key(t);if(n&&0==n.indexOf("kc-callback-")){var i=localStorage.getItem(n);if(i)try{var o=JSON.parse(i).expires;(!o||o<e)&&localStorage.removeItem(n)}catch(e){localStorage.removeItem(n)}}}}localStorage.setItem("kc-test","test"),localStorage.removeItem("kc-test"),this.get=function(t){if(t){var n="kc-callback-"+t,i=localStorage.getItem(n);return i&&(localStorage.removeItem(n),i=JSON.parse(i)),e(),i}},this.add=function(t){e();var n="kc-callback-"+t.state;t.expires=(new Date).getTime()+36e5,localStorage.setItem(n,JSON.stringify(t))}},A=function(){if(!(this instanceof A))return new A;var e=this;e.get=function(e){if(e){var o=n("kc-callback-"+e);return i("kc-callback-"+e,"",t(-100)),o?JSON.parse(o):void 0}},e.add=function(e){i("kc-callback-"+e.state,JSON.stringify(e),t(60))},e.removeItem=function(e){i(e,"",t(-100))};var t=function(e){var t=new Date;return t.setTime(t.getTime()+60*e*1e3),t},n=function(e){for(var t=e+"=",n=document.cookie.split(";"),i=0;i<n.length;i++){for(var o=n[i];" "==o.charAt(0);)o=o.substring(1);if(0==o.indexOf(t))return o.substring(t.length,o.length)}return""},i=function(e,t,n){var i=e+"="+t+"; expires="+n.toUTCString()+"; ";document.cookie=i}};function T(e){return function(){i.enableLogging&&e.apply(console,Array.prototype.slice.call(arguments))}}}var qt=function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))};const Vt=e=>t=>class extends t{constructor(){super(...arguments),this._connectRequested=!1,this._status=_t.DISCONNECTED,this._statusCallback=e=>this._onEventProviderStatusChanged(e)}connectedCallback(){super.connectedCallback&&super.connectedCallback(),this.connectEvents()}disconnectedCallback(){this.disconnectEvents(),super.disconnectedCallback&&super.disconnectedCallback()}connectEvents(){e.getEventProvider()?this._connectRequested||(this._connectRequested=!0,e.getEventProvider().subscribeStatusChange(this._statusCallback),this._doConnect()):console.log("No event provider available so cannot subscribe")}disconnectEvents(){this._connectRequested&&(this._connectRequested=!1,e.getEventProvider().unsubscribeStatusChange(this._statusCallback),this._onEventsDisconnect())}_doConnect(){return qt(this,void 0,void 0,(function*(){this.eventsConnected&&this._onEventsConnect()}))}get eventsConnected(){return this._connectRequested&&e.getEventProvider().status===_t.CONNECTED}_onEventProviderStatusChanged(e){switch(e){case _t.DISCONNECTED:this._onEventsDisconnect();break;case _t.CONNECTED:this._doConnect()}}_onEventsConnect(){this._addEventSubscriptions(),this.onEventsConnect()}_onEventsDisconnect(){this._removeEventSubscriptions(),this.onEventsDisconnect()}_addEventSubscriptions(){return qt(this,void 0,void 0,(function*(){const t=!!this._attributeRefs,n=!!this._assetIds,i=this._attributeRefs?this._attributeRefs:this._assetIds;if(i&&i.length>0){if(this._subscriptionIds=[],n){const t=yield e.getEventProvider().subscribeAssetEvents(i,!0,(e=>this._onEvent(e))),n=this._attributeRefs?this._attributeRefs:this._assetIds;if(!this._subscriptionIds||!w(i,n))return void e.getEventProvider().unsubscribe(t);this._subscriptionIds.push(t)}const o=yield e.getEventProvider().subscribeAttributeEvents(i,t,(e=>this._onEvent(e))),r=this._attributeRefs?this._attributeRefs:this._assetIds;if(!this._subscriptionIds||!w(i,r))return void e.getEventProvider().unsubscribe(o);this._subscriptionIds.push(o)}}))}_removeEventSubscriptions(){this._subscriptionIds&&(this._subscriptionIds.forEach((t=>{e.getEventProvider().unsubscribe(t)})),this._subscriptionIds=void 0)}_refreshEventSubscriptions(){this._removeEventSubscriptions(),this._addEventSubscriptions()}set assetIds(e){w(this._assetIds,e)||(this._assetIds=e,this._refreshEventSubscriptions(),this.requestUpdate("assetIds"))}get assetIds(){return this._assetIds}set attributeRefs(e){w(this._attributeRefs,e)||(this._attributeRefs=e,this._refreshEventSubscriptions())}get attributeRefs(){return this._attributeRefs}_sendEvent(t){e.getEventProvider().sendEvent(t)}_sendEventWithReply(t){return e.getEventProvider().sendEventWithReply(t)}onEventsConnect(){}onEventsDisconnect(){}_onEvent(e){}},Gt="#4d9d2a",Kt="#FFFFFF",Xt="#F9F9F9",Jt="#CCCCCC",Qt="#FFFFFF",Zt="#4c4c4c";var en,tn,nn=function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))};!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"}(en||(en={})),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"}(tn||(tn={}));class on{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(){const e=new Map;return this._keycloak?this._keycloak.resourceAccess&&this._config.clientId&&this._keycloak.resourceAccess&&Object.entries(this._keycloak.resourceAccess).forEach((([t,n])=>{const i=n.roles;e.set(t,i)})):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?void 0:e.managerUrl}get keycloakUrl(){var e;return null===(e=this._config)||void 0===e?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 bt}get language(){return o.cp.language}set language(e){console.debug(`Changing language to ${e}.`),e&&(o.cp.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(tn.DISPLAY_REALM_CHANGED))}get clientId(){return this._config.clientId||"openremote"}getEventProvider(){return this.events}get mapType(){return this._config.mapType||"VECTOR"}isManagerSameOrigin(){if(!this.ready)return!1;const e=new URL(this._config.managerUrl),t=window.location;return e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}addListener(e){this._listeners.indexOf(e)<0&&this._listeners.push(e)}removeListener(e){const t=this._listeners.indexOf(e);t>=0&&this._listeners.splice(t,1)}init(e){return nn(this,void 0,void 0,(function*(){this._config&&console.debug("Already initialised"),this._config=function(e){const 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"),t}(e);let t=yield this.loadManagerInfo();const n=new ke(this._config.realm,this._config.consoleAutoEnable,(()=>{this._emitEvent(tn.CONSOLE_READY)}));if(this._console=n,"BASIC"===this._config.auth)t=(yield this.doTranslateInit())&&t,t=yield this.doAuthInit();else if("KEYCLOAK"===this._config.auth){if(!this._config.keycloakUrl&&this._authServerUrl){const e=new URL(this._config.managerUrl);let t;this._authServerUrl.startsWith("//")&&(this._authServerUrl=e.protocol+this._authServerUrl);try{t=new URL(this._authServerUrl)}catch(n){t=new URL(e),t.pathname=this._authServerUrl}t.protocol||(t.protocol=e.protocol),t.hostname||(t.hostname=e.hostname),t.port||(t.port=e.port),this._config.keycloakUrl=t.toString()}this._config.keycloakUrl||(this._config.keycloakUrl=this._config.managerUrl+"/auth"),this._config.keycloakUrl=this._config.keycloakUrl.replace(/\/+$/,""),t=yield this.doAuthInit(),t||this._config.skipFallbackToBasicAuth||(console.debug("Falling back to basic auth"),this._config.auth="BASIC",t=yield this.doAuthInit())}return!!t&&(t&&(t=this.doRestApiInit()),(yield this.doConsoleInit())&&this._clearWebHistory(),t=(yield this.doTranslateInit())&&t,t&&(t=yield this.doDescriptorsInit(),t=yield this.getConsoleAppConfig()),this.doIconInit(),t?(this._readyCallback&&(yield this._readyCallback()),this._ready=!0,this._emitEvent(tn.READY)):(this._config=void 0,console.warn("Failed to initialise the manager")),this.displayRealm=e.realm||"master",t)}))}loadManagerInfo(){return nn(this,void 0,void 0,(function*(){try{const e=yield new Promise(((e,t)=>{const n=new XMLHttpRequest;n.addEventListener("load",(()=>{e(JSON.parse(n.responseText))})),n.addEventListener("error",(()=>{t(new Error("Failed to contact the manager"))})),n.open("GET",this._config.managerUrl+"/api/master/info"),n.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(en.MANAGER_FAILED_TO_LOAD),!1}}))}doTranslateInit(){return nn(this,void 0,void 0,(function*(){if(o.cp.isInitialized)return!0;o.cp.on("initialized",(e=>{this._emitEvent(tn.TRANSLATE_INIT)})),o.cp.on("languageChanged",(e=>{d().locale(e),this._emitEvent(tn.TRANSLATE_LANGUAGE_CHANGED)}));const 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,n)=>"uppercase"===t?e.toUpperCase():e instanceof Date?d()(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.cp.use(Ht).init(e)}catch(e){return console.error(e),this._setError(en.TRANSLATION_ERROR),!1}return!0}))}doDescriptorsInit(){return nn(this,void 0,void 0,(function*(){if(!this.config.loadDescriptors)return!0;try{const e=yield bt.api.AssetModelResource.getAssetInfos(),t=yield bt.api.AssetModelResource.getMetaItemDescriptors(),n=yield bt.api.AssetModelResource.getValueDescriptors();s.S8._assetTypeInfos=e.data,s.S8._metaItemDescriptors=Object.values(t.data),s.S8._valueDescriptors=Object.values(n.data)}catch(e){return console.error(e),!1}return!0}))}doAuthInit(){return nn(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(en.AUTH_TYPE_UNSUPPORTED),!1}return!!e&&(bt.addRequestInterceptor((e=>{if(!e.headers.Authorization){const t=this.getAuthorizationHeader();t&&(e.headers.Authorization=t)}return e})),e)}))}doRestApiInit(){return bt.setTimeout(2e4),bt.initialise(this.getApiBaseUrl()),!0}doEventsSubscriptionInit(){return nn(this,void 0,void 0,(function*(){let e=!1;return"WEBSOCKET"===this._config.eventProviderType&&(this._events=new Ft(this._config.managerUrl),this._events.subscribeStatusChange((e=>this._onEventProviderStatusChanged(e))),e=yield this._events.connect()),e||this._setError(en.EVENTS_CONNECTION_ERROR),e}))}_connectEvents(){var e;(null===(e=this.events)||void 0===e?void 0:e.status)===_t.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 _t.DISCONNECTED:this._onDisconnect();break;case _t.CONNECTED:break;case _t.CONNECTING:this._emitEvent(tn.CONNECTING)}}doConsoleInit(){return nn(this,void 0,void 0,(function*(){try{return yield this.console.initialise(),this._emitEvent(tn.CONSOLE_INIT),!0}catch(e){return this._setError(en.CONSOLE_ERROR),!1}}))}doIconInit(){this._config.loadIcons&&(jt.UH.addIconSet("mdi",(0,jt.SI)(rn.managerUrl)),jt.UH.addIconSet("or",(0,jt.Ql)(jt.Ar.size,jt.Ar.icons)))}getConsoleAppConfig(){var e;return nn(this,void 0,void 0,(function*(){try{const t=yield fetch((null!==(e=rn.managerUrl)&&void 0!==e?e:"")+"/consoleappconfig/"+rn.displayRealm+".json");return this._consoleAppConfig=yield t.json(),!0}catch(e){return!0}}))}getConsolePreferredLanguage(e=this.console){return nn(this,void 0,void 0,(function*(){return e.retrieveData("LANGUAGE")}))}getUserPreferredLanguage(e=this._keycloak){return nn(this,void 0,void 0,(function*(){if(e&&e.authenticated){const t=(null==e?void 0:e.profile)||(yield null==e?void 0:e.loadUserProfile());if(null==t?void 0:t.attributes){const e=new Map(Object.entries(t.attributes));if(e.has("locale")){const 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,t=this.rest){return nn(this,void 0,void 0,(function*(){this.authenticated?t?yield t.api.UserResource.updateCurrentUserLocale(e,{headers:{"Content-Type":"application/json"}}):console.warn("Tried updating user language, but the REST API is not initialized yet."):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){const 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 nn(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(){var e,t,n,i;return nn(this,void 0,void 0,(function*(){if(!this.config.basicLoginProvider)return;let o={username:(null===(e=this.config.credentials)||void 0===e?void 0:e.username)?null===(t=this.config.credentials)||void 0===t?void 0:t.username:"",password:(null===(n=this.config.credentials)||void 0===n?void 0:n.password)?null===(i=this.config.credentials)||void 0===i?void 0:i.password:"",cancel:!1},r=!1;for(this._basicIdentity={roles:void 0,token:void 0,user:void 0};!r;){if(o=yield this.config.basicLoginProvider(o.username,o.password),o.cancel){console.debug("Basic authentication cancelled by user");break}if(!o.username||!o.password)continue;this._basicIdentity.token=btoa(o.username+":"+o.password);let e=!1;try{const t=yield bt.api.UserResource.getCurrent();200===t.status&&(e=!0,this._basicIdentity.user=t.data),e||401!==t.status&&403!==t.status||console.debug("Basic authentication invalid credentials, trying again")}catch(e){console.error("Basic auth failed: ",e)}if(!e){console.debug("Unknown response so aborting"),this._basicIdentity=void 0;break}{console.debug("Basic authentication successful"),r=!0;const e=yield bt.api.UserResource.getCurrentUserClientRoles(this.clientId);this._basicIdentity.roles=e.data}}r&&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+"/",e}getAppName(){const 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){const n=this.roles;return n&&n.has(t)&&n.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(){var e,t,n,i;return nn(this,void 0,void 0,(function*(){try{this._keycloak=new $t({clientId:this._config.clientId,realm:this._config.realm,url:this._config.keycloakUrl});const o=yield this._getNativeOfflineRefreshToken();let 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?void 0:e.name,this._username=null===(t=this._keycloak.tokenParsed)||void 0===t?void 0:t.preferred_username,this._createTokenUpdateInterval(),this.isMobile()&&"Offline"===(null===(i=null===(n=this._keycloak)||void 0===n?void 0:n.refreshTokenParsed)||void 0===i?void 0:i.typ)&&(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(en.AUTH_FAILED),console.error("Failed to initialise Keycloak: "+e),!1}}))}_createTokenUpdateInterval(){this._keycloakUpdateTokenInterval||(this._keycloakUpdateTokenInterval=window.setInterval((()=>nn(this,void 0,void 0,(function*(){yield this._updateKeycloakAccessToken().catch((()=>{console.debug("Keycloak failed to refresh the access token"),this._onDisconnect()}))}))),1e4))}_updateKeycloakAccessToken(){return nn(this,void 0,void 0,(function*(){const e=yield this._keycloak.updateToken(20);return console.debug("Access token update success, refreshed from server: "+e),e&&this._onAuthenticated(),e}))}_getNativeOfflineRefreshToken(){return nn(this,void 0,void 0,(function*(){if(this.isMobile())return yield this.console.retrieveData("REFRESH_TOKEN")}))}_emitEvent(e){window.setTimeout((()=>{const t=this._listeners;for(const n of t)n(e)}),0)}_setError(e){this._error=e,this._emitEvent(tn.ERROR),console.warn("Error set: "+e)}_clearWebHistory(){var e;null===(e=this.console)||void 0===e||e._doSendGenericMessage("CLEAR_WEB_HISTORY",void 0)}_onDisconnect(){return nn(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(tn.OFFLINE),this.reconnect())}))}_onReconnected(){console.debug("Reconnected"),this._disconnected=!1,this._createTokenUpdateInterval(),this._emitEvent(tn.ONLINE)}reconnect(e=3e3){return nn(this,void 0,void 0,(function*(){if(!this._disconnected)return;this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=void 0);const t=yield(()=>nn(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(e){const t=yield this._getNativeOfflineRefreshToken();this._keycloak.refreshToken=t;try{yield this._updateKeycloakAccessToken()}catch(e){return console.debug("Cannot update access token so sending to login"),void this.login()}return console.debug("Keycloak access token is valid"),!0}const t=this.events&&this.events.status===_t.CONNECTING;return console.debug("If event provider offline then attempting reconnect: offline="+t),!t||(yield null===(e=this.events)||void 0===e?void 0:e.connect())})))();return void 0!==t?t?void this._onReconnected():(e=Math.min(on.MAX_RECONNECT_DELAY,e+3e3),console.debug("Scheduling another reconnect attempt in (ms): "+e),void(this._reconnectTimer=window.setTimeout((()=>this.reconnect(e)),e))):void 0}))}isKeycloakReachable(e=2e3){return nn(this,void 0,void 0,(function*(){const t=new AbortController,n=setTimeout((()=>t.abort()),e);try{const e=this._keycloak.endpoints.token();return 200===(yield fetch(e,{method:"OPTIONS",signal:t.signal})).status}catch(e){return!1}finally{clearTimeout(n)}}))}}on.MAX_RECONNECT_DELAY=45e3;const rn=new on,an=rn},8416:(e,t,n)=>{"use strict";var i,o,r,a,s,c,d,l,m,u,f,p,h,b,_,g,y,v,F,k,w,E,x,A,T,L,M,C,D,S,O,I,Y,R,P,N,B,H,j,U,z,W,$,q,V,G,K,X,J,Q,Z,ee,te,ne,ie,oe,re,ae,se,ce,de,le,me,ue;n.d(t,{S8:()=>fe}),(o=i||(i={})).CREATE="CREATE",o.UPDATE="UPDATE",o.DELETE="DELETE",function(e){e.LOW="LOW",e.MEDIUM="MEDIUM",e.HIGH="HIGH"}(r||(r={})),function(e){e.MANUAL="MANUAL",e.CLIENT="CLIENT",e.GLOBAL_RULESET="GLOBAL_RULESET",e.REALM_RULESET="REALM_RULESET",e.ASSET_RULESET="ASSET_RULESET",e.AGENT="AGENT"}(a||(a={})),function(e){e.OPEN="OPEN",e.ACKNOWLEDGED="ACKNOWLEDGED",e.IN_PROGRESS="IN_PROGRESS",e.RESOLVED="RESOLVED",e.CLOSED="CLOSED"}(s||(s={})),function(e){e.BOTTOM_LEFT="BOTTOM_LEFT",e.BOTTOM_RIGHT="BOTTOM_RIGHT",e.TOP_LEFT="TOP_LEFT",e.TOP_RIGHT="TOP_RIGHT"}(c||(c={})),function(e){e.CREATE="CREATE",e.READ="READ",e.UPDATE="UPDATE",e.DELETE="DELETE"}(d||(d={})),function(e){e.NONE="NONE",e.FORECAST="FORECAST",e.SETPOINT="SETPOINT"}(l||(l={})),function(e){e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.DISCONNECTING="DISCONNECTING",e.CONNECTED="CONNECTED",e.DISABLED="DISABLED",e.WAITING="WAITING",e.ERROR="ERROR",e.STOPPED="STOPPED"}(m||(m={})),function(e){e.EV="EV",e.PHEV="PHEV"}(u||(u={})),function(e){e.YAZAKI="YAZAKI",e.MENNEKES="MENNEKES",e.LE_GRAND="LE_GRAND",e.CHADEMO="CHADEMO",e.COMBO="COMBO",e.SCHUKO="SCHUKO",e.ENERGYLOCK="ENERGYLOCK"}(f||(f={})),function(e){e.SOUTH="SOUTH",e.EAST_WEST="EAST_WEST"}(p||(p={})),function(e){e.REQUEST_START="REQUEST_START",e.REQUEST_REPEATING="REQUEST_REPEATING",e.REQUEST_CANCEL="REQUEST_CANCEL",e.READY="READY",e.COMPLETED="COMPLETED",e.RUNNING="RUNNING",e.CANCELLED="CANCELLED"}(h||(h={})),function(e){e.TOGGLE="TOGGLE",e.INCREMENT="INCREMENT",e.DECREMENT="DECREMENT",e.NEGATE="NEGATE"}(b||(b={})),function(e){e.ASSET_NOT_FOUND="ASSET_NOT_FOUND",e.ATTRIBUTE_NOT_FOUND="ATTRIBUTE_NOT_FOUND",e.INSUFFICIENT_ACCESS="INSUFFICIENT_ACCESS",e.INVALID_VALUE="INVALID_VALUE",e.INTERCEPTOR_FAILURE="INTERCEPTOR_FAILURE",e.STATE_STORAGE_FAILED="STATE_STORAGE_FAILED",e.CANNOT_PROCESS="CANNOT_PROCESS",e.QUEUE_FULL="QUEUE_FULL",e.UNKNOWN="UNKNOWN",e.ASSET_ID_MISSING="ASSET_ID_MISSING",e.ATTRIBUTE_NAME_MISSING="ATTRIBUTE_NAME_MISSING"}(_||(_={})),function(e){e.PUBLIC="PUBLIC",e.SHARED="SHARED",e.PRIVATE="PRIVATE"}(g||(g={})),function(e){e.OFF="OFF",e.ONE_MIN="ONE_MIN",e.FIVE_MIN="FIVE_MIN",e.QUARTER="QUARTER",e.ONE_HOUR="ONE_HOUR"}(y||(y={})),function(e){e.WRAP_TO_SINGLE_COLUMN="WRAP_TO_SINGLE_COLUMN",e.KEEP_LAYOUT="KEEP_LAYOUT",e.REDIRECT="REDIRECT",e.BLOCK_DEVICE="BLOCK_DEVICE"}(v||(v={})),function(e){e.MINUTE="MINUTE",e.HOUR="HOUR",e.DAY="DAY",e.WEEK="WEEK",e.MONTH="MONTH",e.YEAR="YEAR"}(F||(F={})),function(e){e.MIN="MIN",e.AVG="AVG",e.MAX="MAX"}(k||(k={})),function(e){e.TERMINATING="TERMINATING",e.DISABLED="DISABLED",e.ALREADY_CONNECTED="ALREADY_CONNECTED",e.UNRECOGNISED="UNRECOGNISED",e.PERMANENT_ERROR="PERMANENT_ERROR",e.SYNC_ERROR="SYNC_ERROR"}(w||(w={})),function(e){e.HTTPS="HTTPS",e.HTTP="HTTP",e.TCP="TCP"}(E||(E={})),function(e){e.GET="GET",e.POST="POST",e.PUT="PUT",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.PATCH="PATCH"}(x||(x={})),function(e){e.KEYCLOAK="KEYCLOAK",e.BASIC="BASIC",e.NONE="NONE"}(A||(A={})),function(e){e.WEBSOCKET="WEBSOCKET",e.POLLING="POLLING"}(T||(T={})),function(e){e.VECTOR="VECTOR",e.RASTER="RASTER"}(L||(L={})),function(e){e.INTERNAL="INTERNAL",e.CLIENT="CLIENT",e.GLOBAL_RULESET="GLOBAL_RULESET",e.REALM_RULESET="REALM_RULESET",e.ASSET_RULESET="ASSET_RULESET"}(M||(M={})),function(e){e.REALM="REALM",e.USER="USER",e.ASSET="ASSET",e.CUSTOM="CUSTOM"}(C||(C={})),function(e){e.NORMAL="NORMAL",e.HIGH="HIGH"}(D||(D={})),function(e){e.DEVICE="DEVICE",e.TOPIC="TOPIC",e.CONDITION="CONDITION"}(S||(S={})),function(e){e.ALWAYS="ALWAYS",e.ONCE="ONCE",e.HOURLY="HOURLY",e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.ANNUALLY="ANNUALLY"}(O||(O={})),function(e){e.MESSAGE_INVALID="MESSAGE_INVALID",e.CERTIFICATE_INVALID="CERTIFICATE_INVALID",e.UNAUTHORIZED="UNAUTHORIZED",e.FORBIDDEN="FORBIDDEN",e.UNIQUE_ID_MISMATCH="UNIQUE_ID_MISMATCH",e.CONFIG_DISABLED="CONFIG_DISABLED",e.USER_DISABLED="USER_DISABLED",e.SERVER_ERROR="SERVER_ERROR",e.ASSET_ERROR="ASSET_ERROR",e.SERVER_BUSY="SERVER_BUSY"}(I||(I={})),function(e){e.PRIVATE="PRIVATE",e.PROTECTED="PROTECTED",e.PUBLIC="PUBLIC"}(Y||(Y={})),function(e){e.EXACT="EXACT",e.BEGIN="BEGIN",e.END="END",e.CONTAINS="CONTAINS"}(R||(R={})),function(e){e.EQUALS="EQUALS",e.GREATER_THAN="GREATER_THAN",e.GREATER_EQUALS="GREATER_EQUALS",e.LESS_THAN="LESS_THAN",e.LESS_EQUALS="LESS_EQUALS",e.BETWEEN="BETWEEN"}(P||(P={})),function(e){e.CREATED_ON="CREATED_ON",e.NAME="NAME",e.ASSET_TYPE="ASSET_TYPE",e.PARENT_ID="PARENT_ID",e.REALM="REALM"}(N||(N={})),function(e){e.RESTRICTED="RESTRICTED",e.LINKED="LINKED",e.REALM="REALM"}(B||(B={})),function(e){e.AT_LEAST_ONE="AT_LEAST_ONE",e.ALL="ALL",e.NONE="NONE"}(H||(H={})),function(e){e.AND="AND",e.OR="OR"}(j||(j={})),function(e){e.CREATED_ON="CREATED_ON",e.FIRST_NAME="FIRST_NAME",e.LAST_NAME="LAST_NAME",e.USERNAME="USERNAME",e.EMAIL="EMAIL"}(U||(U={})),function(e){e.STOPPED="STOPPED",e.RUNNING="RUNNING",e.ERROR="ERROR"}(z||(z={})),function(e){e.JAVASCRIPT="JAVASCRIPT",e.GROOVY="GROOVY",e.JSON="JSON",e.FLOW="FLOW"}(W||(W={})),function(e){e.READY="READY",e.DEPLOYED="DEPLOYED",e.COMPILATION_ERROR="COMPILATION_ERROR",e.VALIDITY_PERIOD_ERROR="VALIDITY_PERIOD_ERROR",e.EXECUTION_ERROR="EXECUTION_ERROR",e.LOOP_ERROR="LOOP_ERROR",e.DISABLED="DISABLED",e.PAUSED="PAUSED",e.EXPIRED="EXPIRED",e.REMOVED="REMOVED",e.EMPTY="EMPTY"}($||($={})),function(e){e.SUNRISE="SUNRISE",e.SUNSET="SUNSET",e.TWILIGHT_MORNING_VISUAL="TWILIGHT_MORNING_VISUAL",e.TWILIGHT_MORNING_VISUAL_LOWER="TWILIGHT_MORNING_VISUAL_LOWER",e.TWILIGHT_MORNING_HORIZON="TWILIGHT_MORNING_HORIZON",e.TWILIGHT_MORNING_CIVIL="TWILIGHT_MORNING_CIVIL",e.TWILIGHT_MORNING_NAUTICAL="TWILIGHT_MORNING_NAUTICAL",e.TWILIGHT_MORNING_ASTRONOMICAL="TWILIGHT_MORNING_ASTRONOMICAL",e.TWILIGHT_MORNING_GOLDEN_HOUR="TWILIGHT_MORNING_GOLDEN_HOUR",e.TWILIGHT_MORNING_BLUE_HOUR="TWILIGHT_MORNING_BLUE_HOUR",e.TWILIGHT_MORNING_NIGHT_HOUR="TWILIGHT_MORNING_NIGHT_HOUR",e.TWILIGHT_EVENING_VISUAL="TWILIGHT_EVENING_VISUAL",e.TWILIGHT_EVENING_VISUAL_LOWER="TWILIGHT_EVENING_VISUAL_LOWER",e.TWILIGHT_EVENING_HORIZON="TWILIGHT_EVENING_HORIZON",e.TWILIGHT_EVENING_CIVIL="TWILIGHT_EVENING_CIVIL",e.TWILIGHT_EVENING_NAUTICAL="TWILIGHT_EVENING_NAUTICAL",e.TWILIGHT_EVENING_ASTRONOMICAL="TWILIGHT_EVENING_ASTRONOMICAL",e.TWILIGHT_EVENING_GOLDEN_HOUR="TWILIGHT_EVENING_GOLDEN_HOUR",e.TWILIGHT_EVENING_BLUE_HOUR="TWILIGHT_EVENING_BLUE_HOUR",e.TWILIGHT_EVENING_NIGHT_HOUR="TWILIGHT_EVENING_NIGHT_HOUR"}(q||(q={})),function(e){e.NUMBER="NUMBER",e.NUMBER_ARRAY="NUMBER_ARRAY",e.STRING="STRING",e.BOOLEAN="BOOLEAN",e.TRIGGER="TRIGGER",e.COLOR="COLOR",e.ANY="ANY"}(V||(V={})),function(e){e.NEW_LINE="NEW_LINE",e.SPACER="SPACER"}(G||(G={})),function(e){e.INPUT="INPUT",e.PROCESSOR="PROCESSOR",e.OUTPUT="OUTPUT",e.THEN="THEN"}(K||(K={})),function(e){e.TEXT="TEXT",e.MULTILINE="MULTILINE",e.NUMBER="NUMBER",e.DROPDOWN="DROPDOWN",e.DOUBLE_DROPDOWN="DOUBLE_DROPDOWN",e.CHECKBOX="CHECKBOX",e.ASSET_ATTRIBUTE="ASSET_ATTRIBUTE",e.COLOR="COLOR",e.DATE="DATE"}(X||(X={})),function(e){e.ADD="ADD",e.ADD_OR_REPLACE="ADD_OR_REPLACE",e.REPLACE="REPLACE",e.DELETE="DELETE",e.CLEAR="CLEAR"}(J||(J={})),function(e){e.PER_ASSET="PER_ASSET",e.GLOBAL="GLOBAL"}(Q||(Q={})),function(e){e.READ_ADMIN="read:admin",e.READ_LOGS="read:logs",e.READ_USERS="read:users",e.READ_MAP="read:map",e.READ_ASSETS="read:assets",e.READ_RULES="read:rules",e.READ_INSIGHTS="read:insights",e.READ_ALARMS="read:alarms",e.WRITE_USER="write:user",e.WRITE_ADMIN="write:admin",e.WRITE_LOGS="write:logs",e.WRITE_ASSETS="write:assets",e.WRITE_ATTRIBUTES="write:attributes",e.WRITE_RULES="write:rules",e.WRITE_INSIGHTS="write:insights",e.WRITE_ALARMS="write:alarms",e.READ="read",e.WRITE="write"}(Z||(Z={})),function(e){e.ASSET="ASSET",e.AGENT="AGENT",e.NOTIFICATION="NOTIFICATION",e.ALARM="ALARM",e.RULES="RULES",e.PROTOCOL="PROTOCOL",e.GATEWAY="GATEWAY",e.MODEL_AND_VALUES="MODEL_AND_VALUES",e.API="API",e.DATA="DATA"}(ee||(ee={})),function(e){e.INFO="INFO",e.WARN="WARN",e.ERROR="ERROR"}(te||(te={})),function(e){e.NUMERIC="numeric",e.DIGIT_2="2-digit",e.FULL="full",e.LONG="long",e.MEDIUM="medium",e.SHORT="short",e.NARROW="narrow"}(ne||(ne={})),function(e){e.SECONDLY="SECONDLY",e.MINUTELY="MINUTELY",e.HOURLY="HOURLY",e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.YEARLY="YEARLY"}(ie||(ie={})),function(e){e.OMIT="OMIT",e.BACKWARD="BACKWARD",e.FORWARD="FORWARD"}(oe||(oe={})),function(e){e.JAPANESE="JAPANESE",e.BUDDHIST="BUDDHIST",e.ROC="ROC",e.ISLAMIC="ISLAMIC",e.ISO8601="ISO8601",e.CHINESE="CHINESE",e.ETHIOPIC="ETHIOPIC",e.HEBREW="HEBREW",e.GREGORIAN="GREGORIAN"}(re||(re={})),function(e){e.SU="SU",e.MO="MO",e.TU="TU",e.WE="WE",e.TH="TH",e.FR="FR",e.SA="SA"}(ae||(ae={})),function(e){e.PEOPLECOUNTERASSET="PeopleCounterAsset",e.STORAGESIMULATORAGENT="StorageSimulatorAgent",e.CITYASSET="CityAsset",e.ELECTRICITYCONSUMERASSET="ElectricityConsumerAsset",e.ELECTRICVEHICLEASSET="ElectricVehicleAsset",e.CONSOLEASSET="ConsoleAsset",e.PRESENCESENSORASSET="PresenceSensorAsset",e.LIGHTASSET="LightAsset",e.PLUGASSET="PlugAsset",e.ELECTRICITYCHARGERASSET="ElectricityChargerAsset",e.ELECTRICITYBATTERYASSET="ElectricityBatteryAsset",e.ELECTRICITYSUPPLIERASSET="ElectricitySupplierAsset",e.TCPAGENT="TCPAgent",e.SERIALAGENT="SerialAgent",e.BLUETOOTHMESHAGENT="BluetoothMeshAgent",e.SNMPAGENT="SNMPAgent",e.GROUPASSET="GroupAsset",e.BUILDINGASSET="BuildingAsset",e.ELECTRICITYPRODUCERWINDASSET="ElectricityProducerWindAsset",e.ENVIRONMENTSENSORASSET="EnvironmentSensorAsset",e.MQTTAGENT="MQTTAgent",e.MICROPHONEASSET="MicrophoneAsset",e.MODBUSTCPAGENT="ModbusTcpAgent",e.HTTPAGENT="HTTPAgent",e.DOORASSET="DoorAsset",e.ELECTRICITYPRODUCERASSET="ElectricityProducerAsset",e.MAILAGENT="MailAgent",e.UDPAGENT="UDPAgent",e.ROOMASSET="RoomAsset",e.VENTILATIONASSET="VentilationAsset",e.TRADFRILIGHTASSET="TradfriLightAsset",e.KNXAGENT="KNXAgent",e.WEATHERASSET="WeatherAsset",e.THINGASSET="ThingAsset",e.WEBSOCKETAGENT="WebsocketAgent",e.GATEWAYASSET="GatewayAsset",e.PARKINGASSET="ParkingAsset",e.TRADFRIPLUGASSET="TradfriPlugAsset",e.SIMULATORAGENT="SimulatorAgent",e.MODBUSSERIALAGENT="ModbusSerialAgent",e.ELECTRICVEHICLEFLEETGROUPASSET="ElectricVehicleFleetGroupAsset",e.VELBUSTCPAGENT="VelbusTCPAgent",e.ARTNETLIGHTASSET="ArtnetLightAsset",e.VELBUSSERIALAGENT="VelbusSerialAgent",e.GROUNDWATERSENSORASSET="GroundwaterSensorAsset",e.ELECTRICITYPRODUCERSOLARASSET="ElectricityProducerSolarAsset",e.ENERGYOPTIMISATIONASSET="EnergyOptimisationAsset",e.ZWAVEAGENT="ZWaveAgent",e.THERMOSTATASSET="ThermostatAsset",e.SHIPASSET="ShipAsset"}(se||(se={})),function(e){e.SUPPORTSEXPORT="supportsExport",e.ENERGYSELFCONSUMPTION="energySelfConsumption",e.LASTACCESS="lastAccess",e.CHARGERID="chargerID",e.POSITION="position",e.CARBONSAVING="carbonSaving",e.ROUTINGMODE="routingMode",e.LASTWILLRETAIN="lastWillRetain",e.LASTWILLTOPIC="lastWillTopic",e.SERIALBAUDRATE="serialBaudrate",e.BASEURL="baseURL",e.REQUIREDVALUES="requiredValues",e.FINANCIALSAVING="financialSaving",e.FLEETCATEGORY="fleetCategory",e.GATEWAYSTATUS="gatewayStatus",e.NO2LEVEL="NO2Level",e.TAGS="tags",e.UNLOCK="unlock",e.MILEAGEMIN="mileageMin",e.CHECKINTERVALSECONDS="checkIntervalSeconds",e.LOCATION="location",e.CLIENTSECRET="clientSecret",e.WINDDIRECTION="windDirection",e.WINDSPEED="windSpeed",e.PARTICLESPM10="particlesPM10",e.APPLICATIONKEY="applicationKey",e.POWEREXPORTMAX="powerExportMax",e.SETWINDACTUALVALUEWITHFORECAST="setWindActualValueWithForecast",e.WATERLEVEL="waterLevel",e.CONSOLENAME="consoleName",e.CONNECTHEADERS="connectHeaders",e.WEBSOCKETQUERY="websocketQuery",e.PREFERHTML="preferHTML",e.COOLING="cooling",e.POLLINGMILLIS="pollingMillis",e.SOILTEMPERATURE="soilTemperature",e.SUNIRRADIANCE="sunIrradiance",e.ODOMETER="odometer",e.SUPPORTSIMPORT="supportsImport",e.MESSAGEMAXLENGTH="messageMaxLength",e.ENERGYLEVELPERCENTAGEMIN="energyLevelPercentageMin",e.LIGHTID="lightId",e.POWER="power",e.STREET="street",e.DELETEPROCESSEDMAIL="deleteProcessedMail",e.WINDSPEEDMIN="windSpeedMin",e.POWERSETPOINT="powerSetpoint",e.PRESENCE="presence",e.SPACESOCCUPIED="spacesOccupied",e.STARTTLS="startTLS",e.AGENTSTATUS="agentStatus",e.MESSAGECHARSET="messageCharset",e.CERTIFICATEALIAS="certificateAlias",e.PANELPITCH="panelPitch",e.EMAIL="email",e.BINDPORT="bindPort",e.PARTICLESPM1="particlesPM1",e.SPEED="speed",e.ENERGYLEVELPERCENTAGEMAX="energyLevelPercentageMax",e.MESSAGESTRIPDELIMITER="messageStripDelimiter",e.AREA="area",e.COUNTRY="country",e.SHIPTYPE="shipType",e.CONNECTSUBSCRIPTIONS="connectSubscriptions",e.RELATIVEHUMIDITY="relativeHumidity",e.INCLUDEFORECASTWINDSERVICE="includeForecastWindService",e.SOURCEADDRESS="sourceAddress",e.RAINFALL="rainfall",e.ENERGYIMPORTTOTAL="energyImportTotal",e.OAUTHGRANT="oAuthGrant",e.OZONELEVEL="ozoneLevel",e.COUNTINMINUTE="countInMinute",e.PORT="port",e.TUNNELINGSUPPORTED="tunnelingSupported",e.ENINUMBER="ENINumber",e.AGENTDISABLED="agentDisabled",e.DISABLED="disabled",e.FORCECHARGE="forceCharge",e.TIMEINJECTIONINTERVAL="timeInjectionInterval",e.FINANCIALWEIGHTING="financialWeighting",e.ENERGYLEVELPERCENTAGE="energyLevelPercentage",e.SPACESBUFFER="spacesBuffer",e.VEHICLECATEGORY="vehicleCategory",e.FANSPEED="fanSpeed",e.FINANCIALCOST="financialCost",e.NOTES="notes",e.MAILFOLDERNAME="mailFolderName",e.TEMPERATURE="temperature",e.AVAILABLECHARGINGSPACES="availableChargingSpaces",e.ENERGYCAPACITY="energyCapacity",e.POWERIMPORTMIN="powerImportMin",e.INTERVALSIZE="intervalSize",e.SNMPVERSIONVALUE="SNMPVersionValue",e.SOUNDLEVEL="soundLevel",e.UNITID="unitId",e.STOPBITS="stopBits",e.CONNECTURL="connectURL",e.CLIENTID="clientId",e.VEHICLEID="vehicleID",e.SUNAZIMUTH="sunAzimuth",e.AVAILABLEDISCHARGINGSPACES="availableDischargingSpaces",e.WEBSOCKETMODE="websocketMode",e.COLOURTEMPERATURE="colourTemperature",e.VEHICLECONNECTED="vehicleConnected",e.DATABITS="dataBits",e.MILEAGEMINIMUM="mileageMinimum",e.COLOURRGB="colourRGB",e.CARBONIMPORT="carbonImport",e.PRICEHOURLY="priceHourly",e.WINDSPEEDMAX="windSpeedMax",e.PINGDISABLED="pingDisabled",e.FLOW="flow",e.CHILDASSETTYPE="childAssetType",e.NETWORKKEY="networkKey",e.UNIVERSE="universe",e.MSSINUMBER="MSSINumber",e.SUBSCRIBEQOS="subscribeQos",e.LEDCOUNT="lEDCount",e.LOCKED="locked",e.PROTOCOL="protocol",e.TARIFFIMPORT="tariffImport",e.ENERGYRENEWABLESHARE="energyRenewableShare",e.REGION="region",e.CONSOLEPLATFORM="consolePlatform",e.POWEREXPORTMIN="powerExportMin",e.EFFICIENCYEXPORT="efficiencyExport",e.CHARGECYCLES="chargeCycles",e.SERIALPORT="serialPort",e.PANELORIENTATION="panelOrientation",e.LENGTH="length",e.USERNAMEPASSWORD="usernamePassword",e.POWERFORECAST="powerForecast",e.SETACTUALSOLARVALUEWITHFORECAST="setActualSolarValueWithForecast",e.REQUESTQUERYPARAMETERS="requestQueryParameters",e.PROXYADDRESS="proxyAddress",e.ENERGYLOCAL="energyLocal",e.ENERGYAUTARKY="energyAutarky",e.MODEL="model",e.MANUFACTURER="manufacturer",e.ONOFF="onOff",e.RESUMESESSION="resumeSession",e.TARIFFEXPORT="tariffExport",e.CITY="city",e.CONNECTORTYPE="connectorType",e.ENERGYEXPORTTOTAL="energyExportTotal",e.CARBONEXPORT="carbonExport",e.REQUESTTIMEOUTMILLIS="requestTimeoutMillis",e.ENERGYLEVEL="energyLevel",e.OPTIMISATIONDISABLED="optimisationDisabled",e.WEBSOCKETPATH="websocketPath",e.WINDSPEEDREFERENCE="windSpeedReference",e.PRICEDAILY="priceDaily",e.COUNTGROWTHMINUTE="countGrowthMinute",e.IMONUMBER="IMONumber",e.INCLUDEFORECASTSOLARSERVICE="includeForecastSolarService",e.REQUESTHEADERS="requestHeaders",e.HOST="host",e.COUNTOUTMINUTE="countOutMinute",e.ENERGYTYPE="energyType",e.CONSOLEVERSION="consoleVersion",e.MTU="mtu",e.PANELAZIMUTH="panelAzimuth",e.SEQUENCENUMBER="sequenceNumber",e.SUNALTITUDE="sunAltitude",e.COUNTOUT="countOut",e.CHARGERCONNECTED="chargerConnected",e.ROOMNUMBER="roomNumber",e.PARTICLESPM2_5="particlesPM2_5",e.MESSAGESOURCEADDRESS="messageSourceAddress",e.COUNTIN="countIn",e.MILEAGECHARGED="mileageCharged",e.TEMPERATURESETPOINT="temperatureSetpoint",e.CONSOLEPROVIDERS="consoleProviders",e.POWERIMPORTMAX="powerImportMax",e.COUNTTOTAL="countTotal",e.SPACESTOTAL="spacesTotal",e.BINDHOST="bindHost",e.MESSAGECONVERTBINARY="messageConvertBinary",e.MESSAGEDELIMITERS="messageDelimiters",e.EFFICIENCYIMPORT="efficiencyImport",e.SUNZENITH="sunZenith",e.BRIGHTNESS="brightness",e.POSTALCODE="postalCode",e.SPACESOPEN="spacesOpen",e.HUMIDITY="humidity",e.SECUREMODE="secureMode",e.MILEAGECAPACITY="mileageCapacity",e.DIRECTION="direction",e.ENERGYLEVELSCHEDULE="energyLevelSchedule",e.UVINDEX="uVIndex",e.NATMODE="NATMode",e.UPDATEONWRITE="updateOnWrite",e.LASTWILLPAYLOAD="lastWillPayload",e.GROUPID="groupId",e.FOLLOWREDIRECTS="followRedirects",e.CARBONCOST="carbonCost",e.MESSAGECONVERTHEX="messageConvertHex",e.PUBLISHQOS="publishQos"}(ce||(ce={})),function(e){e.FORMAT="format",e.RULESTATE="ruleState",e.HASPREDICTEDDATAPOINTS="hasPredictedDataPoints",e.STOREDATAPOINTS="storeDataPoints",e.LABEL="label",e.CONSTRAINTS="constraints",e.SHOWONDASHBOARD="showOnDashboard",e.READONLY="readOnly",e.MULTILINE="multiline",e.ACCESSPUBLICWRITE="accessPublicWrite",e.MOMENTARY="momentary",e.AGENTLINK="agentLink",e.ACCESSRESTRICTEDREAD="accessRestrictedRead",e.DATAPOINTSMAXAGEDAYS="dataPointsMaxAgeDays",e.ACCESSRESTRICTEDWRITE="accessRestrictedWrite",e.SECRET="secret",e.ATTRIBUTELINKS="attributeLinks",e.RULERESETIMMEDIATE="ruleResetImmediate",e.FORECAST="forecast",e.UNITS="units",e.USERCONNECTED="userConnected",e.ACCESSPUBLICREAD="accessPublicRead"}(de||(de={})),function(e){e.WSURL="WS_URL",e.POSITIVENUMBER="positiveNumber",e.VALUEDESCRIPTOR="valueDescriptor",e.LONG="long",e.BOOLEANMAP="booleanMap",e.MQTTQOS="MQTTQos",e.GEOJSONPOINT="GEO_JSONPoint",e.SNMPVERSION="SNMPVersion",e.ASSETTYPE="assetType",e.JSONOBJECT="JSONObject",e.BIGNUMBER="bigNumber",e.IPADDRESS="IPAddress",e.EMAIL="email",e.KNXMESSAGESOURCEADDRESS="kNXMessageSourceAddress",e.ATTRIBUTEREFERENCE="attributeReference",e.INTEGER="integer",e.OAUTHGRANT="oAuthGrant",e.NUMBER="number",e.TEXTMAP="textMap",e.WEBSOCKETSUBSCRIPTION="websocketSubscription",e.BOOLEAN="boolean",e.TIMEANDPERIODDURATIONISO8601="timeAndPeriodDurationISO8601",e.TIMESTAMPISO8601="timestampISO8601",e.MULTIVALUEDTEXTMAP="multivaluedTextMap",e.JSON="JSON",e.INTEGERBYTE="integerByte",e.AGENTLINK="agentLink",e.CALENDAREVENT="calendarEvent",e.CONNECTIONSTATUS="connectionStatus",e.VALUECONSTRAINT="valueConstraint",e.ASSETQUERY="assetQuery",e.COLOURRGB="colourRGB",e.VALUEFORMAT="valueFormat",e.TEXT="text",e.BYTE="byte",e.USERNAMEANDPASSWORD="usernameAndPassword",e.HTTPURL="HTTP_URL",e.ATTRIBUTELINK="attributeLink",e.ASSETID="assetID",e.NUMBERMAP="numberMap",e.HTTPMETHOD="HTTPMethod",e.PANELORIENTATION="panelOrientation",e.ATTRIBUTESTATE="attributeState",e.POSITIVEINTEGER="positiveInteger",e.EXECUTIONSTATUS="executionStatus",e.BIGINTEGER="bigInteger",e.PERIODDURATIONISO8601="periodDurationISO8601",e.DATEANDTIME="dateAndTime",e.CONNECTORTYPE="connectorType",e.NEGATIVEINTEGER="negativeInteger",e.TCPIPPORTNUMBER="TCP_IPPortNumber",e.INTEGERMAP="integerMap",e.ENERGYTYPE="energyType",e.TIMESTAMP="timestamp",e.UUID="UUID",e.FORECASTCONFIGURATION="forecastConfiguration",e.TIMEDURATIONISO8601="timeDurationISO8601",e.CONSOLEPROVIDERS="consoleProviders",e.NEGATIVENUMBER="negativeNumber",e.CRONEXPRESSION="CRONExpression",e.DIRECTION="direction",e.HOSTORIPADDRESS="hostOrIPAddress"}(le||(le={})),function(e){e.MONTH="month",e.MILE_SCANDINAVIAN="mile_scandinavian",e.YEAR="year",e.VOLT="volt",e.HERTZ="hertz",e.MILE="mile",e.BTU="btu",e.FOOT="foot",e.MEGA="mega",e.INCH="inch",e.IN_HG="inch_mercury",e.CENTI="centi",e.GRAM="gram",e.KNOT="knot",e.METRE="metre",e.LITRE="litre",e.FLUID_OUNCE="fluid_ounce",e.CELSIUS="celsius",e.DECIBEL="decibel",e.FAHRENHEIT="fahrenheit",e.WATT="watt",e.PEAK="peak",e.MICRO="micro",e.PER="per",e.STONE="stone",e.VAR="var",e.OUNCE="ounce",e.HECTARE="hectare",e.YARD="yard",e.JOULE="joule",e.DEGREE="degree",e.KILO="kilo",e.KELVIN="kelvin",e.CARBON="carbon",e.DECIBEL_ATTENUATED="decibel_attenuated",e.SQUARED="squared",e.PERCENTAGE="percentage",e.CUBED="cubed",e.DAY="day",e.RADIAN="radian",e.OHM="ohm",e.MINUTE="minute",e.PART_PER_MILLION="ppm",e.AMP="amp",e.MASS_POUND="pound",e.HOUR="hour",e.ACRE="acre",e.RPM="rpm",e.PASCAL="pascal",e.LUMEN="lumen",e.WEEK="week",e.GALLON="gallon",e.LUX="lux",e.MILLI="milli",e.BAR="bar",e.HECTO="hecto",e.SECOND="second"}(me||(me={})),ue||(ue={});class fe{static getAssetDescriptors(){return fe._assetTypeInfos.map((e=>e.assetDescriptor))}static getMetaItemDescriptors(){return[...this._metaItemDescriptors]}static getValueDescriptors(){return[...this._valueDescriptors]}static getAssetTypeInfos(){return[...this._assetTypeInfos]}static getAssetTypeInfo(e){if(e)return e.assetDescriptor?e:("string"!=typeof e&&(e=e.name),this._assetTypeInfos.find((t=>t.assetDescriptor.name===e)))}static getAssetDescriptor(e){if(!e)return;if(e.assetDescriptor)return e.assetDescriptor;if("string"!=typeof e)return e;const t=this._assetTypeInfos.find((t=>t.assetDescriptor.name===e));return t?t.assetDescriptor:void 0}static getAttributeDescriptor(e,t){if(!e)return;const n=this.getAssetTypeInfo(t||"ThingAsset");return n&&n.attributeDescriptors?n.attributeDescriptors.find((t=>t.name===e)):void 0}static getValueDescriptor(e){if(!e)return;let t;if(e.endsWith("[]"))for(t=0;e.endsWith("[]");)e=e.substring(0,e.length-2),t++;let n=this._valueDescriptors.find((t=>t.name===e));return n&&t&&(n=Object.assign(Object.assign({},n),{arrayDimensions:t})),n}static resolveValueDescriptor(e,t){let n;return t&&("string"==typeof t&&(n=fe.getValueDescriptor(t)),n=t.jsonType?t:fe.getValueDescriptor(t.type)),!n&&e&&(n=fe.getValueDescriptor("JSON")),n}static resolveValueTypeFromValue(e){if(null!=e){if("number"==typeof e)return"number";if("string"==typeof e)return"text";if("boolean"==typeof e)return"boolean";if(Array.isArray(e)){let t=1,n=e.find((e=>null!=e));for(;Array.isArray(n);)n=n.find((e=>null!=e)),t++;let i=this.resolveValueTypeFromValue(n);if(!i)return;for(;t>0;)i+="[]",t--;return i}return e instanceof Date?"dateAndTime":void 0}}static getAttributeAndValueDescriptors(e,t,n){let i,o;if(t&&"string"!=typeof t)i=t;else{const o=this.getAssetTypeInfo(e||"ThingAsset");if(!o)return[void 0,void 0];"string"==typeof t&&(i=this.getAttributeDescriptor(t,o)),!i&&n&&(i={type:n.type,name:n.name,meta:n.meta})}return i&&(o=this.getValueDescriptor(i.type)),[i,o]}static getMetaItemDescriptor(e){if(e)return this._metaItemDescriptors.find((t=>t.name===e))}static getAssetDescriptorColour(e,t){const n=this.getAssetDescriptor(e);return n&&n.colour?n.colour:t}static getAssetDescriptorIcon(e,t){const n=this.getAssetDescriptor(e);return n&&n.icon?n.icon:t}}fe._assetTypeInfos=[],fe._metaItemDescriptors=[],fe._valueDescriptors=[]},1212:(e,t,n)=>{"use strict";n.d(t,{UH:()=>_,Ar:()=>m,SI:()=>b,Ql:()=>h,aQ:()=>g});var i=n(1816),o=n(3848),r=n(7428);class a extends o.QN{constructor(e){if(super(e),this.et=r.qs,e.type!==o.sZ.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===r.qs||null==e)return this.ft=void 0,this.et=e;if(e===r.Kg)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.et)return this.ft;this.et=e;const t=[e];return t.raw=t,this.ft={_$litType$:this.constructor.resultType,strings:t,values:[]}}}a.directiveName="unsafeHTML",a.resultType=1,(0,o.E$)(a);class s extends a{}s.directiveName="unsafeSVG",s.resultType=2;const c=(0,o.E$)(s);var d=n(1868),l=n(8416);const m={size:24,icons:{logo:'<path style=\'pointer-events: var(--or-icon-pointer-events, none);\' fill="#C4D600" d="m11.96125,23.85096c-6.56773,0 -11.90971,-5.34202 -11.90971,-11.90862l2.49411,0c0,5.19176 4.22389,9.41568 9.41561,9.41568c5.19053,0 9.41561,-4.22392 9.41561,-9.41568c0,-5.19176 -4.22389,-9.41568 -9.41561,-9.41568l0,-2.49413c6.56655,0 11.90971,5.34439 11.90971,11.9098c0,6.5666 -5.34316,11.90862 -11.90971,11.90862l0,0z" /><path fill="#4E9D2D" d="m10.25094,20.38647c-2.26848,-0.47231 -4.21822,-1.80199 -5.48741,-3.74009s-1.70892,-4.25777 -1.23545,-6.52625c0.47347,-2.26965 1.80315,-4.21822 3.74242,-5.48857c1.93926,-1.27035 4.25661,-1.70892 6.52625,-1.23545c4.68471,0.97719 7.70121,5.5828 6.72286,10.26635l-2.39994,-0.49907c0.70149,-3.36085 -1.4623,-6.66585 -4.82431,-7.36734c-1.62866,-0.33969 -3.29105,-0.02559 -4.68238,0.88645c-1.39134,0.91088 -2.34526,2.3092 -2.68495,3.93786c-0.33853,1.62633 -0.02443,3.28988 0.88645,4.68122c0.91088,1.39134 2.3092,2.34526 3.93786,2.68379l-0.50139,2.4011l0,0z"/><path fill="#1D5632"d="m12.03064,17.49616c-0.09524,0 -0.19048,-0.00116 -0.28457,-0.00465c-1.49833,-0.0755 -2.87818,-0.72942 -3.88636,-1.84097c-1.00818,-1.11271 -1.52156,-2.54948 -1.44722,-4.05013l2.44378,0.12196c-0.04181,0.84557 0.24856,1.65745 0.81769,2.28466c0.56681,0.62721 1.34733,0.99656 2.1929,1.03838c0.84208,0.03833 1.65629,-0.2474 2.2835,-0.81653c0.62837,-0.56797 0.99656,-1.34617 1.03954,-2.19174c0.08711,-1.74573 -1.26371,-3.23708 -3.00943,-3.3242l0.12196,-2.44378c3.09422,0.15332 5.4869,2.79455 5.33358,5.88877c-0.07434,1.49949 -0.72942,2.87818 -1.84097,3.8852c-1.04186,0.94313 -2.36945,1.45303 -3.7644,1.45303l0,0z"/>',"logo-plain":"m11.9925,23.91349c-6.58498,0 -11.94099,-5.35605 -11.94099,-11.9399l2.50066,0c0,5.20539 4.23498,9.44041 9.44033,9.44041c5.20416,0 9.44033,-4.23502 9.44033,-9.44041c0,-5.20539 -4.23498,-9.44041 -9.44033,-9.44041l0,-2.50068c6.5838,0 11.94099,5.35842 11.94099,11.94108c0,6.58385 -5.35719,11.9399 -11.94099,11.9399l0,0zm-1.80787,-3.27769c-2.31323,-0.48163 -4.30141,-1.83755 -5.59563,-3.81389s-1.74263,-4.34178 -1.25982,-6.65502c0.48281,-2.31443 1.83872,-4.30145 3.81623,-5.59686c1.97751,-1.29542 4.34056,-1.74264 6.65497,-1.25983c4.77711,0.99647 7.8531,5.69295 6.85545,10.46891l-2.44727,-0.50891c0.71532,-3.42716 -1.49114,-6.79738 -4.91946,-7.5127c-1.66078,-0.34639 -3.35596,-0.0261 -4.77474,0.90394c-1.41878,0.92886 -2.39152,2.35476 -2.73791,4.01555c-0.3452,1.65842 -0.02491,3.3548 0.90394,4.77359c0.92885,1.41879 2.35475,2.39154 4.01552,2.73675l-0.51128,2.44848l0,0zm1.81499,-2.92536c-0.09727,0 -0.19455,-0.00119 -0.29064,-0.00475c-1.53029,-0.07711 -2.93958,-0.74498 -3.96926,-1.88025c-1.02968,-1.13646 -1.55401,-2.60388 -1.47809,-4.13655l2.49591,0.12456c-0.04271,0.86361 0.25386,1.69282 0.83513,2.33341c0.5789,0.64059 1.37607,1.01783 2.23968,1.06053c0.86005,0.03915 1.69162,-0.25268 2.33221,-0.83395c0.64177,-0.58009 1.01782,-1.3749 1.06171,-2.23851c0.08897,-1.78298 -1.29066,-3.30616 -3.07362,-3.39513l0.12456,-2.49593c3.16022,0.15659 5.60394,2.85419 5.44735,6.01443c-0.07592,1.53149 -0.74498,2.9396 -1.88024,3.9681c-1.06408,0.96326 -2.41999,1.48403 -3.8447,1.48403l0,0z",marker:'<ellipse fill="#000" opacity="0.2" ry="1.5" rx="4" cy="22.5" cx="12" /><path style=\'pointer-events: var(--or-icon-pointer-events, none);\' d="m11.999999,0a8.437501,8.344057 0 0 1 8.437501,8.344057c0,6.500779 -5.798864,6.280799 -8.437501,14.412461c-2.638637,-8.131662 -8.437501,-7.911683 -8.437501,-14.412461a8.437501,8.344057 0 0 1 8.437501,-8.344057z" />'}};var u=function(e,t,n,i){var o,r=arguments.length,a=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(r<3?o(a):r>3?o(t,n,a):o(t,n))||a);return r>3&&a&&Object.defineProperty(t,n,a),a};const f=n(180);class p extends CustomEvent{constructor(){super(p.NAME,{bubbles:!0,composed:!0})}}function h(e,t){return{getIconTemplate:n=>{const o=t[n];return o?i.kP`
|
|
554
|
+
`},1032:(e,t,n)=>{"use strict";n.d(t,{C3:()=>r,KQ:()=>c,ct:()=>o,gR:()=>a});var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},i(e,t)};function o(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var r=function(){return r=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)};function a(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,r=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function c(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(s(arguments[t]));return e}},2960:function(e,t,n){!function(e){"use strict";var t,n=function(){try{if(e.URLSearchParams&&"bar"===new e.URLSearchParams("foo=bar").get("foo"))return e.URLSearchParams}catch(e){}return null}(),i=n&&"a=1"===new n({a:1}).toString(),o=n&&"+"===new n("s=%2B").get("s"),r=n&&"size"in n.prototype,a="__URLSearchParams__",s=!n||((t=new n).append("s"," &"),"s=+%26"===t.toString()),c=f.prototype,d=!(!e.Symbol||!e.Symbol.iterator);if(!(n&&i&&o&&s&&r)){c.append=function(e,t){g(this[a],e,t)},c.delete=function(e){delete this[a][e]},c.get=function(e){var t=this[a];return this.has(e)?t[e][0]:null},c.getAll=function(e){var t=this[a];return this.has(e)?t[e].slice(0):[]},c.has=function(e){return v(this[a],e)},c.set=function(e,t){this[a][e]=[""+t]},c.toString=function(){var e,t,n,i,o=this[a],r=[];for(t in o)for(n=p(t),e=0,i=o[t];e<i.length;e++)r.push(n+"="+p(i[e]));return r.join("&")};var l,m=e.Proxy&&n&&(!o||!s||!i||!r);m?(l=new Proxy(n,{construct:function(e,t){return new e(new f(t[0]).toString())}})).toString=Function.prototype.toString.bind(f):l=f,Object.defineProperty(e,"URLSearchParams",{value:l});var u=e.URLSearchParams.prototype;u.polyfill=!0,!m&&e.Symbol&&(u[e.Symbol.toStringTag]="URLSearchParams"),"forEach"in u||(u.forEach=function(e,t){var n=_(this.toString());Object.getOwnPropertyNames(n).forEach((function(i){n[i].forEach((function(n){e.call(t,n,i,this)}),this)}),this)}),"sort"in u||(u.sort=function(){var e,t,n,i=_(this.toString()),o=[];for(e in i)o.push(e);for(o.sort(),t=0;t<o.length;t++)this.delete(o[t]);for(t=0;t<o.length;t++){var r=o[t],a=i[r];for(n=0;n<a.length;n++)this.append(r,a[n])}}),"keys"in u||(u.keys=function(){var e=[];return this.forEach((function(t,n){e.push(n)})),b(e)}),"values"in u||(u.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),b(e)}),"entries"in u||(u.entries=function(){var e=[];return this.forEach((function(t,n){e.push([n,t])})),b(e)}),d&&(u[e.Symbol.iterator]=u[e.Symbol.iterator]||u.entries),"size"in u||Object.defineProperty(u,"size",{get:function(){var e=_(this.toString());if(u===this)throw new TypeError("Illegal invocation at URLSearchParams.invokeGetter");return Object.keys(e).reduce((function(t,n){return t+e[n].length}),0)}})}function f(e){((e=e||"")instanceof URLSearchParams||e instanceof f)&&(e=e.toString()),this[a]=_(e)}function p(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'\(\)~]|%20|%00/g,(function(e){return t[e]}))}function h(e){return e.replace(/[ +]/g,"%20").replace(/(%[a-f0-9]{2})+/gi,(function(e){return decodeURIComponent(e)}))}function b(t){var n={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return d&&(n[e.Symbol.iterator]=function(){return n}),n}function _(e){var t={};if("object"==typeof e)if(y(e))for(var n=0;n<e.length;n++){var i=e[n];if(!y(i)||2!==i.length)throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");g(t,i[0],i[1])}else for(var o in e)e.hasOwnProperty(o)&&g(t,o,e[o]);else{0===e.indexOf("?")&&(e=e.slice(1));for(var r=e.split("&"),a=0;a<r.length;a++){var s=r[a],c=s.indexOf("=");-1<c?g(t,h(s.slice(0,c)),h(s.slice(c+1))):s&&g(t,h(s),"")}}return t}function g(e,t,n){var i="string"==typeof n?n:null!=n&&"function"==typeof n.toString?n.toString():JSON.stringify(n);v(e,t)?e[t].push(i):e[t]=[i]}function y(e){return!!e&&"[object Array]"===Object.prototype.toString.call(e)}function v(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(void 0!==n.g?n.g:"undefined"!=typeof window?window:this)},6884:(e,t,n)=>{"use strict";n.d(t,{_u:()=>Kt,ie:()=>Xt,wZ:()=>Zt,kV:()=>Gt,_A:()=>Jt,k1:()=>Qt,aQ:()=>i,cp:()=>an,Cc:()=>Vt});var i={};n.r(i),n.d(i,{Deferred:()=>m,arrayRemove:()=>x,blobToBase64:()=>ye,camelCaseToSentenceCase:()=>T,capitaliseFirstLetter:()=>M,cronStringToISOString:()=>R,dateToCronString:()=>Y,difference:()=>E,disableScroll:()=>_e,dispatchCancellableEvent:()=>le,enableScroll:()=>ge,enumContains:()=>C,formatCronString:()=>I,getAllowedValueLabel:()=>j,getAssetTypeLabel:()=>B,getAttributeLabel:()=>z,getAttributeUnits:()=>Z,getAttributeValueAsString:()=>q,getAttributeValueConstraints:()=>J,getAttributeValueFormat:()=>te,getBrowserLanguage:()=>u,getEnumKeyAsString:()=>D,getGeoNotificationsFromRulesSet:()=>h,getMetaItemNameValueHolder:()=>U,getMetaLabel:()=>W,getMetaUnits:()=>ee,getMetaValue:()=>P,getMetaValueAsString:()=>V,getMetaValueConstraints:()=>Q,getMetaValueFormat:()=>ne,getQueryParameter:()=>p,getQueryParameters:()=>f,getValueAsString:()=>K,getValueDescriptorLabel:()=>H,getWeekNumber:()=>S,hasMetaItem:()=>N,isFunction:()=>k,isObject:()=>F,isTimeDuration:()=>g,isTimeDurationNegativeInfinity:()=>v,isTimeDurationPositiveInfinity:()=>y,loadJs:()=>se,mergeObjects:()=>ie,objectsEqual:()=>w,resolveUnits:()=>X,sentenceCaseToCamelCase:()=>A,sortByNumber:()=>ce,sortByString:()=>de,stringMatch:()=>L,updateAsset:()=>ae}),n(2960);var o=n(7096),r=n(6960),a=n.n(r),s=n(8416),c=n(6104),d=n.n(c),l=n(5564);class m{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)}}function u(){return navigator.language.split("-")[0]||"en"}function f(e){return a().parse(e,{ignoreQueryPrefix:!0})}function p(e){let t;if(location.search&&""!==location.search&&(t=f(location.search)),location.hash){const e=location.hash.indexOf("?");e>-1&&(t=f(location.hash.substring(e+1)))}return t?t[e]:void 0}function h(e){const t=[];return e.rules.forEach((e=>{if(e.when&&e.then&&e.then.length>0){const n=new Map;(function(e,t,n){if(!e)return;const i=[];e.groups&&e.groups.forEach((e=>{e.items&&e.items.forEach((e=>{i.push(e)}))})),e.items&&e.items.forEach((e=>{i.push(e)})),i&&i.forEach((e=>{if(e.assets&&e.assets.attributes){const t=[];if(b(e.assets.attributes,t),t.length>0){const i=e.tag||(0).toString();n.set(i,t)}}}))})(e.when,0,n),n.size>0&&e.then.forEach((e=>function(e,t){if(e&&"notification"===e.action&&e.notification&&e.notification.message&&"push"===e.notification.message.type){const n=e.target;if(n&&n.conditionAssets){const i=t.get(n.conditionAssets);i&&i.forEach((t=>{t.notification=e.notification.message}))}else for(const n of t.values())n.forEach((t=>{t.notification=e.notification.message}))}}(e,n)));for(const e of n.values())e.forEach((e=>{e.notification&&t.push(e)}))}})),t}function b(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=>b(e,t))))}const _=/([+-])?((\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])?/;function g(e){return!!e&&(e=e.trim()).length>0&&(_.test(e)||y(e)||v(e))}function y(e){return"*"===(e=null!=e?e.trim():void 0)||"+*"===e}function v(e){return"-*"===(null!=e?e.trim():void 0)}function F(e){return!!e&&"object"==typeof e}function k(e){return!!(e&&e.constructor&&e.call&&e.apply)}function w(e,t,n=!0){if(null==e||null==t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Function)return e===t;if(e instanceof RegExp)return e===t;if(e===t||e.valueOf()===t.valueOf())return!0;if(Array.isArray(e)&&e.length!==t.length)return!1;if(e instanceof Date)return!1;if(!(e instanceof Object))return!1;if(!(t instanceof Object))return!1;if(n){const n=Object.keys(e);return Object.keys(t).every((e=>-1!==n.indexOf(e)))&&n.every((n=>w(e[n],t[n])))}return!1}function E(e,t){const n=(e,t)=>(0,l.transform)(e,(function(e,i,o){w(i,null==t?void 0:t[o])||(e[o]=F(i)&&F(null==t?void 0:t[o])?n(i,null==t?void 0:t[o]):i)}));return n(e,t)}function x(e,t){if(0===e.length)return;const n=e.indexOf(t);n>=0&&e.splice(n,1)}function A(e){return null==e?"":e.split(" ").map(((e,t)=>0===t?e[0].toLowerCase()+e.substring(1):e[0].toUpperCase()+e.substring(1))).join("")}function T(e){if(null==e)return"";let t=!1;return e.split(/([A-Z]|\d)/).map(((e,n,i)=>{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()){const t=!i[n-1]||"_"===i[n-1],o=n+1<i.length&&i[n+1]&&"_"!==i[n+1],r=n+3>i.length||!i[n+1]&&!i[n+3];t&&!o||(e=" "+e),(o||!t&&!r)&&(e=e.toLowerCase())}return e})).join("").trim()}function L(e,t){if(t===e)return!0;const n=e.endsWith("*"),i=!n&&e.startsWith("*"),o=!n&&!i&&e.startsWith("^")&&e.endsWith("$");if(n&&t.startsWith(e.substr(0,e.length-1)))return!0;if(i&&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}function M(e){if(e)return 1===e.length?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)}function C(e,t){return e&&Object.values(e).includes(t)}function D(e,t){return Object.keys(e).find((n=>e[n]===t))}function S(e){(e=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))).setUTCDate(e.getUTCDate()+4-(e.getUTCDay()||7));const t=new Date(Date.UTC(e.getUTCFullYear(),0,1));return Math.ceil(((e.getTime()-t.getTime())/864e5+1)/7)}const O=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];function I(e,t,n,i,o,r,a){let s="";if(r?Array.isArray(r)?s+=r.toString().replace(" ",""):s+=r.toString():s+="0",s+=" ",o?Array.isArray(o)?s+=o.toString().replace(" ",""):s+=o.toString():s+="0",s+=" ",i?Array.isArray(i)?s+=i.toString().replace(" ",""):s+=i.toString():s+="0",s+=" ",n?Array.isArray(n)?s+=n.toString().replace(" ",""):s+=n.toString():s+="*",s+=" ",t)if(Array.isArray(t))if("number"==typeof t[0]){const e=[];t.forEach((t=>{e.push(O[t].toString())})),s+=e.toString().replace(" ","")}else s+=t.toString().replace(" ","");else s+=t.toString();else s+="*";return s+=" ",s+=a?a.toString():"?",s+=" ",e?Array.isArray(e)?s+=e.toString().replace(" ",""):s+=e:s+="*",s}function Y(e){return I(e.getFullYear(),O[e.getMonth()],[e.getDate()],[e.getHours()],[e.getMinutes()])}function R(e,t){const n=e.split(" ");if(!(Number.isNaN(Number(n[0]))||Number.isNaN(Number(n[1]))||Number.isNaN(Number(n[2]))||Number.isNaN(Number(n[3]))&&"*"!=n[3])){const e=(Number.isNaN(Number(n[6]))?(new Date).getFullYear():n[6]).toString();let i="";i="*"!=n[4]?O.indexOf(n[4]).toString():(new Date).getMonth().toString(),i=1==i.length?"0"+i:i;const o=1==n[3].length&&"*"!=n[3]?"0"+n[3]:n[3].replace("*","01"),r=1==n[2].length&&"*"!=n[2]?"0"+n[2]:n[2].replace("*","00"),a=1==n[1].length&&"*"!=n[1]?"0"+n[1]:n[1].replace("*","00"),s=1==n[0].length&&"*"!=n[0]?"0"+n[0]:n[0].replace("*","00");if(e.length>0&&i.length>0)return t?d().utc({year:Number(e),month:Number(i),date:Number(o),hour:Number(r),minute:Number(a),second:Number(s)}).toISOString():d()({year:Number(e),month:Number(i),date:Number(o),hour:Number(r),minute:Number(a),second:Number(s)}).toISOString()}}function P(e,t,n){const i="string"==typeof e?e:e.name;return t&&t.meta&&t.meta.hasOwnProperty(i)?t.meta[i]:n&&n.meta?n.meta[i]:void 0}function N(e,t,n){const i="string"==typeof e?e:e.name;return!!(t&&t.meta&&t.meta.hasOwnProperty(i))||!!(n&&n.meta&&n.meta.hasOwnProperty(i))}function B(e){return"string"==typeof e&&(e=s.S8.getAssetDescriptor(e)),e?o.cp.t("label.asset."+e.name,{defaultValue:T(e.name)}):""}function H(e){if(!e)return o.cp.t("label.value.unknown",{defaultValue:"Unknown"});const t="string"==typeof e?e:e.name;return o.cp.t("label.value."+t,{defaultValue:T(t||"")})}function j(e,t){if(e)return o.cp.t("label.allowedValue."+e,{defaultValue:t||T(e||""),nsSeparator:!1})}function U(e,t){const n="string"==typeof e?s.S8.getMetaItemDescriptor(e):e;return n?{name:n.name,type:n.type,value:t}:{name:typeof e,type:s.S8.resolveValueTypeFromValue(t),value:t}}function z(e,t,n,i,o){return $(e,t,n,i,!0,o)}function W(e,t,n,i,o){return $(e||U(t,null),t,n,i,!1,o)}function $(e,t,n,i,o,r){let a=re("label",e,t,n,o),s="";if(a||(a=P("label",e,t&&t.meta?t:void 0)),i&&(s=X(oe("units",e,t,n,o))),!a){const n=e?e.name:t?"string"==typeof t?t:t.name:void 0;a=r||(n?T(n):void 0)}return a?a+(s?" ("+s+")":""):s}function q(e,t,n,i,o){return G(e,t,n,i,!0,o)}function V(e,t,n,i,o){return G(e||U(t,null),t,n,i,!1,o)}function G(e,t,n,i,o,r){let a=K(e?e.value:void 0,(()=>oe("format",e,t,n,o)),void 0,r);const s=Z(e,t,n);return i&&s&&s.length&&(a=X(oe("units",e,t,n,o),a)),a}function K(e,t,n,i){let r="";if(null==e)r=i||"";else if("string"==typeof e)r=e;else if("number"==typeof e||"boolean"==typeof e||e instanceof Date){const i=t&&t();if(i&&0!==Object.keys(i).length)switch("number"==typeof e?i.asBoolean?e=!!e:i.asDate&&(e=new Date(e)):"boolean"==typeof e&&i.asNumber&&(e=e?1:0),typeof e){case"number":r=new Intl.NumberFormat(n||o.cp.language,i).format(e);break;case"boolean":i.asOnOff&&(r=e?o.cp.t("on"):o.cp.t("off")),i.asOpenClosed&&(r=e?o.cp.t("open"):o.cp.t("closed")),i.asPressedReleased&&(r=e?o.cp.t("pressed"):o.cp.t("released"));break;case"object":if(i.momentJsFormat)r=d()(e).format(i.momentJsFormat);else if(i.iso8601)r=e.toISOString();else if(i.week){const t=S(e);r="2-digit"===i.week?String(t).padStart(2,"0"):Number(t).toString(10)}else r=new Intl.DateTimeFormat(n||o.cp.language,i).format(e)}else r=Object(e).toString()}return r}function X(e,t){if(!e)return"";t||(t="");const n=e.map(((e,n)=>{if(3!==e.length||e.toUpperCase()!==e)return o.cp.t(["units."+e,"or:units."+e]);{const i=new Intl.NumberFormat(o.cp.language,{currency:e,style:"currency"}).formatToParts();if(0!==n||"currency"!==i[0].type)return"currency"===i[0].type?i[0].value:i[i.length-1].value;if(!t)return i[0].value;t=i[0].value+t}})).join("");return t.length>0?t+" "+n:n}function J(e,t,n){return oe("constraints",e,t,n,!0)}function Q(e,t,n){return oe("constraints",e||U(t,null),t,n,!1)}function Z(e,t,n){return oe("units",e,t,n,!0)}function ee(e,t,n){return oe("units",e||U(t,null),t,n,!1)}function te(e,t,n){return oe("format",e,t,n,!0)}function ne(e,t,n){return oe("format",e||U(t,null),t,n,!1)}function ie(e,t,n){if(e&&!t)return Object.assign({},e);if(t&&!e)return Object.assign({},t);const i=Object.assign({},e),o=[];return Object.entries(t).forEach((([e,t])=>{!function(e,t,n,i,o){let r=e;t.forEach((e=>{r.hasOwnProperty(e)||(r[e]={}),r=r[e]})),r&&(r.hasOwnProperty(n)?null==i?delete r[n]:Array.isArray(r[n])?r[n]=o?[...r[n],...i]:[...i]:r[n]="object"==typeof i?ie(Object.assign({},r[n]),i,o):i:null==i?delete r[n]:Array.isArray(i)?r[n]=[...i]:r[n]="object"==typeof i?Object.assign({},i):i)}(i,o,e,t,n)})),i}function oe(e,t,n,i,o){let r;const a=[],c=re(e,t&&"string"==typeof t?t:t?t.name:n?"string"==typeof n?n:n.name:void 0,n,i,o);if(c&&(r=JSON.parse(c),r)){if("format"!==e)return r;a.push(r)}if(t&&t.meta&&(r=P(e,t,n),r)){if("format"!==e)return r;a.push(r)}if(n&&"string"!=typeof n&&n.hasOwnProperty(e)){if(r=n[e],"format"!==e)return r;a.push(r)}if(n&&n.type){if(r=s.S8.getValueDescriptor(n.type)[e],"format"!==e)return r;a.push(r)}if("format"!==e||0===a.length)return r;let d={};return a.reverse().forEach((e=>{d=Object.assign(Object.assign({},d),e)})),d}function re(e,t,n,i,r,a){let s;if(t?s="string"==typeof t?t:t.name:n&&(s="string"==typeof n?n:n.name),!s)return;const c=[],d=e+"."+(r?"attribute":"meta")+".";return i&&c.push(d+i+"."+s),n&&"string"!=typeof n&&(c.push(d+n.type+"."+s),c.push(d+n.type)),c.push(d+s),c.length>0?o.cp.t(c,{defaultValue:a||""}):void 0}function ae(e,t){const n=t.ref.name;if(e.attributes)if(t.deleted)delete e.attributes[n];else{const i=e.attributes[n];i&&(i.value=t.value,i.timestamp=t.timestamp)}return Object.assign({},e)}function se(e){return new Promise(((t,n)=>{const i=document.createElement("script");i.type="text/javascript",i.src=e,i.addEventListener("load",(e=>t(e)),!1),i.addEventListener("error",(e=>n(e)),!1),document.body.appendChild(i)}))}function ce(e){return(t,n)=>{const i=e(t),o=e(n);return i||o?i&&!o?1:!i&&o?-1:i-o:0}}function de(e){return(t,n)=>{const i=e(t),o=e(n);return i||o?i&&!o?1:!i&&o?-1:i.localeCompare(o):0}}function le(e,t){const n=new m;return e.dispatchEvent(t),window.setTimeout((()=>{n.resolve(t.detail)})),n.promise}const me={37:1,38:1,39:1,40:1};function ue(e){e.preventDefault()}function fe(e){if(me[e.keyCode])return ue(e),!1}let pe=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{pe=!0}}))}catch(gt){}const he=!!pe&&{passive:!1},be="onwheel"in document.createElement("div")?"wheel":"mousewheel";function _e(){window.addEventListener("DOMMouseScroll",ue,!1),window.addEventListener(be,ue,he),window.addEventListener("touchmove",ue,he),window.addEventListener("keydown",fe,!1)}function ge(){window.removeEventListener("DOMMouseScroll",ue,!1),window.removeEventListener(be,ue,he),window.removeEventListener("touchmove",ue,he),window.removeEventListener("keydown",fe,!1)}function ye(e){return new Promise(((t,n)=>{const i=new FileReader;i.readAsDataURL(e),i.onload=()=>{t(i.result)},i.onerror=e=>{n(e)}}))}var ve=function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))};let Fe=n(6900);class ke{constructor(e,t,n){this._autoEnable=!1,this._initialised=!1,this._initialiseInProgress=!1,this._pendingProviderPromises={},this._providerMessageListeners={},this._pendingProviderEnables=[],this._registrationTimer=null,this._realm=e,this._autoEnable=t,this._enableCompleteCallback=n,window.OpenRemoteConsole=this;let i=new URLSearchParams(window.location.search),o=i.get("consoleName"),r=i.get("consoleVersion"),a=i.get("consolePlatform"),s=i.get("consoleProviders"),c=i.get("consoleAutoEnable"),d=s&&s.length>0?s.split(" "):["push"];this._pendingProviderEnables=d;let l=ke._createConsoleRegistration(),m=window.localStorage.getItem("OpenRemoteConsole:"+e);if(m)try{let e=JSON.parse(m);e.id&&(l.id=e.id),e.name&&(l.name=e.name),e.providers&&(l.providers=e.providers),e.apps&&(l.apps=e.apps)}catch(e){console.error("Failed to deserialise console registration")}let u=l.providers;l.providers={};for(let e of d){let t=u&&u.hasOwnProperty(e)?u[e]:{enabled:!1,disabled:!1};l.providers[e]=t}let f=an.getAppName();f.length>0&&l.apps.indexOf(f)<0&&l.apps.push(f),this._registration=l,o&&(l.name=o),r&&(l.version=r),a&&(l.platform=a),c&&(this._autoEnable="TRUE"===c||"true"===c)}get registration(){return this._registration}get autoEnable(){return this._autoEnable}get pendingProviderEnables(){return this._pendingProviderEnables.slice(0)}get shellApple(){const 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 ve(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 ve(this,void 0,void 0,(function*(){if(!this._initialised)throw new Error("Console must be initialised before enabling providers");for(let e=this._pendingProviderEnables.length-1;e>-1;e--){let t=this._pendingProviderEnables[e];yield this.enableProvider(t)}}))}enableProvider(e,t){return ve(this,void 0,void 0,(function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),new Error("Console must be initialised before enabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),new Error("Invalid console provider '"+e+"'");console.debug("Console: enabling provider '"+e+"'");let n={provider:e,action:"PROVIDER_ENABLE",consoleId:this._registration.id,data:t},i=yield this.sendProviderMessage(n,!0);this._registration.providers[e].hasPermission=i.hasPermission,this._registration.providers[e].success=i.success,this._registration.providers[e].enabled=i.success,this._registration.providers[e].data=i.data;let o=this._pendingProviderEnables.indexOf(e);return o>=0&&(this._pendingProviderEnables.splice(o,1),0===this._pendingProviderEnables.length&&(this.sendRegistration(),this._callCompletedCallback())),i}))}disableProvider(e){return ve(this,void 0,void 0,(function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),new Error("Console must be initialised before disabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),new Error("Invalid console provider '"+e+"'");console.debug("Console: disabling provider '"+e+"'");let t=yield this.sendProviderMessage({provider:e,action:"PROVIDER_DISABLE"},!0);return this._registration.providers[e].disabled=!0,this._registration.providers[e].enabled=!1,t}))}getProvider(e){return this._registration&&this._registration.providers?this._registration.providers[e]:void 0}sendProviderMessage(e,t){return ve(this,void 0,void 0,(function*(){if("storage"!==e.provider&&!this._registration.providers.hasOwnProperty(e.provider))throw console.debug("Invalid console provider '"+e.provider+"'"),new Error("Invalid console provider '"+e.provider+"'");if(!t)return void this._doSendProviderMessage(e);let n=e.provider+e.action;if(this._pendingProviderPromises[n])throw new Error("Message already pending for provider '"+e.provider+"' with action '"+e.action+"'");const i=new m;return this._pendingProviderPromises[n]=[i,window.setTimeout((()=>{delete this._pendingProviderPromises[n],i.reject("No response from provider")}),5e3)],this._doSendProviderMessage(e),i.promise}))}sendRegistration(e){return this._registrationTimer&&(window.clearTimeout(this._registrationTimer),this._registrationTimer=null),e=void 0!==e?e:2e3,console.debug("Sending registration in: "+e+"ms"),new Promise(((e,t)=>{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={}),an.rest.api.ConsoleResource.register(this._registration).then((t=>{if(200!==t.status)throw new Error("Failed to register console");this._registration=t.data,console.debug("Console: registration successful"),console.debug("Console: updating locally stored registration"),window.localStorage.setItem("OpenRemoteConsole:"+this._realm,JSON.stringify(this._registration)),e()}))}catch(e){console.error("Failed to register console"),t("Failed to register console")}}))}))}storeData(e,t){this.sendProviderMessage({provider:"storage",action:"STORE",key:e,value:t},!1)}retrieveData(e){return ve(this,void 0,void 0,(function*(){let t=this.sendProviderMessage({provider:"storage",action:"RETRIEVE",key:e},!0);try{const e=yield Promise.race([t,new Promise(((e,t)=>setTimeout(t,2e3)))]);if(e&&e.value){const t=e.value;return"null"===t?void 0:t}}catch(e){console.log("Failed to retrieve data from storage provider")}}))}addProviderMessageListener(e,t){this._providerMessageListeners[e.provider+e.action]=t}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,t){const n={type:e,data:t};this.isMobile?this._postNativeShellMessage(n):console.warn("Failed to send generic message to console.",n)}_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":let t={action:"PROVIDER_INIT",provider:"push",version:"web",enabled:!0,disabled:!1,hasPermission:!0,requiresPermission:!1,success:!0};this._handleProviderResponse(JSON.stringify(t));break;case"PROVIDER_ENABLE":let n={action:"PROVIDER_ENABLE",provider:"push",hasPermission:!0,success:!0};this._handleProviderResponse(JSON.stringify(n));break;default:throw new Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;case"STORAGE":switch(e.action){case"PROVIDER_INIT":let t={action:"PROVIDER_INIT",provider:"storage",version:"1.0.0",disabled:!1,enabled:!0,hasPermission:!0,requiresPermission:!1,success:!0};this._handleProviderResponse(JSON.stringify(t));break;case"PROVIDER_ENABLE":let n={action:"PROVIDER_ENABLE",provider:"storage",hasPermission:!0,success:!0};this._handleProviderResponse(JSON.stringify(n));break;case"STORE":{let t=e.key?e.key.trim():null;if(!t||0===t.length)throw new Error("Storage provider 'store' action requires a `key`");null===e.value?window.localStorage.removeItem(t):window.localStorage.setItem(t,JSON.stringify(e.value))}break;case"RETRIEVE":{let t=e.key?e.key.trim():null;if(!t||0===t.length)throw new Error("Storage provider 'retrieve' action requires a `key`");let n=window.localStorage.getItem(t);if(null!==n)try{n=JSON.parse(n)}catch(e){}this._handleProviderResponse(JSON.stringify({action:"RETRIEVE",provider:"storage",key:t,value:n}))}break;default:throw new Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;default:console.error("Unsupported provider: "+e.provider)}}}_handleProviderResponse(e){if(!e)return;let t=JSON.parse(e),n=t.provider,i=t.action,o=this._pendingProviderPromises[n+i];o&&(window.clearTimeout(o[1]),delete this._pendingProviderPromises[n+i],o[0].resolve(t));let r=this._providerMessageListeners[n+i];r&&r(t)}_callCompletedCallback(){let e=this._enableCompleteCallback;this._enableCompleteCallback=null,e&&window.setTimeout((()=>{e()}),0)}static _createConsoleRegistration(){return{name:Fe.name,version:Fe.version,platform:Fe.os.toString(),apps:[],model:((Fe.manufacturer?Fe.manufacturer+" ":"")+(Fe.product?Fe.product:"")).trim()}}_initialiseProvider(e){return ve(this,void 0,void 0,(function*(){let t;console.debug("Console: initialising provider '"+e+"'");try{t=yield this.sendProviderMessage({provider:e,action:"PROVIDER_INIT"},!0),this._registration.providers[e].version=t.version,this._registration.providers[e].requiresPermission=t.requiresPermission,this._registration.providers[e].hasPermission=t.hasPermission,this._registration.providers[e].success=t.success,this._registration.providers[e].enabled=t.enabled,this._registration.providers[e].disabled=t.disabled,this._registration.providers[e].data=t.data}catch(e){console.error(e),t={action:"",disabled:!1,enabled:!1,hasPermission:!1,provider:"",requiresPermission:!1,version:"",success:!1}}if(t.success||(console.debug("Provider initialisation failed: '"+e+"'"),t.disabled=!0,this._registration.providers[e].disabled=!0),t.disabled||t.enabled){let t=this._pendingProviderEnables.indexOf(e);t>=0&&this._pendingProviderEnables.splice(t,1)}}))}}var we=n(9048),Ee=n.n(we);class xe{constructor(e){this.httpClient=e}getApps(e){return this.httpClient.request({method:"GET",url:qe`apps`,options:e})}getConsoleConfig(e){return this.httpClient.request({method:"GET",url:qe`apps/consoleConfig`,options:e})}getAppInfos(e){return this.httpClient.request({method:"GET",url:qe`apps/info`,options:e})}}class Ae{constructor(e){this.httpClient=e}getSettings(e){return this.httpClient.request({method:"GET",url:qe`map`,options:e})}saveSettings(e,t){return this.httpClient.request({method:"PUT",url:qe`map`,data:e,options:t})}deleteMap(e){return this.httpClient.request({method:"DELETE",url:qe`map/deleteMap`,options:e})}getCustomMapInfo(e){return this.httpClient.request({method:"GET",url:qe`map/getCustomMapInfo`,options:e})}getSettingsJs(e){return this.httpClient.request({method:"GET",url:qe`map/js`,options:e})}getTile(e,t,n,i){return this.httpClient.request({method:"GET",url:qe`map/tile/${e}/${t}/${n}`,options:i})}uploadMap(e,t){return this.httpClient.request({method:"POST",url:qe`map/upload`,queryParams:e,options:t})}}class Te{constructor(e){this.httpClient=e}startTunnel(e,t){return this.httpClient.request({method:"POST",url:qe`gateway/tunnel`,data:e,options:t})}stopTunnel(e,t){return this.httpClient.request({method:"DELETE",url:qe`gateway/tunnel`,data:e,options:t})}getAllActiveTunnelInfos(e,t){return this.httpClient.request({method:"GET",url:qe`gateway/tunnel/${e}`,options:t})}getGatewayActiveTunnelInfos(e,t,n){return this.httpClient.request({method:"GET",url:qe`gateway/tunnel/${e}/${t}`,options:n})}getActiveTunnelInfo(e,t,n,i,o){return this.httpClient.request({method:"GET",url:qe`gateway/tunnel/${e}/${t}/${n}/${i}`,options:o})}}class Le{constructor(e){this.httpClient=e}getAssetDescriptors(e,t){return this.httpClient.request({method:"GET",url:qe`model/assetDescriptors`,queryParams:e,options:t})}getAssetInfo(e,t,n){return this.httpClient.request({method:"GET",url:qe`model/assetInfo/${e}`,queryParams:t,options:n})}getAssetInfos(e,t){return this.httpClient.request({method:"GET",url:qe`model/assetInfos`,queryParams:e,options:t})}getMetaItemDescriptors(e,t){return this.httpClient.request({method:"GET",url:qe`model/metaItemDescriptors`,queryParams:e,options:t})}getValueDescriptors(e,t){return this.httpClient.request({method:"GET",url:qe`model/valueDescriptors`,queryParams:e,options:t})}}class Me{constructor(e){this.httpClient=e}createAlarm(e,t,n){return this.httpClient.request({method:"POST",url:qe`alarm`,queryParams:t,data:e,options:n})}getAlarms(e,t){return this.httpClient.request({method:"GET",url:qe`alarm`,queryParams:e,options:t})}removeAlarms(e,t){return this.httpClient.request({method:"DELETE",url:qe`alarm`,data:e,options:t})}setAssetLinks(e,t){return this.httpClient.request({method:"PUT",url:qe`alarm/assets`,data:e,options:t})}getAlarm(e,t){return this.httpClient.request({method:"GET",url:qe`alarm/${e}`,options:t})}removeAlarm(e,t){return this.httpClient.request({method:"DELETE",url:qe`alarm/${e}`,options:t})}updateAlarm(e,t,n){return this.httpClient.request({method:"PUT",url:qe`alarm/${e}`,data:t,options:n})}getAssetLinks(e,t,n){return this.httpClient.request({method:"GET",url:qe`alarm/${e}/assets`,queryParams:t,options:n})}}class Ce{constructor(e){this.httpClient=e}getConfig(e){return this.httpClient.request({method:"GET",url:qe`syslog/config`,options:e})}updateConfig(e,t){return this.httpClient.request({method:"PUT",url:qe`syslog/config`,data:e,options:t})}clearEvents(e){return this.httpClient.request({method:"DELETE",url:qe`syslog/event`,options:e})}getEvents(e,t){return this.httpClient.request({method:"GET",url:qe`syslog/event`,queryParams:e,options:t})}}class De{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:qe`asset`,data:e,options:t})}delete(e,t){return this.httpClient.request({method:"DELETE",url:qe`asset`,queryParams:e,options:t})}writeAttributeValues(e,t){return this.httpClient.request({method:"PUT",url:qe`asset/attributes`,data:e,options:t})}writeAttributeEvents(e,t){return this.httpClient.request({method:"PUT",url:qe`asset/attributes/timestamp`,data:e,options:t})}updateNoneParent(e,t){return this.httpClient.request({method:"DELETE",url:qe`asset/parent`,queryParams:e,options:t})}getPartial(e,t){return this.httpClient.request({method:"GET",url:qe`asset/partial/${e}`,options:t})}queryAssets(e,t){return this.httpClient.request({method:"POST",url:qe`asset/query`,data:e,options:t})}getCurrentUserAssets(e){return this.httpClient.request({method:"GET",url:qe`asset/user/current`,options:e})}createUserAssetLinks(e,t){return this.httpClient.request({method:"POST",url:qe`asset/user/link`,data:e,options:t})}getUserAssetLinks(e,t){return this.httpClient.request({method:"GET",url:qe`asset/user/link`,queryParams:e,options:t})}deleteUserAssetLinks(e,t){return this.httpClient.request({method:"POST",url:qe`asset/user/link/delete`,data:e,options:t})}deleteAllUserAssetLinks(e,t,n){return this.httpClient.request({method:"DELETE",url:qe`asset/user/link/${e}/${t}`,options:n})}deleteUserAssetLink(e,t,n,i){return this.httpClient.request({method:"DELETE",url:qe`asset/user/link/${e}/${t}/${n}`,options:i})}get(e,t){return this.httpClient.request({method:"GET",url:qe`asset/${e}`,options:t})}update(e,t,n){return this.httpClient.request({method:"PUT",url:qe`asset/${e}`,data:t,options:n})}writeAttributeValue$PUT$asset_assetId_attribute_attributeName(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`asset/${e}/attribute/${t}`,data:n,options:i})}writeAttributeValue$PUT$asset_assetId_attribute_attributeName_timestamp(e,t,n,i,o){return this.httpClient.request({method:"PUT",url:qe`asset/${e}/attribute/${t}/${n}`,data:i,options:o})}updateParent(e,t,n){return this.httpClient.request({method:"PUT",url:qe`asset/${e}/child`,queryParams:t,options:n})}}class Se{constructor(e){this.httpClient=e}updateCurrentUserLocale(e,t){return this.httpClient.request({method:"PUT",url:qe`user/locale`,data:e,options:t})}query(e,t){return this.httpClient.request({method:"POST",url:qe`user/query`,data:e,options:t})}getCurrent(e){return this.httpClient.request({method:"GET",url:qe`user/user`,options:e})}getCurrentUserRealmRoles(e){return this.httpClient.request({method:"GET",url:qe`user/userRealmRoles`,options:e})}getCurrentUserClientRoles(e,t){return this.httpClient.request({method:"GET",url:qe`user/userRoles/${e}`,options:t})}disconnectUserSession(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/disconnect/${t}`,options:n})}resetPassword(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`user/${e}/reset-password/${t}`,data:n,options:i})}resetSecret(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/reset-secret/${t}`,options:n})}updateRoles(e,t,n){return this.httpClient.request({method:"PUT",url:qe`user/${e}/roles`,data:t,options:n})}getUserRealmRoles(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/userRealmRoles/${t}`,options:n})}updateUserRealmRoles(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`user/${e}/userRealmRoles/${t}`,data:n,options:i})}getUserClientRoles(e,t,n,i){return this.httpClient.request({method:"GET",url:qe`user/${e}/userRoles/${t}/${n}`,options:i})}updateUserClientRoles(e,t,n,i,o){return this.httpClient.request({method:"PUT",url:qe`user/${e}/userRoles/${t}/${n}`,data:i,options:o})}getUserSessions(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/userSessions/${t}`,options:n})}create(e,t,n){return this.httpClient.request({method:"POST",url:qe`user/${e}/users`,data:t,options:n})}update(e,t,n){return this.httpClient.request({method:"PUT",url:qe`user/${e}/users`,data:t,options:n})}delete(e,t,n){return this.httpClient.request({method:"DELETE",url:qe`user/${e}/users/${t}`,options:n})}getClientRoles(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/${t}/roles`,options:n})}updateClientRoles(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`user/${e}/${t}/roles`,data:n,options:i})}get(e,t,n){return this.httpClient.request({method:"GET",url:qe`user/${e}/${t}`,options:n})}}class Oe{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:qe`realm`,data:e,options:t})}getAll(e){return this.httpClient.request({method:"GET",url:qe`realm`,options:e})}getAccessible(e){return this.httpClient.request({method:"GET",url:qe`realm/accessible`,options:e})}delete(e,t){return this.httpClient.request({method:"DELETE",url:qe`realm/${e}`,options:t})}get(e,t){return this.httpClient.request({method:"GET",url:qe`realm/${e}`,options:t})}update(e,t,n){return this.httpClient.request({method:"PUT",url:qe`realm/${e}`,data:t,options:n})}}class Ie{constructor(e){this.httpClient=e}deleteConnections(e,t){return this.httpClient.request({method:"DELETE",url:qe`gateway/connection`,queryParams:e,options:t})}getConnections(e){return this.httpClient.request({method:"GET",url:qe`gateway/connection`,options:e})}deleteConnection(e,t){return this.httpClient.request({method:"DELETE",url:qe`gateway/connection/${e}`,options:t})}getConnection(e,t){return this.httpClient.request({method:"GET",url:qe`gateway/connection/${e}`,options:t})}setConnection(e,t,n){return this.httpClient.request({method:"PUT",url:qe`gateway/connection/${e}`,data:t,options:n})}getConnectionStatus(e,t){return this.httpClient.request({method:"GET",url:qe`gateway/status/${e}`,options:t})}}class Ye{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:qe`dashboard`,data:e,options:t})}update(e,t){return this.httpClient.request({method:"PUT",url:qe`dashboard`,data:e,options:t})}getAllRealmDashboards(e,t){return this.httpClient.request({method:"GET",url:qe`dashboard/all/${e}`,options:t})}query(e,t){return this.httpClient.request({method:"POST",url:qe`dashboard/query`,data:e,options:t})}delete(e,t,n){return this.httpClient.request({method:"DELETE",url:qe`dashboard/${e}/${t}`,options:n})}get(e,t,n){return this.httpClient.request({method:"GET",url:qe`dashboard/${e}/${t}`,options:n})}}class Re{constructor(e){this.httpClient=e}doProtocolAssetDiscovery(e,t,n){return this.httpClient.request({method:"GET",url:qe`agent/assetDiscovery/${e}`,queryParams:t,options:n})}doProtocolAssetImport(e,t,n,i){return this.httpClient.request({method:"POST",url:qe`agent/assetImport/${e}`,queryParams:n,data:t,options:i})}doProtocolInstanceDiscovery(e,t,n){return this.httpClient.request({method:"GET",url:qe`agent/instanceDiscovery/${e}`,queryParams:t,options:n})}}class Pe{constructor(e){this.httpClient=e}getPredictedDatapoints(e,t,n,i){return this.httpClient.request({method:"POST",url:qe`asset/predicted/${e}/${t}`,data:n,options:i})}writePredictedDatapoints(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`asset/predicted/${e}/${t}`,data:n,options:i})}}class Ne{constructor(e){this.httpClient=e}createProvisioningConfig(e,t){return this.httpClient.request({method:"POST",url:qe`provisioning`,data:e,options:t})}getProvisioningConfigs(e){return this.httpClient.request({method:"GET",url:qe`provisioning`,options:e})}deleteProvisioningConfig(e,t){return this.httpClient.request({method:"DELETE",url:qe`provisioning/${e}`,options:t})}updateProvisioningConfig(e,t,n){return this.httpClient.request({method:"PUT",url:qe`provisioning/${e}`,data:t,options:n})}}class Be{constructor(e){this.httpClient=e}getNotifications(e,t){return this.httpClient.request({method:"GET",url:qe`notification`,queryParams:e,options:t})}removeNotifications(e,t){return this.httpClient.request({method:"DELETE",url:qe`notification`,queryParams:e,options:t})}sendNotification(e,t){return this.httpClient.request({method:"POST",url:qe`notification/alert`,data:e,options:t})}removeNotification(e,t){return this.httpClient.request({method:"DELETE",url:qe`notification/${e}`,options:t})}notificationAcknowledged(e,t,n,i){return this.httpClient.request({method:"PUT",url:qe`notification/${e}/acknowledged`,queryParams:n,data:t,options:i})}notificationDelivered(e,t,n){return this.httpClient.request({method:"PUT",url:qe`notification/${e}/delivered`,queryParams:t,options:n})}}class He{constructor(e){this.httpClient=e}register(e,t){return this.httpClient.request({method:"POST",url:qe`console/register`,data:e,options:t})}}class je{constructor(e){this.httpClient=e}createGlobalRuleset(e,t){return this.httpClient.request({method:"POST",url:qe`rules`,data:e,options:t})}getGlobalRulesets(e,t){return this.httpClient.request({method:"GET",url:qe`rules`,queryParams:e,options:t})}createAssetRuleset(e,t){return this.httpClient.request({method:"POST",url:qe`rules/asset`,data:e,options:t})}getAssetRulesets(e,t,n){return this.httpClient.request({method:"GET",url:qe`rules/asset/for/${e}`,queryParams:t,options:n})}deleteAssetRuleset(e,t){return this.httpClient.request({method:"DELETE",url:qe`rules/asset/${e}`,options:t})}getAssetRuleset(e,t){return this.httpClient.request({method:"GET",url:qe`rules/asset/${e}`,options:t})}updateAssetRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:qe`rules/asset/${e}`,data:t,options:n})}getAssetGeofences(e,t){return this.httpClient.request({method:"GET",url:qe`rules/geofences/${e}`,options:t})}getAssetEngineInfo(e,t){return this.httpClient.request({method:"GET",url:qe`rules/info/asset/${e}`,options:t})}getGlobalEngineInfo(e){return this.httpClient.request({method:"GET",url:qe`rules/info/global`,options:e})}getRealmEngineInfo(e,t){return this.httpClient.request({method:"GET",url:qe`rules/info/realm/${e}`,options:t})}createRealmRuleset(e,t){return this.httpClient.request({method:"POST",url:qe`rules/realm`,data:e,options:t})}getRealmRulesets(e,t,n){return this.httpClient.request({method:"GET",url:qe`rules/realm/for/${e}`,queryParams:t,options:n})}deleteRealmRuleset(e,t){return this.httpClient.request({method:"DELETE",url:qe`rules/realm/${e}`,options:t})}getRealmRuleset(e,t){return this.httpClient.request({method:"GET",url:qe`rules/realm/${e}`,options:t})}updateRealmRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:qe`rules/realm/${e}`,data:t,options:n})}deleteGlobalRuleset(e,t){return this.httpClient.request({method:"DELETE",url:qe`rules/${e}`,options:t})}getGlobalRuleset(e,t){return this.httpClient.request({method:"GET",url:qe`rules/${e}`,options:t})}updateGlobalRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:qe`rules/${e}`,data:t,options:n})}}class Ue{constructor(e){this.httpClient=e}getHealthStatus(e){return this.httpClient.request({method:"GET",url:qe`health`,options:e})}getInfo(e){return this.httpClient.request({method:"GET",url:qe`info`,options:e})}}class ze{constructor(e){this.httpClient=e}getAllNodeDefinitions(e){return this.httpClient.request({method:"GET",url:qe`flow`,options:e})}getNodeDefinition(e,t){return this.httpClient.request({method:"GET",url:qe`flow/${e}`,options:t})}getAllNodeDefinitionsByType(e,t){return this.httpClient.request({method:"GET",url:qe`flow/${e}`,options:t})}}class We{constructor(e){this.httpClient=e}getDatapointExport(e,t){return this.httpClient.request({method:"GET",url:qe`asset/datapoint/export`,queryParams:e,options:t})}getDatapointPeriod(e,t){return this.httpClient.request({method:"GET",url:qe`asset/datapoint/periods`,queryParams:e,options:t})}getDatapoints(e,t,n,i){return this.httpClient.request({method:"POST",url:qe`asset/datapoint/${e}/${t}`,data:n,options:i})}}class $e{constructor(e){this.httpClient=e}getManagerConfig(e){return this.httpClient.request({method:"GET",url:qe`configuration/manager`,options:e})}update(e,t){return this.httpClient.request({method:"PUT",url:qe`configuration/manager`,data:e,options:t})}fileUpload(e,t,n){return this.httpClient.request({method:"POST",url:qe`configuration/manager/file`,queryParams:t,data:e,options:n})}getManagerConfigImage(e,t){return this.httpClient.request({method:"GET",url:qe`configuration/manager/image/${e}`,options:t})}}function qe(e,...t){let n="";for(let i=0;i<t.length;i++)n+=e[i],n+=encodeURIComponent(t[i]);return n+=e[e.length-1],n}class Ve{constructor(e,t=Ee().create()){this._appResource=new Ke(e,t),this._mapResource=new Xe(e,t),this._gatewayServiceResource=new Je(e,t),this._assetModelResource=new Qe(e,t),this._alarmResource=new Ze(e,t),this._syslogResource=new et(e,t),this._assetResource=new tt(e,t),this._userResource=new nt(e,t),this._realmResource=new it(e,t),this._gatewayClientResource=new ot(e,t),this._dashboardResource=new rt(e,t),this._agentResource=new at(e,t),this._assetPredictedDatapointResource=new st(e,t),this._provisioningResource=new ct(e,t),this._notificationResource=new dt(e,t),this._consoleResource=new lt(e,t),this._rulesResource=new mt(e,t),this._statusResource=new ut(e,t),this._flowResource=new ft(e,t),this._assetDatapointResource=new pt(e,t),this._configurationResource=new ht(e,t),this._assetResource=new tt(e,t)}get AppResource(){return this._appResource}get MapResource(){return this._mapResource}get GatewayServiceResource(){return this._gatewayServiceResource}get AssetModelResource(){return this._assetModelResource}get AlarmResource(){return this._alarmResource}get SyslogResource(){return this._syslogResource}get AssetResource(){return this._assetResource}get UserResource(){return this._userResource}get RealmResource(){return this._realmResource}get GatewayClientResource(){return this._gatewayClientResource}get DashboardResource(){return this._dashboardResource}get AgentResource(){return this._agentResource}get AssetPredictedDatapointResource(){return this._assetPredictedDatapointResource}get ProvisioningResource(){return this._provisioningResource}get NotificationResource(){return this._notificationResource}get ConsoleResource(){return this._consoleResource}get RulesResource(){return this._rulesResource}get StatusResource(){return this._statusResource}get FlowResource(){return this._flowResource}get AssetDatapointResource(){return this._assetDatapointResource}get ConfigurationResource(){return this._configurationResource}}class Ge{constructor(e){this.axios=e}request(e){const t={};t.method=e.method,t.url=e.url,t.params=e.queryParams,t.data=e.data,function(e,t){if(null!=t)for(const n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}(t,e.options);const n=e.copyFn;return this.axios.request(t).then((e=>(n&&e.data&&(e.originalData=e.data,e.data=n(e.data)),e)))}}class Ke extends xe{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class Xe extends Ae{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class Je extends Te{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class Qe extends Le{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class Ze extends Me{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class et extends Ce{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class tt extends De{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class nt extends Se{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class it extends Oe{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ot extends Ie{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class rt extends Ye{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class at extends Re{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class st extends Pe{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ct extends Ne{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class dt extends Be{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class lt extends He{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class mt extends je{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ut extends Ue{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ft extends ze{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class pt extends We{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}class ht extends $e{constructor(e,t=Ee().create()){t.defaults.baseURL=e,super(new Ge(t))}}Ee().isAxiosError;const bt=new class{get api(){return this._client}constructor(){this._axiosInstance=Ee().create(),this._axiosInstance.defaults.headers.common["Content-Type"]="application/json",this._axiosInstance.interceptors.request.use((e=>(e.paramsSerializer=e=>a().stringify(e,{arrayFormat:"repeat"}),e)))}get axiosInstance(){return this._axiosInstance}get baseUrl(){return this._baseUrl}setTimeout(e){this._axiosInstance.defaults.timeout=e}addRequestInterceptor(e){this._axiosInstance.interceptors.request.use(e)}initialise(e){this._baseUrl=e,this._client=new Ve(e,this._axiosInstance)}};var _t,gt,yt=function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))};(gt=_t||(_t={})).DISCONNECTED="DISCONNECTED",gt.CONNECTED="CONNECTED",gt.CONNECTING="CONNECTING";class vt{constructor(){this._disconnectRequested=!1,this._reconnectDelayMillis=Ft.MIN_RECONNECT_DELAY,this._reconnectTimer=null,this._status=_t.DISCONNECTED,this._connectingDeferred=null,this._statusCallbacks=[],this._pendingSubscription=null,this._queuedSubscriptions=[],this._subscriptionMap=new Map,this._assetEventCallbackMap=new Map,this._attributeEventCallbackMap=new Map,this._unloading=!1}get status(){return this._status}subscribeStatusChange(e){this._statusCallbacks.push(e)}unsubscribeStatusChange(e){x(this._statusCallbacks,e)}connect(){return this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),this._status===_t.CONNECTED?Promise.resolve(!0):(this._disconnectRequested=!1,this._connectingDeferred||(this._onStatusChanged(_t.CONNECTING),this._connectingDeferred=new m,this._doConnect().then((e=>{if(this._connectingDeferred){const t=this._connectingDeferred;this._connectingDeferred=null,e?(console.debug("Connected to event service: "+this.endpointUrl),this._reconnectDelayMillis=Ft.MIN_RECONNECT_DELAY,this._onStatusChanged(_t.CONNECTED),window.setTimeout((()=>{this._onConnect()}),0)):(console.debug("Failed to connect to event service: "+this.endpointUrl),this._scheduleReconnect()),t.resolve(e)}}))),this._connectingDeferred.promise)}disconnect(){console.debug("Disconnecting from event service: "+this.endpointUrl),this._disconnectRequested||(this._disconnectRequested=!0,this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),this.status!==_t.DISCONNECTED&&this._doDisconnect())}subscribe(e,t){const n={eventSubscription:e,callback:t,deferred:new m};return null!=this._pendingSubscription||this._status!==_t.CONNECTED?(this._queuedSubscriptions.push(n),n.deferred.promise):(this._pendingSubscription=n,this._doSubscribe(e).then((e=>{if(this._pendingSubscription){const t=this._pendingSubscription;this._pendingSubscription=null,this._subscriptionMap.set(e,t),this._processNextSubscription();const n=t.deferred;t.deferred=null,n&&n.resolve(e)}}),(e=>{if(this._pendingSubscription){const t=this._pendingSubscription;this._pendingSubscription=null,this._processNextSubscription();const n=t.deferred;t.deferred=null,n&&n.reject(e)}})),this._pendingSubscription.deferred.promise)}unsubscribe(e){return yt(this,void 0,void 0,(function*(){if(this._subscriptionMap.delete(e))this._doUnsubscribe(e);else if(this._assetEventCallbackMap.delete(e)){if(this._assetEventPromise&&0===this._assetEventCallbackMap.size){const e=yield this._assetEventPromise;this._assetEventPromise=void 0,this.unsubscribe(e)}}else if(this._attributeEventCallbackMap.delete(e)&&this._attributeEventPromise&&0===this._attributeEventCallbackMap.size){const e=yield this._attributeEventPromise;this._attributeEventPromise=void 0,this.unsubscribe(e)}}))}sendEvent(e){this._status===_t.CONNECTED&&this._doSend(e)}sendEventWithReply(e){return this._status!==_t.CONNECTED?Promise.reject("Not connected"):this._doSendWithReply(e)}subscribeAssetEvents(e,t,n){return yt(this,void 0,void 0,(function*(){const i=e&&"string"!=typeof e[0]?e.map((e=>e.id)):e,o="AssetEvent"+vt._subscriptionCounter++;if(!this._assetEventPromise){let e;an.authenticated||(e={filterType:"asset",realm:an.displayRealm});const t={eventType:"asset",filter:e};this._assetEventPromise=this.subscribe(t,(e=>{this._assetEventCallbackMap.forEach((t=>t(e)))}))}return this._assetEventCallbackMap.set(o,(e=>{const t=e.asset.id;i?i.find((e=>t===e))&&n(e):e.asset.realm===an.displayRealm&&n(e)})),this._assetEventPromise.then((()=>{try{if(i&&t){const e={messageID:"read-assets:"+i.join(",")+":"+o,eventType:"read-assets",assetQuery:{ids:i}};this.sendEventWithReply(e).then((e=>{const t=e;t.assets&&this._assetEventCallbackMap.has(o)&&t.assets.forEach((e=>{n({eventType:"asset",asset:e,cause:"READ"})}))}))}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),o&&this.unsubscribe(o),t}return o}))}))}subscribeAttributeEvents(e,t,n){return yt(this,void 0,void 0,(function*(){const i=e&&"string"!=typeof e[0],o=i?e.map((e=>e.id)):e,r=i?e:void 0,a="AttributeEvent"+vt._subscriptionCounter++;if(!this._attributeEventPromise){let e;an.authenticated||(e={filterType:"asset",realm:an.displayRealm});const t={eventType:"attribute",filter:e};this._attributeEventPromise=this.subscribe(t,(e=>{this._attributeEventCallbackMap.forEach((t=>t(e)))}))}const s=t=>{const r=t.ref;i?e.forEach((e=>{r.id===e.id&&r.name===e.name&&n(t)})):o?o.find((e=>r.id===e))&&n(t):t.realm===an.displayRealm&&n(t)};return this._attributeEventCallbackMap.set(a,s),this._attributeEventPromise.then((()=>{try{if(t&&o){const e={messageID:"read-assets:"+o.join(",")+":"+a,eventType:"read-assets",assetQuery:{ids:o}};this.sendEventWithReply(e).then((e=>{const t=e;t.assets&&this._attributeEventCallbackMap.has(a)&&t.assets.forEach((e=>{e.attributes&&Object.entries(e.attributes).forEach((([t,n])=>{r&&!r.find((n=>n.id===e.id&&n.name===t))||s({eventType:"attribute",timestamp:n.timestamp,value:n.value,ref:{id:e.id,name:t}})}))}))}))}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),a&&this.unsubscribe(a),t}return a}))}))}_processNextSubscription(){this._status===_t.CONNECTED&&0!==this._queuedSubscriptions.length&&setTimeout((()=>{const e=this._queuedSubscriptions.shift();e&&this.subscribe(e.eventSubscription,e.callback).then((t=>{const n=e.deferred;e.deferred=null,n&&n.resolve(t)}),(t=>{const n=e.deferred;e.deferred=null,n&&n.reject(t)}))}),0)}_onStatusChanged(e){e!==this._status&&(console.debug("Event provider status changed: "+e),this._status=e,this._unloading||window.setTimeout((()=>{this._statusCallbacks.forEach((t=>t(e)))}),0))}_onMessageReceived(e,t){const n=this._subscriptionMap.get(e);n&&n.callback(t)}_onConnect(){if(Object.keys(this._subscriptionMap).length>0){for(const e in this._subscriptionMap)this._subscriptionMap.has(e)&&this._queuedSubscriptions.unshift(this._subscriptionMap.get(e));this._subscriptionMap.clear()}this._processNextSubscription()}_onDisconnect(){this._status===_t.CONNECTED&&this._onStatusChanged(_t.DISCONNECTED),this._pendingSubscription&&(this._queuedSubscriptions.unshift(this._pendingSubscription),this._pendingSubscription=null),this._onStatusChanged(_t.CONNECTING),this._scheduleReconnect()}_scheduleReconnect(){this._reconnectTimer||this._disconnectRequested||(console.debug("Event provider scheduling reconnect in "+this._reconnectDelayMillis+"ms"),this._reconnectTimer=window.setTimeout((()=>{this._disconnectRequested||this.connect()}),this._reconnectDelayMillis),this._reconnectDelayMillis<Ft.MAX_RECONNECT_DELAY&&(this._reconnectDelayMillis=Math.min(Ft.MAX_RECONNECT_DELAY,this._reconnectDelayMillis+3e3)))}}vt.MIN_RECONNECT_DELAY=0,vt.MAX_RECONNECT_DELAY=3e4,vt._subscriptionCounter=0;class Ft extends vt{get endpointUrl(){return this._endpointUrl}constructor(e){super(),this._webSocket=void 0,this._connectDeferred=null,this._subscribeDeferred=null,this._repliesDeferred=new Map,this._endpointUrl=(e.startsWith("https:")?"wss":"ws")+"://"+e.substr(e.indexOf("://")+3)+"/websocket/events",window.addEventListener("beforeunload",(()=>{this._unloading=!0,this.disconnect()}))}_doConnect(){let e=this._endpointUrl+"?Realm="+an.config.realm;return an.authenticated&&(e+="&Authorization="+an.getAuthorizationHeader()),this._webSocket=new WebSocket(e),this._connectDeferred=new m,this._webSocket.onopen=()=>{if(this._connectDeferred){const e=this._connectDeferred;this._connectDeferred=null,e.resolve(!0)}},this._webSocket.onerror=e=>{if(this._connectDeferred){const e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else console.debug("Event provider error"),this._beforeDisconnect()},this._webSocket.onclose=()=>{if(this._webSocket=void 0,this._connectDeferred){const e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else this._beforeDisconnect()},this._webSocket.onmessage=e=>{const t=e.data;if(t&&t.startsWith("SUBSCRIBED:")){const e=t.substring(11),n=JSON.parse(e),i=this._subscribeDeferred;this._subscribeDeferred=null,i&&i.resolve(n.subscriptionId)}else if(t.startsWith("UNAUTHORIZED:")){const e=t.substring(13),n=JSON.parse(e),i=this._subscribeDeferred;this._subscribeDeferred=null,i&&(console.warn("Unauthorized event subscription: "+JSON.stringify(n,null,2)),i.reject("Unauthorized"))}else if(t.startsWith("TRIGGERED:")){const e=t.substring(10),n=JSON.parse(e);n.events&&n.events.forEach((e=>{this._onMessageReceived(n.subscriptionId,e)}))}else if(t.startsWith("EVENT:")){const e=t.substring(6),n=JSON.parse(e);if(n.messageID){const e=this._repliesDeferred.get(n.messageID);this._repliesDeferred.delete(n.messageID),e&&e.resolve(n)}}},this._connectDeferred.promise}_beforeDisconnect(){this._onDisconnect()}_doDisconnect(){var e;null===(e=this._webSocket)||void 0===e||e.close(),this._subscribeDeferred=null,this._repliesDeferred.clear()}_doSubscribe(e){return this._webSocket?this._subscribeDeferred?Promise.reject("There's already a pending subscription"):(this._subscribeDeferred=new m,e.subscriptionId||(e.subscriptionId=Ft._subscriptionCounter+++""),this._webSocket.send("SUBSCRIBE:"+JSON.stringify(e)),this._subscribeDeferred.promise):Promise.reject("Not connected")}_doUnsubscribe(e){if(!this._webSocket)return;const t={subscriptionId:e};this._webSocket.send("UNSUBSCRIBE:"+JSON.stringify(t))}_doSend(e){const t="EVENT:"+JSON.stringify(e);this._webSocket.send(t)}_doSendWithReply(e){if(e.messageID||(e.messageID=((new Date).getTime()+10*Math.random()).toString(10)),this._repliesDeferred.has(e.messageID))return Promise.reject("There's already a pending send and reply with this ID");const t=new m;return this._repliesDeferred.set(e.messageID,t),this._webSocket.send("EVENT:"+JSON.stringify(e)),t.promise}}function kt(e){return kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kt(e)}Ft._subscriptionCounter=1;var wt=[],Et=wt.forEach,xt=wt.slice;function At(e){return Et.call(xt.call(arguments,1),(function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])})),e}function Tt(){return"function"==typeof XMLHttpRequest||"object"===("undefined"==typeof XMLHttpRequest?"undefined":kt(XMLHttpRequest))}var Lt,Mt,Ct,Dt=n(6624),St=n.t(Dt,2);function Ot(e){return Ot="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ot(e)}"function"==typeof fetch&&(Lt="undefined"!=typeof global&&global.fetch?global.fetch:"undefined"!=typeof window&&window.fetch?window.fetch:fetch),Tt()&&("undefined"!=typeof global&&global.XMLHttpRequest?Mt=global.XMLHttpRequest:"undefined"!=typeof window&&window.XMLHttpRequest&&(Mt=window.XMLHttpRequest)),"function"==typeof ActiveXObject&&("undefined"!=typeof global&&global.ActiveXObject?Ct=global.ActiveXObject:"undefined"!=typeof window&&window.ActiveXObject&&(Ct=window.ActiveXObject)),Lt||!St||Mt||Ct||(Lt=Dt||St),"function"!=typeof Lt&&(Lt=void 0);var It=function(e,t){if(t&&"object"===Ot(t)){var n="";for(var i in t)n+="&"+encodeURIComponent(i)+"="+encodeURIComponent(t[i]);if(!n)return e;e=e+(-1!==e.indexOf("?")?"&":"?")+n.slice(1)}return e},Yt=function(e,t,n){Lt(e,t).then((function(e){if(!e.ok)return n(e.statusText||"Error",{status:e.status});e.text().then((function(t){n(null,{status:e.status,data:t})})).catch(n)})).catch(n)},Rt=!1;const Pt=function(e,t,n,i){return"function"==typeof n&&(i=n,n=void 0),i=i||function(){},Lt?function(e,t,n,i){e.queryStringParams&&(t=It(t,e.queryStringParams));var o=At({},"function"==typeof e.customHeaders?e.customHeaders():e.customHeaders);n&&(o["Content-Type"]="application/json");var r="function"==typeof e.requestOptions?e.requestOptions(n):e.requestOptions,a=At({method:n?"POST":"GET",body:n?e.stringify(n):void 0,headers:o},Rt?{}:r);try{Yt(t,a,i)}catch(e){if(!r||0===Object.keys(r).length||!e.message||e.message.indexOf("not implemented")<0)return i(e);try{Object.keys(r).forEach((function(e){delete a[e]})),Yt(t,a,i),Rt=!0}catch(e){i(e)}}}(e,t,n,i):Tt()||"function"==typeof ActiveXObject?function(e,t,n,i){n&&"object"===Ot(n)&&(n=It("",n).slice(1)),e.queryStringParams&&(t=It(t,e.queryStringParams));try{var o;(o=Mt?new Mt:new Ct("MSXML2.XMLHTTP.3.0")).open(n?"POST":"GET",t,1),e.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!e.withCredentials,n&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var r=e.customHeaders;if(r="function"==typeof r?r():r)for(var a in r)o.setRequestHeader(a,r[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(n)}catch(e){console&&console.log(e)}}(e,t,n,i):void i(new Error("No fetch and no xhr implementation found!"))};function Nt(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var Bt=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.services=t,this.options=n,this.allOptions=i,this.type="backend",this.init(t,n,i)}var t,n;return t=e,n=[{key:"init",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=At(n,this.options||{},{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:function(e){return JSON.parse(e)},stringify:JSON.stringify,parsePayload:function(e,t,n){return function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},t,n||"")},request:Pt,reloadInterval:"undefined"==typeof window&&36e5,customHeaders:{},queryStringParams:{},crossDomain:!1,withCredentials:!1,overrideMimeType:!1,requestOptions:{mode:"cors",credentials:"same-origin",cache:"default"}}),this.allOptions=i,this.services&&this.options.reloadInterval&&setInterval((function(){return t.reload()}),this.options.reloadInterval)}},{key:"readMulti",value:function(e,t,n){this._readAny(e,e,t,t,n)}},{key:"read",value:function(e,t,n){this._readAny([e],e,[t],t,n)}},{key:"_readAny",value:function(e,t,n,i,o){var r,a=this,s=this.options.loadPath;"function"==typeof this.options.loadPath&&(s=this.options.loadPath(e,n)),(s=function(e){return!!e&&"function"==typeof e.then}(r=s)?r:Promise.resolve(r)).then((function(r){if(!r)return o(null,{});var s=a.services.interpolator.interpolate(r,{lng:e.join("+"),ns:n.join("+")});a.loadUrl(s,o,t,i)}))}},{key:"loadUrl",value:function(e,t,n,i){var o=this;this.options.request(this.options,e,void 0,(function(r,a){if(a&&(a.status>=500&&a.status<600||!a.status))return t("failed loading "+e+"; status code: "+a.status,!0);if(a&&a.status>=400&&a.status<500)return t("failed loading "+e+"; status code: "+a.status,!1);if(!a&&r&&r.message&&r.message.indexOf("Failed to fetch")>-1)return t("failed loading "+e+": "+r.message,!0);if(r)return t(r,!1);var s,c;try{s="string"==typeof a.data?o.options.parse(a.data,n,i):a.data}catch(t){c="failed parsing "+e+" to json"}if(c)return t(c,!1);t(null,s)}))}},{key:"create",value:function(e,t,n,i,o){var r=this;if(this.options.addPath){"string"==typeof e&&(e=[e]);var a=this.options.parsePayload(t,n,i),s=0,c=[],d=[];e.forEach((function(n){var i=r.options.addPath;"function"==typeof r.options.addPath&&(i=r.options.addPath(n,t));var l=r.services.interpolator.interpolate(i,{lng:n,ns:t});r.options.request(r.options,l,a,(function(t,n){s+=1,c.push(t),d.push(n),s===e.length&&o&&o(c,d)}))}))}}},{key:"reload",value:function(){var e=this,t=this.services,n=t.backendConnector,i=t.languageUtils,o=t.logger,r=n.language;if(!r||"cimode"!==r.toLowerCase()){var a=[],s=function(e){i.toResolveHierarchy(e).forEach((function(e){a.indexOf(e)<0&&a.push(e)}))};s(r),this.allOptions.preload&&this.allOptions.preload.forEach((function(e){return s(e)})),a.forEach((function(t){e.allOptions.ns.forEach((function(e){n.read(t,e,"read",null,null,(function(i,r){i&&o.warn("loading namespace ".concat(e," for language ").concat(t," failed"),i),!i&&r&&o.log("loaded namespace ".concat(e," for language ").concat(t),r),n.loaded("".concat(t,"|").concat(e),i,r)}))}))}))}}}],n&&Nt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();Bt.type="backend";const Ht=Bt;var jt=n(1212),Ut=n(5964);class zt extends Error{}function Wt(e,t){if("string"!=typeof e)throw new zt("Invalid token specified: must be a string");t||(t={});const n=!0===t.header?0:1,i=e.split(".")[n];if("string"!=typeof i)throw new zt(`Invalid token specified: missing part #${n+1}`);let o;try{o=function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return function(e){return decodeURIComponent(atob(e).replace(/(.)/g,((e,t)=>{let n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return atob(t)}}(i)}catch(e){throw new zt(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(o)}catch(e){throw new zt(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}if(zt.prototype.name="InvalidTokenError","undefined"==typeof Promise)throw Error("Keycloak requires an environment that supports Promises. Make sure that you include the appropriate polyfill.");function $t(e){if(!(this instanceof $t))throw new Error("The 'Keycloak' constructor must be invoked with 'new'.");for(var t,n,i=this,o=[],r={enable:!0,callbackList:[],interval:5},a=document.getElementsByTagName("script"),s=0;s<a.length;s++)-1===a[s].src.indexOf("keycloak.js")&&-1===a[s].src.indexOf("keycloak.min.js")||-1===a[s].src.indexOf("version=")||(i.iframeVersion=a[s].src.substring(a[s].src.indexOf("version=")+8).split("&")[0]);var c=!0,d=T(console.info),l=T(console.warn);function m(e,t){for(var n=function(e){var t=null,n=window.crypto||window.msCrypto;if(n&&n.getRandomValues&&window.Uint8Array)return t=new Uint8Array(e),n.getRandomValues(t),t;t=new Array(e);for(var i=0;i<t.length;i++)t[i]=Math.floor(256*Math.random());return t}(e),i=new Array(e),o=0;o<e;o++)i[o]=t.charCodeAt(n[o]%t.length);return String.fromCharCode.apply(null,i)}function u(){return void 0!==i.authServerUrl?"/"==i.authServerUrl.charAt(i.authServerUrl.length-1)?i.authServerUrl+"realms/"+encodeURIComponent(i.realm):i.authServerUrl+"/realms/"+encodeURIComponent(i.realm):void 0}function f(e,t){var n=e.code,o=e.error,r=e.prompt,a=(new Date).getTime();if(e.kc_action_status&&i.onActionUpdate&&i.onActionUpdate(e.kc_action_status),o)if("none"!=r)if(e.error_description&&"authentication_expired"===e.error_description)i.login(e.loginOptions);else{var s={error:o,error_description:e.error_description};i.onAuthError&&i.onAuthError(s),t&&t.setError(s)}else t&&t.setSuccess();else if("standard"!=i.flow&&(e.access_token||e.id_token)&&f(e.access_token,null,e.id_token,!0),"implicit"!=i.flow&&n){var l="code="+n+"&grant_type=authorization_code",m=i.endpoints.token(),u=new XMLHttpRequest;u.open("POST",m,!0),u.setRequestHeader("Content-type","application/x-www-form-urlencoded"),l+="&client_id="+encodeURIComponent(i.clientId),l+="&redirect_uri="+e.redirectUri,e.pkceCodeVerifier&&(l+="&code_verifier="+e.pkceCodeVerifier),u.withCredentials=!0,u.onreadystatechange=function(){if(4==u.readyState)if(200==u.status){var e=JSON.parse(u.responseText);f(e.access_token,e.refresh_token,e.id_token,"standard"===i.flow),F()}else i.onAuthError&&i.onAuthError(),t&&t.setError()},u.send(l)}function f(n,o,r,s){h(n,o,r,a=(a+(new Date).getTime())/2),c&&i.idTokenParsed&&i.idTokenParsed.nonce!=e.storedNonce?(d("[KEYCLOAK] Invalid nonce, clearing token"),i.clearToken(),t&&t.setError()):s&&(i.onAuthSuccess&&i.onAuthSuccess(),t&&t.setSuccess())}}function p(e){return 0==e.status&&e.responseText&&e.responseURL.startsWith("file:")}function h(e,t,n,o){if(i.tokenTimeoutHandle&&(clearTimeout(i.tokenTimeoutHandle),i.tokenTimeoutHandle=null),t?(i.refreshToken=t,i.refreshTokenParsed=Wt(t)):(delete i.refreshToken,delete i.refreshTokenParsed),n?(i.idToken=n,i.idTokenParsed=Wt(n)):(delete i.idToken,delete i.idTokenParsed),e){if(i.token=e,i.tokenParsed=Wt(e),i.sessionId=i.tokenParsed.sid,i.authenticated=!0,i.subject=i.tokenParsed.sub,i.realmAccess=i.tokenParsed.realm_access,i.resourceAccess=i.tokenParsed.resource_access,o&&(i.timeSkew=Math.floor(o/1e3)-i.tokenParsed.iat),null!=i.timeSkew&&(d("[KEYCLOAK] Estimated time difference between browser and server is "+i.timeSkew+" seconds"),i.onTokenExpired)){var r=1e3*(i.tokenParsed.exp-(new Date).getTime()/1e3+i.timeSkew);d("[KEYCLOAK] Token expires in "+Math.round(r/1e3)+" s"),r<=0?i.onTokenExpired():i.tokenTimeoutHandle=setTimeout(i.onTokenExpired,r)}}else delete i.token,delete i.tokenParsed,delete i.subject,delete i.realmAccess,delete i.resourceAccess,i.authenticated=!1}function b(){var e="0123456789abcdef",t=m(36,e).split("");return t[14]="4",t[19]=e.substr(3&t[19]|8,1),t[8]=t[13]=t[18]=t[23]="-",t.join("")}function _(e){var t=function(e){var t;switch(i.flow){case"standard":t=["code","state","session_state","kc_action_status","iss"];break;case"implicit":t=["access_token","token_type","id_token","state","session_state","expires_in","kc_action_status","iss"];break;case"hybrid":t=["access_token","token_type","id_token","code","state","session_state","expires_in","kc_action_status","iss"]}t.push("error"),t.push("error_description"),t.push("error_uri");var n,o,r=e.indexOf("?"),a=e.indexOf("#");if("query"===i.responseMode&&-1!==r?(n=e.substring(0,r),""!==(o=g(e.substring(r+1,-1!==a?a:e.length),t)).paramsString&&(n+="?"+o.paramsString),-1!==a&&(n+=e.substring(a))):"fragment"===i.responseMode&&-1!==a&&(n=e.substring(0,a),""!==(o=g(e.substring(a+1),t)).paramsString&&(n+="#"+o.paramsString)),o&&o.oauthParams)if("standard"===i.flow||"hybrid"===i.flow){if((o.oauthParams.code||o.oauthParams.error)&&o.oauthParams.state)return o.oauthParams.newUrl=n,o.oauthParams}else if("implicit"===i.flow&&(o.oauthParams.access_token||o.oauthParams.error)&&o.oauthParams.state)return o.oauthParams.newUrl=n,o.oauthParams}(e);if(t){var o=n.get(t.state);return o&&(t.valid=!0,t.redirectUri=o.redirectUri,t.storedNonce=o.nonce,t.prompt=o.prompt,t.pkceCodeVerifier=o.pkceCodeVerifier,t.loginOptions=o.loginOptions),t}}function g(e,t){for(var n=e.split("&"),i={paramsString:"",oauthParams:{}},o=0;o<n.length;o++){var r=n[o].indexOf("="),a=n[o].slice(0,r);-1!==t.indexOf(a)?i.oauthParams[a]=n[o].slice(r+1):(""!==i.paramsString&&(i.paramsString+="&"),i.paramsString+=n[o])}return i}function y(){var e={setSuccess:function(t){e.resolve(t)},setError:function(t){e.reject(t)}};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}function v(){var e=y();if(!r.enable)return e.setSuccess(),e.promise;if(r.iframe)return e.setSuccess(),e.promise;var t=document.createElement("iframe");r.iframe=t,t.onload=function(){var t=i.endpoints.authorize();"/"===t.charAt(0)?r.iframeOrigin=window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""):r.iframeOrigin=t.substring(0,t.indexOf("/",8)),e.setSuccess()};var n=i.endpoints.checkSessionIframe();return t.setAttribute("src",n),t.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),t.setAttribute("title","keycloak-session-iframe"),t.style.display="none",document.body.appendChild(t),window.addEventListener("message",(function(e){if(e.origin===r.iframeOrigin&&r.iframe.contentWindow===e.source&&("unchanged"==e.data||"changed"==e.data||"error"==e.data)){"unchanged"!=e.data&&i.clearToken();for(var t=r.callbackList.splice(0,r.callbackList.length),n=t.length-1;n>=0;--n){var o=t[n];"error"==e.data?o.setError():o.setSuccess("unchanged"==e.data)}}}),!1),e.promise}function F(){r.enable&&i.token&&setTimeout((function(){k().then((function(e){e&&F()}))}),1e3*r.interval)}function k(){var e=y();if(r.iframe&&r.iframeOrigin){var t=i.clientId+" "+(i.sessionId?i.sessionId:"");r.callbackList.push(e);var n=r.iframeOrigin;1==r.callbackList.length&&r.iframe.contentWindow.postMessage(t,n)}else e.setSuccess();return e.promise}function w(){var e=y();if(r.enable||i.silentCheckSsoRedirectUri){var t=document.createElement("iframe");t.setAttribute("src",i.endpoints.thirdPartyCookiesIframe()),t.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),t.setAttribute("title","keycloak-3p-check-iframe"),t.style.display="none",document.body.appendChild(t);var n=function(o){t.contentWindow===o.source&&("supported"!==o.data&&"unsupported"!==o.data||("unsupported"===o.data&&(l("[KEYCLOAK] Your browser is blocking access to 3rd-party cookies, this means:\n\n - It is not possible to retrieve tokens without redirecting to the Keycloak server (a.k.a. no support for silent authentication).\n - It is not possible to automatically detect changes to the session status (such as the user logging out in another tab).\n\nFor more information see: https://www.keycloak.org/docs/latest/securing_apps/#_modern_browsers"),r.enable=!1,i.silentCheckSsoFallback&&(i.silentCheckSsoRedirectUri=!1)),document.body.removeChild(t),window.removeEventListener("message",n),e.setSuccess()))};window.addEventListener("message",n,!1)}else e.setSuccess();return function(e,t,n){var i=null,o=new Promise((function(e,n){i=setTimeout((function(){n({error:"Timeout when waiting for 3rd party check iframe message."})}),t)}));return Promise.race([e,o]).finally((function(){clearTimeout(i)}))}(e.promise,i.messageReceiveTimeout)}function E(e){if(!e||"default"==e)return{login:function(e){return window.location.assign(i.createLoginUrl(e)),y().promise},logout:async function(e){if("GET"===(e?.logoutMethod??i.logoutMethod))return void window.location.replace(i.createLogoutUrl(e));const n=i.createLogoutUrl(e),o=await fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({id_token_hint:i.idToken,client_id:i.clientId,post_logout_redirect_uri:t.redirectUri(e,!1)})});if(o.redirected)window.location.href=o.url;else{if(!o.ok)throw new Error("Logout failed, request returned an error code.");window.location.reload()}},register:function(e){return window.location.assign(i.createRegisterUrl(e)),y().promise},accountManagement:function(){var e=i.createAccountUrl();if(void 0===e)throw"Not supported by the OIDC server";return window.location.href=e,y().promise},redirectUri:function(e,t){return e&&e.redirectUri?e.redirectUri:i.redirectUri?i.redirectUri:location.href}};if("cordova"==e){r.enable=!1;var n=function(e,t,n){return window.cordova&&window.cordova.InAppBrowser?window.cordova.InAppBrowser.open(e,t,n):window.open(e,t,n)},o=function(e){var t=function(e){return e&&e.cordovaOptions?Object.keys(e.cordovaOptions).reduce((function(t,n){return t[n]=e.cordovaOptions[n],t}),{}):{}}(e);return t.location="no",e&&"none"==e.prompt&&(t.hidden="yes"),function(e){return Object.keys(e).reduce((function(t,n){return t.push(n+"="+e[n]),t}),[]).join(",")}(t)},a=function(){return i.redirectUri||"http://localhost"};return{login:function(e){var t=y(),r=o(e),s=i.createLoginUrl(e),c=n(s,"_blank",r),d=!1,l=!1,m=function(){l=!0,c.close()};return c.addEventListener("loadstart",(function(e){0==e.url.indexOf(a())&&(f(_(e.url),t),m(),d=!0)})),c.addEventListener("loaderror",(function(e){d||(0==e.url.indexOf(a())?(f(_(e.url),t),m(),d=!0):(t.setError(),m()))})),c.addEventListener("exit",(function(e){l||t.setError({reason:"closed_by_user"})})),t.promise},logout:function(e){var t,o=y(),r=i.createLogoutUrl(e),s=n(r,"_blank","location=no,hidden=yes,clearcache=yes");return s.addEventListener("loadstart",(function(e){0==e.url.indexOf(a())&&s.close()})),s.addEventListener("loaderror",(function(e){0==e.url.indexOf(a())||(t=!0),s.close()})),s.addEventListener("exit",(function(e){t?o.setError():(i.clearToken(),o.setSuccess())})),o.promise},register:function(e){var t=y(),r=i.createRegisterUrl(),s=o(e),c=n(r,"_blank",s);return c.addEventListener("loadstart",(function(e){0==e.url.indexOf(a())&&(c.close(),f(_(e.url),t))})),t.promise},accountManagement:function(){var e=i.createAccountUrl();if(void 0===e)throw"Not supported by the OIDC server";var t=n(e,"_blank","location=no");t.addEventListener("loadstart",(function(e){0==e.url.indexOf(a())&&t.close()}))},redirectUri:function(e){return a()}}}if("cordova-native"==e)return r.enable=!1,{login:function(e){var t=y(),n=i.createLoginUrl(e);return universalLinks.subscribe("keycloak",(function(e){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),f(_(e.url),t)})),window.cordova.plugins.browsertab.openUrl(n),t.promise},logout:function(e){var t=y(),n=i.createLogoutUrl(e);return universalLinks.subscribe("keycloak",(function(e){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),i.clearToken(),t.setSuccess()})),window.cordova.plugins.browsertab.openUrl(n),t.promise},register:function(e){var t=y(),n=i.createRegisterUrl(e);return universalLinks.subscribe("keycloak",(function(e){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),f(_(e.url),t)})),window.cordova.plugins.browsertab.openUrl(n),t.promise},accountManagement:function(){var e=i.createAccountUrl();if(void 0===e)throw"Not supported by the OIDC server";window.cordova.plugins.browsertab.openUrl(e)},redirectUri:function(e){return e&&e.redirectUri?e.redirectUri:i.redirectUri?i.redirectUri:"http://localhost"}};throw"invalid adapter type: "+e}i.init=function(o){if(i.didInitialize)throw new Error("A 'Keycloak' instance can only be initialized once.");if(i.didInitialize=!0,i.authenticated=!1,n=function(){try{return new x}catch(e){}return new A}(),t=o&&["default","cordova","cordova-native"].indexOf(o.adapter)>-1?E(o.adapter):o&&"object"==typeof o.adapter?o.adapter:window.Cordova||window.cordova?E("cordova"):E(),o){if(void 0!==o.useNonce&&(c=o.useNonce),void 0!==o.checkLoginIframe&&(r.enable=o.checkLoginIframe),o.checkLoginIframeInterval&&(r.interval=o.checkLoginIframeInterval),"login-required"===o.onLoad&&(i.loginRequired=!0),o.responseMode){if("query"!==o.responseMode&&"fragment"!==o.responseMode)throw"Invalid value for responseMode";i.responseMode=o.responseMode}if(o.flow){switch(o.flow){case"standard":i.responseType="code";break;case"implicit":i.responseType="id_token token";break;case"hybrid":i.responseType="code id_token token";break;default:throw"Invalid value for flow"}i.flow=o.flow}if(null!=o.timeSkew&&(i.timeSkew=o.timeSkew),o.redirectUri&&(i.redirectUri=o.redirectUri),o.silentCheckSsoRedirectUri&&(i.silentCheckSsoRedirectUri=o.silentCheckSsoRedirectUri),"boolean"==typeof o.silentCheckSsoFallback?i.silentCheckSsoFallback=o.silentCheckSsoFallback:i.silentCheckSsoFallback=!0,void 0!==o.pkceMethod){if("S256"!==o.pkceMethod&&!1!==o.pkceMethod)throw new TypeError(`Invalid value for pkceMethod', expected 'S256' or false but got ${o.pkceMethod}.`);i.pkceMethod=o.pkceMethod}else i.pkceMethod="S256";"boolean"==typeof o.enableLogging?i.enableLogging=o.enableLogging:i.enableLogging=!1,"POST"===o.logoutMethod?i.logoutMethod="POST":i.logoutMethod="GET","string"==typeof o.scope&&(i.scope=o.scope),"string"==typeof o.acrValues&&(i.acrValues=o.acrValues),"number"==typeof o.messageReceiveTimeout&&o.messageReceiveTimeout>0?i.messageReceiveTimeout=o.messageReceiveTimeout:i.messageReceiveTimeout=1e4}i.responseMode||(i.responseMode="fragment"),i.responseType||(i.responseType="code",i.flow="standard");var a=y(),s=y();s.promise.then((function(){i.onReady&&i.onReady(i.authenticated),a.setSuccess(i.authenticated)})).catch((function(e){a.setError(e)}));var d=function(t){var n,o=y();function r(e){i.endpoints=e?{authorize:function(){return e.authorization_endpoint},token:function(){return e.token_endpoint},logout:function(){if(!e.end_session_endpoint)throw"Not supported by the OIDC server";return e.end_session_endpoint},checkSessionIframe:function(){if(!e.check_session_iframe)throw"Not supported by the OIDC server";return e.check_session_iframe},register:function(){throw'Redirection to "Register user" page not supported in standard OIDC mode'},userinfo:function(){if(!e.userinfo_endpoint)throw"Not supported by the OIDC server";return e.userinfo_endpoint}}:{authorize:function(){return u()+"/protocol/openid-connect/auth"},token:function(){return u()+"/protocol/openid-connect/token"},logout:function(){return u()+"/protocol/openid-connect/logout"},checkSessionIframe:function(){var e=u()+"/protocol/openid-connect/login-status-iframe.html";return i.iframeVersion&&(e=e+"?version="+i.iframeVersion),e},thirdPartyCookiesIframe:function(){var e=u()+"/protocol/openid-connect/3p-cookies/step1.html";return i.iframeVersion&&(e=e+"?version="+i.iframeVersion),e},register:function(){return u()+"/protocol/openid-connect/registrations"},userinfo:function(){return u()+"/protocol/openid-connect/userinfo"}}}if(e?"string"==typeof e&&(n=e):n="keycloak.json",n)(c=new XMLHttpRequest).open("GET",n,!0),c.setRequestHeader("Accept","application/json"),c.onreadystatechange=function(){if(4==c.readyState)if(200==c.status||p(c)){var e=JSON.parse(c.responseText);i.authServerUrl=e["auth-server-url"],i.realm=e.realm,i.clientId=e.resource,r(null),o.setSuccess()}else o.setError()},c.send();else{if(!e.clientId)throw"clientId missing";i.clientId=e.clientId;var a=e.oidcProvider;if(a){var s,c;"string"==typeof a?(s="/"==a.charAt(a.length-1)?a+".well-known/openid-configuration":a+"/.well-known/openid-configuration",(c=new XMLHttpRequest).open("GET",s,!0),c.setRequestHeader("Accept","application/json"),c.onreadystatechange=function(){4==c.readyState&&(200==c.status||p(c)?(r(JSON.parse(c.responseText)),o.setSuccess()):o.setError())},c.send()):(r(a),o.setSuccess())}else{if(!e.url)for(var d=document.getElementsByTagName("script"),l=0;l<d.length;l++)if(d[l].src.match(/.*keycloak\.js/)){e.url=d[l].src.substr(0,d[l].src.indexOf("/js/keycloak.js"));break}if(!e.realm)throw"realm missing";i.authServerUrl=e.url,i.realm=e.realm,r(null),o.setSuccess()}}return o.promise}();function l(){var e=function(e){e||(n.prompt="none"),o&&o.locale&&(n.locale=o.locale),i.login(n).then((function(){s.setSuccess()})).catch((function(e){s.setError(e)}))},t=function(){var e=document.createElement("iframe"),t=i.createLoginUrl({prompt:"none",redirectUri:i.silentCheckSsoRedirectUri});e.setAttribute("src",t),e.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),e.setAttribute("title","keycloak-silent-check-sso"),e.style.display="none",document.body.appendChild(e);var n=function(t){t.origin===window.location.origin&&e.contentWindow===t.source&&(f(_(t.data),s),document.body.removeChild(e),window.removeEventListener("message",n))};window.addEventListener("message",n)},n={};switch(o.onLoad){case"check-sso":r.enable?v().then((function(){k().then((function(n){n?s.setSuccess():i.silentCheckSsoRedirectUri?t():e(!1)})).catch((function(e){s.setError(e)}))})):i.silentCheckSsoRedirectUri?t():e(!1);break;case"login-required":e(!0);break;default:throw"Invalid value for onLoad"}}function m(){var e=_(window.location.href);if(e&&window.history.replaceState(window.history.state,null,e.newUrl),e&&e.valid)return v().then((function(){f(e,s)})).catch((function(e){s.setError(e)}));o?o.token&&o.refreshToken?(h(o.token,o.refreshToken,o.idToken),r.enable?v().then((function(){k().then((function(e){e?(i.onAuthSuccess&&i.onAuthSuccess(),s.setSuccess(),F()):s.setSuccess()})).catch((function(e){s.setError(e)}))})):i.updateToken(-1).then((function(){i.onAuthSuccess&&i.onAuthSuccess(),s.setSuccess()})).catch((function(e){i.onAuthError&&i.onAuthError(),o.onLoad?l():s.setError(e)}))):o.onLoad?l():s.setSuccess():s.setSuccess()}return d.then((function(){(function(){var e=y(),t=function(){"interactive"!==document.readyState&&"complete"!==document.readyState||(document.removeEventListener("readystatechange",t),e.setSuccess())};return document.addEventListener("readystatechange",t),t(),e.promise})().then(w).then(m).catch((function(e){a.setError(e)}))})),d.catch((function(e){a.setError(e)})),a.promise},i.login=function(e){return t.login(e)},i.createLoginUrl=function(e){var o,r=b(),a=b(),s=t.redirectUri(e),d={state:r,nonce:a,redirectUri:encodeURIComponent(s),loginOptions:e};e&&e.prompt&&(d.prompt=e.prompt),o=e&&"register"==e.action?i.endpoints.register():i.endpoints.authorize();var l=e&&e.scope||i.scope;l?-1===l.indexOf("openid")&&(l="openid "+l):l="openid";var u,f=o+"?client_id="+encodeURIComponent(i.clientId)+"&redirect_uri="+encodeURIComponent(s)+"&state="+encodeURIComponent(r)+"&response_mode="+encodeURIComponent(i.responseMode)+"&response_type="+encodeURIComponent(i.responseType)+"&scope="+encodeURIComponent(l);if(c&&(f=f+"&nonce="+encodeURIComponent(a)),e&&e.prompt&&(f+="&prompt="+encodeURIComponent(e.prompt)),e&&e.maxAge&&(f+="&max_age="+encodeURIComponent(e.maxAge)),e&&e.loginHint&&(f+="&login_hint="+encodeURIComponent(e.loginHint)),e&&e.idpHint&&(f+="&kc_idp_hint="+encodeURIComponent(e.idpHint)),e&&e.action&&"register"!=e.action&&(f+="&kc_action="+encodeURIComponent(e.action)),e&&e.locale&&(f+="&ui_locales="+encodeURIComponent(e.locale)),e&&e.acr){var p=(u={id_token:{acr:e.acr}},JSON.stringify(u));f+="&claims="+encodeURIComponent(p)}if((e&&e.acrValues||i.acrValues)&&(f+="&acr_values="+encodeURIComponent(e.acrValues||i.acrValues)),i.pkceMethod){var h=m(96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");d.pkceCodeVerifier=h,f+="&code_challenge="+function(e,t){if("S256"!==e)throw new TypeError(`Invalid value for 'pkceMethod', expected 'S256' but got '${e}'.`);return function(e){const t=String.fromCodePoint(...e);return btoa(t)}(new Uint8Array(Ut.arrayBuffer(t))).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}(i.pkceMethod,h),f+="&code_challenge_method="+i.pkceMethod}return n.add(d),f},i.logout=function(e){return t.logout(e)},i.createLogoutUrl=function(e){if("POST"===(e?.logoutMethod??i.logoutMethod))return i.endpoints.logout();var n=i.endpoints.logout()+"?client_id="+encodeURIComponent(i.clientId)+"&post_logout_redirect_uri="+encodeURIComponent(t.redirectUri(e,!1));return i.idToken&&(n+="&id_token_hint="+encodeURIComponent(i.idToken)),n},i.register=function(e){return t.register(e)},i.createRegisterUrl=function(e){return e||(e={}),e.action="register",i.createLoginUrl(e)},i.createAccountUrl=function(e){var n=u(),o=void 0;return void 0!==n&&(o=n+"/account?referrer="+encodeURIComponent(i.clientId)+"&referrer_uri="+encodeURIComponent(t.redirectUri(e))),o},i.accountManagement=function(){return t.accountManagement()},i.hasRealmRole=function(e){var t=i.realmAccess;return!!t&&t.roles.indexOf(e)>=0},i.hasResourceRole=function(e,t){if(!i.resourceAccess)return!1;var n=i.resourceAccess[t||i.clientId];return!!n&&n.roles.indexOf(e)>=0},i.loadUserProfile=function(){var e=u()+"/account",t=new XMLHttpRequest;t.open("GET",e,!0),t.setRequestHeader("Accept","application/json"),t.setRequestHeader("Authorization","bearer "+i.token);var n=y();return t.onreadystatechange=function(){4==t.readyState&&(200==t.status?(i.profile=JSON.parse(t.responseText),n.setSuccess(i.profile)):n.setError())},t.send(),n.promise},i.loadUserInfo=function(){var e=i.endpoints.userinfo(),t=new XMLHttpRequest;t.open("GET",e,!0),t.setRequestHeader("Accept","application/json"),t.setRequestHeader("Authorization","bearer "+i.token);var n=y();return t.onreadystatechange=function(){4==t.readyState&&(200==t.status?(i.userInfo=JSON.parse(t.responseText),n.setSuccess(i.userInfo)):n.setError())},t.send(),n.promise},i.isTokenExpired=function(e){if(!i.tokenParsed||!i.refreshToken&&"implicit"!=i.flow)throw"Not authenticated";if(null==i.timeSkew)return d("[KEYCLOAK] Unable to determine if token is expired as timeskew is not set"),!0;var t=i.tokenParsed.exp-Math.ceil((new Date).getTime()/1e3)+i.timeSkew;if(e){if(isNaN(e))throw"Invalid minValidity";t-=e}return t<0},i.updateToken=function(e){var t=y();if(!i.refreshToken)return t.setError(),t.promise;e=e||5;var n=function(){var n=!1;if(-1==e?(n=!0,d("[KEYCLOAK] Refreshing token: forced refresh")):i.tokenParsed&&!i.isTokenExpired(e)||(n=!0,d("[KEYCLOAK] Refreshing token: token expired")),n){var r="grant_type=refresh_token&refresh_token="+i.refreshToken,a=i.endpoints.token();if(o.push(t),1==o.length){var s=new XMLHttpRequest;s.open("POST",a,!0),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),s.withCredentials=!0,r+="&client_id="+encodeURIComponent(i.clientId);var c=(new Date).getTime();s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status){d("[KEYCLOAK] Token refreshed"),c=(c+(new Date).getTime())/2;var e=JSON.parse(s.responseText);h(e.access_token,e.refresh_token,e.id_token,c),i.onAuthRefreshSuccess&&i.onAuthRefreshSuccess();for(var t=o.pop();null!=t;t=o.pop())t.setSuccess(!0)}else for(l("[KEYCLOAK] Failed to refresh token"),400==s.status&&i.clearToken(),i.onAuthRefreshError&&i.onAuthRefreshError(),t=o.pop();null!=t;t=o.pop())t.setError(!0)},s.send(r)}}else t.setSuccess(!1)};return r.enable?k().then((function(){n()})).catch((function(e){t.setError(e)})):n(),t.promise},i.clearToken=function(){i.token&&(h(null,null,null),i.onAuthLogout&&i.onAuthLogout(),i.loginRequired&&i.login())};var x=function(){if(!(this instanceof x))return new x;function e(){for(var e=(new Date).getTime(),t=0;t<localStorage.length;t++){var n=localStorage.key(t);if(n&&0==n.indexOf("kc-callback-")){var i=localStorage.getItem(n);if(i)try{var o=JSON.parse(i).expires;(!o||o<e)&&localStorage.removeItem(n)}catch(e){localStorage.removeItem(n)}}}}localStorage.setItem("kc-test","test"),localStorage.removeItem("kc-test"),this.get=function(t){if(t){var n="kc-callback-"+t,i=localStorage.getItem(n);return i&&(localStorage.removeItem(n),i=JSON.parse(i)),e(),i}},this.add=function(t){e();var n="kc-callback-"+t.state;t.expires=(new Date).getTime()+36e5,localStorage.setItem(n,JSON.stringify(t))}},A=function(){if(!(this instanceof A))return new A;var e=this;e.get=function(e){if(e){var o=n("kc-callback-"+e);return i("kc-callback-"+e,"",t(-100)),o?JSON.parse(o):void 0}},e.add=function(e){i("kc-callback-"+e.state,JSON.stringify(e),t(60))},e.removeItem=function(e){i(e,"",t(-100))};var t=function(e){var t=new Date;return t.setTime(t.getTime()+60*e*1e3),t},n=function(e){for(var t=e+"=",n=document.cookie.split(";"),i=0;i<n.length;i++){for(var o=n[i];" "==o.charAt(0);)o=o.substring(1);if(0==o.indexOf(t))return o.substring(t.length,o.length)}return""},i=function(e,t,n){var i=e+"="+t+"; expires="+n.toUTCString()+"; ";document.cookie=i}};function T(e){return function(){i.enableLogging&&e.apply(console,Array.prototype.slice.call(arguments))}}}var qt=function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))};const Vt=e=>t=>class extends t{constructor(){super(...arguments),this._connectRequested=!1,this._status=_t.DISCONNECTED,this._statusCallback=e=>this._onEventProviderStatusChanged(e)}connectedCallback(){super.connectedCallback&&super.connectedCallback(),this.connectEvents()}disconnectedCallback(){this.disconnectEvents(),super.disconnectedCallback&&super.disconnectedCallback()}connectEvents(){e.getEventProvider()?this._connectRequested||(this._connectRequested=!0,e.getEventProvider().subscribeStatusChange(this._statusCallback),this._doConnect()):console.log("No event provider available so cannot subscribe")}disconnectEvents(){this._connectRequested&&(this._connectRequested=!1,e.getEventProvider().unsubscribeStatusChange(this._statusCallback),this._onEventsDisconnect())}_doConnect(){return qt(this,void 0,void 0,(function*(){this.eventsConnected&&this._onEventsConnect()}))}get eventsConnected(){return this._connectRequested&&e.getEventProvider().status===_t.CONNECTED}_onEventProviderStatusChanged(e){switch(e){case _t.DISCONNECTED:this._onEventsDisconnect();break;case _t.CONNECTED:this._doConnect()}}_onEventsConnect(){this._addEventSubscriptions(),this.onEventsConnect()}_onEventsDisconnect(){this._removeEventSubscriptions(),this.onEventsDisconnect()}_addEventSubscriptions(){return qt(this,void 0,void 0,(function*(){const t=!!this._attributeRefs,n=!!this._assetIds,i=this._attributeRefs?this._attributeRefs:this._assetIds;if(i&&i.length>0){if(this._subscriptionIds=[],n){const t=yield e.getEventProvider().subscribeAssetEvents(i,!0,(e=>this._onEvent(e))),n=this._attributeRefs?this._attributeRefs:this._assetIds;if(!this._subscriptionIds||!w(i,n))return void e.getEventProvider().unsubscribe(t);this._subscriptionIds.push(t)}const o=yield e.getEventProvider().subscribeAttributeEvents(i,t,(e=>this._onEvent(e))),r=this._attributeRefs?this._attributeRefs:this._assetIds;if(!this._subscriptionIds||!w(i,r))return void e.getEventProvider().unsubscribe(o);this._subscriptionIds.push(o)}}))}_removeEventSubscriptions(){this._subscriptionIds&&(this._subscriptionIds.forEach((t=>{e.getEventProvider().unsubscribe(t)})),this._subscriptionIds=void 0)}_refreshEventSubscriptions(){this._removeEventSubscriptions(),this._addEventSubscriptions()}set assetIds(e){w(this._assetIds,e)||(this._assetIds=e,this._refreshEventSubscriptions(),this.requestUpdate("assetIds"))}get assetIds(){return this._assetIds}set attributeRefs(e){w(this._attributeRefs,e)||(this._attributeRefs=e,this._refreshEventSubscriptions())}get attributeRefs(){return this._attributeRefs}_sendEvent(t){e.getEventProvider().sendEvent(t)}_sendEventWithReply(t){return e.getEventProvider().sendEventWithReply(t)}onEventsConnect(){}onEventsDisconnect(){}_onEvent(e){}},Gt="#4d9d2a",Kt="#FFFFFF",Xt="#F9F9F9",Jt="#CCCCCC",Qt="#FFFFFF",Zt="#4c4c4c";var en,tn,nn=function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))};!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"}(en||(en={})),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"}(tn||(tn={}));class on{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(){const e=new Map;return this._keycloak?this._keycloak.resourceAccess&&this._config.clientId&&this._keycloak.resourceAccess&&Object.entries(this._keycloak.resourceAccess).forEach((([t,n])=>{const i=n.roles;e.set(t,i)})):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?void 0:e.managerUrl}get keycloakUrl(){var e;return null===(e=this._config)||void 0===e?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 bt}get language(){return o.cp.language}set language(e){console.debug(`Changing language to ${e}.`),e&&(o.cp.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(tn.DISPLAY_REALM_CHANGED))}get clientId(){return this._config.clientId||"openremote"}getEventProvider(){return this.events}get mapType(){return this._config.mapType||"VECTOR"}isManagerSameOrigin(){if(!this.ready)return!1;const e=new URL(this._config.managerUrl),t=window.location;return e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}addListener(e){this._listeners.indexOf(e)<0&&this._listeners.push(e)}removeListener(e){const t=this._listeners.indexOf(e);t>=0&&this._listeners.splice(t,1)}init(e){return nn(this,void 0,void 0,(function*(){this._config&&console.debug("Already initialised"),this._config=function(e){const 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"),t}(e);let t=yield this.loadManagerInfo();const n=new ke(this._config.realm,this._config.consoleAutoEnable,(()=>{this._emitEvent(tn.CONSOLE_READY)}));if(this._console=n,"BASIC"===this._config.auth)t=(yield this.doTranslateInit())&&t,t=yield this.doAuthInit();else if("KEYCLOAK"===this._config.auth){if(!this._config.keycloakUrl&&this._authServerUrl){const e=new URL(this._config.managerUrl);let t;this._authServerUrl.startsWith("//")&&(this._authServerUrl=e.protocol+this._authServerUrl);try{t=new URL(this._authServerUrl)}catch(n){t=new URL(e),t.pathname=this._authServerUrl}t.protocol||(t.protocol=e.protocol),t.hostname||(t.hostname=e.hostname),t.port||(t.port=e.port),this._config.keycloakUrl=t.toString()}this._config.keycloakUrl||(this._config.keycloakUrl=this._config.managerUrl+"/auth"),this._config.keycloakUrl=this._config.keycloakUrl.replace(/\/+$/,""),t=yield this.doAuthInit(),t||this._config.skipFallbackToBasicAuth||(console.debug("Falling back to basic auth"),this._config.auth="BASIC",t=yield this.doAuthInit())}return!!t&&(t&&(t=this.doRestApiInit()),(yield this.doConsoleInit())&&this._clearWebHistory(),t=(yield this.doTranslateInit())&&t,t&&(t=yield this.doDescriptorsInit(),t=yield this.getConsoleAppConfig()),this.doIconInit(),t?(this._readyCallback&&(yield this._readyCallback()),this._ready=!0,this._emitEvent(tn.READY)):(this._config=void 0,console.warn("Failed to initialise the manager")),this.displayRealm=e.realm||"master",t)}))}loadManagerInfo(){return nn(this,void 0,void 0,(function*(){try{const e=yield new Promise(((e,t)=>{const n=new XMLHttpRequest;n.addEventListener("load",(()=>{e(JSON.parse(n.responseText))})),n.addEventListener("error",(()=>{t(new Error("Failed to contact the manager"))})),n.open("GET",this._config.managerUrl+"/api/master/info"),n.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(en.MANAGER_FAILED_TO_LOAD),!1}}))}doTranslateInit(){return nn(this,void 0,void 0,(function*(){if(o.cp.isInitialized)return!0;o.cp.on("initialized",(e=>{this._emitEvent(tn.TRANSLATE_INIT)})),o.cp.on("languageChanged",(e=>{d().locale(e),this._emitEvent(tn.TRANSLATE_LANGUAGE_CHANGED)}));const 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,n)=>"uppercase"===t?e.toUpperCase():e instanceof Date?d()(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.cp.use(Ht).init(e)}catch(e){return console.error(e),this._setError(en.TRANSLATION_ERROR),!1}return!0}))}doDescriptorsInit(){return nn(this,void 0,void 0,(function*(){if(!this.config.loadDescriptors)return!0;try{const e=yield bt.api.AssetModelResource.getAssetInfos(),t=yield bt.api.AssetModelResource.getMetaItemDescriptors(),n=yield bt.api.AssetModelResource.getValueDescriptors();s.S8._assetTypeInfos=e.data,s.S8._metaItemDescriptors=Object.values(t.data),s.S8._valueDescriptors=Object.values(n.data)}catch(e){return console.error(e),!1}return!0}))}doAuthInit(){return nn(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(en.AUTH_TYPE_UNSUPPORTED),!1}return!!e&&(bt.addRequestInterceptor((e=>{if(!e.headers.Authorization){const t=this.getAuthorizationHeader();t&&(e.headers.Authorization=t)}return e})),e)}))}doRestApiInit(){return bt.setTimeout(2e4),bt.initialise(this.getApiBaseUrl()),!0}doEventsSubscriptionInit(){return nn(this,void 0,void 0,(function*(){let e=!1;return"WEBSOCKET"===this._config.eventProviderType&&(this._events=new Ft(this._config.managerUrl),this._events.subscribeStatusChange((e=>this._onEventProviderStatusChanged(e))),e=yield this._events.connect()),e||this._setError(en.EVENTS_CONNECTION_ERROR),e}))}_connectEvents(){var e;(null===(e=this.events)||void 0===e?void 0:e.status)===_t.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 _t.DISCONNECTED:this._onDisconnect();break;case _t.CONNECTED:break;case _t.CONNECTING:this._emitEvent(tn.CONNECTING)}}doConsoleInit(){return nn(this,void 0,void 0,(function*(){try{return yield this.console.initialise(),this._emitEvent(tn.CONSOLE_INIT),!0}catch(e){return this._setError(en.CONSOLE_ERROR),!1}}))}doIconInit(){this._config.loadIcons&&(jt.UH.addIconSet("mdi",(0,jt.SI)(rn.managerUrl)),jt.UH.addIconSet("or",(0,jt.Ql)(jt.Ar.size,jt.Ar.icons)))}getConsoleAppConfig(){var e;return nn(this,void 0,void 0,(function*(){try{const t=yield fetch((null!==(e=rn.managerUrl)&&void 0!==e?e:"")+"/consoleappconfig/"+rn.displayRealm+".json");return this._consoleAppConfig=yield t.json(),!0}catch(e){return!0}}))}getConsolePreferredLanguage(e=this.console){return nn(this,void 0,void 0,(function*(){return e.retrieveData("LANGUAGE")}))}getUserPreferredLanguage(e=this._keycloak){return nn(this,void 0,void 0,(function*(){if(e&&e.authenticated){const t=(null==e?void 0:e.profile)||(yield null==e?void 0:e.loadUserProfile());if(null==t?void 0:t.attributes){const e=new Map(Object.entries(t.attributes));if(e.has("locale")){const 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,t=this.rest){return nn(this,void 0,void 0,(function*(){this.authenticated?t?yield t.api.UserResource.updateCurrentUserLocale(e,{headers:{"Content-Type":"application/json"}}):console.warn("Tried updating user language, but the REST API is not initialized yet."):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){const 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 nn(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(){var e,t,n,i;return nn(this,void 0,void 0,(function*(){if(!this.config.basicLoginProvider)return;let o={username:(null===(e=this.config.credentials)||void 0===e?void 0:e.username)?null===(t=this.config.credentials)||void 0===t?void 0:t.username:"",password:(null===(n=this.config.credentials)||void 0===n?void 0:n.password)?null===(i=this.config.credentials)||void 0===i?void 0:i.password:"",cancel:!1},r=!1;for(this._basicIdentity={roles:void 0,token:void 0,user:void 0};!r;){if(o=yield this.config.basicLoginProvider(o.username,o.password),o.cancel){console.debug("Basic authentication cancelled by user");break}if(!o.username||!o.password)continue;this._basicIdentity.token=btoa(o.username+":"+o.password);let e=!1;try{const t=yield bt.api.UserResource.getCurrent();200===t.status&&(e=!0,this._basicIdentity.user=t.data),e||401!==t.status&&403!==t.status||console.debug("Basic authentication invalid credentials, trying again")}catch(e){console.error("Basic auth failed: ",e)}if(!e){console.debug("Unknown response so aborting"),this._basicIdentity=void 0;break}{console.debug("Basic authentication successful"),r=!0;const e=yield bt.api.UserResource.getCurrentUserClientRoles(this.clientId);this._basicIdentity.roles=e.data}}r&&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+"/",e}getAppName(){const 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){const n=this.roles;return n&&n.has(t)&&n.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(){var e,t,n,i;return nn(this,void 0,void 0,(function*(){try{this._keycloak=new $t({clientId:this._config.clientId,realm:this._config.realm,url:this._config.keycloakUrl});const o=yield this._getNativeOfflineRefreshToken();let 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?void 0:e.name,this._username=null===(t=this._keycloak.tokenParsed)||void 0===t?void 0:t.preferred_username,this._createTokenUpdateInterval(),this.isMobile()&&"Offline"===(null===(i=null===(n=this._keycloak)||void 0===n?void 0:n.refreshTokenParsed)||void 0===i?void 0:i.typ)&&(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(en.AUTH_FAILED),console.error("Failed to initialise Keycloak: "+e),!1}}))}_createTokenUpdateInterval(){this._keycloakUpdateTokenInterval||(this._keycloakUpdateTokenInterval=window.setInterval((()=>nn(this,void 0,void 0,(function*(){yield this._updateKeycloakAccessToken().catch((()=>{console.debug("Keycloak failed to refresh the access token"),this._onDisconnect()}))}))),1e4))}_updateKeycloakAccessToken(){return nn(this,void 0,void 0,(function*(){const e=yield this._keycloak.updateToken(20);return console.debug("Access token update success, refreshed from server: "+e),e&&this._onAuthenticated(),e}))}_getNativeOfflineRefreshToken(){return nn(this,void 0,void 0,(function*(){if(this.isMobile())return yield this.console.retrieveData("REFRESH_TOKEN")}))}_emitEvent(e){window.setTimeout((()=>{const t=this._listeners;for(const n of t)n(e)}),0)}_setError(e){this._error=e,this._emitEvent(tn.ERROR),console.warn("Error set: "+e)}_clearWebHistory(){var e;null===(e=this.console)||void 0===e||e._doSendGenericMessage("CLEAR_WEB_HISTORY",void 0)}_onDisconnect(){return nn(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(tn.OFFLINE),this.reconnect())}))}_onReconnected(){console.debug("Reconnected"),this._disconnected=!1,this._createTokenUpdateInterval(),this._emitEvent(tn.ONLINE)}reconnect(e=3e3){return nn(this,void 0,void 0,(function*(){if(!this._disconnected)return;this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=void 0);const t=yield(()=>nn(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(e){const t=yield this._getNativeOfflineRefreshToken();this._keycloak.refreshToken=t;try{yield this._updateKeycloakAccessToken()}catch(e){return console.debug("Cannot update access token so sending to login"),void this.login()}return console.debug("Keycloak access token is valid"),!0}const t=this.events&&this.events.status===_t.CONNECTING;return console.debug("If event provider offline then attempting reconnect: offline="+t),!t||(yield null===(e=this.events)||void 0===e?void 0:e.connect())})))();return void 0!==t?t?void this._onReconnected():(e=Math.min(on.MAX_RECONNECT_DELAY,e+3e3),console.debug("Scheduling another reconnect attempt in (ms): "+e),void(this._reconnectTimer=window.setTimeout((()=>this.reconnect(e)),e))):void 0}))}isKeycloakReachable(e=2e3){return nn(this,void 0,void 0,(function*(){const t=new AbortController,n=setTimeout((()=>t.abort()),e);try{const e=this._keycloak.endpoints.token();return 200===(yield fetch(e,{method:"OPTIONS",signal:t.signal})).status}catch(e){return!1}finally{clearTimeout(n)}}))}}on.MAX_RECONNECT_DELAY=45e3;const rn=new on,an=rn},8416:(e,t,n)=>{"use strict";var i,o,r,a,s,c,d,l,m,u,f,p,h,b,_,g,y,v,F,k,w,E,x,A,T,L,M,C,D,S,O,I,Y,R,P,N,B,H,j,U,z,W,$,q,V,G,K,X,J,Q,Z,ee,te,ne,ie,oe,re,ae,se,ce,de,le,me,ue;n.d(t,{S8:()=>fe}),(o=i||(i={})).CREATE="CREATE",o.UPDATE="UPDATE",o.DELETE="DELETE",function(e){e.LOW="LOW",e.MEDIUM="MEDIUM",e.HIGH="HIGH"}(r||(r={})),function(e){e.MANUAL="MANUAL",e.CLIENT="CLIENT",e.GLOBAL_RULESET="GLOBAL_RULESET",e.REALM_RULESET="REALM_RULESET",e.ASSET_RULESET="ASSET_RULESET",e.AGENT="AGENT"}(a||(a={})),function(e){e.OPEN="OPEN",e.ACKNOWLEDGED="ACKNOWLEDGED",e.IN_PROGRESS="IN_PROGRESS",e.RESOLVED="RESOLVED",e.CLOSED="CLOSED"}(s||(s={})),function(e){e.BOTTOM_LEFT="BOTTOM_LEFT",e.BOTTOM_RIGHT="BOTTOM_RIGHT",e.TOP_LEFT="TOP_LEFT",e.TOP_RIGHT="TOP_RIGHT"}(c||(c={})),function(e){e.CREATE="CREATE",e.READ="READ",e.UPDATE="UPDATE",e.DELETE="DELETE"}(d||(d={})),function(e){e.NONE="NONE",e.FORECAST="FORECAST",e.SETPOINT="SETPOINT"}(l||(l={})),function(e){e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.DISCONNECTING="DISCONNECTING",e.CONNECTED="CONNECTED",e.DISABLED="DISABLED",e.WAITING="WAITING",e.ERROR="ERROR",e.STOPPED="STOPPED"}(m||(m={})),function(e){e.EV="EV",e.PHEV="PHEV"}(u||(u={})),function(e){e.YAZAKI="YAZAKI",e.MENNEKES="MENNEKES",e.LE_GRAND="LE_GRAND",e.CHADEMO="CHADEMO",e.COMBO="COMBO",e.SCHUKO="SCHUKO",e.ENERGYLOCK="ENERGYLOCK"}(f||(f={})),function(e){e.SOUTH="SOUTH",e.EAST_WEST="EAST_WEST"}(p||(p={})),function(e){e.REQUEST_START="REQUEST_START",e.REQUEST_REPEATING="REQUEST_REPEATING",e.REQUEST_CANCEL="REQUEST_CANCEL",e.READY="READY",e.COMPLETED="COMPLETED",e.RUNNING="RUNNING",e.CANCELLED="CANCELLED"}(h||(h={})),function(e){e.TOGGLE="TOGGLE",e.INCREMENT="INCREMENT",e.DECREMENT="DECREMENT",e.NEGATE="NEGATE"}(b||(b={})),function(e){e.ASSET_NOT_FOUND="ASSET_NOT_FOUND",e.ATTRIBUTE_NOT_FOUND="ATTRIBUTE_NOT_FOUND",e.INSUFFICIENT_ACCESS="INSUFFICIENT_ACCESS",e.INVALID_VALUE="INVALID_VALUE",e.INTERCEPTOR_FAILURE="INTERCEPTOR_FAILURE",e.STATE_STORAGE_FAILED="STATE_STORAGE_FAILED",e.CANNOT_PROCESS="CANNOT_PROCESS",e.QUEUE_FULL="QUEUE_FULL",e.UNKNOWN="UNKNOWN",e.ASSET_ID_MISSING="ASSET_ID_MISSING",e.ATTRIBUTE_NAME_MISSING="ATTRIBUTE_NAME_MISSING"}(_||(_={})),function(e){e.PUBLIC="PUBLIC",e.SHARED="SHARED",e.PRIVATE="PRIVATE"}(g||(g={})),function(e){e.OFF="OFF",e.ONE_MIN="ONE_MIN",e.FIVE_MIN="FIVE_MIN",e.QUARTER="QUARTER",e.ONE_HOUR="ONE_HOUR"}(y||(y={})),function(e){e.WRAP_TO_SINGLE_COLUMN="WRAP_TO_SINGLE_COLUMN",e.KEEP_LAYOUT="KEEP_LAYOUT",e.REDIRECT="REDIRECT",e.BLOCK_DEVICE="BLOCK_DEVICE"}(v||(v={})),function(e){e.MINUTE="MINUTE",e.HOUR="HOUR",e.DAY="DAY",e.WEEK="WEEK",e.MONTH="MONTH",e.YEAR="YEAR"}(F||(F={})),function(e){e.MIN="MIN",e.AVG="AVG",e.MAX="MAX"}(k||(k={})),function(e){e.TERMINATING="TERMINATING",e.DISABLED="DISABLED",e.ALREADY_CONNECTED="ALREADY_CONNECTED",e.UNRECOGNISED="UNRECOGNISED",e.PERMANENT_ERROR="PERMANENT_ERROR",e.SYNC_ERROR="SYNC_ERROR"}(w||(w={})),function(e){e.HTTPS="HTTPS",e.HTTP="HTTP",e.TCP="TCP"}(E||(E={})),function(e){e.GET="GET",e.POST="POST",e.PUT="PUT",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.PATCH="PATCH"}(x||(x={})),function(e){e.KEYCLOAK="KEYCLOAK",e.BASIC="BASIC",e.NONE="NONE"}(A||(A={})),function(e){e.WEBSOCKET="WEBSOCKET",e.POLLING="POLLING"}(T||(T={})),function(e){e.VECTOR="VECTOR",e.RASTER="RASTER"}(L||(L={})),function(e){e.INTERNAL="INTERNAL",e.CLIENT="CLIENT",e.GLOBAL_RULESET="GLOBAL_RULESET",e.REALM_RULESET="REALM_RULESET",e.ASSET_RULESET="ASSET_RULESET"}(M||(M={})),function(e){e.REALM="REALM",e.USER="USER",e.ASSET="ASSET",e.CUSTOM="CUSTOM"}(C||(C={})),function(e){e.NORMAL="NORMAL",e.HIGH="HIGH"}(D||(D={})),function(e){e.DEVICE="DEVICE",e.TOPIC="TOPIC",e.CONDITION="CONDITION"}(S||(S={})),function(e){e.ALWAYS="ALWAYS",e.ONCE="ONCE",e.HOURLY="HOURLY",e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.ANNUALLY="ANNUALLY"}(O||(O={})),function(e){e.MESSAGE_INVALID="MESSAGE_INVALID",e.CERTIFICATE_INVALID="CERTIFICATE_INVALID",e.UNAUTHORIZED="UNAUTHORIZED",e.FORBIDDEN="FORBIDDEN",e.UNIQUE_ID_MISMATCH="UNIQUE_ID_MISMATCH",e.CONFIG_DISABLED="CONFIG_DISABLED",e.USER_DISABLED="USER_DISABLED",e.SERVER_ERROR="SERVER_ERROR",e.ASSET_ERROR="ASSET_ERROR",e.SERVER_BUSY="SERVER_BUSY"}(I||(I={})),function(e){e.PRIVATE="PRIVATE",e.PROTECTED="PROTECTED",e.PUBLIC="PUBLIC"}(Y||(Y={})),function(e){e.EXACT="EXACT",e.BEGIN="BEGIN",e.END="END",e.CONTAINS="CONTAINS"}(R||(R={})),function(e){e.EQUALS="EQUALS",e.GREATER_THAN="GREATER_THAN",e.GREATER_EQUALS="GREATER_EQUALS",e.LESS_THAN="LESS_THAN",e.LESS_EQUALS="LESS_EQUALS",e.BETWEEN="BETWEEN"}(P||(P={})),function(e){e.CREATED_ON="CREATED_ON",e.NAME="NAME",e.ASSET_TYPE="ASSET_TYPE",e.PARENT_ID="PARENT_ID",e.REALM="REALM"}(N||(N={})),function(e){e.RESTRICTED="RESTRICTED",e.LINKED="LINKED",e.REALM="REALM"}(B||(B={})),function(e){e.AT_LEAST_ONE="AT_LEAST_ONE",e.ALL="ALL",e.NONE="NONE"}(H||(H={})),function(e){e.AND="AND",e.OR="OR"}(j||(j={})),function(e){e.CREATED_ON="CREATED_ON",e.FIRST_NAME="FIRST_NAME",e.LAST_NAME="LAST_NAME",e.USERNAME="USERNAME",e.EMAIL="EMAIL"}(U||(U={})),function(e){e.STOPPED="STOPPED",e.RUNNING="RUNNING",e.ERROR="ERROR"}(z||(z={})),function(e){e.JAVASCRIPT="JAVASCRIPT",e.GROOVY="GROOVY",e.JSON="JSON",e.FLOW="FLOW"}(W||(W={})),function(e){e.READY="READY",e.DEPLOYED="DEPLOYED",e.COMPILATION_ERROR="COMPILATION_ERROR",e.VALIDITY_PERIOD_ERROR="VALIDITY_PERIOD_ERROR",e.EXECUTION_ERROR="EXECUTION_ERROR",e.LOOP_ERROR="LOOP_ERROR",e.DISABLED="DISABLED",e.PAUSED="PAUSED",e.EXPIRED="EXPIRED",e.REMOVED="REMOVED",e.EMPTY="EMPTY"}($||($={})),function(e){e.SUNRISE="SUNRISE",e.SUNSET="SUNSET",e.TWILIGHT_MORNING_VISUAL="TWILIGHT_MORNING_VISUAL",e.TWILIGHT_MORNING_VISUAL_LOWER="TWILIGHT_MORNING_VISUAL_LOWER",e.TWILIGHT_MORNING_HORIZON="TWILIGHT_MORNING_HORIZON",e.TWILIGHT_MORNING_CIVIL="TWILIGHT_MORNING_CIVIL",e.TWILIGHT_MORNING_NAUTICAL="TWILIGHT_MORNING_NAUTICAL",e.TWILIGHT_MORNING_ASTRONOMICAL="TWILIGHT_MORNING_ASTRONOMICAL",e.TWILIGHT_MORNING_GOLDEN_HOUR="TWILIGHT_MORNING_GOLDEN_HOUR",e.TWILIGHT_MORNING_BLUE_HOUR="TWILIGHT_MORNING_BLUE_HOUR",e.TWILIGHT_MORNING_NIGHT_HOUR="TWILIGHT_MORNING_NIGHT_HOUR",e.TWILIGHT_EVENING_VISUAL="TWILIGHT_EVENING_VISUAL",e.TWILIGHT_EVENING_VISUAL_LOWER="TWILIGHT_EVENING_VISUAL_LOWER",e.TWILIGHT_EVENING_HORIZON="TWILIGHT_EVENING_HORIZON",e.TWILIGHT_EVENING_CIVIL="TWILIGHT_EVENING_CIVIL",e.TWILIGHT_EVENING_NAUTICAL="TWILIGHT_EVENING_NAUTICAL",e.TWILIGHT_EVENING_ASTRONOMICAL="TWILIGHT_EVENING_ASTRONOMICAL",e.TWILIGHT_EVENING_GOLDEN_HOUR="TWILIGHT_EVENING_GOLDEN_HOUR",e.TWILIGHT_EVENING_BLUE_HOUR="TWILIGHT_EVENING_BLUE_HOUR",e.TWILIGHT_EVENING_NIGHT_HOUR="TWILIGHT_EVENING_NIGHT_HOUR"}(q||(q={})),function(e){e.NUMBER="NUMBER",e.NUMBER_ARRAY="NUMBER_ARRAY",e.STRING="STRING",e.BOOLEAN="BOOLEAN",e.TRIGGER="TRIGGER",e.COLOR="COLOR",e.ANY="ANY"}(V||(V={})),function(e){e.NEW_LINE="NEW_LINE",e.SPACER="SPACER"}(G||(G={})),function(e){e.INPUT="INPUT",e.PROCESSOR="PROCESSOR",e.OUTPUT="OUTPUT",e.THEN="THEN"}(K||(K={})),function(e){e.TEXT="TEXT",e.MULTILINE="MULTILINE",e.NUMBER="NUMBER",e.DROPDOWN="DROPDOWN",e.DOUBLE_DROPDOWN="DOUBLE_DROPDOWN",e.CHECKBOX="CHECKBOX",e.ASSET_ATTRIBUTE="ASSET_ATTRIBUTE",e.COLOR="COLOR",e.DATE="DATE"}(X||(X={})),function(e){e.ADD="ADD",e.ADD_OR_REPLACE="ADD_OR_REPLACE",e.REPLACE="REPLACE",e.DELETE="DELETE",e.CLEAR="CLEAR"}(J||(J={})),function(e){e.PER_ASSET="PER_ASSET",e.GLOBAL="GLOBAL"}(Q||(Q={})),function(e){e.READ_ADMIN="read:admin",e.READ_LOGS="read:logs",e.READ_USERS="read:users",e.READ_MAP="read:map",e.READ_ASSETS="read:assets",e.READ_RULES="read:rules",e.READ_INSIGHTS="read:insights",e.READ_ALARMS="read:alarms",e.WRITE_USER="write:user",e.WRITE_ADMIN="write:admin",e.WRITE_LOGS="write:logs",e.WRITE_ASSETS="write:assets",e.WRITE_ATTRIBUTES="write:attributes",e.WRITE_RULES="write:rules",e.WRITE_INSIGHTS="write:insights",e.WRITE_ALARMS="write:alarms",e.READ="read",e.WRITE="write"}(Z||(Z={})),function(e){e.ASSET="ASSET",e.AGENT="AGENT",e.NOTIFICATION="NOTIFICATION",e.ALARM="ALARM",e.RULES="RULES",e.PROTOCOL="PROTOCOL",e.GATEWAY="GATEWAY",e.MODEL_AND_VALUES="MODEL_AND_VALUES",e.API="API",e.DATA="DATA"}(ee||(ee={})),function(e){e.INFO="INFO",e.WARN="WARN",e.ERROR="ERROR"}(te||(te={})),function(e){e.NUMERIC="numeric",e.DIGIT_2="2-digit",e.FULL="full",e.LONG="long",e.MEDIUM="medium",e.SHORT="short",e.NARROW="narrow"}(ne||(ne={})),function(e){e.SECONDLY="SECONDLY",e.MINUTELY="MINUTELY",e.HOURLY="HOURLY",e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.YEARLY="YEARLY"}(ie||(ie={})),function(e){e.OMIT="OMIT",e.BACKWARD="BACKWARD",e.FORWARD="FORWARD"}(oe||(oe={})),function(e){e.JAPANESE="JAPANESE",e.BUDDHIST="BUDDHIST",e.ROC="ROC",e.ISLAMIC="ISLAMIC",e.ISO8601="ISO8601",e.CHINESE="CHINESE",e.ETHIOPIC="ETHIOPIC",e.HEBREW="HEBREW",e.GREGORIAN="GREGORIAN"}(re||(re={})),function(e){e.SU="SU",e.MO="MO",e.TU="TU",e.WE="WE",e.TH="TH",e.FR="FR",e.SA="SA"}(ae||(ae={})),function(e){e.PEOPLECOUNTERASSET="PeopleCounterAsset",e.STORAGESIMULATORAGENT="StorageSimulatorAgent",e.CITYASSET="CityAsset",e.ELECTRICITYCONSUMERASSET="ElectricityConsumerAsset",e.ELECTRICVEHICLEASSET="ElectricVehicleAsset",e.CONSOLEASSET="ConsoleAsset",e.PRESENCESENSORASSET="PresenceSensorAsset",e.LIGHTASSET="LightAsset",e.PLUGASSET="PlugAsset",e.ELECTRICITYCHARGERASSET="ElectricityChargerAsset",e.ELECTRICITYBATTERYASSET="ElectricityBatteryAsset",e.ELECTRICITYSUPPLIERASSET="ElectricitySupplierAsset",e.TCPAGENT="TCPAgent",e.SERIALAGENT="SerialAgent",e.BLUETOOTHMESHAGENT="BluetoothMeshAgent",e.SNMPAGENT="SNMPAgent",e.GROUPASSET="GroupAsset",e.BUILDINGASSET="BuildingAsset",e.ELECTRICITYPRODUCERWINDASSET="ElectricityProducerWindAsset",e.ENVIRONMENTSENSORASSET="EnvironmentSensorAsset",e.MQTTAGENT="MQTTAgent",e.MICROPHONEASSET="MicrophoneAsset",e.MODBUSTCPAGENT="ModbusTcpAgent",e.HTTPAGENT="HTTPAgent",e.DOORASSET="DoorAsset",e.ELECTRICITYPRODUCERASSET="ElectricityProducerAsset",e.MAILAGENT="MailAgent",e.UDPAGENT="UDPAgent",e.ROOMASSET="RoomAsset",e.VENTILATIONASSET="VentilationAsset",e.TRADFRILIGHTASSET="TradfriLightAsset",e.KNXAGENT="KNXAgent",e.WEATHERASSET="WeatherAsset",e.THINGASSET="ThingAsset",e.WEBSOCKETAGENT="WebsocketAgent",e.GATEWAYASSET="GatewayAsset",e.PARKINGASSET="ParkingAsset",e.TRADFRIPLUGASSET="TradfriPlugAsset",e.SIMULATORAGENT="SimulatorAgent",e.MODBUSSERIALAGENT="ModbusSerialAgent",e.ELECTRICVEHICLEFLEETGROUPASSET="ElectricVehicleFleetGroupAsset",e.VELBUSTCPAGENT="VelbusTCPAgent",e.ARTNETLIGHTASSET="ArtnetLightAsset",e.VELBUSSERIALAGENT="VelbusSerialAgent",e.GROUNDWATERSENSORASSET="GroundwaterSensorAsset",e.ELECTRICITYPRODUCERSOLARASSET="ElectricityProducerSolarAsset",e.ENERGYOPTIMISATIONASSET="EnergyOptimisationAsset",e.ZWAVEAGENT="ZWaveAgent",e.THERMOSTATASSET="ThermostatAsset",e.SHIPASSET="ShipAsset"}(se||(se={})),function(e){e.SUPPORTSEXPORT="supportsExport",e.ENERGYSELFCONSUMPTION="energySelfConsumption",e.LASTACCESS="lastAccess",e.CHARGERID="chargerID",e.POSITION="position",e.CARBONSAVING="carbonSaving",e.ROUTINGMODE="routingMode",e.LASTWILLRETAIN="lastWillRetain",e.LASTWILLTOPIC="lastWillTopic",e.SERIALBAUDRATE="serialBaudrate",e.BASEURL="baseURL",e.REQUIREDVALUES="requiredValues",e.FINANCIALSAVING="financialSaving",e.FLEETCATEGORY="fleetCategory",e.GATEWAYSTATUS="gatewayStatus",e.NO2LEVEL="NO2Level",e.TAGS="tags",e.UNLOCK="unlock",e.MILEAGEMIN="mileageMin",e.CHECKINTERVALSECONDS="checkIntervalSeconds",e.LOCATION="location",e.CLIENTSECRET="clientSecret",e.WINDDIRECTION="windDirection",e.WINDSPEED="windSpeed",e.PARTICLESPM10="particlesPM10",e.APPLICATIONKEY="applicationKey",e.POWEREXPORTMAX="powerExportMax",e.SETWINDACTUALVALUEWITHFORECAST="setWindActualValueWithForecast",e.WATERLEVEL="waterLevel",e.CONSOLENAME="consoleName",e.CONNECTHEADERS="connectHeaders",e.WEBSOCKETQUERY="websocketQuery",e.PREFERHTML="preferHTML",e.COOLING="cooling",e.POLLINGMILLIS="pollingMillis",e.SOILTEMPERATURE="soilTemperature",e.SUNIRRADIANCE="sunIrradiance",e.ODOMETER="odometer",e.SUPPORTSIMPORT="supportsImport",e.MESSAGEMAXLENGTH="messageMaxLength",e.ENERGYLEVELPERCENTAGEMIN="energyLevelPercentageMin",e.LIGHTID="lightId",e.POWER="power",e.STREET="street",e.DELETEPROCESSEDMAIL="deleteProcessedMail",e.WINDSPEEDMIN="windSpeedMin",e.POWERSETPOINT="powerSetpoint",e.PRESENCE="presence",e.SPACESOCCUPIED="spacesOccupied",e.STARTTLS="startTLS",e.AGENTSTATUS="agentStatus",e.MESSAGECHARSET="messageCharset",e.CERTIFICATEALIAS="certificateAlias",e.PANELPITCH="panelPitch",e.EMAIL="email",e.BINDPORT="bindPort",e.PARTICLESPM1="particlesPM1",e.SPEED="speed",e.ENERGYLEVELPERCENTAGEMAX="energyLevelPercentageMax",e.MESSAGESTRIPDELIMITER="messageStripDelimiter",e.AREA="area",e.COUNTRY="country",e.SHIPTYPE="shipType",e.CONNECTSUBSCRIPTIONS="connectSubscriptions",e.RELATIVEHUMIDITY="relativeHumidity",e.INCLUDEFORECASTWINDSERVICE="includeForecastWindService",e.SOURCEADDRESS="sourceAddress",e.RAINFALL="rainfall",e.ENERGYIMPORTTOTAL="energyImportTotal",e.OAUTHGRANT="oAuthGrant",e.OZONELEVEL="ozoneLevel",e.COUNTINMINUTE="countInMinute",e.PORT="port",e.TUNNELINGSUPPORTED="tunnelingSupported",e.ENINUMBER="ENINumber",e.AGENTDISABLED="agentDisabled",e.DISABLED="disabled",e.FORCECHARGE="forceCharge",e.TIMEINJECTIONINTERVAL="timeInjectionInterval",e.FINANCIALWEIGHTING="financialWeighting",e.ENERGYLEVELPERCENTAGE="energyLevelPercentage",e.SPACESBUFFER="spacesBuffer",e.VEHICLECATEGORY="vehicleCategory",e.FANSPEED="fanSpeed",e.FINANCIALCOST="financialCost",e.NOTES="notes",e.MAILFOLDERNAME="mailFolderName",e.TEMPERATURE="temperature",e.AVAILABLECHARGINGSPACES="availableChargingSpaces",e.ENERGYCAPACITY="energyCapacity",e.POWERIMPORTMIN="powerImportMin",e.INTERVALSIZE="intervalSize",e.SNMPVERSIONVALUE="SNMPVersionValue",e.SOUNDLEVEL="soundLevel",e.UNITID="unitId",e.STOPBITS="stopBits",e.CONNECTURL="connectURL",e.CLIENTID="clientId",e.VEHICLEID="vehicleID",e.SUNAZIMUTH="sunAzimuth",e.AVAILABLEDISCHARGINGSPACES="availableDischargingSpaces",e.WEBSOCKETMODE="websocketMode",e.COLOURTEMPERATURE="colourTemperature",e.VEHICLECONNECTED="vehicleConnected",e.DATABITS="dataBits",e.MILEAGEMINIMUM="mileageMinimum",e.COLOURRGB="colourRGB",e.CARBONIMPORT="carbonImport",e.PRICEHOURLY="priceHourly",e.WINDSPEEDMAX="windSpeedMax",e.PINGDISABLED="pingDisabled",e.FLOW="flow",e.CHILDASSETTYPE="childAssetType",e.NETWORKKEY="networkKey",e.UNIVERSE="universe",e.MSSINUMBER="MSSINumber",e.SUBSCRIBEQOS="subscribeQos",e.LEDCOUNT="lEDCount",e.LOCKED="locked",e.PROTOCOL="protocol",e.TARIFFIMPORT="tariffImport",e.ENERGYRENEWABLESHARE="energyRenewableShare",e.REGION="region",e.CONSOLEPLATFORM="consolePlatform",e.POWEREXPORTMIN="powerExportMin",e.EFFICIENCYEXPORT="efficiencyExport",e.CHARGECYCLES="chargeCycles",e.SERIALPORT="serialPort",e.PANELORIENTATION="panelOrientation",e.LENGTH="length",e.USERNAMEPASSWORD="usernamePassword",e.POWERFORECAST="powerForecast",e.SETACTUALSOLARVALUEWITHFORECAST="setActualSolarValueWithForecast",e.REQUESTQUERYPARAMETERS="requestQueryParameters",e.PROXYADDRESS="proxyAddress",e.ENERGYLOCAL="energyLocal",e.ENERGYAUTARKY="energyAutarky",e.MODEL="model",e.MANUFACTURER="manufacturer",e.ONOFF="onOff",e.RESUMESESSION="resumeSession",e.TARIFFEXPORT="tariffExport",e.CITY="city",e.CONNECTORTYPE="connectorType",e.ENERGYEXPORTTOTAL="energyExportTotal",e.CARBONEXPORT="carbonExport",e.REQUESTTIMEOUTMILLIS="requestTimeoutMillis",e.ENERGYLEVEL="energyLevel",e.OPTIMISATIONDISABLED="optimisationDisabled",e.WEBSOCKETPATH="websocketPath",e.WINDSPEEDREFERENCE="windSpeedReference",e.PRICEDAILY="priceDaily",e.COUNTGROWTHMINUTE="countGrowthMinute",e.IMONUMBER="IMONumber",e.INCLUDEFORECASTSOLARSERVICE="includeForecastSolarService",e.REQUESTHEADERS="requestHeaders",e.HOST="host",e.COUNTOUTMINUTE="countOutMinute",e.ENERGYTYPE="energyType",e.CONSOLEVERSION="consoleVersion",e.MTU="mtu",e.PANELAZIMUTH="panelAzimuth",e.SEQUENCENUMBER="sequenceNumber",e.SUNALTITUDE="sunAltitude",e.COUNTOUT="countOut",e.CHARGERCONNECTED="chargerConnected",e.ROOMNUMBER="roomNumber",e.PARTICLESPM2_5="particlesPM2_5",e.MESSAGESOURCEADDRESS="messageSourceAddress",e.COUNTIN="countIn",e.MILEAGECHARGED="mileageCharged",e.TEMPERATURESETPOINT="temperatureSetpoint",e.CONSOLEPROVIDERS="consoleProviders",e.POWERIMPORTMAX="powerImportMax",e.COUNTTOTAL="countTotal",e.SPACESTOTAL="spacesTotal",e.BINDHOST="bindHost",e.MESSAGECONVERTBINARY="messageConvertBinary",e.MESSAGEDELIMITERS="messageDelimiters",e.EFFICIENCYIMPORT="efficiencyImport",e.SUNZENITH="sunZenith",e.BRIGHTNESS="brightness",e.POSTALCODE="postalCode",e.SPACESOPEN="spacesOpen",e.HUMIDITY="humidity",e.SECUREMODE="secureMode",e.MILEAGECAPACITY="mileageCapacity",e.DIRECTION="direction",e.ENERGYLEVELSCHEDULE="energyLevelSchedule",e.UVINDEX="uVIndex",e.NATMODE="NATMode",e.UPDATEONWRITE="updateOnWrite",e.LASTWILLPAYLOAD="lastWillPayload",e.GROUPID="groupId",e.FOLLOWREDIRECTS="followRedirects",e.CARBONCOST="carbonCost",e.MESSAGECONVERTHEX="messageConvertHex",e.PUBLISHQOS="publishQos"}(ce||(ce={})),function(e){e.FORMAT="format",e.RULESTATE="ruleState",e.HASPREDICTEDDATAPOINTS="hasPredictedDataPoints",e.STOREDATAPOINTS="storeDataPoints",e.LABEL="label",e.CONSTRAINTS="constraints",e.SHOWONDASHBOARD="showOnDashboard",e.READONLY="readOnly",e.MULTILINE="multiline",e.ACCESSPUBLICWRITE="accessPublicWrite",e.MOMENTARY="momentary",e.AGENTLINK="agentLink",e.ACCESSRESTRICTEDREAD="accessRestrictedRead",e.DATAPOINTSMAXAGEDAYS="dataPointsMaxAgeDays",e.ACCESSRESTRICTEDWRITE="accessRestrictedWrite",e.SECRET="secret",e.ATTRIBUTELINKS="attributeLinks",e.RULERESETIMMEDIATE="ruleResetImmediate",e.FORECAST="forecast",e.UNITS="units",e.USERCONNECTED="userConnected",e.ACCESSPUBLICREAD="accessPublicRead"}(de||(de={})),function(e){e.WSURL="WS_URL",e.POSITIVENUMBER="positiveNumber",e.VALUEDESCRIPTOR="valueDescriptor",e.LONG="long",e.BOOLEANMAP="booleanMap",e.MQTTQOS="MQTTQos",e.GEOJSONPOINT="GEO_JSONPoint",e.SNMPVERSION="SNMPVersion",e.ASSETTYPE="assetType",e.JSONOBJECT="JSONObject",e.BIGNUMBER="bigNumber",e.IPADDRESS="IPAddress",e.EMAIL="email",e.KNXMESSAGESOURCEADDRESS="kNXMessageSourceAddress",e.ATTRIBUTEREFERENCE="attributeReference",e.INTEGER="integer",e.OAUTHGRANT="oAuthGrant",e.NUMBER="number",e.TEXTMAP="textMap",e.WEBSOCKETSUBSCRIPTION="websocketSubscription",e.BOOLEAN="boolean",e.TIMEANDPERIODDURATIONISO8601="timeAndPeriodDurationISO8601",e.TIMESTAMPISO8601="timestampISO8601",e.MULTIVALUEDTEXTMAP="multivaluedTextMap",e.JSON="JSON",e.INTEGERBYTE="integerByte",e.AGENTLINK="agentLink",e.CALENDAREVENT="calendarEvent",e.CONNECTIONSTATUS="connectionStatus",e.VALUECONSTRAINT="valueConstraint",e.ASSETQUERY="assetQuery",e.COLOURRGB="colourRGB",e.VALUEFORMAT="valueFormat",e.TEXT="text",e.BYTE="byte",e.USERNAMEANDPASSWORD="usernameAndPassword",e.HTTPURL="HTTP_URL",e.ATTRIBUTELINK="attributeLink",e.ASSETID="assetID",e.NUMBERMAP="numberMap",e.HTTPMETHOD="HTTPMethod",e.PANELORIENTATION="panelOrientation",e.ATTRIBUTESTATE="attributeState",e.POSITIVEINTEGER="positiveInteger",e.EXECUTIONSTATUS="executionStatus",e.BIGINTEGER="bigInteger",e.PERIODDURATIONISO8601="periodDurationISO8601",e.DATEANDTIME="dateAndTime",e.CONNECTORTYPE="connectorType",e.NEGATIVEINTEGER="negativeInteger",e.TCPIPPORTNUMBER="TCP_IPPortNumber",e.INTEGERMAP="integerMap",e.ENERGYTYPE="energyType",e.TIMESTAMP="timestamp",e.UUID="UUID",e.FORECASTCONFIGURATION="forecastConfiguration",e.TIMEDURATIONISO8601="timeDurationISO8601",e.CONSOLEPROVIDERS="consoleProviders",e.NEGATIVENUMBER="negativeNumber",e.CRONEXPRESSION="CRONExpression",e.DIRECTION="direction",e.HOSTORIPADDRESS="hostOrIPAddress"}(le||(le={})),function(e){e.MONTH="month",e.MILE_SCANDINAVIAN="mile_scandinavian",e.YEAR="year",e.VOLT="volt",e.HERTZ="hertz",e.MILE="mile",e.BTU="btu",e.FOOT="foot",e.MEGA="mega",e.INCH="inch",e.IN_HG="inch_mercury",e.CENTI="centi",e.GRAM="gram",e.KNOT="knot",e.METRE="metre",e.LITRE="litre",e.FLUID_OUNCE="fluid_ounce",e.CELSIUS="celsius",e.DECIBEL="decibel",e.FAHRENHEIT="fahrenheit",e.WATT="watt",e.PEAK="peak",e.MICRO="micro",e.PER="per",e.STONE="stone",e.VAR="var",e.OUNCE="ounce",e.HECTARE="hectare",e.YARD="yard",e.JOULE="joule",e.DEGREE="degree",e.KILO="kilo",e.KELVIN="kelvin",e.CARBON="carbon",e.DECIBEL_ATTENUATED="decibel_attenuated",e.SQUARED="squared",e.PERCENTAGE="percentage",e.CUBED="cubed",e.DAY="day",e.RADIAN="radian",e.OHM="ohm",e.MINUTE="minute",e.PART_PER_MILLION="ppm",e.AMP="amp",e.MASS_POUND="pound",e.HOUR="hour",e.ACRE="acre",e.RPM="rpm",e.PASCAL="pascal",e.LUMEN="lumen",e.WEEK="week",e.GALLON="gallon",e.LUX="lux",e.MILLI="milli",e.BAR="bar",e.HECTO="hecto",e.SECOND="second"}(me||(me={})),ue||(ue={});class fe{static getAssetDescriptors(){return fe._assetTypeInfos.map((e=>e.assetDescriptor))}static getMetaItemDescriptors(){return[...this._metaItemDescriptors]}static getValueDescriptors(){return[...this._valueDescriptors]}static getAssetTypeInfos(){return[...this._assetTypeInfos]}static getAssetTypeInfo(e){if(e)return e.assetDescriptor?e:("string"!=typeof e&&(e=e.name),this._assetTypeInfos.find((t=>t.assetDescriptor.name===e)))}static getAssetDescriptor(e){if(!e)return;if(e.assetDescriptor)return e.assetDescriptor;if("string"!=typeof e)return e;const t=this._assetTypeInfos.find((t=>t.assetDescriptor.name===e));return t?t.assetDescriptor:void 0}static getAttributeDescriptor(e,t){if(!e)return;const n=this.getAssetTypeInfo(t||"ThingAsset");return n&&n.attributeDescriptors?n.attributeDescriptors.find((t=>t.name===e)):void 0}static getValueDescriptor(e){if(!e)return;let t;if(e.endsWith("[]"))for(t=0;e.endsWith("[]");)e=e.substring(0,e.length-2),t++;let n=this._valueDescriptors.find((t=>t.name===e));return n&&t&&(n=Object.assign(Object.assign({},n),{arrayDimensions:t})),n}static resolveValueDescriptor(e,t){let n;return t&&("string"==typeof t&&(n=fe.getValueDescriptor(t)),n=t.jsonType?t:fe.getValueDescriptor(t.type)),!n&&e&&(n=fe.getValueDescriptor("JSON")),n}static resolveValueTypeFromValue(e){if(null!=e){if("number"==typeof e)return"number";if("string"==typeof e)return"text";if("boolean"==typeof e)return"boolean";if(Array.isArray(e)){let t=1,n=e.find((e=>null!=e));for(;Array.isArray(n);)n=n.find((e=>null!=e)),t++;let i=this.resolveValueTypeFromValue(n);if(!i)return;for(;t>0;)i+="[]",t--;return i}return e instanceof Date?"dateAndTime":void 0}}static getAttributeAndValueDescriptors(e,t,n){let i,o;if(t&&"string"!=typeof t)i=t;else{const o=this.getAssetTypeInfo(e||"ThingAsset");if(!o)return[void 0,void 0];"string"==typeof t&&(i=this.getAttributeDescriptor(t,o)),!i&&n&&(i={type:n.type,name:n.name,meta:n.meta})}return i&&(o=this.getValueDescriptor(i.type)),[i,o]}static getMetaItemDescriptor(e){if(e)return this._metaItemDescriptors.find((t=>t.name===e))}static getAssetDescriptorColour(e,t){const n=this.getAssetDescriptor(e);return n&&n.colour?n.colour:t}static getAssetDescriptorIcon(e,t){const n=this.getAssetDescriptor(e);return n&&n.icon?n.icon:t}}fe._assetTypeInfos=[],fe._metaItemDescriptors=[],fe._valueDescriptors=[]},1212:(e,t,n)=>{"use strict";n.d(t,{UH:()=>_,Ar:()=>m,SI:()=>b,Ql:()=>h,aQ:()=>g});var i=n(1816),o=n(3848),r=n(7428);class a extends o.QN{constructor(e){if(super(e),this.et=r.qs,e.type!==o.sZ.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===r.qs||null==e)return this.ft=void 0,this.et=e;if(e===r.Kg)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.et)return this.ft;this.et=e;const t=[e];return t.raw=t,this.ft={_$litType$:this.constructor.resultType,strings:t,values:[]}}}a.directiveName="unsafeHTML",a.resultType=1,(0,o.E$)(a);class s extends a{}s.directiveName="unsafeSVG",s.resultType=2;const c=(0,o.E$)(s);var d=n(1868),l=n(8416);const m={size:24,icons:{logo:'<path style=\'pointer-events: var(--or-icon-pointer-events, none);\' fill="#C4D600" d="m11.96125,23.85096c-6.56773,0 -11.90971,-5.34202 -11.90971,-11.90862l2.49411,0c0,5.19176 4.22389,9.41568 9.41561,9.41568c5.19053,0 9.41561,-4.22392 9.41561,-9.41568c0,-5.19176 -4.22389,-9.41568 -9.41561,-9.41568l0,-2.49413c6.56655,0 11.90971,5.34439 11.90971,11.9098c0,6.5666 -5.34316,11.90862 -11.90971,11.90862l0,0z" /><path fill="#4E9D2D" d="m10.25094,20.38647c-2.26848,-0.47231 -4.21822,-1.80199 -5.48741,-3.74009s-1.70892,-4.25777 -1.23545,-6.52625c0.47347,-2.26965 1.80315,-4.21822 3.74242,-5.48857c1.93926,-1.27035 4.25661,-1.70892 6.52625,-1.23545c4.68471,0.97719 7.70121,5.5828 6.72286,10.26635l-2.39994,-0.49907c0.70149,-3.36085 -1.4623,-6.66585 -4.82431,-7.36734c-1.62866,-0.33969 -3.29105,-0.02559 -4.68238,0.88645c-1.39134,0.91088 -2.34526,2.3092 -2.68495,3.93786c-0.33853,1.62633 -0.02443,3.28988 0.88645,4.68122c0.91088,1.39134 2.3092,2.34526 3.93786,2.68379l-0.50139,2.4011l0,0z"/><path fill="#1D5632"d="m12.03064,17.49616c-0.09524,0 -0.19048,-0.00116 -0.28457,-0.00465c-1.49833,-0.0755 -2.87818,-0.72942 -3.88636,-1.84097c-1.00818,-1.11271 -1.52156,-2.54948 -1.44722,-4.05013l2.44378,0.12196c-0.04181,0.84557 0.24856,1.65745 0.81769,2.28466c0.56681,0.62721 1.34733,0.99656 2.1929,1.03838c0.84208,0.03833 1.65629,-0.2474 2.2835,-0.81653c0.62837,-0.56797 0.99656,-1.34617 1.03954,-2.19174c0.08711,-1.74573 -1.26371,-3.23708 -3.00943,-3.3242l0.12196,-2.44378c3.09422,0.15332 5.4869,2.79455 5.33358,5.88877c-0.07434,1.49949 -0.72942,2.87818 -1.84097,3.8852c-1.04186,0.94313 -2.36945,1.45303 -3.7644,1.45303l0,0z"/>',"logo-plain":"m11.9925,23.91349c-6.58498,0 -11.94099,-5.35605 -11.94099,-11.9399l2.50066,0c0,5.20539 4.23498,9.44041 9.44033,9.44041c5.20416,0 9.44033,-4.23502 9.44033,-9.44041c0,-5.20539 -4.23498,-9.44041 -9.44033,-9.44041l0,-2.50068c6.5838,0 11.94099,5.35842 11.94099,11.94108c0,6.58385 -5.35719,11.9399 -11.94099,11.9399l0,0zm-1.80787,-3.27769c-2.31323,-0.48163 -4.30141,-1.83755 -5.59563,-3.81389s-1.74263,-4.34178 -1.25982,-6.65502c0.48281,-2.31443 1.83872,-4.30145 3.81623,-5.59686c1.97751,-1.29542 4.34056,-1.74264 6.65497,-1.25983c4.77711,0.99647 7.8531,5.69295 6.85545,10.46891l-2.44727,-0.50891c0.71532,-3.42716 -1.49114,-6.79738 -4.91946,-7.5127c-1.66078,-0.34639 -3.35596,-0.0261 -4.77474,0.90394c-1.41878,0.92886 -2.39152,2.35476 -2.73791,4.01555c-0.3452,1.65842 -0.02491,3.3548 0.90394,4.77359c0.92885,1.41879 2.35475,2.39154 4.01552,2.73675l-0.51128,2.44848l0,0zm1.81499,-2.92536c-0.09727,0 -0.19455,-0.00119 -0.29064,-0.00475c-1.53029,-0.07711 -2.93958,-0.74498 -3.96926,-1.88025c-1.02968,-1.13646 -1.55401,-2.60388 -1.47809,-4.13655l2.49591,0.12456c-0.04271,0.86361 0.25386,1.69282 0.83513,2.33341c0.5789,0.64059 1.37607,1.01783 2.23968,1.06053c0.86005,0.03915 1.69162,-0.25268 2.33221,-0.83395c0.64177,-0.58009 1.01782,-1.3749 1.06171,-2.23851c0.08897,-1.78298 -1.29066,-3.30616 -3.07362,-3.39513l0.12456,-2.49593c3.16022,0.15659 5.60394,2.85419 5.44735,6.01443c-0.07592,1.53149 -0.74498,2.9396 -1.88024,3.9681c-1.06408,0.96326 -2.41999,1.48403 -3.8447,1.48403l0,0z",marker:'<ellipse fill="#000" opacity="0.2" ry="1.5" rx="4" cy="22.5" cx="12" /><path style=\'pointer-events: var(--or-icon-pointer-events, none);\' d="m11.999999,0a8.437501,8.344057 0 0 1 8.437501,8.344057c0,6.500779 -5.798864,6.280799 -8.437501,14.412461c-2.638637,-8.131662 -8.437501,-7.911683 -8.437501,-14.412461a8.437501,8.344057 0 0 1 8.437501,-8.344057z" />'}};var u=function(e,t,n,i){var o,r=arguments.length,a=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(r<3?o(a):r>3?o(t,n,a):o(t,n))||a);return r>3&&a&&Object.defineProperty(t,n,a),a};const f=n(180);class p extends CustomEvent{constructor(){super(p.NAME,{bubbles:!0,composed:!0})}}function h(e,t){return{getIconTemplate:n=>{const o=t[n];return o?i.kP`
|
|
555
555
|
<svg xmlns="http://www.w3.org/2000/svg"
|
|
556
556
|
viewBox="0 0 ${e} ${e}" preserveAspectRatio="xMidYMid meet" focusable="false">
|
|
557
557
|
${c(o.startsWith("<")?o:'<path xmlns="http://www.w3.org/2000/svg" d="'+o+'" />')}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openremote/or-asset-tree",
|
|
3
|
-
"version": "1.7.0
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "OpenRemote Asset Tree",
|
|
5
5
|
"customElements": "custom-elements.json",
|
|
6
6
|
"main": "dist/umd/index.bundle.js",
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
"license": "AGPL-3.0-or-later",
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@mdi/js": "^5.9.55",
|
|
22
|
-
"@openremote/core": "1.7.0
|
|
23
|
-
"@openremote/model": "1.7.0
|
|
24
|
-
"@openremote/or-icon": "1.7.0
|
|
25
|
-
"@openremote/or-mwc-components": "1.7.0
|
|
26
|
-
"@openremote/or-translate": "1.7.0
|
|
27
|
-
"@openremote/rest": "1.7.0
|
|
22
|
+
"@openremote/core": "1.7.0",
|
|
23
|
+
"@openremote/model": "1.7.0",
|
|
24
|
+
"@openremote/or-icon": "1.7.0",
|
|
25
|
+
"@openremote/or-mwc-components": "1.7.0",
|
|
26
|
+
"@openremote/or-translate": "1.7.0",
|
|
27
|
+
"@openremote/rest": "1.7.0",
|
|
28
28
|
"lit": "^2.0.2",
|
|
29
29
|
"moment": "^2.29.4"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@openremote/util": "1.7.0
|
|
32
|
+
"@openremote/util": "1.7.0"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|