@mxtommy/kip 3.4.0 → 3.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/package.json +1 -1
- package/public/{chunk-KE3BK62I.js → chunk-2AMOXFPF.js} +1 -1
- package/public/{chunk-2GTOB75T.js → chunk-2GJ6NEA5.js} +1 -1
- package/public/{chunk-VYP5YLKW.js → chunk-3JTVXMAY.js} +1 -1
- package/public/{chunk-ROXSW22U.js → chunk-COLYEBUQ.js} +1 -1
- package/public/{chunk-GSG5IFZ7.js → chunk-GCUQ2WKB.js} +1 -1
- package/public/{chunk-KUPVE24U.js → chunk-IOPWUTYX.js} +1 -1
- package/public/{chunk-RPHEZR7W.js → chunk-KHPH7KFF.js} +1 -1
- package/public/{chunk-BK65F7S6.js → chunk-LHCCRVDI.js} +1 -1
- package/public/{chunk-FQWKFMCL.js → chunk-OPAXR5NX.js} +1 -1
- package/public/{chunk-JITOBNFA.js → chunk-Q6KPNXWJ.js} +1 -1
- package/public/{chunk-HTFWAMIE.js → chunk-QVMCS46H.js} +1 -1
- package/public/{chunk-UMSIBYU7.js → chunk-SI667JGD.js} +1 -1
- package/public/{chunk-BJZD62ZD.js → chunk-TTIBKDWU.js} +1 -1
- package/public/{chunk-7ICUQ4VK.js → chunk-UGOS5VJV.js} +1 -1
- package/public/{chunk-2IGGX6BI.js → chunk-WSMVWJWE.js} +8 -8
- package/public/{chunk-OGPSK2OV.js → chunk-ZHCIJT3R.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-2QGKGFMT.js → main-75GBUMYV.js} +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as oe}from"./chunk-QBA5REXT.js";import{f as ne,j as ie}from"./chunk-UMSIBYU7.js";import{j as N}from"./chunk-PYQ6T3Y3.js";import{a as V}from"./chunk-RPHEZR7W.js";import{a as te}from"./chunk-MRXTLXGU.js";import{C as Z,D as ee,g as L,h as P,m as I,r as Q,y as X}from"./chunk-VYP5YLKW.js";import{Ac as w,Ae as A,Af as H,Bb as C,Bc as y,Cf as z,Df as Y,Ef as $,Ic as O,Pc as T,Xb as g,Yb as n,Zb as i,_b as h,cc as b,ec as f,ef as R,f as k,fc as v,gf as j,jf as W,kb as c,kf as q,nf as J,pc as _,qf as U,rf as B,sa as S,sd as D,td as F,uc as o,uf as G,vb as E,xc as M,xf as K,ya as d,za as p,zc as x}from"./chunk-AERKQXJA.js";var ae=()=>({standalone:!1});function re(r,m){r&1&&(n(0,"div"),o(1,' Writing to the server requires "Login to Server" authentication or a Device token '),i())}function le(r,m){if(r&1){let e=b();n(0,"div")(1,"mat-form-field",32)(2,"mat-label"),o(3,"Scope"),i(),n(4,"mat-select",33),y("ngModelChange",function(t){d(e);let a=v();return w(a.saveConfigScope,t)||(a.saveConfigScope=t),p(t)}),n(5,"mat-option",34),o(6," Global "),i(),n(7,"mat-option",35),o(8," User "),i()()(),n(9,"mat-form-field",36)(10,"mat-label"),o(11,"Configuration Name"),i(),n(12,"input",37),y("ngModelChange",function(t){d(e);let a=v();return w(a.saveConfigName,t)||(a.saveConfigName=t),p(t)}),i()(),C(13,re,2,0,"div",38),i()}if(r&2){let e=v();c(4),x("ngModel",e.saveConfigScope),c(8),x("ngModel",e.saveConfigName),g("ngModelOptions",O(4,ae)),c(),g("ngIf",!e.hasToken)}}function se(r,m){r&1&&(n(0,"div",39)(1,"p"),o(2,"Server authentication or Device Token required"),i()())}function ce(r,m){if(r&1&&(n(0,"mat-option",43),o(1),i()),r&2){let e=m.$implicit;g("value",e),c(),M(" ",e.scope," / ",e.name," ")}}function ge(r,m){if(r&1){let e=b();n(0,"div")(1,"mat-form-field",40)(2,"mat-label"),o(3,"Configuration"),i(),n(4,"mat-select",41),y("ngModelChange",function(t){d(e);let a=v();return w(a.deleteConfigItem,t)||(a.deleteConfigItem=t),p(t)}),C(5,ce,2,3,"mat-option",42),i()()()}if(r&2){let e=v();c(4),x("ngModel",e.deleteConfigItem),c(),g("ngForOf",e.serverConfigList)}}function de(r,m){r&1&&(n(0,"div",39)(1,"p"),o(2,"Authentication or Device Token required"),i()())}function pe(r,m){if(r&1&&(n(0,"mat-option",43),o(1),i()),r&2){let e=m.$implicit;g("value",e),c(),M(" ",e.scope," / ",e.name," ")}}function me(r,m){if(r&1&&(n(0,"div")(1,"mat-form-field",40)(2,"mat-label"),o(3,"Configuration"),i(),n(4,"mat-select",44),C(5,pe,2,3,"mat-option",42),i()()()),r&2){let e=v();c(5),g("ngForOf",e.serverConfigList)}}function fe(r,m){r&1&&(n(0,"div",39)(1,"p"),o(2,"Authentication or Device Token required"),i()())}var Pe=(()=>{class r{appSettingsService=S(P);storageSvc=S(L);appService=S(V);auth=S(I);fb=S(z);pageTitle="Configurations";hasToken=!1;isTokenTypeDevice=!1;tokenSub;supportApplicationData=!1;serverConfigList=[];serverUpgradableConfigList=[];copyConfigForm;storageLocation=null;locations=["Local Storage","Server Storage"];saveConfigName=null;saveConfigScope=null;deleteConfigItem;jsonData=null;ngOnInit(){this.tokenSub=this.auth.authToken$.subscribe(e=>{e&&e.token?(this.hasToken=!0,this.isTokenTypeDevice=e.isDeviceAccessToken,e.isDeviceAccessToken?this.saveConfigScope="global":this.saveConfigScope="user"):this.hasToken=!1}),this.copyConfigForm=this.fb.group({sourceTarget:[{value:"",disabled:!1},j.required]}),this.supportApplicationData=this.storageSvc.isAppDataSupported,this.getServerConfigList()}getServerConfigList(e){this.supportApplicationData&&this.storageSvc.listConfigs(e).then(l=>{let t=l.filter(a=>!(a.scope==="user"&&a.name==="default"));e?this.serverUpgradableConfigList=t:this.serverConfigList=t}).catch(l=>{switch(l.status){case 401:this.appService.sendSnackbarNotification("Application Storage Error: "+l.statusText+". Signal K configuration must meet the following requirements; 1) Security enabled. 2) Application Data Storage Interface: On. 3) Either Allow Readonly Access enabled, or connecting with a user.",0,!1);break;default:this.appService.sendSnackbarNotification("Error listing server configurations: "+l,3e3,!1);break}})}saveConfig(e,l,t,a,s){if(this.supportApplicationData){if(l==="user"&&t==="default"&&!s){this.appService.sendSnackbarNotification("Saving configuration with scope 'user' and name 'default' is not allowed.",5e3,!1);return}this.storageSvc.setConfig(l,t,e)?(this.appService.sendSnackbarNotification(`Configuration [${t}] saved to [${l}] storage scope`,5e3,!1),a||this.getServerConfigList()):this.appService.sendSnackbarNotification("Error saving configuration to server",0,!1)}}saveToLocalstorage(e){this.appSettingsService.replaceConfig("appConfig",e.app,!1),this.appSettingsService.replaceConfig("dashboardsConfig",e.dashboards,!1),this.appSettingsService.replaceConfig("themeConfig",e.theme,!1)}copyConfig(){return k(this,null,function*(){let e=null;try{yield this.storageSvc.getConfig(this.copyConfigForm.value.sourceTarget.scope,this.copyConfigForm.value.sourceTarget.name).then(l=>{e=l})}catch(l){this.appService.sendSnackbarNotification("Error retrieving configuration from server: "+l.statusText,3e3,!1);return}this.saveConfig(e,"user","default",!1,!0),this.appSettingsService.reloadApp()})}deleteConfig(e,l,t,a){this.storageSvc.removeItem(e,l,t),this.appService.sendSnackbarNotification(`Configuration [${l}] deleted from [${e}] storage scope`,5e3,!1),a||this.getServerConfigList()}resetConfigToDefault(){this.appSettingsService.resetSettings()}resetConnectionToDefault(){this.appSettingsService.resetConnection()}loadDemoConfig(){this.appSettingsService.loadDemoConfig()}getActiveConfig(){let e;return this.appSettingsService.useSharedConfig?e=this.getLocalConfigFromMemory():e=this.getLocalConfigFromLocalStorage(),e}getLocalConfigFromMemory(){return{app:this.appSettingsService.getAppConfig(),dashboards:this.appSettingsService.getDashboardConfig(),theme:this.appSettingsService.getThemeConfig()}}getLocalConfigFromLocalStorage(){return{app:this.appSettingsService.loadConfigFromLocalStorage("appConfig"),dashboards:this.appSettingsService.loadConfigFromLocalStorage("dashboardsConfig"),theme:this.appSettingsService.loadConfigFromLocalStorage("themeConfig")}}downloadJsonConfig(){let e=this.getActiveConfig(),l=JSON.stringify(e,null,2),t=new Blob([l],{type:"application/json"}),a=window.URL.createObjectURL(t),s=document.createElement("a");s.href=a,s.download="KipConfig.json",document.body.appendChild(s),s.click(),document.body.removeChild(s),window.URL.revokeObjectURL(a)}uploadJsonConfig(e){let t=e.target.files?.[0];if(t&&t.type==="application/json"){let a=new FileReader;a.onload=s=>{try{this.jsonData=JSON.parse(s.target?.result),this.hasToken?this.saveConfig(this.jsonData,"user","default",!1,!0):this.saveToLocalstorage(this.jsonData),this.appSettingsService.reloadApp()}catch(u){this.appService.sendSnackbarNotification("Invalid JSON file",3e3,!1),console.error("Invalid JSON file:",u)}},a.readAsText(t)}else this.appService.sendSnackbarNotification("Please select a valid JSON file",0,!1)}ngOnDestroy(){this.tokenSub.unsubscribe()}static \u0275fac=function(l){return new(l||r)};static \u0275cmp=E({type:r,selectors:[["settings-config"]],decls:85,vars:11,consts:[["saveConfigForm","ngForm"],["elseBlock",""],["deleteConfigForm","ngForm"],["fileInput",""],[3,"pageTitle"],[1,"page-content"],["routerLink","/help"],[1,"flex-container"],[1,"flex-item-rounded-card","rounded-card-color"],["name","saveConfigForm",3,"ngSubmit"],[2,"margin-bottom","16px"],[4,"ngIf","ngIfElse"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit","color","accent",3,"disabled"],["name","deleteConfigForm",3,"ngSubmit"],[3,"ngSubmit","formGroup"],[1,"flex-item-reset","rounded-card-color"],[1,"config-operation-container",2,"margin-top","20px"],[1,"download-txt"],[1,"download-btn","btn-div"],["mat-flat-button","","type","button",1,"adv-btn",3,"click"],[1,"upload-txt"],[1,"upload-btn","btn-div"],["type","file","accept",".json","hidden","",3,"change"],["mat-flat-button","",1,"adv-btn",3,"click"],[1,"demo-txt"],[1,"demo-btn","btn-div"],[1,"reset-txt"],[1,"reset-btn","btn-div"],[1,"config-txt"],[1,"config-btn","btn-div"],[2,"width","25%"],["name","serverConfiScope","required","",3,"ngModelChange","ngModel"],["value","global"],["value","user"],[2,"width","70%","padding-left","3%"],["matInput","","name","serverConfigName","placeholder","Enter a name for the configuration","required","",3,"ngModelChange","ngModel","ngModelOptions"],[4,"ngIf"],[1,"no-token-notice"],[2,"width","100%"],["name","selectedDeleteItem","required","",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["formControlName","sourceTarget"]],template:function(l,t){if(l&1){let a=b();h(0,"page-header",4),n(1,"div",5)(2,"p"),o(3," Recommended Reading: To understand configuration management and storage options, consult the "),n(4,"a",6),o(5,"Configuration Management Help"),i(),o(6," section. "),i(),n(7,"div",7)(8,"div",8)(9,"form",9,0),f("ngSubmit",function(){return d(a),p(t.saveConfig(t.getActiveConfig(),t.saveConfigScope,t.saveConfigName))}),n(11,"h2"),o(12,"Backup"),i(),n(13,"p",10),o(14," Create a backup of the current active configuration on the server. "),i(),C(15,le,14,5,"div",11)(16,se,3,0,"ng-template",null,1,T),n(18,"div",12),h(19,"mat-divider",13),n(20,"button",14),o(21," Create "),i()()()(),n(22,"div",8)(23,"form",15,2),f("ngSubmit",function(){return d(a),p(t.deleteConfig(t.deleteConfigItem.scope,t.deleteConfigItem.name))}),n(25,"h2"),o(26,"Delete"),i(),n(27,"p",10),o(28," Select a backup configuration to permanently delete from the server. "),i(),C(29,ge,6,2,"div",11)(30,de,3,0,"ng-template",null,1,T),n(32,"div",12),h(33,"mat-divider",13),n(34,"button",14),o(35," Delete "),i()()()(),n(36,"div",8)(37,"form",16),f("ngSubmit",function(){return d(a),p(t.copyConfig())}),n(38,"h2"),o(39,"Restore"),i(),n(40,"p",10),o(41," Replace the current configuration with a backup from the server. "),i(),C(42,me,6,1,"div",11)(43,fe,3,0,"ng-template",null,1,T),n(45,"div",12),h(46,"mat-divider",13),n(47,"button",14),o(48," Restore "),i()()()(),n(49,"div",17)(50,"h2"),o(51,"Advanced"),i(),n(52,"div",18)(53,"div",19)(54,"p"),o(55,"Download the active configuration to a file."),i()(),n(56,"div",20)(57,"button",21),f("click",function(){return d(a),p(t.downloadJsonConfig())}),o(58," Download "),i()(),n(59,"div",22)(60,"p"),o(61," Select a configuration file to upload. The file must be a valid KIP configuration file of JSON format. "),i()(),n(62,"div",23)(63,"input",24,3),f("change",function(u){return d(a),p(t.uploadJsonConfig(u))}),i(),n(65,"button",25),f("click",function(){d(a);let u=_(64);return p(u.click())}),o(66," Upload "),i()(),n(67,"div",26)(68,"p"),o(69," Load the demonstration configuration and connection to Signal K demo server. WARNING: This will completely reset all your settings. "),i()(),n(70,"div",27)(71,"button",21),f("click",function(){return d(a),p(t.loadDemoConfig())}),o(72," Demo "),i()(),n(73,"div",28)(74,"p"),o(75," Reset all your settings to default. The default configuration has a single Getting Started instruction widget. Your Signal K server connection settings will remain. "),i()(),n(76,"div",29)(77,"button",21),f("click",function(){return d(a),p(t.resetConfigToDefault())}),o(78," Default "),i()(),n(79,"div",30)(80,"p"),o(81," Clear the current connection configuration. This only affects Connectivity tab settings. "),i()(),n(82,"div",31)(83,"button",21),f("click",function(){return d(a),p(t.resetConnectionToDefault())}),o(84," Connection "),i()()()()()()}if(l&2){let a=_(10),s=_(17),u=_(24);g("pageTitle",t.pageTitle),c(15),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.hasToken||!a.valid),c(9),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.hasToken||!u.valid),c(3),g("formGroup",t.copyConfigForm),c(5),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.copyConfigForm.valid)}},dependencies:[N,F,Y,B,R,W,q,H,U,J,te,A,X,Q,ie,ne,Z,D,$,G,K,oe,ee],styles:['[_nghost-%COMP%]{display:block;height:100%;width:100%}.page-content[_ngcontent-%COMP%]{width:100%;height:calc(100% - 63px);overflow-y:scroll;scroll-behavior:smooth;padding:0 24px 10px}.flex-item-copy[_ngcontent-%COMP%]{flex:2 1 41%;padding:10px 20px;border-radius:15px}.flex-item-reset[_ngcontent-%COMP%]{flex:1 1 100%;padding:10px 20px;border-radius:15px}a[_ngcontent-%COMP%]{font-size:14px}a[_ngcontent-%COMP%]:hover{text-decoration:underline;cursor:pointer}a[_ngcontent-%COMP%]:link, a[_ngcontent-%COMP%]:visited{color:#8ab4f8;text-decoration:none}.warningText[_ngcontent-%COMP%]{padding-left:15px}.no-token-notice[_ngcontent-%COMP%]{height:58px;contain:content;text-align:center;font-style:italic}.mat-mdc-radio-button[_ngcontent-%COMP%] ~ .mat-radio-button[_ngcontent-%COMP%]{margin-right:16px;margin-left:16px}.config-column[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-basis:100%;flex:1;margin:0 10px}.sources-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:15px 0}.sources-radio-button[_ngcontent-%COMP%]{margin:5px;margin-left:0!important}.select-config[_ngcontent-%COMP%]{margin-left:0}.config-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.btn-div[_ngcontent-%COMP%]{align-self:center}.adv-btn[_ngcontent-%COMP%]{width:100%}.config-operation-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:[col-start] auto [col1-end] min-content [col2-end];grid-template-rows:[row-start] max-content [row1-end] max-content [row2-end];grid-template-areas:"download-txt download-btn" "upload-txt upload-btn" "demo-txt demo-btn" "reset-txt reset-btn" "config-txt config-btn";row-gap:20px;column-gap:10px}.upload-txt[_ngcontent-%COMP%]{grid-area:upload-txt}.upload-btn[_ngcontent-%COMP%]{grid-area:upload-btn}.download-txt[_ngcontent-%COMP%]{grid-area:download-txt}.download-btn[_ngcontent-%COMP%]{grid-area:download-btn}.demo-txt[_ngcontent-%COMP%]{grid-area:demo-txt}.demo-btn[_ngcontent-%COMP%]{grid-area:demo-btn}.reset-txt[_ngcontent-%COMP%]{grid-area:reset-txt}.reset-btn[_ngcontent-%COMP%]{grid-area:reset-btn}.config-txt[_ngcontent-%COMP%]{grid-area:config-txt}.config-btn[_ngcontent-%COMP%]{grid-area:config-btn}']})}return r})();export{Pe as SettingsConfigComponent};
|
|
1
|
+
import{a as oe}from"./chunk-QBA5REXT.js";import{f as ne,j as ie}from"./chunk-SI667JGD.js";import{j as N}from"./chunk-PYQ6T3Y3.js";import{a as V}from"./chunk-KHPH7KFF.js";import{a as te}from"./chunk-MRXTLXGU.js";import{C as Z,D as ee,g as L,h as P,m as I,r as Q,y as X}from"./chunk-3JTVXMAY.js";import{Ac as w,Ae as A,Af as H,Bb as C,Bc as y,Cf as z,Df as Y,Ef as $,Ic as O,Pc as T,Xb as g,Yb as n,Zb as i,_b as h,cc as b,ec as f,ef as R,f as k,fc as v,gf as j,jf as W,kb as c,kf as q,nf as J,pc as _,qf as U,rf as B,sa as S,sd as D,td as F,uc as o,uf as G,vb as E,xc as M,xf as K,ya as d,za as p,zc as x}from"./chunk-AERKQXJA.js";var ae=()=>({standalone:!1});function re(r,m){r&1&&(n(0,"div"),o(1,' Writing to the server requires "Login to Server" authentication or a Device token '),i())}function le(r,m){if(r&1){let e=b();n(0,"div")(1,"mat-form-field",32)(2,"mat-label"),o(3,"Scope"),i(),n(4,"mat-select",33),y("ngModelChange",function(t){d(e);let a=v();return w(a.saveConfigScope,t)||(a.saveConfigScope=t),p(t)}),n(5,"mat-option",34),o(6," Global "),i(),n(7,"mat-option",35),o(8," User "),i()()(),n(9,"mat-form-field",36)(10,"mat-label"),o(11,"Configuration Name"),i(),n(12,"input",37),y("ngModelChange",function(t){d(e);let a=v();return w(a.saveConfigName,t)||(a.saveConfigName=t),p(t)}),i()(),C(13,re,2,0,"div",38),i()}if(r&2){let e=v();c(4),x("ngModel",e.saveConfigScope),c(8),x("ngModel",e.saveConfigName),g("ngModelOptions",O(4,ae)),c(),g("ngIf",!e.hasToken)}}function se(r,m){r&1&&(n(0,"div",39)(1,"p"),o(2,"Server authentication or Device Token required"),i()())}function ce(r,m){if(r&1&&(n(0,"mat-option",43),o(1),i()),r&2){let e=m.$implicit;g("value",e),c(),M(" ",e.scope," / ",e.name," ")}}function ge(r,m){if(r&1){let e=b();n(0,"div")(1,"mat-form-field",40)(2,"mat-label"),o(3,"Configuration"),i(),n(4,"mat-select",41),y("ngModelChange",function(t){d(e);let a=v();return w(a.deleteConfigItem,t)||(a.deleteConfigItem=t),p(t)}),C(5,ce,2,3,"mat-option",42),i()()()}if(r&2){let e=v();c(4),x("ngModel",e.deleteConfigItem),c(),g("ngForOf",e.serverConfigList)}}function de(r,m){r&1&&(n(0,"div",39)(1,"p"),o(2,"Authentication or Device Token required"),i()())}function pe(r,m){if(r&1&&(n(0,"mat-option",43),o(1),i()),r&2){let e=m.$implicit;g("value",e),c(),M(" ",e.scope," / ",e.name," ")}}function me(r,m){if(r&1&&(n(0,"div")(1,"mat-form-field",40)(2,"mat-label"),o(3,"Configuration"),i(),n(4,"mat-select",44),C(5,pe,2,3,"mat-option",42),i()()()),r&2){let e=v();c(5),g("ngForOf",e.serverConfigList)}}function fe(r,m){r&1&&(n(0,"div",39)(1,"p"),o(2,"Authentication or Device Token required"),i()())}var Pe=(()=>{class r{appSettingsService=S(P);storageSvc=S(L);appService=S(V);auth=S(I);fb=S(z);pageTitle="Configurations";hasToken=!1;isTokenTypeDevice=!1;tokenSub;supportApplicationData=!1;serverConfigList=[];serverUpgradableConfigList=[];copyConfigForm;storageLocation=null;locations=["Local Storage","Server Storage"];saveConfigName=null;saveConfigScope=null;deleteConfigItem;jsonData=null;ngOnInit(){this.tokenSub=this.auth.authToken$.subscribe(e=>{e&&e.token?(this.hasToken=!0,this.isTokenTypeDevice=e.isDeviceAccessToken,e.isDeviceAccessToken?this.saveConfigScope="global":this.saveConfigScope="user"):this.hasToken=!1}),this.copyConfigForm=this.fb.group({sourceTarget:[{value:"",disabled:!1},j.required]}),this.supportApplicationData=this.storageSvc.isAppDataSupported,this.getServerConfigList()}getServerConfigList(e){this.supportApplicationData&&this.storageSvc.listConfigs(e).then(l=>{let t=l.filter(a=>!(a.scope==="user"&&a.name==="default"));e?this.serverUpgradableConfigList=t:this.serverConfigList=t}).catch(l=>{switch(l.status){case 401:this.appService.sendSnackbarNotification("Application Storage Error: "+l.statusText+". Signal K configuration must meet the following requirements; 1) Security enabled. 2) Application Data Storage Interface: On. 3) Either Allow Readonly Access enabled, or connecting with a user.",0,!1);break;default:this.appService.sendSnackbarNotification("Error listing server configurations: "+l,3e3,!1);break}})}saveConfig(e,l,t,a,s){if(this.supportApplicationData){if(l==="user"&&t==="default"&&!s){this.appService.sendSnackbarNotification("Saving configuration with scope 'user' and name 'default' is not allowed.",5e3,!1);return}this.storageSvc.setConfig(l,t,e)?(this.appService.sendSnackbarNotification(`Configuration [${t}] saved to [${l}] storage scope`,5e3,!1),a||this.getServerConfigList()):this.appService.sendSnackbarNotification("Error saving configuration to server",0,!1)}}saveToLocalstorage(e){this.appSettingsService.replaceConfig("appConfig",e.app,!1),this.appSettingsService.replaceConfig("dashboardsConfig",e.dashboards,!1),this.appSettingsService.replaceConfig("themeConfig",e.theme,!1)}copyConfig(){return k(this,null,function*(){let e=null;try{yield this.storageSvc.getConfig(this.copyConfigForm.value.sourceTarget.scope,this.copyConfigForm.value.sourceTarget.name).then(l=>{e=l})}catch(l){this.appService.sendSnackbarNotification("Error retrieving configuration from server: "+l.statusText,3e3,!1);return}this.saveConfig(e,"user","default",!1,!0),this.appSettingsService.reloadApp()})}deleteConfig(e,l,t,a){this.storageSvc.removeItem(e,l,t),this.appService.sendSnackbarNotification(`Configuration [${l}] deleted from [${e}] storage scope`,5e3,!1),a||this.getServerConfigList()}resetConfigToDefault(){this.appSettingsService.resetSettings()}resetConnectionToDefault(){this.appSettingsService.resetConnection()}loadDemoConfig(){this.appSettingsService.loadDemoConfig()}getActiveConfig(){let e;return this.appSettingsService.useSharedConfig?e=this.getLocalConfigFromMemory():e=this.getLocalConfigFromLocalStorage(),e}getLocalConfigFromMemory(){return{app:this.appSettingsService.getAppConfig(),dashboards:this.appSettingsService.getDashboardConfig(),theme:this.appSettingsService.getThemeConfig()}}getLocalConfigFromLocalStorage(){return{app:this.appSettingsService.loadConfigFromLocalStorage("appConfig"),dashboards:this.appSettingsService.loadConfigFromLocalStorage("dashboardsConfig"),theme:this.appSettingsService.loadConfigFromLocalStorage("themeConfig")}}downloadJsonConfig(){let e=this.getActiveConfig(),l=JSON.stringify(e,null,2),t=new Blob([l],{type:"application/json"}),a=window.URL.createObjectURL(t),s=document.createElement("a");s.href=a,s.download="KipConfig.json",document.body.appendChild(s),s.click(),document.body.removeChild(s),window.URL.revokeObjectURL(a)}uploadJsonConfig(e){let t=e.target.files?.[0];if(t&&t.type==="application/json"){let a=new FileReader;a.onload=s=>{try{this.jsonData=JSON.parse(s.target?.result),this.hasToken?this.saveConfig(this.jsonData,"user","default",!1,!0):this.saveToLocalstorage(this.jsonData),this.appSettingsService.reloadApp()}catch(u){this.appService.sendSnackbarNotification("Invalid JSON file",3e3,!1),console.error("Invalid JSON file:",u)}},a.readAsText(t)}else this.appService.sendSnackbarNotification("Please select a valid JSON file",0,!1)}ngOnDestroy(){this.tokenSub.unsubscribe()}static \u0275fac=function(l){return new(l||r)};static \u0275cmp=E({type:r,selectors:[["settings-config"]],decls:85,vars:11,consts:[["saveConfigForm","ngForm"],["elseBlock",""],["deleteConfigForm","ngForm"],["fileInput",""],[3,"pageTitle"],[1,"page-content"],["routerLink","/help"],[1,"flex-container"],[1,"flex-item-rounded-card","rounded-card-color"],["name","saveConfigForm",3,"ngSubmit"],[2,"margin-bottom","16px"],[4,"ngIf","ngIfElse"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit","color","accent",3,"disabled"],["name","deleteConfigForm",3,"ngSubmit"],[3,"ngSubmit","formGroup"],[1,"flex-item-reset","rounded-card-color"],[1,"config-operation-container",2,"margin-top","20px"],[1,"download-txt"],[1,"download-btn","btn-div"],["mat-flat-button","","type","button",1,"adv-btn",3,"click"],[1,"upload-txt"],[1,"upload-btn","btn-div"],["type","file","accept",".json","hidden","",3,"change"],["mat-flat-button","",1,"adv-btn",3,"click"],[1,"demo-txt"],[1,"demo-btn","btn-div"],[1,"reset-txt"],[1,"reset-btn","btn-div"],[1,"config-txt"],[1,"config-btn","btn-div"],[2,"width","25%"],["name","serverConfiScope","required","",3,"ngModelChange","ngModel"],["value","global"],["value","user"],[2,"width","70%","padding-left","3%"],["matInput","","name","serverConfigName","placeholder","Enter a name for the configuration","required","",3,"ngModelChange","ngModel","ngModelOptions"],[4,"ngIf"],[1,"no-token-notice"],[2,"width","100%"],["name","selectedDeleteItem","required","",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["formControlName","sourceTarget"]],template:function(l,t){if(l&1){let a=b();h(0,"page-header",4),n(1,"div",5)(2,"p"),o(3," Recommended Reading: To understand configuration management and storage options, consult the "),n(4,"a",6),o(5,"Configuration Management Help"),i(),o(6," section. "),i(),n(7,"div",7)(8,"div",8)(9,"form",9,0),f("ngSubmit",function(){return d(a),p(t.saveConfig(t.getActiveConfig(),t.saveConfigScope,t.saveConfigName))}),n(11,"h2"),o(12,"Backup"),i(),n(13,"p",10),o(14," Create a backup of the current active configuration on the server. "),i(),C(15,le,14,5,"div",11)(16,se,3,0,"ng-template",null,1,T),n(18,"div",12),h(19,"mat-divider",13),n(20,"button",14),o(21," Create "),i()()()(),n(22,"div",8)(23,"form",15,2),f("ngSubmit",function(){return d(a),p(t.deleteConfig(t.deleteConfigItem.scope,t.deleteConfigItem.name))}),n(25,"h2"),o(26,"Delete"),i(),n(27,"p",10),o(28," Select a backup configuration to permanently delete from the server. "),i(),C(29,ge,6,2,"div",11)(30,de,3,0,"ng-template",null,1,T),n(32,"div",12),h(33,"mat-divider",13),n(34,"button",14),o(35," Delete "),i()()()(),n(36,"div",8)(37,"form",16),f("ngSubmit",function(){return d(a),p(t.copyConfig())}),n(38,"h2"),o(39,"Restore"),i(),n(40,"p",10),o(41," Replace the current configuration with a backup from the server. "),i(),C(42,me,6,1,"div",11)(43,fe,3,0,"ng-template",null,1,T),n(45,"div",12),h(46,"mat-divider",13),n(47,"button",14),o(48," Restore "),i()()()(),n(49,"div",17)(50,"h2"),o(51,"Advanced"),i(),n(52,"div",18)(53,"div",19)(54,"p"),o(55,"Download the active configuration to a file."),i()(),n(56,"div",20)(57,"button",21),f("click",function(){return d(a),p(t.downloadJsonConfig())}),o(58," Download "),i()(),n(59,"div",22)(60,"p"),o(61," Select a configuration file to upload. The file must be a valid KIP configuration file of JSON format. "),i()(),n(62,"div",23)(63,"input",24,3),f("change",function(u){return d(a),p(t.uploadJsonConfig(u))}),i(),n(65,"button",25),f("click",function(){d(a);let u=_(64);return p(u.click())}),o(66," Upload "),i()(),n(67,"div",26)(68,"p"),o(69," Load the demonstration configuration and connection to Signal K demo server. WARNING: This will completely reset all your settings. "),i()(),n(70,"div",27)(71,"button",21),f("click",function(){return d(a),p(t.loadDemoConfig())}),o(72," Demo "),i()(),n(73,"div",28)(74,"p"),o(75," Reset all your settings to default. The default configuration has a single Getting Started instruction widget. Your Signal K server connection settings will remain. "),i()(),n(76,"div",29)(77,"button",21),f("click",function(){return d(a),p(t.resetConfigToDefault())}),o(78," Default "),i()(),n(79,"div",30)(80,"p"),o(81," Clear the current connection configuration. This only affects Connectivity tab settings. "),i()(),n(82,"div",31)(83,"button",21),f("click",function(){return d(a),p(t.resetConnectionToDefault())}),o(84," Connection "),i()()()()()()}if(l&2){let a=_(10),s=_(17),u=_(24);g("pageTitle",t.pageTitle),c(15),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.hasToken||!a.valid),c(9),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.hasToken||!u.valid),c(3),g("formGroup",t.copyConfigForm),c(5),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.copyConfigForm.valid)}},dependencies:[N,F,Y,B,R,W,q,H,U,J,te,A,X,Q,ie,ne,Z,D,$,G,K,oe,ee],styles:['[_nghost-%COMP%]{display:block;height:100%;width:100%}.page-content[_ngcontent-%COMP%]{width:100%;height:calc(100% - 63px);overflow-y:scroll;scroll-behavior:smooth;padding:0 24px 10px}.flex-item-copy[_ngcontent-%COMP%]{flex:2 1 41%;padding:10px 20px;border-radius:15px}.flex-item-reset[_ngcontent-%COMP%]{flex:1 1 100%;padding:10px 20px;border-radius:15px}a[_ngcontent-%COMP%]{font-size:14px}a[_ngcontent-%COMP%]:hover{text-decoration:underline;cursor:pointer}a[_ngcontent-%COMP%]:link, a[_ngcontent-%COMP%]:visited{color:#8ab4f8;text-decoration:none}.warningText[_ngcontent-%COMP%]{padding-left:15px}.no-token-notice[_ngcontent-%COMP%]{height:58px;contain:content;text-align:center;font-style:italic}.mat-mdc-radio-button[_ngcontent-%COMP%] ~ .mat-radio-button[_ngcontent-%COMP%]{margin-right:16px;margin-left:16px}.config-column[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-basis:100%;flex:1;margin:0 10px}.sources-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:15px 0}.sources-radio-button[_ngcontent-%COMP%]{margin:5px;margin-left:0!important}.select-config[_ngcontent-%COMP%]{margin-left:0}.config-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.btn-div[_ngcontent-%COMP%]{align-self:center}.adv-btn[_ngcontent-%COMP%]{width:100%}.config-operation-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:[col-start] auto [col1-end] min-content [col2-end];grid-template-rows:[row-start] max-content [row1-end] max-content [row2-end];grid-template-areas:"download-txt download-btn" "upload-txt upload-btn" "demo-txt demo-btn" "reset-txt reset-btn" "config-txt config-btn";row-gap:20px;column-gap:10px}.upload-txt[_ngcontent-%COMP%]{grid-area:upload-txt}.upload-btn[_ngcontent-%COMP%]{grid-area:upload-btn}.download-txt[_ngcontent-%COMP%]{grid-area:download-txt}.download-btn[_ngcontent-%COMP%]{grid-area:download-btn}.demo-txt[_ngcontent-%COMP%]{grid-area:demo-txt}.demo-btn[_ngcontent-%COMP%]{grid-area:demo-btn}.reset-txt[_ngcontent-%COMP%]{grid-area:reset-txt}.reset-btn[_ngcontent-%COMP%]{grid-area:reset-btn}.config-txt[_ngcontent-%COMP%]{grid-area:config-txt}.config-btn[_ngcontent-%COMP%]{grid-area:config-btn}']})}return r})();export{Pe as SettingsConfigComponent};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{h as ve,p as be}from"./chunk-VYP5YLKW.js";import{d as tt,e as rt,na as ye,sa as Z}from"./chunk-AERKQXJA.js";var we=tt(($,Q)=>{(function(f,R){typeof $=="object"&&typeof Q<"u"?Q.exports=R():typeof define=="function"&&define.amd?define(R):(f=typeof globalThis<"u"?globalThis:f||self,f.Qty=R())})($,function(){"use strict";function f(e){return typeof e=="string"||e instanceof String}var R=Number.isFinite||window.isFinite;function n(e){return R(e)}function l(e){return e}function p(e){var t={};return e.filter(function(r){return t.hasOwnProperty(r)?!1:t[r]=!0})}function c(e,t){if(t.length!==e.length)return!1;for(var r=0;r<e.length;r++)if(t[r].compareArray&&!t[r].compareArray(e[r])||t[r]!==e[r])return!1;return!0}function y(e,t){Object.keys(t).forEach(function(r){e[r]=t[r]})}function h(){for(var e=1,t=0,r=0;r<arguments.length;r++){var i=arguments[r];t=t+ee(i),e*=i}return t!==0?F(e,t):e}function x(e,t){if(t===0)throw new Error("Divide by zero");var r=Math.pow(10,ee(t)),i=r/(r*t);return h(e,i)}function F(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}function ee(e){if(!isFinite(e))return 0;for(var t=0;e%1!==0;)e*=10,t++;return t}function m(){var e;if(!this)return e=Object.create(m.prototype),m.apply(e,arguments),e;e=Error.apply(this,arguments),this.name="QtyError",this.message=e.message,this.stack=e.stack}m.prototype=Object.create(Error.prototype,{constructor:{value:m}});function z(e,t){throw new m("Incompatible units: "+e+" and "+t)}var S={"<googol>":[["googol"],1e100,"prefix"],"<kibi>":[["Ki","Kibi","kibi"],Math.pow(2,10),"prefix"],"<mebi>":[["Mi","Mebi","mebi"],Math.pow(2,20),"prefix"],"<gibi>":[["Gi","Gibi","gibi"],Math.pow(2,30),"prefix"],"<tebi>":[["Ti","Tebi","tebi"],Math.pow(2,40),"prefix"],"<pebi>":[["Pi","Pebi","pebi"],Math.pow(2,50),"prefix"],"<exi>":[["Ei","Exi","exi"],Math.pow(2,60),"prefix"],"<zebi>":[["Zi","Zebi","zebi"],Math.pow(2,70),"prefix"],"<yebi>":[["Yi","Yebi","yebi"],Math.pow(2,80),"prefix"],"<yotta>":[["Y","Yotta","yotta"],1e24,"prefix"],"<zetta>":[["Z","Zetta","zetta"],1e21,"prefix"],"<exa>":[["E","Exa","exa"],1e18,"prefix"],"<peta>":[["P","Peta","peta"],1e15,"prefix"],"<tera>":[["T","Tera","tera"],1e12,"prefix"],"<giga>":[["G","Giga","giga"],1e9,"prefix"],"<mega>":[["M","Mega","mega"],1e6,"prefix"],"<kilo>":[["k","kilo"],1e3,"prefix"],"<hecto>":[["h","Hecto","hecto"],100,"prefix"],"<deca>":[["da","Deca","deca","deka"],10,"prefix"],"<deci>":[["d","Deci","deci"],.1,"prefix"],"<centi>":[["c","Centi","centi"],.01,"prefix"],"<milli>":[["m","Milli","milli"],.001,"prefix"],"<micro>":[["u","\u03BC","\xB5","Micro","mc","micro"],1e-6,"prefix"],"<nano>":[["n","Nano","nano"],1e-9,"prefix"],"<pico>":[["p","Pico","pico"],1e-12,"prefix"],"<femto>":[["f","Femto","femto"],1e-15,"prefix"],"<atto>":[["a","Atto","atto"],1e-18,"prefix"],"<zepto>":[["z","Zepto","zepto"],1e-21,"prefix"],"<yocto>":[["y","Yocto","yocto"],1e-24,"prefix"],"<1>":[["1","<1>"],1,""],"<meter>":[["m","meter","meters","metre","metres"],1,"length",["<meter>"]],"<inch>":[["in","inch","inches",'"'],.0254,"length",["<meter>"]],"<foot>":[["ft","foot","feet","'"],.3048,"length",["<meter>"]],"<yard>":[["yd","yard","yards"],.9144,"length",["<meter>"]],"<mile>":[["mi","mile","miles"],1609.344,"length",["<meter>"]],"<naut-mile>":[["nmi","naut-mile"],1852,"length",["<meter>"]],"<league>":[["league","leagues"],4828,"length",["<meter>"]],"<furlong>":[["furlong","furlongs"],201.2,"length",["<meter>"]],"<rod>":[["rd","rod","rods"],5.029,"length",["<meter>"]],"<mil>":[["mil","mils"],254e-7,"length",["<meter>"]],"<angstrom>":[["ang","angstrom","angstroms"],1e-10,"length",["<meter>"]],"<fathom>":[["fathom","fathoms"],1.829,"length",["<meter>"]],"<pica>":[["pica","picas"],.00423333333,"length",["<meter>"]],"<point>":[["pt","point","points"],.000352777778,"length",["<meter>"]],"<redshift>":[["z","red-shift","redshift"],1302773e20,"length",["<meter>"]],"<AU>":[["AU","astronomical-unit"],1495979e5,"length",["<meter>"]],"<light-second>":[["ls","light-second"],299792500,"length",["<meter>"]],"<light-minute>":[["lmin","light-minute"],1798755e4,"length",["<meter>"]],"<light-year>":[["ly","light-year"],9460528e9,"length",["<meter>"]],"<parsec>":[["pc","parsec","parsecs"],3085678e10,"length",["<meter>"]],"<datamile>":[["DM","datamile"],1828.8,"length",["<meter>"]],"<kilogram>":[["kg","kilogram","kilograms"],1,"mass",["<kilogram>"]],"<AMU>":[["u","AMU","amu"],1660538921e-36,"mass",["<kilogram>"]],"<dalton>":[["Da","Dalton","Daltons","dalton","daltons"],1660538921e-36,"mass",["<kilogram>"]],"<slug>":[["slug","slugs"],14.5939029,"mass",["<kilogram>"]],"<short-ton>":[["tn","ton","short-ton"],907.18474,"mass",["<kilogram>"]],"<metric-ton>":[["t","tonne","metric-ton"],1e3,"mass",["<kilogram>"]],"<carat>":[["ct","carat","carats"],2e-4,"mass",["<kilogram>"]],"<pound>":[["lbs","lb","pound","pounds","#"],.45359237,"mass",["<kilogram>"]],"<ounce>":[["oz","ounce","ounces"],.0283495231,"mass",["<kilogram>"]],"<gram>":[["g","gram","grams","gramme","grammes"],.001,"mass",["<kilogram>"]],"<grain>":[["grain","grains","gr"],6479891e-11,"mass",["<kilogram>"]],"<dram>":[["dram","drams","dr"],.0017718452,"mass",["<kilogram>"]],"<stone>":[["stone","stones","st"],6.35029318,"mass",["<kilogram>"]],"<hectare>":[["hectare"],1e4,"area",["<meter>","<meter>"]],"<acre>":[["acre","acres"],4046.85642,"area",["<meter>","<meter>"]],"<sqft>":[["sqft"],1,"area",["<foot>","<foot>"]],"<liter>":[["l","L","liter","liters","litre","litres"],.001,"volume",["<meter>","<meter>","<meter>"]],"<gallon>":[["gal","gallon","gallons"],.0037854118,"volume",["<meter>","<meter>","<meter>"]],"<gallon-imp>":[["galimp","gallon-imp","gallons-imp"],.00454609,"volume",["<meter>","<meter>","<meter>"]],"<quart>":[["qt","quart","quarts"],.00094635295,"volume",["<meter>","<meter>","<meter>"]],"<pint>":[["pt","pint","pints"],.000473176475,"volume",["<meter>","<meter>","<meter>"]],"<pint-imp>":[["ptimp","pint-imp","pints-imp"],.00056826125,"volume",["<meter>","<meter>","<meter>"]],"<cup>":[["cu","cup","cups"],.000236588238,"volume",["<meter>","<meter>","<meter>"]],"<fluid-ounce>":[["floz","fluid-ounce","fluid-ounces"],295735297e-13,"volume",["<meter>","<meter>","<meter>"]],"<fluid-ounce-imp>":[["flozimp","floz-imp","fluid-ounce-imp","fluid-ounces-imp"],284130625e-13,"volume",["<meter>","<meter>","<meter>"]],"<tablespoon>":[["tb","tbsp","tbs","tablespoon","tablespoons"],147867648e-13,"volume",["<meter>","<meter>","<meter>"]],"<teaspoon>":[["tsp","teaspoon","teaspoons"],492892161e-14,"volume",["<meter>","<meter>","<meter>"]],"<bushel>":[["bu","bsh","bushel","bushels"],.035239072,"volume",["<meter>","<meter>","<meter>"]],"<oilbarrel>":[["bbl","oilbarrel","oilbarrels","oil-barrel","oil-barrels"],.158987294928,"volume",["<meter>","<meter>","<meter>"]],"<beerbarrel>":[["bl","bl-us","beerbarrel","beerbarrels","beer-barrel","beer-barrels"],.1173477658,"volume",["<meter>","<meter>","<meter>"]],"<beerbarrel-imp>":[["blimp","bl-imp","beerbarrel-imp","beerbarrels-imp","beer-barrel-imp","beer-barrels-imp"],.16365924,"volume",["<meter>","<meter>","<meter>"]],"<kph>":[["kph"],.277777778,"speed",["<meter>"],["<second>"]],"<mph>":[["mph"],.44704,"speed",["<meter>"],["<second>"]],"<knot>":[["kt","kn","kts","knot","knots"],.514444444,"speed",["<meter>"],["<second>"]],"<fps>":[["fps"],.3048,"speed",["<meter>"],["<second>"]],"<gee>":[["gee"],9.80665,"acceleration",["<meter>"],["<second>","<second>"]],"<Gal>":[["Gal"],.01,"acceleration",["<meter>"],["<second>","<second>"]],"<kelvin>":[["degK","kelvin"],1,"temperature",["<kelvin>"]],"<celsius>":[["degC","celsius","celsius","centigrade"],1,"temperature",["<kelvin>"]],"<fahrenheit>":[["degF","fahrenheit"],5/9,"temperature",["<kelvin>"]],"<rankine>":[["degR","rankine"],5/9,"temperature",["<kelvin>"]],"<temp-K>":[["tempK","temp-K"],1,"temperature",["<temp-K>"]],"<temp-C>":[["tempC","temp-C"],1,"temperature",["<temp-K>"]],"<temp-F>":[["tempF","temp-F"],5/9,"temperature",["<temp-K>"]],"<temp-R>":[["tempR","temp-R"],5/9,"temperature",["<temp-K>"]],"<second>":[["s","sec","secs","second","seconds"],1,"time",["<second>"]],"<minute>":[["min","mins","minute","minutes"],60,"time",["<second>"]],"<hour>":[["h","hr","hrs","hour","hours"],3600,"time",["<second>"]],"<day>":[["d","day","days"],3600*24,"time",["<second>"]],"<week>":[["wk","week","weeks"],7*3600*24,"time",["<second>"]],"<fortnight>":[["fortnight","fortnights"],1209600,"time",["<second>"]],"<year>":[["y","yr","year","years","annum"],31556926,"time",["<second>"]],"<decade>":[["decade","decades"],315569260,"time",["<second>"]],"<century>":[["century","centuries"],3155692600,"time",["<second>"]],"<pascal>":[["Pa","pascal","Pascal"],1,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<bar>":[["bar","bars"],1e5,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<mmHg>":[["mmHg"],133.322368,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<inHg>":[["inHg"],3386.3881472,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<torr>":[["torr"],133.322368,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<atm>":[["atm","ATM","atmosphere","atmospheres"],101325,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<psi>":[["psi"],6894.76,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<cmh2o>":[["cmH2O","cmh2o"],98.0638,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<inh2o>":[["inH2O","inh2o"],249.082052,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<poise>":[["P","poise"],.1,"viscosity",["<kilogram>"],["<meter>","<second>"]],"<stokes>":[["St","stokes"],1e-4,"viscosity",["<meter>","<meter>"],["<second>"]],"<mole>":[["mol","mole"],1,"substance",["<mole>"]],"<molar>":[["M","molar"],1e3,"molar_concentration",["<mole>"],["<meter>","<meter>","<meter>"]],"<wtpercent>":[["wt%","wtpercent"],10,"molar_concentration",["<kilogram>"],["<meter>","<meter>","<meter>"]],"<katal>":[["kat","katal","Katal"],1,"activity",["<mole>"],["<second>"]],"<unit>":[["U","enzUnit","unit"],16667e-19,"activity",["<mole>"],["<second>"]],"<farad>":[["F","farad","Farad"],1,"capacitance",["<second>","<second>","<second>","<second>","<ampere>","<ampere>"],["<meter>","<meter>","<kilogram>"]],"<coulomb>":[["C","coulomb","Coulomb"],1,"charge",["<ampere>","<second>"]],"<Ah>":[["Ah"],3600,"charge",["<ampere>","<second>"]],"<ampere>":[["A","Ampere","ampere","amp","amps"],1,"current",["<ampere>"]],"<siemens>":[["S","Siemens","siemens"],1,"conductance",["<second>","<second>","<second>","<ampere>","<ampere>"],["<kilogram>","<meter>","<meter>"]],"<henry>":[["H","Henry","henry"],1,"inductance",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<ampere>","<ampere>"]],"<volt>":[["V","Volt","volt","volts"],1,"potential",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<second>","<ampere>"]],"<ohm>":[["Ohm","ohm","\u03A9","\u2126"],1,"resistance",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<second>","<ampere>","<ampere>"]],"<weber>":[["Wb","weber","webers"],1,"magnetism",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<ampere>"]],"<tesla>":[["T","tesla","teslas"],1,"magnetism",["<kilogram>"],["<second>","<second>","<ampere>"]],"<gauss>":[["G","gauss"],1e-4,"magnetism",["<kilogram>"],["<second>","<second>","<ampere>"]],"<maxwell>":[["Mx","maxwell","maxwells"],1e-8,"magnetism",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<ampere>"]],"<oersted>":[["Oe","oersted","oersteds"],250/Math.PI,"magnetism",["<ampere>"],["<meter>"]],"<joule>":[["J","joule","Joule","joules","Joules"],1,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<erg>":[["erg","ergs"],1e-7,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<btu>":[["BTU","btu","BTUs"],1055.056,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<calorie>":[["cal","calorie","calories"],4.184,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<Calorie>":[["Cal","Calorie","Calories"],4184,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<therm-US>":[["th","therm","therms","Therm","therm-US"],105480400,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<Wh>":[["Wh"],3600,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<electronvolt>":[["eV","electronvolt","electronvolts"],1602176634e-28,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<newton>":[["N","Newton","newton"],1,"force",["<kilogram>","<meter>"],["<second>","<second>"]],"<dyne>":[["dyn","dyne"],1e-5,"force",["<kilogram>","<meter>"],["<second>","<second>"]],"<pound-force>":[["lbf","pound-force"],4.448222,"force",["<kilogram>","<meter>"],["<second>","<second>"]],"<hertz>":[["Hz","hertz","Hertz"],1,"frequency",["<1>"],["<second>"]],"<radian>":[["rad","radian","radians"],1,"angle",["<radian>"]],"<degree>":[["deg","degree","degrees"],Math.PI/180,"angle",["<radian>"]],"<arcminute>":[["arcmin","arcminute","arcminutes"],Math.PI/10800,"angle",["<radian>"]],"<arcsecond>":[["arcsec","arcsecond","arcseconds"],Math.PI/648e3,"angle",["<radian>"]],"<gradian>":[["gon","grad","gradian","grads"],Math.PI/200,"angle",["<radian>"]],"<steradian>":[["sr","steradian","steradians"],1,"solid_angle",["<steradian>"]],"<rotation>":[["rotation"],2*Math.PI,"angle",["<radian>"]],"<rpm>":[["rpm"],2*Math.PI/60,"angular_velocity",["<radian>"],["<second>"]],"<byte>":[["B","byte","bytes"],1,"information",["<byte>"]],"<bit>":[["b","bit","bits"],.125,"information",["<byte>"]],"<Bps>":[["Bps"],1,"information_rate",["<byte>"],["<second>"]],"<bps>":[["bps"],.125,"information_rate",["<byte>"],["<second>"]],"<dollar>":[["USD","dollar"],1,"currency",["<dollar>"]],"<cents>":[["cents"],.01,"currency",["<dollar>"]],"<candela>":[["cd","candela"],1,"luminosity",["<candela>"]],"<lumen>":[["lm","lumen"],1,"luminous_power",["<candela>","<steradian>"]],"<lux>":[["lux"],1,"illuminance",["<candela>","<steradian>"],["<meter>","<meter>"]],"<watt>":[["W","watt","watts"],1,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<volt-ampere>":[["VA","volt-ampere"],1,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<volt-ampere-reactive>":[["var","Var","VAr","VAR","volt-ampere-reactive"],1,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<horsepower>":[["hp","horsepower"],745.699872,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<gray>":[["Gy","gray","grays"],1,"radiation",["<meter>","<meter>"],["<second>","<second>"]],"<roentgen>":[["R","roentgen"],.00933,"radiation",["<meter>","<meter>"],["<second>","<second>"]],"<sievert>":[["Sv","sievert","sieverts"],1,"radiation",["<meter>","<meter>"],["<second>","<second>"]],"<becquerel>":[["Bq","becquerel","becquerels"],1,"radiation",["<1>"],["<second>"]],"<curie>":[["Ci","curie","curies"],37e9,"radiation",["<1>"],["<second>"]],"<cpm>":[["cpm"],1/60,"rate",["<count>"],["<second>"]],"<dpm>":[["dpm"],1/60,"rate",["<count>"],["<second>"]],"<bpm>":[["bpm"],1/60,"rate",["<count>"],["<second>"]],"<dot>":[["dot","dots"],1,"resolution",["<each>"]],"<pixel>":[["pixel","px"],1,"resolution",["<each>"]],"<ppi>":[["ppi"],1,"resolution",["<pixel>"],["<inch>"]],"<dpi>":[["dpi"],1,"typography",["<dot>"],["<inch>"]],"<cell>":[["cells","cell"],1,"counting",["<each>"]],"<each>":[["each"],1,"counting",["<each>"]],"<count>":[["count"],1,"counting",["<each>"]],"<base-pair>":[["bp","base-pair"],1,"counting",["<each>"]],"<nucleotide>":[["nt","nucleotide"],1,"counting",["<each>"]],"<molecule>":[["molecule","molecules"],1,"counting",["<1>"]],"<dozen>":[["doz","dz","dozen"],12,"prefix_only",["<each>"]],"<percent>":[["%","percent"],.01,"prefix_only",["<1>"]],"<ppm>":[["ppm"],1e-6,"prefix_only",["<1>"]],"<ppb>":[["ppb"],1e-9,"prefix_only",["<1>"]],"<ppt>":[["ppt"],1e-12,"prefix_only",["<1>"]],"<ppq>":[["ppq"],1e-15,"prefix_only",["<1>"]],"<gross>":[["gr","gross"],144,"prefix_only",["<dozen>","<dozen>"]],"<decibel>":[["dB","decibel","decibels"],1,"logarithmic",["<decibel>"]]},ke=["<meter>","<kilogram>","<second>","<mole>","<ampere>","<radian>","<kelvin>","<temp-K>","<byte>","<dollar>","<candela>","<each>","<steradian>","<decibel>"],K="<1>",b=[K];function Ce(e,t){var r=t[1],i=t[3]||[],s=t[4]||[];if(!n(r))throw new m(e+": Invalid unit definition. 'scalar' must be a number");i.forEach(function(a){if(S[a]===void 0)throw new m(e+": Invalid unit definition. Unit "+a+" in 'numerator' is not recognized")}),s.forEach(function(a){if(S[a]===void 0)throw new m(e+": Invalid unit definition. Unit "+a+" in 'denominator' is not recognized")})}var U={},N={},k={},P={},I={};for(var _ in S)if(S.hasOwnProperty(_)){var M=S[_];if(M[2]==="prefix"){U[_]=M[1];for(var G=0;G<M[0].length;G++)N[M[0][G]]=_}else{Ce(_,M),k[_]={scalar:M[1],numerator:M[3],denominator:M[4]};for(var O=0;O<M[0].length;O++)P[M[0][O]]=_}I[_]=M[0][0]}function Se(e){var t,r=[],i=Object.keys(S);if(typeof e>"u")for(t=0;t<i.length;t++)["","prefix"].indexOf(S[i[t]][2])===-1&&r.push(i[t].substr(1,i[t].length-2));else{if(this.getKinds().indexOf(e)===-1)throw new m("Kind not recognized");for(t=0;t<i.length;t++)S[i[t]][2]===e&&r.push(i[t].substr(1,i[t].length-2))}return r.sort(function(s,a){return s.toLowerCase()<a.toLowerCase()?-1:s.toLowerCase()>a.toLowerCase()?1:0})}function Me(e){if(!P[e])throw new m("Unit not recognized");return S[P[e]][0]}var L=["length","time","temperature","mass","current","substance","luminosity","currency","information","angle"];function Te(){if(this.signature)return this.signature;for(var e=te.call(this),t=0;t<e.length;t++)e[t]*=Math.pow(20,t);return e.reduce(function(r,i){return r+i},0)}function te(){if(!this.isBase())return te.call(this.toBase());for(var e=new Array(L.length),t=0;t<e.length;t++)e[t]=0;for(var r,i,s=0;s<this.numerator.length;s++)(r=S[this.numerator[s]])&&(i=L.indexOf(r[2]),i>=0&&(e[i]=e[i]+1));for(var a=0;a<this.denominator.length;a++)(r=S[this.denominator[a]])&&(i=L.indexOf(r[2]),i>=0&&(e[i]=e[i]-1));return e}var re="[+-]",W="\\d+",qe=re+"?"+W,ne="\\."+W,xe="(?:"+W+"(?:"+ne+")?)|(?:"+ne+")",Ue="[Ee]"+qe,_e="(?:"+xe+")(?:"+Ue+")?",Ae=re+"?\\s*"+_e,Ee="("+Ae+")?\\s*([^/]*)(?:/(.+))?",Pe=new RegExp("^"+Ee+"$"),ie="\\^|\\*{2}",se="[01234]",De=new RegExp("([^ \\*\\d]+?)(?:"+ie+")?(-?"+se+"(?![a-zA-Z]))"),Re=new RegExp("([^ \\*\\d]+?)(?:"+ie+")?("+se+"(?![a-zA-Z]))");function ae(e){f(e)||(e=e.toString()),e=e.trim();var t=Pe.exec(e);if(!t)throw new m(e+": Quantity not recognized");var r=t[1];r?(r=r.replace(/\s/g,""),this.scalar=parseFloat(r)):this.scalar=1;for(var i=t[2],s=t[3],a,g,d;t=De.exec(i);){if(a=parseFloat(t[2]),isNaN(a))throw new m("Unit exponent is not a number");if(a===0&&!J.test(t[1]))throw new m("Unit not recognized");g=t[1]+" ",d="";for(var v=0;v<Math.abs(a);v++)d+=g;a>=0?i=i.replace(t[0],d):(s=s?s+d:d,i=i.replace(t[0],""))}for(;t=Re.exec(s);){if(a=parseFloat(t[2]),isNaN(a))throw new m("Unit exponent is not a number");if(a===0&&!J.test(t[1]))throw new m("Unit not recognized");g=t[1]+" ",d="";for(var C=0;C<a;C++)d+=g;s=s.replace(t[0],d)}i&&(this.numerator=me(i.trim())),s&&(this.denominator=me(s.trim()))}var ze=Object.keys(N).sort(function(e,t){return t.length-e.length}).join("|"),Fe=Object.keys(P).sort(function(e,t){return t.length-e.length}).join("|"),Ke="\\b|$",oe="("+ze+")??("+Fe+")(?:"+Ke+")",J=new RegExp("^\\s*("+oe+"[\\s\\*]*)+$"),Ne=new RegExp(oe,"g"),ue={};function me(e){var t=ue[e];if(t)return t;var r,i=[];if(!J.test(e))throw new m("Unit not recognized");for(;r=Ne.exec(e);)i.push(r.slice(1));return i=i.map(function(s){return N[s[0]]?[N[s[0]],P[s[1]]]:[P[s[1]]]}),i=i.reduce(function(s,a){return s.concat(a)},[]),i=i.filter(function(s){return s}),ue[e]=i,i}function Ie(e){if(!f(e))throw new m("Argument should be a string");try{return this(e)}catch{return null}}function H(e){return e instanceof o}function o(e,t){if(He.apply(null,arguments),!H(this))return new o(e,t);if(this.scalar=null,this.baseScalar=null,this.signature=null,this._conversionCache={},this.numerator=b,this.denominator=b,ce(e)?(this.scalar=e.scalar,this.numerator=e.numerator&&e.numerator.length!==0?e.numerator:b,this.denominator=e.denominator&&e.denominator.length!==0?e.denominator:b):t?(ae.call(this,t),this.scalar=e):ae.call(this,e),this.denominator.join("*").indexOf("temp")>=0)throw new m("Cannot divide with temperatures");if(this.numerator.join("*").indexOf("temp")>=0){if(this.numerator.length>1)throw new m("Cannot multiply by temperatures");if(!c(this.denominator,b))throw new m("Cannot divide with temperatures")}if(this.initValue=e,Be.call(this),this.isTemperature()&&this.baseScalar<0)throw new m("Temperatures must not be less than absolute zero")}o.prototype={constructor:o};function He(e,t){if(t){if(!(n(e)&&f(t)))throw new m("Only number accepted as initialization value when units are explicitly provided")}else if(!(f(e)||n(e)||H(e)||ce(e)))throw new m("Only string, number or quantity accepted as single initialization value")}function ce(e){return e&&typeof e=="object"&&e.hasOwnProperty("scalar")}function Be(){if(this.baseScalar)return this.baseScalar;if(this.isBase())this.baseScalar=this.scalar,this.signature=Te.call(this);else{var e=this.toBase();this.baseScalar=e.scalar,this.signature=e.signature}}var V={"-312078":"elastance","-312058":"resistance","-312038":"inductance","-152058":"potential","-152040":"magnetism","-152038":"magnetism","-7997":"specific_volume","-79":"snap","-59":"jolt","-39":"acceleration","-38":"radiation","-20":"frequency","-19":"speed","-18":"viscosity","-17":"volumetric_flow","-1":"wavenumber",0:"unitless",1:"length",2:"area",3:"volume",20:"time",400:"temperature",7941:"yank",7942:"power",7959:"pressure",7961:"force",7962:"energy",7979:"viscosity",7981:"momentum",7982:"angular_momentum",7997:"density",7998:"area_density",8e3:"mass",152020:"radiation_exposure",159999:"magnetism",16e4:"current",160020:"charge",312058:"conductance",312078:"capacitance",3199980:"activity",3199997:"molar_concentration",32e5:"substance",63999998:"illuminance",64e6:"luminous_power",128e7:"currency","25599999980":"information_rate","25600000000":"information","511999999980":"angular_velocity","512000000000":"angle"};function Ge(){return p(Object.keys(V).map(function(e){return V[e]}))}o.prototype.kind=function(){return V[this.signature.toString()]},y(o.prototype,{isDegrees:function(){return(this.signature===null||this.signature===400)&&this.numerator.length===1&&c(this.denominator,b)&&(this.numerator[0].match(/<temp-[CFRK]>/)||this.numerator[0].match(/<(kelvin|celsius|rankine|fahrenheit)>/))},isTemperature:function(){return this.isDegrees()&&this.numerator[0].match(/<temp-[CFRK]>/)}});function Oe(e,t){var r=e.units(),i=t.to(r),s=o(j(r));return o({scalar:e.scalar-i.scalar,numerator:s.numerator,denominator:s.denominator})}function Le(e,t){var r=t.to(j(e.units()));return o({scalar:e.scalar-r.scalar,numerator:e.numerator,denominator:e.denominator})}function le(e,t){var r=t.to(j(e.units()));return o({scalar:e.scalar+r.scalar,numerator:e.numerator,denominator:e.denominator})}function j(e){if(e==="tempK")return"degK";if(e==="tempC")return"degC";if(e==="tempF")return"degF";if(e==="tempR")return"degR";throw new m("Unknown type for temp conversion from: "+e)}function We(e,t){var r=Je(e),i=t.units(),s;if(i==="degK")s=r.scalar;else if(i==="degC")s=r.scalar;else if(i==="degF")s=r.scalar*9/5;else if(i==="degR")s=r.scalar*9/5;else throw new m("Unknown type for degree conversion to: "+i);return o({scalar:s,numerator:t.numerator,denominator:t.denominator})}function Je(e){var t=e.units(),r;if(t.match(/(deg)[CFRK]/))r=e.baseScalar;else if(t==="tempK")r=e.scalar;else if(t==="tempC")r=e.scalar;else if(t==="tempF")r=e.scalar*5/9;else if(t==="tempR")r=e.scalar*5/9;else throw new m("Unknown type for temp conversion from: "+t);return o({scalar:r,numerator:["<kelvin>"],denominator:b})}function Ve(e,t){var r=t.units(),i;if(r==="tempK")i=e.baseScalar;else if(r==="tempC")i=e.baseScalar-273.15;else if(r==="tempF")i=e.baseScalar*9/5-459.67;else if(r==="tempR")i=e.baseScalar*9/5;else throw new m("Unknown type for temp conversion to: "+r);return o({scalar:i,numerator:t.numerator,denominator:t.denominator})}function je(e){var t=e.units(),r;if(t.match(/(deg)[CFRK]/))r=e.baseScalar;else if(t==="tempK")r=e.scalar;else if(t==="tempC")r=e.scalar+273.15;else if(t==="tempF")r=(e.scalar+459.67)*5/9;else if(t==="tempR")r=e.scalar*5/9;else throw new m("Unknown type for temp conversion from: "+t);return o({scalar:r,numerator:["<temp-K>"],denominator:b})}y(o.prototype,{to:function(e){var t,r;if(e==null)return this;if(!f(e))return this.to(e.units());if(t=this._conversionCache[e],t)return t;if(r=o(e),r.units()===this.units())return this;if(!this.isCompatible(r))this.isInverse(r)?r=this.inverse().to(e):z(this.units(),r.units());else if(r.isTemperature())r=Ve(this,r);else if(r.isDegrees())r=We(this,r);else{var i=x(this.baseScalar,r.baseScalar);r=o({scalar:i,numerator:r.numerator,denominator:r.denominator})}return this._conversionCache[e]=r,r},toBase:function(){if(this.isBase())return this;if(this.isTemperature())return je(this);var e=pe[this.units()];return e||(e=Ye(this.numerator,this.denominator),pe[this.units()]=e),e.mul(this.scalar)},toFloat:function(){if(this.isUnitless())return this.scalar;throw new m("Can't convert to Float unless unitless. Use Unit#scalar")},toPrec:function(e){if(f(e)&&(e=o(e)),n(e)&&(e=o(e+" "+this.units())),this.isUnitless()?e.isUnitless()||z(this.units(),e.units()):e=e.to(this.units()),e.scalar===0)throw new m("Divide by zero");var t=h(Math.round(this.scalar/e.scalar),e.scalar);return o(t+this.units())}});function Xe(e,t){var r=o(e),i=o(t);if(r.eq(i))return l;var s;return r.isTemperature()?s=function(a){return r.mul(a).to(i).scalar}:s=function(a){return a*r.baseScalar/i.baseScalar},function(g){var d,v,C;if(Array.isArray(g)){for(v=g.length,C=[],d=0;d<v;d++)C.push(s(g[d]));return C}else return s(g)}}var pe={};function Ye(e,t){for(var r=[],i=[],s=1,a,g=0;g<e.length;g++)a=e[g],U[a]?s=h(s,U[a]):k[a]&&(s*=k[a].scalar,k[a].numerator&&r.push(k[a].numerator),k[a].denominator&&i.push(k[a].denominator));for(var d=0;d<t.length;d++)a=t[d],U[a]?s/=U[a]:k[a]&&(s/=k[a].scalar,k[a].numerator&&i.push(k[a].numerator),k[a].denominator&&r.push(k[a].denominator));return r=r.reduce(function(v,C){return v.concat(C)},[]),i=i.reduce(function(v,C){return v.concat(C)},[]),o({scalar:s,numerator:r,denominator:i})}o.parse=Ie,o.getUnits=Se,o.getAliases=Me,o.mulSafe=h,o.divSafe=x,o.getKinds=Ge,o.swiftConverter=Xe,o.Error=m,y(o.prototype,{add:function(e){if(f(e)&&(e=o(e)),this.isCompatible(e)||z(this.units(),e.units()),this.isTemperature()&&e.isTemperature())throw new m("Cannot add two temperatures");return this.isTemperature()?le(this,e):e.isTemperature()?le(e,this):o({scalar:this.scalar+e.to(this).scalar,numerator:this.numerator,denominator:this.denominator})},sub:function(e){if(f(e)&&(e=o(e)),this.isCompatible(e)||z(this.units(),e.units()),this.isTemperature()&&e.isTemperature())return Oe(this,e);if(this.isTemperature())return Le(this,e);if(e.isTemperature())throw new m("Cannot subtract a temperature from a differential degree unit");return o({scalar:this.scalar-e.to(this).scalar,numerator:this.numerator,denominator:this.denominator})},mul:function(e){if(n(e))return o({scalar:h(this.scalar,e),numerator:this.numerator,denominator:this.denominator});if(f(e)&&(e=o(e)),(this.isTemperature()||e.isTemperature())&&!(this.isUnitless()||e.isUnitless()))throw new m("Cannot multiply by temperatures");var t=this,r=e;t.isCompatible(r)&&t.signature!==400&&(r=r.to(t));var i=de(t.numerator,t.denominator,r.numerator,r.denominator);return o({scalar:h(t.scalar,r.scalar,i[2]),numerator:i[0],denominator:i[1]})},div:function(e){if(n(e)){if(e===0)throw new m("Divide by zero");return o({scalar:this.scalar/e,numerator:this.numerator,denominator:this.denominator})}else f(e)&&(e=o(e));if(e.scalar===0)throw new m("Divide by zero");if(e.isTemperature())throw new m("Cannot divide with temperatures");if(this.isTemperature()&&!e.isUnitless())throw new m("Cannot divide with temperatures");var t=this,r=e;t.isCompatible(r)&&t.signature!==400&&(r=r.to(t));var i=de(t.numerator,t.denominator,r.denominator,r.numerator);return o({scalar:h(t.scalar,i[2])/r.scalar,numerator:i[0],denominator:i[1]})},inverse:function(){if(this.isTemperature())throw new m("Cannot divide with temperatures");if(this.scalar===0)throw new m("Divide by zero");return o({scalar:1/this.scalar,numerator:this.denominator,denominator:this.numerator})}});function de(e,t,r,i){function s(T){return T!==K}e=e.filter(s),r=r.filter(s),t=t.filter(s),i=i.filter(s);var a={};function g(T,A){for(var q,B,Y,E=0;E<T.length;E++)if(U[T[E]]?(q=T[E+1],B=T[E],Y=U[B],E++):(q=T[E],B=null,Y=1),q&&q!==K)if(a[q]){a[q][0]+=A;var et=a[q][2]?U[a[q][2]]:1;a[q][A===1?3:4]*=x(Y,et)}else a[q]=[A,q,B,1,1]}g(e,1),g(t,-1),g(r,1),g(i,-1);var d=[],v=[],C=1;for(var ge in a)if(a.hasOwnProperty(ge)){var w=a[ge],D;if(w[0]>0)for(D=0;D<w[0];D++)d.push(w[2]===null?w[1]:[w[2],w[1]]);else if(w[0]<0)for(D=0;D<-w[0];D++)v.push(w[2]===null?w[1]:[w[2],w[1]]);C*=x(w[3],w[4])}return d.length===0&&(d=b),v.length===0&&(v=b),d=d.reduce(function(T,A){return T.concat(A)},[]),v=v.reduce(function(T,A){return T.concat(A)},[]),[d,v,C]}y(o.prototype,{eq:function(e){return this.compareTo(e)===0},lt:function(e){return this.compareTo(e)===-1},lte:function(e){return this.eq(e)||this.lt(e)},gt:function(e){return this.compareTo(e)===1},gte:function(e){return this.eq(e)||this.gt(e)},compareTo:function(e){if(f(e))return this.compareTo(o(e));if(this.isCompatible(e)||z(this.units(),e.units()),this.baseScalar<e.baseScalar)return-1;if(this.baseScalar===e.baseScalar)return 0;if(this.baseScalar>e.baseScalar)return 1},same:function(e){return this.scalar===e.scalar&&this.units()===e.units()}}),y(o.prototype,{isUnitless:function(){return[this.numerator,this.denominator].every(function(e){return c(e,b)})},isCompatible:function(e){return f(e)?this.isCompatible(o(e)):H(e)&&e.signature!==void 0?this.signature===e.signature:!1},isInverse:function(e){return this.inverse().isCompatible(e)},isBase:function(){return this._isBase!==void 0?this._isBase:this.isDegrees()&&this.numerator[0].match(/<(kelvin|temp-K)>/)?(this._isBase=!0,this._isBase):(this.numerator.concat(this.denominator).forEach(function(e){e!==K&&ke.indexOf(e)===-1&&(this._isBase=!1)},this),this._isBase===!1?this._isBase:(this._isBase=!0,this._isBase))}});function X(){}X.prototype.get=function(e){return arguments.length>1&&(e=Array.apply(null,arguments)),e.reduce(function(t,r,i){if(t){var s=t[r];return i===e.length-1?s?s.data:void 0:s}},this)},X.prototype.set=function(e,t){return arguments.length>2&&(e=Array.prototype.slice.call(arguments,0,-1),t=arguments[arguments.length-1]),e.reduce(function(r,i,s){var a=r[i];return a===void 0&&(a=r[i]={}),s===e.length-1?(a.data=t,t):a},this)};function Ze(e,t){return(e+" "+t).trim()}o.formatter=Ze,y(o.prototype,{units:function(){if(this._units!==void 0)return this._units;var e=c(this.numerator,b),t=c(this.denominator,b);if(e&&t)return this._units="",this._units;var r=he(this.numerator),i=he(this.denominator);return this._units=r+(t?"":"/"+i),this._units},toString:function(e,t){var r;if(n(e))r=this.units(),t=e;else if(f(e))r=e;else if(H(e))return this.toPrec(e).toString(t);var i=this.to(r),s=t!==void 0?F(i.scalar,t):i.scalar;return i=(s+" "+i.units()).trim(),i},format:function(e,t){arguments.length===1&&typeof e=="function"&&(t=e,e=void 0),t=t||o.formatter;var r=this.to(e);return t.call(this,r.scalar,r.units())}});var fe=new X;function he(e){var t=fe.get(e);if(t)return t;var r=c(e,b);return r?t="1":t=Qe($e(e)).join("*"),fe.set(e,t),t}function $e(e){for(var t=[],r,i,s=0;s<e.length;s++)r=e[s],i=e[s+1],U[r]?(t.push(I[r]+I[i]),s++):t.push(I[r]);return t}function Qe(e){var t=e.reduce(function(r,i){var s=r[i];return s||r.push(s=r[i]=[i,0]),s[1]++,r},[]);return t.map(function(r){return r[0]+(r[1]>1?r[1]:"")})}return o.version="1.8.0",o})});var u=rt(we());var ut=(()=>{class f{AppSettingsService=Z(ve);data=Z(be);_defaultUnitsSub;_conversionList=[{group:"Unitless",units:[{measure:"unitless",description:"As-Is numeric value"},{measure:" ",description:"No unit label - As-Is numeric value"}]},{group:"Speed",units:[{measure:"knots",description:"Knots - Nautical miles per hour"},{measure:"kph",description:"kph - Kilometers per hour"},{measure:"mph",description:"mph - Miles per hour"},{measure:"m/s",description:"m/s - Meters per second (base)"}]},{group:"Flow",units:[{measure:"m3/s",description:"Cubic meters per second (base)"},{measure:"l/min",description:"Liters per minute"},{measure:"l/h",description:"Liters per hour"},{measure:"g/min",description:"Gallons per minute"},{measure:"g/h",description:"Gallons per hour"}]},{group:"Fuel Distance",units:[{measure:"m/m3",description:"Meters per cubic meter (base)"},{measure:"nm/l",description:"Nautical Miles per liter"},{measure:"nm/g",description:"Nautical Miles per gallon"},{measure:"km/l",description:"Kilometers per liter"},{measure:"mpg",description:"Miles per Gallon"}]},{group:"Energy Distance",units:[{measure:"m/J",description:"Meters per Joule (base)"},{measure:"nm/J",description:"Nautical Miles per Joule"},{measure:"km/J",description:"Kilometers per Joule"},{measure:"nm/kWh",description:"Nautical Miles per Kilowatt-hour"},{measure:"km/kWh",description:"Kilometers per Kilowatt-hour"}]},{group:"Temperature",units:[{measure:"K",description:"Kelvin (base)"},{measure:"celsius",description:"Celsius"},{measure:"fahrenheit",description:"Fahrenheit"}]},{group:"Length",units:[{measure:"m",description:"Meters (base)"},{measure:"mm",description:"Millimeters"},{measure:"fathom",description:"Fathoms"},{measure:"nm",description:"Nautical Miles"},{measure:"km",description:"Kilometers"},{measure:"mi",description:"Miles"},{measure:"feet",description:"Feet"},{measure:"inch",description:"Inches"}]},{group:"Volume",units:[{measure:"liter",description:"Liters (base)"},{measure:"m3",description:"Cubic Meters"},{measure:"gallon",description:"Gallons"}]},{group:"Current",units:[{measure:"A",description:"Amperes (base)"},{measure:"mA",description:"Milliamperes"}]},{group:"Potential",units:[{measure:"V",description:"Volts (base)"},{measure:"mV",description:"Millivolts"}]},{group:"Charge",units:[{measure:"C",description:"Coulomb (base)"},{measure:"Ah",description:"Ampere*Hours"}]},{group:"Power",units:[{measure:"W",description:"Watts (base)"},{measure:"mW",description:"Milliwatts"}]},{group:"Energy",units:[{measure:"J",description:"Joules (base)"},{measure:"kWh",description:"Kilowatt*Hours"}]},{group:"Resistance",units:[{measure:"ohm",description:"\u2126 (base)"},{measure:"kiloohm",description:"k\u2126"}]},{group:"Pressure",units:[{measure:"Pa",description:"Pa (base)"},{measure:"kPa",description:"kPa"},{measure:"hPa",description:"hPa"},{measure:"mbar",description:"mbar"},{measure:"bar",description:"Bars"},{measure:"psi",description:"psi"},{measure:"mmHg",description:"mmHg"},{measure:"inHg",description:"inHg"}]},{group:"Density",units:[{measure:"kg/m3",description:"Air density - kg/cubic meter (base)"}]},{group:"Time",units:[{measure:"s",description:"Seconds (base)"},{measure:"Minutes",description:"Minutes"},{measure:"Hours",description:"Hours"},{measure:"Days",description:"Days"},{measure:"D HH:MM:SS",description:"Day Hour:Minute:sec"}]},{group:"Angular Velocity",units:[{measure:"rad/s",description:"Radians per second (base)"},{measure:"deg/s",description:"Degrees per second"},{measure:"deg/min",description:"Degrees per minute"}]},{group:"Angle",units:[{measure:"rad",description:"Radians (base)"},{measure:"deg",description:"Degrees"},{measure:"grad",description:"Gradians"}]},{group:"Frequency",units:[{measure:"rpm",description:"RPM - Rotations per minute"},{measure:"Hz",description:"Hz - Hertz (base)"},{measure:"KHz",description:"KHz - Kilohertz"},{measure:"MHz",description:"MHz - Megahertz"},{measure:"GHz",description:"GHz - Gigahertz"}]},{group:"Ratio",units:[{measure:"percent",description:"As percentage value"},{measure:"percentraw",description:"As ratio 0-1 with % sign"},{measure:"ratio",description:"Ratio 0-1 (base)"}]},{group:"Position",units:[{measure:"pdeg",description:"Position Degrees"},{measure:"latitudeMin",description:"Latitude in minutes"},{measure:"latitudeSec",description:"Latitude in seconds"},{measure:"longitudeMin",description:"Longitude in minutes"},{measure:"longitudeSec",description:"Longitude in seconds"}]}];skBaseUnits=[{unit:"s",properties:{display:"s",quantity:"Time",quantityDisplay:"t",description:"Elapsed time (interval) in seconds"}},{unit:"Hz",properties:{display:"Hz",quantity:"Frequency",quantityDisplay:"f",description:"Frequency in Hertz"}},{unit:"m3",properties:{display:"m\xB3",quantity:"Volume",quantityDisplay:"V",description:"Volume in cubic meters"}},{unit:"m3/s",properties:{display:"m\xB3/s",quantity:"Flow",quantityDisplay:"Q",description:"Liquid or gas flow in cubic meters per second"}},{unit:"kg/s",properties:{display:"kg/s",quantity:"Mass flow rate",quantityDisplay:"\u1E41",description:"Liquid or gas flow in kilograms per second"}},{unit:"kg/m3",properties:{display:"kg/m\xB3",quantity:"Density",quantityDisplay:"\u03C1",description:"Density in kg per cubic meter"}},{unit:"deg",properties:{display:"Position",quantity:"Angle",quantityDisplay:"\u2220",description:"Latitude or longitude in decimal degrees"}},{unit:"rad",properties:{display:"\xB0",quantity:"Angle",quantityDisplay:"\u2220",description:"Angular arc in radians"}},{unit:"rad/s",properties:{display:"\u33AD/s",quantity:"Rotation",quantityDisplay:"\u03C9",description:"Angular rate in radians per second"}},{unit:"A",properties:{display:"A",quantity:"Current",quantityDisplay:"I",description:"Electrical current in ampere"}},{unit:"C",properties:{display:"C",quantity:"Charge",quantityDisplay:"Q",description:"Electrical charge in Coulomb"}},{unit:"V",properties:{display:"V",quantity:"Voltage",quantityDisplay:"V",description:"Electrical potential in volt"}},{unit:"W",properties:{display:"W",quantity:"Power",quantityDisplay:"P",description:"Power in watt"}},{unit:"Nm",properties:{display:"Nm",quantity:"Torque",quantityDisplay:"\u03C4",description:"Torque in Newton meter"}},{unit:"J",properties:{display:"J",quantity:"Energy",quantityDisplay:"E",description:"Electrical energy in joule"}},{unit:"ohm",properties:{display:"\u2126",quantity:"Resistance",quantityDisplay:"R",description:"Electrical resistance in ohm"}},{unit:"m",properties:{display:"m",quantity:"Distance",quantityDisplay:"d",description:"Distance in meters"}},{unit:"m/s",properties:{display:"m/s",quantity:"Speed",quantityDisplay:"v",description:"Speed in meters per second"}},{unit:"m2",properties:{display:"\u33A1",quantity:"Area",quantityDisplay:"A",description:"(Surface) area in square meters"}},{unit:"K",properties:{display:"K",quantity:"Temperature",quantityDisplay:"T",description:"Temperature in kelvin"}},{unit:"Pa",properties:{display:"Pa",quantity:"Pressure",quantityDisplay:"P",description:"Pressure in pascal"}},{unit:"kg",properties:{display:"kg",quantity:"Mass",quantityDisplay:"m",description:"Mass in kilogram"}},{unit:"ratio",properties:{display:"",quantity:"Ratio",quantityDisplay:"\u03C6",description:"Relative value compared to reference or normal value. 0 = 0%, 1 = 100%, 1e-3 = 1 ppt"}},{unit:"m/s2",properties:{display:"m/s\xB2",quantity:"Acceleration",quantityDisplay:"a",description:"Acceleration in meters per second squared"}},{unit:"rad/s2",properties:{display:"rad/s\xB2",quantity:"Angular acceleration",quantityDisplay:"a",description:"Angular acceleration in radians per second squared"}},{unit:"N",properties:{display:"N",quantity:"Force",quantityDisplay:"F",description:"Force in newton"}},{unit:"T",properties:{display:"T",quantity:"Magnetic field",quantityDisplay:"B",description:"Magnetic field strength in tesla"}},{unit:"Lux",properties:{display:"lx",quantity:"Light Intensity",quantityDisplay:"Ev",description:"Light Intensity in lux"}},{unit:"Pa/s",properties:{display:"Pa/s",quantity:"Pressure rate",quantityDisplay:"R",description:"Pressure change rate in pascal per second"}},{unit:"Pa.s",properties:{display:"Pa s",quantity:"Viscosity",quantityDisplay:"\u03BC",description:"Viscosity in pascal seconds"}}];_defaultUnits=null;constructor(){this._defaultUnitsSub=this.AppSettingsService.getDefaultUnitsAsO().subscribe(n=>{this._defaultUnits=n})}unitConversionFunctions={unitless:function(n){return n}," ":function(n){return n},knots:u.default.swiftConverter("m/s","kn"),kph:u.default.swiftConverter("m/s","kph"),"m/s":function(n){return n},mph:u.default.swiftConverter("m/s","mph"),liter:u.default.swiftConverter("m^3","liter"),gallon:u.default.swiftConverter("m^3","gallon"),m3:function(n){return n},"m3/s":function(n){return n},"l/min":u.default.swiftConverter("m^3/s","liter/minute"),"l/h":u.default.swiftConverter("m^3/s","liter/hour"),"g/min":u.default.swiftConverter("m^3/s","gallon/minute"),"g/h":u.default.swiftConverter("m^3/s","gallon/hour"),"m/m3":function(n){return n},"nm/l":u.default.swiftConverter("m/m^3","naut-mile/liter"),"nm/g":u.default.swiftConverter("m/m^3","naut-mile/gallon"),"km/l":u.default.swiftConverter("m/m^3","km/liter"),mpg:u.default.swiftConverter("m/m^3","mile/gallon"),"m/J":function(n){return n},"nm/J":u.default.swiftConverter("m/J","naut-mile/J"),"km/J":u.default.swiftConverter("km/J","km/J"),"nm/kWh":u.default.swiftConverter("m/J","naut-mile/kWh"),"km/kWh":u.default.swiftConverter("m/J","km/kWh"),K:function(n){return n},celsius:u.default.swiftConverter("tempK","tempC"),fahrenheit:u.default.swiftConverter("tempK","tempF"),m:function(n){return n},mm:function(n){return n*1e3},fathom:u.default.swiftConverter("m","fathom"),feet:u.default.swiftConverter("m","foot"),inch:u.default.swiftConverter("m","in"),km:u.default.swiftConverter("m","km"),nm:u.default.swiftConverter("m","nmi"),mi:u.default.swiftConverter("m","mi"),V:function(n){return n},mV:function(n){return n*1e3},A:function(n){return n},mA:function(n){return n*1e3},C:function(n){return n},Ah:u.default.swiftConverter("C","Ah"),W:function(n){return n},mW:function(n){return n*1e3},J:function(n){return n},kWh:u.default.swiftConverter("J","kWh"),ohm:function(n){return n},kiloohm:function(n){return n/1e3},Pa:function(n){return n},bar:u.default.swiftConverter("Pa","bar"),psi:u.default.swiftConverter("Pa","psi"),mmHg:u.default.swiftConverter("Pa","mmHg"),inHg:u.default.swiftConverter("Pa","inHg"),hPa:u.default.swiftConverter("Pa","hPa"),kPa:u.default.swiftConverter("Pa","kPa"),mbar:u.default.swiftConverter("Pa","millibar"),"kg/m3":function(n){return n},s:function(n){return n},Minutes:u.default.swiftConverter("s","minutes"),Hours:u.default.swiftConverter("s","hours"),Days:u.default.swiftConverter("s","days"),"D HH:MM:SS":function(n){n=parseInt(n,10);let l=n<0;n=Math.abs(n);let p=Math.floor(n/86400),c=Math.floor(n%86400/3600),y=Math.floor(n%3600/60),h=Math.floor(n%60),x=l?"-":"";return p>0?x+=p+"d "+c.toString()+":"+y.toString().padStart(2,"0")+":"+h.toString().padStart(2,"0"):x+=c.toString()+":"+y.toString().padStart(2,"0")+":"+h.toString().padStart(2,"0"),x},"rad/s":function(n){return n},"deg/s":u.default.swiftConverter("rad/s","deg/s"),"deg/min":u.default.swiftConverter("rad/s","deg/min"),rpm:function(n){return n*60},Hz:function(n){return n},KHz:function(n){return n/1e3},MHz:function(n){return n/1e6},GHz:function(n){return n/1e9},rad:function(n){return n},deg:u.default.swiftConverter("rad","deg"),grad:u.default.swiftConverter("rad","grad"),percent:function(n){return n*100},percentraw:function(n){return n},ratio:function(n){return n},pdeg:function(n){return n},latitudeMin:function(n){let l=Math.trunc(n),p="N";n<0&&(p="S",l=l*-1);let c=n%1*60;return p=="S"&&(c=c*-1),l+"\xB0 "+c.toFixed(2).padStart(5,"0")+"' "+p},latitudeSec:function(n){let l=Math.trunc(n),p="N";n<0&&(p="S",l=l*-1);let c=n%1*60;p=="S"&&(c=c*-1);let y=Math.trunc(c),h=c%1*60;return l+"\xB0 "+y+"' "+h.toFixed(2).padStart(5,"0")+'" '+p},longitudeMin:function(n){let l=Math.trunc(n),p="E";n<0&&(p="W",l=l*-1);let c=n%1*60;return p=="W"&&(c=c*-1),l+"\xB0 "+c.toFixed(2).padStart(5,"0")+"' "+p},longitudeSec:function(n){let l=Math.trunc(n),p="E";n<0&&(p="W",l=l*-1);let c=n%1*60;p=="W"&&(c=c*-1);let y=Math.trunc(c),h=c%1*60;return l+"\xB0 "+y+"' "+h.toFixed(2).padStart(5,"0")+'" '+p}};convertToUnit(n,l){if(!(n in this.unitConversionFunctions)||l===null)return null;let p=+l;return this.unitConversionFunctions[n](p)}getDefaults(){return this._defaultUnits}getConversions(){return this._conversionList}getConversionsForPath(n){let l=this.data.getPathUnitType(n),p="unitless",c="unitless";if(l===null||l==="RFC 3339 (UTC)")return{base:p,conversions:this._conversionList};{let y=this._conversionList.filter(h=>h.group=="Position"&&(n.includes("position.latitude")||n.includes("position.longitude"))?!0:h.units.find(F=>F.measure==l)?(c=this._defaultUnits[h.group],!0):!1);return y.length>0?{base:c,conversions:y}:(console.log("[Units Service] Unit type: "+l+", found for path: "+n+`
|
|
1
|
+
import{h as ve,p as be}from"./chunk-3JTVXMAY.js";import{d as tt,e as rt,na as ye,sa as Z}from"./chunk-AERKQXJA.js";var we=tt(($,Q)=>{(function(f,R){typeof $=="object"&&typeof Q<"u"?Q.exports=R():typeof define=="function"&&define.amd?define(R):(f=typeof globalThis<"u"?globalThis:f||self,f.Qty=R())})($,function(){"use strict";function f(e){return typeof e=="string"||e instanceof String}var R=Number.isFinite||window.isFinite;function n(e){return R(e)}function l(e){return e}function p(e){var t={};return e.filter(function(r){return t.hasOwnProperty(r)?!1:t[r]=!0})}function c(e,t){if(t.length!==e.length)return!1;for(var r=0;r<e.length;r++)if(t[r].compareArray&&!t[r].compareArray(e[r])||t[r]!==e[r])return!1;return!0}function y(e,t){Object.keys(t).forEach(function(r){e[r]=t[r]})}function h(){for(var e=1,t=0,r=0;r<arguments.length;r++){var i=arguments[r];t=t+ee(i),e*=i}return t!==0?F(e,t):e}function x(e,t){if(t===0)throw new Error("Divide by zero");var r=Math.pow(10,ee(t)),i=r/(r*t);return h(e,i)}function F(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}function ee(e){if(!isFinite(e))return 0;for(var t=0;e%1!==0;)e*=10,t++;return t}function m(){var e;if(!this)return e=Object.create(m.prototype),m.apply(e,arguments),e;e=Error.apply(this,arguments),this.name="QtyError",this.message=e.message,this.stack=e.stack}m.prototype=Object.create(Error.prototype,{constructor:{value:m}});function z(e,t){throw new m("Incompatible units: "+e+" and "+t)}var S={"<googol>":[["googol"],1e100,"prefix"],"<kibi>":[["Ki","Kibi","kibi"],Math.pow(2,10),"prefix"],"<mebi>":[["Mi","Mebi","mebi"],Math.pow(2,20),"prefix"],"<gibi>":[["Gi","Gibi","gibi"],Math.pow(2,30),"prefix"],"<tebi>":[["Ti","Tebi","tebi"],Math.pow(2,40),"prefix"],"<pebi>":[["Pi","Pebi","pebi"],Math.pow(2,50),"prefix"],"<exi>":[["Ei","Exi","exi"],Math.pow(2,60),"prefix"],"<zebi>":[["Zi","Zebi","zebi"],Math.pow(2,70),"prefix"],"<yebi>":[["Yi","Yebi","yebi"],Math.pow(2,80),"prefix"],"<yotta>":[["Y","Yotta","yotta"],1e24,"prefix"],"<zetta>":[["Z","Zetta","zetta"],1e21,"prefix"],"<exa>":[["E","Exa","exa"],1e18,"prefix"],"<peta>":[["P","Peta","peta"],1e15,"prefix"],"<tera>":[["T","Tera","tera"],1e12,"prefix"],"<giga>":[["G","Giga","giga"],1e9,"prefix"],"<mega>":[["M","Mega","mega"],1e6,"prefix"],"<kilo>":[["k","kilo"],1e3,"prefix"],"<hecto>":[["h","Hecto","hecto"],100,"prefix"],"<deca>":[["da","Deca","deca","deka"],10,"prefix"],"<deci>":[["d","Deci","deci"],.1,"prefix"],"<centi>":[["c","Centi","centi"],.01,"prefix"],"<milli>":[["m","Milli","milli"],.001,"prefix"],"<micro>":[["u","\u03BC","\xB5","Micro","mc","micro"],1e-6,"prefix"],"<nano>":[["n","Nano","nano"],1e-9,"prefix"],"<pico>":[["p","Pico","pico"],1e-12,"prefix"],"<femto>":[["f","Femto","femto"],1e-15,"prefix"],"<atto>":[["a","Atto","atto"],1e-18,"prefix"],"<zepto>":[["z","Zepto","zepto"],1e-21,"prefix"],"<yocto>":[["y","Yocto","yocto"],1e-24,"prefix"],"<1>":[["1","<1>"],1,""],"<meter>":[["m","meter","meters","metre","metres"],1,"length",["<meter>"]],"<inch>":[["in","inch","inches",'"'],.0254,"length",["<meter>"]],"<foot>":[["ft","foot","feet","'"],.3048,"length",["<meter>"]],"<yard>":[["yd","yard","yards"],.9144,"length",["<meter>"]],"<mile>":[["mi","mile","miles"],1609.344,"length",["<meter>"]],"<naut-mile>":[["nmi","naut-mile"],1852,"length",["<meter>"]],"<league>":[["league","leagues"],4828,"length",["<meter>"]],"<furlong>":[["furlong","furlongs"],201.2,"length",["<meter>"]],"<rod>":[["rd","rod","rods"],5.029,"length",["<meter>"]],"<mil>":[["mil","mils"],254e-7,"length",["<meter>"]],"<angstrom>":[["ang","angstrom","angstroms"],1e-10,"length",["<meter>"]],"<fathom>":[["fathom","fathoms"],1.829,"length",["<meter>"]],"<pica>":[["pica","picas"],.00423333333,"length",["<meter>"]],"<point>":[["pt","point","points"],.000352777778,"length",["<meter>"]],"<redshift>":[["z","red-shift","redshift"],1302773e20,"length",["<meter>"]],"<AU>":[["AU","astronomical-unit"],1495979e5,"length",["<meter>"]],"<light-second>":[["ls","light-second"],299792500,"length",["<meter>"]],"<light-minute>":[["lmin","light-minute"],1798755e4,"length",["<meter>"]],"<light-year>":[["ly","light-year"],9460528e9,"length",["<meter>"]],"<parsec>":[["pc","parsec","parsecs"],3085678e10,"length",["<meter>"]],"<datamile>":[["DM","datamile"],1828.8,"length",["<meter>"]],"<kilogram>":[["kg","kilogram","kilograms"],1,"mass",["<kilogram>"]],"<AMU>":[["u","AMU","amu"],1660538921e-36,"mass",["<kilogram>"]],"<dalton>":[["Da","Dalton","Daltons","dalton","daltons"],1660538921e-36,"mass",["<kilogram>"]],"<slug>":[["slug","slugs"],14.5939029,"mass",["<kilogram>"]],"<short-ton>":[["tn","ton","short-ton"],907.18474,"mass",["<kilogram>"]],"<metric-ton>":[["t","tonne","metric-ton"],1e3,"mass",["<kilogram>"]],"<carat>":[["ct","carat","carats"],2e-4,"mass",["<kilogram>"]],"<pound>":[["lbs","lb","pound","pounds","#"],.45359237,"mass",["<kilogram>"]],"<ounce>":[["oz","ounce","ounces"],.0283495231,"mass",["<kilogram>"]],"<gram>":[["g","gram","grams","gramme","grammes"],.001,"mass",["<kilogram>"]],"<grain>":[["grain","grains","gr"],6479891e-11,"mass",["<kilogram>"]],"<dram>":[["dram","drams","dr"],.0017718452,"mass",["<kilogram>"]],"<stone>":[["stone","stones","st"],6.35029318,"mass",["<kilogram>"]],"<hectare>":[["hectare"],1e4,"area",["<meter>","<meter>"]],"<acre>":[["acre","acres"],4046.85642,"area",["<meter>","<meter>"]],"<sqft>":[["sqft"],1,"area",["<foot>","<foot>"]],"<liter>":[["l","L","liter","liters","litre","litres"],.001,"volume",["<meter>","<meter>","<meter>"]],"<gallon>":[["gal","gallon","gallons"],.0037854118,"volume",["<meter>","<meter>","<meter>"]],"<gallon-imp>":[["galimp","gallon-imp","gallons-imp"],.00454609,"volume",["<meter>","<meter>","<meter>"]],"<quart>":[["qt","quart","quarts"],.00094635295,"volume",["<meter>","<meter>","<meter>"]],"<pint>":[["pt","pint","pints"],.000473176475,"volume",["<meter>","<meter>","<meter>"]],"<pint-imp>":[["ptimp","pint-imp","pints-imp"],.00056826125,"volume",["<meter>","<meter>","<meter>"]],"<cup>":[["cu","cup","cups"],.000236588238,"volume",["<meter>","<meter>","<meter>"]],"<fluid-ounce>":[["floz","fluid-ounce","fluid-ounces"],295735297e-13,"volume",["<meter>","<meter>","<meter>"]],"<fluid-ounce-imp>":[["flozimp","floz-imp","fluid-ounce-imp","fluid-ounces-imp"],284130625e-13,"volume",["<meter>","<meter>","<meter>"]],"<tablespoon>":[["tb","tbsp","tbs","tablespoon","tablespoons"],147867648e-13,"volume",["<meter>","<meter>","<meter>"]],"<teaspoon>":[["tsp","teaspoon","teaspoons"],492892161e-14,"volume",["<meter>","<meter>","<meter>"]],"<bushel>":[["bu","bsh","bushel","bushels"],.035239072,"volume",["<meter>","<meter>","<meter>"]],"<oilbarrel>":[["bbl","oilbarrel","oilbarrels","oil-barrel","oil-barrels"],.158987294928,"volume",["<meter>","<meter>","<meter>"]],"<beerbarrel>":[["bl","bl-us","beerbarrel","beerbarrels","beer-barrel","beer-barrels"],.1173477658,"volume",["<meter>","<meter>","<meter>"]],"<beerbarrel-imp>":[["blimp","bl-imp","beerbarrel-imp","beerbarrels-imp","beer-barrel-imp","beer-barrels-imp"],.16365924,"volume",["<meter>","<meter>","<meter>"]],"<kph>":[["kph"],.277777778,"speed",["<meter>"],["<second>"]],"<mph>":[["mph"],.44704,"speed",["<meter>"],["<second>"]],"<knot>":[["kt","kn","kts","knot","knots"],.514444444,"speed",["<meter>"],["<second>"]],"<fps>":[["fps"],.3048,"speed",["<meter>"],["<second>"]],"<gee>":[["gee"],9.80665,"acceleration",["<meter>"],["<second>","<second>"]],"<Gal>":[["Gal"],.01,"acceleration",["<meter>"],["<second>","<second>"]],"<kelvin>":[["degK","kelvin"],1,"temperature",["<kelvin>"]],"<celsius>":[["degC","celsius","celsius","centigrade"],1,"temperature",["<kelvin>"]],"<fahrenheit>":[["degF","fahrenheit"],5/9,"temperature",["<kelvin>"]],"<rankine>":[["degR","rankine"],5/9,"temperature",["<kelvin>"]],"<temp-K>":[["tempK","temp-K"],1,"temperature",["<temp-K>"]],"<temp-C>":[["tempC","temp-C"],1,"temperature",["<temp-K>"]],"<temp-F>":[["tempF","temp-F"],5/9,"temperature",["<temp-K>"]],"<temp-R>":[["tempR","temp-R"],5/9,"temperature",["<temp-K>"]],"<second>":[["s","sec","secs","second","seconds"],1,"time",["<second>"]],"<minute>":[["min","mins","minute","minutes"],60,"time",["<second>"]],"<hour>":[["h","hr","hrs","hour","hours"],3600,"time",["<second>"]],"<day>":[["d","day","days"],3600*24,"time",["<second>"]],"<week>":[["wk","week","weeks"],7*3600*24,"time",["<second>"]],"<fortnight>":[["fortnight","fortnights"],1209600,"time",["<second>"]],"<year>":[["y","yr","year","years","annum"],31556926,"time",["<second>"]],"<decade>":[["decade","decades"],315569260,"time",["<second>"]],"<century>":[["century","centuries"],3155692600,"time",["<second>"]],"<pascal>":[["Pa","pascal","Pascal"],1,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<bar>":[["bar","bars"],1e5,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<mmHg>":[["mmHg"],133.322368,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<inHg>":[["inHg"],3386.3881472,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<torr>":[["torr"],133.322368,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<atm>":[["atm","ATM","atmosphere","atmospheres"],101325,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<psi>":[["psi"],6894.76,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<cmh2o>":[["cmH2O","cmh2o"],98.0638,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<inh2o>":[["inH2O","inh2o"],249.082052,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<poise>":[["P","poise"],.1,"viscosity",["<kilogram>"],["<meter>","<second>"]],"<stokes>":[["St","stokes"],1e-4,"viscosity",["<meter>","<meter>"],["<second>"]],"<mole>":[["mol","mole"],1,"substance",["<mole>"]],"<molar>":[["M","molar"],1e3,"molar_concentration",["<mole>"],["<meter>","<meter>","<meter>"]],"<wtpercent>":[["wt%","wtpercent"],10,"molar_concentration",["<kilogram>"],["<meter>","<meter>","<meter>"]],"<katal>":[["kat","katal","Katal"],1,"activity",["<mole>"],["<second>"]],"<unit>":[["U","enzUnit","unit"],16667e-19,"activity",["<mole>"],["<second>"]],"<farad>":[["F","farad","Farad"],1,"capacitance",["<second>","<second>","<second>","<second>","<ampere>","<ampere>"],["<meter>","<meter>","<kilogram>"]],"<coulomb>":[["C","coulomb","Coulomb"],1,"charge",["<ampere>","<second>"]],"<Ah>":[["Ah"],3600,"charge",["<ampere>","<second>"]],"<ampere>":[["A","Ampere","ampere","amp","amps"],1,"current",["<ampere>"]],"<siemens>":[["S","Siemens","siemens"],1,"conductance",["<second>","<second>","<second>","<ampere>","<ampere>"],["<kilogram>","<meter>","<meter>"]],"<henry>":[["H","Henry","henry"],1,"inductance",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<ampere>","<ampere>"]],"<volt>":[["V","Volt","volt","volts"],1,"potential",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<second>","<ampere>"]],"<ohm>":[["Ohm","ohm","\u03A9","\u2126"],1,"resistance",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<second>","<ampere>","<ampere>"]],"<weber>":[["Wb","weber","webers"],1,"magnetism",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<ampere>"]],"<tesla>":[["T","tesla","teslas"],1,"magnetism",["<kilogram>"],["<second>","<second>","<ampere>"]],"<gauss>":[["G","gauss"],1e-4,"magnetism",["<kilogram>"],["<second>","<second>","<ampere>"]],"<maxwell>":[["Mx","maxwell","maxwells"],1e-8,"magnetism",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<ampere>"]],"<oersted>":[["Oe","oersted","oersteds"],250/Math.PI,"magnetism",["<ampere>"],["<meter>"]],"<joule>":[["J","joule","Joule","joules","Joules"],1,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<erg>":[["erg","ergs"],1e-7,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<btu>":[["BTU","btu","BTUs"],1055.056,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<calorie>":[["cal","calorie","calories"],4.184,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<Calorie>":[["Cal","Calorie","Calories"],4184,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<therm-US>":[["th","therm","therms","Therm","therm-US"],105480400,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<Wh>":[["Wh"],3600,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<electronvolt>":[["eV","electronvolt","electronvolts"],1602176634e-28,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<newton>":[["N","Newton","newton"],1,"force",["<kilogram>","<meter>"],["<second>","<second>"]],"<dyne>":[["dyn","dyne"],1e-5,"force",["<kilogram>","<meter>"],["<second>","<second>"]],"<pound-force>":[["lbf","pound-force"],4.448222,"force",["<kilogram>","<meter>"],["<second>","<second>"]],"<hertz>":[["Hz","hertz","Hertz"],1,"frequency",["<1>"],["<second>"]],"<radian>":[["rad","radian","radians"],1,"angle",["<radian>"]],"<degree>":[["deg","degree","degrees"],Math.PI/180,"angle",["<radian>"]],"<arcminute>":[["arcmin","arcminute","arcminutes"],Math.PI/10800,"angle",["<radian>"]],"<arcsecond>":[["arcsec","arcsecond","arcseconds"],Math.PI/648e3,"angle",["<radian>"]],"<gradian>":[["gon","grad","gradian","grads"],Math.PI/200,"angle",["<radian>"]],"<steradian>":[["sr","steradian","steradians"],1,"solid_angle",["<steradian>"]],"<rotation>":[["rotation"],2*Math.PI,"angle",["<radian>"]],"<rpm>":[["rpm"],2*Math.PI/60,"angular_velocity",["<radian>"],["<second>"]],"<byte>":[["B","byte","bytes"],1,"information",["<byte>"]],"<bit>":[["b","bit","bits"],.125,"information",["<byte>"]],"<Bps>":[["Bps"],1,"information_rate",["<byte>"],["<second>"]],"<bps>":[["bps"],.125,"information_rate",["<byte>"],["<second>"]],"<dollar>":[["USD","dollar"],1,"currency",["<dollar>"]],"<cents>":[["cents"],.01,"currency",["<dollar>"]],"<candela>":[["cd","candela"],1,"luminosity",["<candela>"]],"<lumen>":[["lm","lumen"],1,"luminous_power",["<candela>","<steradian>"]],"<lux>":[["lux"],1,"illuminance",["<candela>","<steradian>"],["<meter>","<meter>"]],"<watt>":[["W","watt","watts"],1,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<volt-ampere>":[["VA","volt-ampere"],1,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<volt-ampere-reactive>":[["var","Var","VAr","VAR","volt-ampere-reactive"],1,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<horsepower>":[["hp","horsepower"],745.699872,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<gray>":[["Gy","gray","grays"],1,"radiation",["<meter>","<meter>"],["<second>","<second>"]],"<roentgen>":[["R","roentgen"],.00933,"radiation",["<meter>","<meter>"],["<second>","<second>"]],"<sievert>":[["Sv","sievert","sieverts"],1,"radiation",["<meter>","<meter>"],["<second>","<second>"]],"<becquerel>":[["Bq","becquerel","becquerels"],1,"radiation",["<1>"],["<second>"]],"<curie>":[["Ci","curie","curies"],37e9,"radiation",["<1>"],["<second>"]],"<cpm>":[["cpm"],1/60,"rate",["<count>"],["<second>"]],"<dpm>":[["dpm"],1/60,"rate",["<count>"],["<second>"]],"<bpm>":[["bpm"],1/60,"rate",["<count>"],["<second>"]],"<dot>":[["dot","dots"],1,"resolution",["<each>"]],"<pixel>":[["pixel","px"],1,"resolution",["<each>"]],"<ppi>":[["ppi"],1,"resolution",["<pixel>"],["<inch>"]],"<dpi>":[["dpi"],1,"typography",["<dot>"],["<inch>"]],"<cell>":[["cells","cell"],1,"counting",["<each>"]],"<each>":[["each"],1,"counting",["<each>"]],"<count>":[["count"],1,"counting",["<each>"]],"<base-pair>":[["bp","base-pair"],1,"counting",["<each>"]],"<nucleotide>":[["nt","nucleotide"],1,"counting",["<each>"]],"<molecule>":[["molecule","molecules"],1,"counting",["<1>"]],"<dozen>":[["doz","dz","dozen"],12,"prefix_only",["<each>"]],"<percent>":[["%","percent"],.01,"prefix_only",["<1>"]],"<ppm>":[["ppm"],1e-6,"prefix_only",["<1>"]],"<ppb>":[["ppb"],1e-9,"prefix_only",["<1>"]],"<ppt>":[["ppt"],1e-12,"prefix_only",["<1>"]],"<ppq>":[["ppq"],1e-15,"prefix_only",["<1>"]],"<gross>":[["gr","gross"],144,"prefix_only",["<dozen>","<dozen>"]],"<decibel>":[["dB","decibel","decibels"],1,"logarithmic",["<decibel>"]]},ke=["<meter>","<kilogram>","<second>","<mole>","<ampere>","<radian>","<kelvin>","<temp-K>","<byte>","<dollar>","<candela>","<each>","<steradian>","<decibel>"],K="<1>",b=[K];function Ce(e,t){var r=t[1],i=t[3]||[],s=t[4]||[];if(!n(r))throw new m(e+": Invalid unit definition. 'scalar' must be a number");i.forEach(function(a){if(S[a]===void 0)throw new m(e+": Invalid unit definition. Unit "+a+" in 'numerator' is not recognized")}),s.forEach(function(a){if(S[a]===void 0)throw new m(e+": Invalid unit definition. Unit "+a+" in 'denominator' is not recognized")})}var U={},N={},k={},P={},I={};for(var _ in S)if(S.hasOwnProperty(_)){var M=S[_];if(M[2]==="prefix"){U[_]=M[1];for(var G=0;G<M[0].length;G++)N[M[0][G]]=_}else{Ce(_,M),k[_]={scalar:M[1],numerator:M[3],denominator:M[4]};for(var O=0;O<M[0].length;O++)P[M[0][O]]=_}I[_]=M[0][0]}function Se(e){var t,r=[],i=Object.keys(S);if(typeof e>"u")for(t=0;t<i.length;t++)["","prefix"].indexOf(S[i[t]][2])===-1&&r.push(i[t].substr(1,i[t].length-2));else{if(this.getKinds().indexOf(e)===-1)throw new m("Kind not recognized");for(t=0;t<i.length;t++)S[i[t]][2]===e&&r.push(i[t].substr(1,i[t].length-2))}return r.sort(function(s,a){return s.toLowerCase()<a.toLowerCase()?-1:s.toLowerCase()>a.toLowerCase()?1:0})}function Me(e){if(!P[e])throw new m("Unit not recognized");return S[P[e]][0]}var L=["length","time","temperature","mass","current","substance","luminosity","currency","information","angle"];function Te(){if(this.signature)return this.signature;for(var e=te.call(this),t=0;t<e.length;t++)e[t]*=Math.pow(20,t);return e.reduce(function(r,i){return r+i},0)}function te(){if(!this.isBase())return te.call(this.toBase());for(var e=new Array(L.length),t=0;t<e.length;t++)e[t]=0;for(var r,i,s=0;s<this.numerator.length;s++)(r=S[this.numerator[s]])&&(i=L.indexOf(r[2]),i>=0&&(e[i]=e[i]+1));for(var a=0;a<this.denominator.length;a++)(r=S[this.denominator[a]])&&(i=L.indexOf(r[2]),i>=0&&(e[i]=e[i]-1));return e}var re="[+-]",W="\\d+",qe=re+"?"+W,ne="\\."+W,xe="(?:"+W+"(?:"+ne+")?)|(?:"+ne+")",Ue="[Ee]"+qe,_e="(?:"+xe+")(?:"+Ue+")?",Ae=re+"?\\s*"+_e,Ee="("+Ae+")?\\s*([^/]*)(?:/(.+))?",Pe=new RegExp("^"+Ee+"$"),ie="\\^|\\*{2}",se="[01234]",De=new RegExp("([^ \\*\\d]+?)(?:"+ie+")?(-?"+se+"(?![a-zA-Z]))"),Re=new RegExp("([^ \\*\\d]+?)(?:"+ie+")?("+se+"(?![a-zA-Z]))");function ae(e){f(e)||(e=e.toString()),e=e.trim();var t=Pe.exec(e);if(!t)throw new m(e+": Quantity not recognized");var r=t[1];r?(r=r.replace(/\s/g,""),this.scalar=parseFloat(r)):this.scalar=1;for(var i=t[2],s=t[3],a,g,d;t=De.exec(i);){if(a=parseFloat(t[2]),isNaN(a))throw new m("Unit exponent is not a number");if(a===0&&!J.test(t[1]))throw new m("Unit not recognized");g=t[1]+" ",d="";for(var v=0;v<Math.abs(a);v++)d+=g;a>=0?i=i.replace(t[0],d):(s=s?s+d:d,i=i.replace(t[0],""))}for(;t=Re.exec(s);){if(a=parseFloat(t[2]),isNaN(a))throw new m("Unit exponent is not a number");if(a===0&&!J.test(t[1]))throw new m("Unit not recognized");g=t[1]+" ",d="";for(var C=0;C<a;C++)d+=g;s=s.replace(t[0],d)}i&&(this.numerator=me(i.trim())),s&&(this.denominator=me(s.trim()))}var ze=Object.keys(N).sort(function(e,t){return t.length-e.length}).join("|"),Fe=Object.keys(P).sort(function(e,t){return t.length-e.length}).join("|"),Ke="\\b|$",oe="("+ze+")??("+Fe+")(?:"+Ke+")",J=new RegExp("^\\s*("+oe+"[\\s\\*]*)+$"),Ne=new RegExp(oe,"g"),ue={};function me(e){var t=ue[e];if(t)return t;var r,i=[];if(!J.test(e))throw new m("Unit not recognized");for(;r=Ne.exec(e);)i.push(r.slice(1));return i=i.map(function(s){return N[s[0]]?[N[s[0]],P[s[1]]]:[P[s[1]]]}),i=i.reduce(function(s,a){return s.concat(a)},[]),i=i.filter(function(s){return s}),ue[e]=i,i}function Ie(e){if(!f(e))throw new m("Argument should be a string");try{return this(e)}catch{return null}}function H(e){return e instanceof o}function o(e,t){if(He.apply(null,arguments),!H(this))return new o(e,t);if(this.scalar=null,this.baseScalar=null,this.signature=null,this._conversionCache={},this.numerator=b,this.denominator=b,ce(e)?(this.scalar=e.scalar,this.numerator=e.numerator&&e.numerator.length!==0?e.numerator:b,this.denominator=e.denominator&&e.denominator.length!==0?e.denominator:b):t?(ae.call(this,t),this.scalar=e):ae.call(this,e),this.denominator.join("*").indexOf("temp")>=0)throw new m("Cannot divide with temperatures");if(this.numerator.join("*").indexOf("temp")>=0){if(this.numerator.length>1)throw new m("Cannot multiply by temperatures");if(!c(this.denominator,b))throw new m("Cannot divide with temperatures")}if(this.initValue=e,Be.call(this),this.isTemperature()&&this.baseScalar<0)throw new m("Temperatures must not be less than absolute zero")}o.prototype={constructor:o};function He(e,t){if(t){if(!(n(e)&&f(t)))throw new m("Only number accepted as initialization value when units are explicitly provided")}else if(!(f(e)||n(e)||H(e)||ce(e)))throw new m("Only string, number or quantity accepted as single initialization value")}function ce(e){return e&&typeof e=="object"&&e.hasOwnProperty("scalar")}function Be(){if(this.baseScalar)return this.baseScalar;if(this.isBase())this.baseScalar=this.scalar,this.signature=Te.call(this);else{var e=this.toBase();this.baseScalar=e.scalar,this.signature=e.signature}}var V={"-312078":"elastance","-312058":"resistance","-312038":"inductance","-152058":"potential","-152040":"magnetism","-152038":"magnetism","-7997":"specific_volume","-79":"snap","-59":"jolt","-39":"acceleration","-38":"radiation","-20":"frequency","-19":"speed","-18":"viscosity","-17":"volumetric_flow","-1":"wavenumber",0:"unitless",1:"length",2:"area",3:"volume",20:"time",400:"temperature",7941:"yank",7942:"power",7959:"pressure",7961:"force",7962:"energy",7979:"viscosity",7981:"momentum",7982:"angular_momentum",7997:"density",7998:"area_density",8e3:"mass",152020:"radiation_exposure",159999:"magnetism",16e4:"current",160020:"charge",312058:"conductance",312078:"capacitance",3199980:"activity",3199997:"molar_concentration",32e5:"substance",63999998:"illuminance",64e6:"luminous_power",128e7:"currency","25599999980":"information_rate","25600000000":"information","511999999980":"angular_velocity","512000000000":"angle"};function Ge(){return p(Object.keys(V).map(function(e){return V[e]}))}o.prototype.kind=function(){return V[this.signature.toString()]},y(o.prototype,{isDegrees:function(){return(this.signature===null||this.signature===400)&&this.numerator.length===1&&c(this.denominator,b)&&(this.numerator[0].match(/<temp-[CFRK]>/)||this.numerator[0].match(/<(kelvin|celsius|rankine|fahrenheit)>/))},isTemperature:function(){return this.isDegrees()&&this.numerator[0].match(/<temp-[CFRK]>/)}});function Oe(e,t){var r=e.units(),i=t.to(r),s=o(j(r));return o({scalar:e.scalar-i.scalar,numerator:s.numerator,denominator:s.denominator})}function Le(e,t){var r=t.to(j(e.units()));return o({scalar:e.scalar-r.scalar,numerator:e.numerator,denominator:e.denominator})}function le(e,t){var r=t.to(j(e.units()));return o({scalar:e.scalar+r.scalar,numerator:e.numerator,denominator:e.denominator})}function j(e){if(e==="tempK")return"degK";if(e==="tempC")return"degC";if(e==="tempF")return"degF";if(e==="tempR")return"degR";throw new m("Unknown type for temp conversion from: "+e)}function We(e,t){var r=Je(e),i=t.units(),s;if(i==="degK")s=r.scalar;else if(i==="degC")s=r.scalar;else if(i==="degF")s=r.scalar*9/5;else if(i==="degR")s=r.scalar*9/5;else throw new m("Unknown type for degree conversion to: "+i);return o({scalar:s,numerator:t.numerator,denominator:t.denominator})}function Je(e){var t=e.units(),r;if(t.match(/(deg)[CFRK]/))r=e.baseScalar;else if(t==="tempK")r=e.scalar;else if(t==="tempC")r=e.scalar;else if(t==="tempF")r=e.scalar*5/9;else if(t==="tempR")r=e.scalar*5/9;else throw new m("Unknown type for temp conversion from: "+t);return o({scalar:r,numerator:["<kelvin>"],denominator:b})}function Ve(e,t){var r=t.units(),i;if(r==="tempK")i=e.baseScalar;else if(r==="tempC")i=e.baseScalar-273.15;else if(r==="tempF")i=e.baseScalar*9/5-459.67;else if(r==="tempR")i=e.baseScalar*9/5;else throw new m("Unknown type for temp conversion to: "+r);return o({scalar:i,numerator:t.numerator,denominator:t.denominator})}function je(e){var t=e.units(),r;if(t.match(/(deg)[CFRK]/))r=e.baseScalar;else if(t==="tempK")r=e.scalar;else if(t==="tempC")r=e.scalar+273.15;else if(t==="tempF")r=(e.scalar+459.67)*5/9;else if(t==="tempR")r=e.scalar*5/9;else throw new m("Unknown type for temp conversion from: "+t);return o({scalar:r,numerator:["<temp-K>"],denominator:b})}y(o.prototype,{to:function(e){var t,r;if(e==null)return this;if(!f(e))return this.to(e.units());if(t=this._conversionCache[e],t)return t;if(r=o(e),r.units()===this.units())return this;if(!this.isCompatible(r))this.isInverse(r)?r=this.inverse().to(e):z(this.units(),r.units());else if(r.isTemperature())r=Ve(this,r);else if(r.isDegrees())r=We(this,r);else{var i=x(this.baseScalar,r.baseScalar);r=o({scalar:i,numerator:r.numerator,denominator:r.denominator})}return this._conversionCache[e]=r,r},toBase:function(){if(this.isBase())return this;if(this.isTemperature())return je(this);var e=pe[this.units()];return e||(e=Ye(this.numerator,this.denominator),pe[this.units()]=e),e.mul(this.scalar)},toFloat:function(){if(this.isUnitless())return this.scalar;throw new m("Can't convert to Float unless unitless. Use Unit#scalar")},toPrec:function(e){if(f(e)&&(e=o(e)),n(e)&&(e=o(e+" "+this.units())),this.isUnitless()?e.isUnitless()||z(this.units(),e.units()):e=e.to(this.units()),e.scalar===0)throw new m("Divide by zero");var t=h(Math.round(this.scalar/e.scalar),e.scalar);return o(t+this.units())}});function Xe(e,t){var r=o(e),i=o(t);if(r.eq(i))return l;var s;return r.isTemperature()?s=function(a){return r.mul(a).to(i).scalar}:s=function(a){return a*r.baseScalar/i.baseScalar},function(g){var d,v,C;if(Array.isArray(g)){for(v=g.length,C=[],d=0;d<v;d++)C.push(s(g[d]));return C}else return s(g)}}var pe={};function Ye(e,t){for(var r=[],i=[],s=1,a,g=0;g<e.length;g++)a=e[g],U[a]?s=h(s,U[a]):k[a]&&(s*=k[a].scalar,k[a].numerator&&r.push(k[a].numerator),k[a].denominator&&i.push(k[a].denominator));for(var d=0;d<t.length;d++)a=t[d],U[a]?s/=U[a]:k[a]&&(s/=k[a].scalar,k[a].numerator&&i.push(k[a].numerator),k[a].denominator&&r.push(k[a].denominator));return r=r.reduce(function(v,C){return v.concat(C)},[]),i=i.reduce(function(v,C){return v.concat(C)},[]),o({scalar:s,numerator:r,denominator:i})}o.parse=Ie,o.getUnits=Se,o.getAliases=Me,o.mulSafe=h,o.divSafe=x,o.getKinds=Ge,o.swiftConverter=Xe,o.Error=m,y(o.prototype,{add:function(e){if(f(e)&&(e=o(e)),this.isCompatible(e)||z(this.units(),e.units()),this.isTemperature()&&e.isTemperature())throw new m("Cannot add two temperatures");return this.isTemperature()?le(this,e):e.isTemperature()?le(e,this):o({scalar:this.scalar+e.to(this).scalar,numerator:this.numerator,denominator:this.denominator})},sub:function(e){if(f(e)&&(e=o(e)),this.isCompatible(e)||z(this.units(),e.units()),this.isTemperature()&&e.isTemperature())return Oe(this,e);if(this.isTemperature())return Le(this,e);if(e.isTemperature())throw new m("Cannot subtract a temperature from a differential degree unit");return o({scalar:this.scalar-e.to(this).scalar,numerator:this.numerator,denominator:this.denominator})},mul:function(e){if(n(e))return o({scalar:h(this.scalar,e),numerator:this.numerator,denominator:this.denominator});if(f(e)&&(e=o(e)),(this.isTemperature()||e.isTemperature())&&!(this.isUnitless()||e.isUnitless()))throw new m("Cannot multiply by temperatures");var t=this,r=e;t.isCompatible(r)&&t.signature!==400&&(r=r.to(t));var i=de(t.numerator,t.denominator,r.numerator,r.denominator);return o({scalar:h(t.scalar,r.scalar,i[2]),numerator:i[0],denominator:i[1]})},div:function(e){if(n(e)){if(e===0)throw new m("Divide by zero");return o({scalar:this.scalar/e,numerator:this.numerator,denominator:this.denominator})}else f(e)&&(e=o(e));if(e.scalar===0)throw new m("Divide by zero");if(e.isTemperature())throw new m("Cannot divide with temperatures");if(this.isTemperature()&&!e.isUnitless())throw new m("Cannot divide with temperatures");var t=this,r=e;t.isCompatible(r)&&t.signature!==400&&(r=r.to(t));var i=de(t.numerator,t.denominator,r.denominator,r.numerator);return o({scalar:h(t.scalar,i[2])/r.scalar,numerator:i[0],denominator:i[1]})},inverse:function(){if(this.isTemperature())throw new m("Cannot divide with temperatures");if(this.scalar===0)throw new m("Divide by zero");return o({scalar:1/this.scalar,numerator:this.denominator,denominator:this.numerator})}});function de(e,t,r,i){function s(T){return T!==K}e=e.filter(s),r=r.filter(s),t=t.filter(s),i=i.filter(s);var a={};function g(T,A){for(var q,B,Y,E=0;E<T.length;E++)if(U[T[E]]?(q=T[E+1],B=T[E],Y=U[B],E++):(q=T[E],B=null,Y=1),q&&q!==K)if(a[q]){a[q][0]+=A;var et=a[q][2]?U[a[q][2]]:1;a[q][A===1?3:4]*=x(Y,et)}else a[q]=[A,q,B,1,1]}g(e,1),g(t,-1),g(r,1),g(i,-1);var d=[],v=[],C=1;for(var ge in a)if(a.hasOwnProperty(ge)){var w=a[ge],D;if(w[0]>0)for(D=0;D<w[0];D++)d.push(w[2]===null?w[1]:[w[2],w[1]]);else if(w[0]<0)for(D=0;D<-w[0];D++)v.push(w[2]===null?w[1]:[w[2],w[1]]);C*=x(w[3],w[4])}return d.length===0&&(d=b),v.length===0&&(v=b),d=d.reduce(function(T,A){return T.concat(A)},[]),v=v.reduce(function(T,A){return T.concat(A)},[]),[d,v,C]}y(o.prototype,{eq:function(e){return this.compareTo(e)===0},lt:function(e){return this.compareTo(e)===-1},lte:function(e){return this.eq(e)||this.lt(e)},gt:function(e){return this.compareTo(e)===1},gte:function(e){return this.eq(e)||this.gt(e)},compareTo:function(e){if(f(e))return this.compareTo(o(e));if(this.isCompatible(e)||z(this.units(),e.units()),this.baseScalar<e.baseScalar)return-1;if(this.baseScalar===e.baseScalar)return 0;if(this.baseScalar>e.baseScalar)return 1},same:function(e){return this.scalar===e.scalar&&this.units()===e.units()}}),y(o.prototype,{isUnitless:function(){return[this.numerator,this.denominator].every(function(e){return c(e,b)})},isCompatible:function(e){return f(e)?this.isCompatible(o(e)):H(e)&&e.signature!==void 0?this.signature===e.signature:!1},isInverse:function(e){return this.inverse().isCompatible(e)},isBase:function(){return this._isBase!==void 0?this._isBase:this.isDegrees()&&this.numerator[0].match(/<(kelvin|temp-K)>/)?(this._isBase=!0,this._isBase):(this.numerator.concat(this.denominator).forEach(function(e){e!==K&&ke.indexOf(e)===-1&&(this._isBase=!1)},this),this._isBase===!1?this._isBase:(this._isBase=!0,this._isBase))}});function X(){}X.prototype.get=function(e){return arguments.length>1&&(e=Array.apply(null,arguments)),e.reduce(function(t,r,i){if(t){var s=t[r];return i===e.length-1?s?s.data:void 0:s}},this)},X.prototype.set=function(e,t){return arguments.length>2&&(e=Array.prototype.slice.call(arguments,0,-1),t=arguments[arguments.length-1]),e.reduce(function(r,i,s){var a=r[i];return a===void 0&&(a=r[i]={}),s===e.length-1?(a.data=t,t):a},this)};function Ze(e,t){return(e+" "+t).trim()}o.formatter=Ze,y(o.prototype,{units:function(){if(this._units!==void 0)return this._units;var e=c(this.numerator,b),t=c(this.denominator,b);if(e&&t)return this._units="",this._units;var r=he(this.numerator),i=he(this.denominator);return this._units=r+(t?"":"/"+i),this._units},toString:function(e,t){var r;if(n(e))r=this.units(),t=e;else if(f(e))r=e;else if(H(e))return this.toPrec(e).toString(t);var i=this.to(r),s=t!==void 0?F(i.scalar,t):i.scalar;return i=(s+" "+i.units()).trim(),i},format:function(e,t){arguments.length===1&&typeof e=="function"&&(t=e,e=void 0),t=t||o.formatter;var r=this.to(e);return t.call(this,r.scalar,r.units())}});var fe=new X;function he(e){var t=fe.get(e);if(t)return t;var r=c(e,b);return r?t="1":t=Qe($e(e)).join("*"),fe.set(e,t),t}function $e(e){for(var t=[],r,i,s=0;s<e.length;s++)r=e[s],i=e[s+1],U[r]?(t.push(I[r]+I[i]),s++):t.push(I[r]);return t}function Qe(e){var t=e.reduce(function(r,i){var s=r[i];return s||r.push(s=r[i]=[i,0]),s[1]++,r},[]);return t.map(function(r){return r[0]+(r[1]>1?r[1]:"")})}return o.version="1.8.0",o})});var u=rt(we());var ut=(()=>{class f{AppSettingsService=Z(ve);data=Z(be);_defaultUnitsSub;_conversionList=[{group:"Unitless",units:[{measure:"unitless",description:"As-Is numeric value"},{measure:" ",description:"No unit label - As-Is numeric value"}]},{group:"Speed",units:[{measure:"knots",description:"Knots - Nautical miles per hour"},{measure:"kph",description:"kph - Kilometers per hour"},{measure:"mph",description:"mph - Miles per hour"},{measure:"m/s",description:"m/s - Meters per second (base)"}]},{group:"Flow",units:[{measure:"m3/s",description:"Cubic meters per second (base)"},{measure:"l/min",description:"Liters per minute"},{measure:"l/h",description:"Liters per hour"},{measure:"g/min",description:"Gallons per minute"},{measure:"g/h",description:"Gallons per hour"}]},{group:"Fuel Distance",units:[{measure:"m/m3",description:"Meters per cubic meter (base)"},{measure:"nm/l",description:"Nautical Miles per liter"},{measure:"nm/g",description:"Nautical Miles per gallon"},{measure:"km/l",description:"Kilometers per liter"},{measure:"mpg",description:"Miles per Gallon"}]},{group:"Energy Distance",units:[{measure:"m/J",description:"Meters per Joule (base)"},{measure:"nm/J",description:"Nautical Miles per Joule"},{measure:"km/J",description:"Kilometers per Joule"},{measure:"nm/kWh",description:"Nautical Miles per Kilowatt-hour"},{measure:"km/kWh",description:"Kilometers per Kilowatt-hour"}]},{group:"Temperature",units:[{measure:"K",description:"Kelvin (base)"},{measure:"celsius",description:"Celsius"},{measure:"fahrenheit",description:"Fahrenheit"}]},{group:"Length",units:[{measure:"m",description:"Meters (base)"},{measure:"mm",description:"Millimeters"},{measure:"fathom",description:"Fathoms"},{measure:"nm",description:"Nautical Miles"},{measure:"km",description:"Kilometers"},{measure:"mi",description:"Miles"},{measure:"feet",description:"Feet"},{measure:"inch",description:"Inches"}]},{group:"Volume",units:[{measure:"liter",description:"Liters (base)"},{measure:"m3",description:"Cubic Meters"},{measure:"gallon",description:"Gallons"}]},{group:"Current",units:[{measure:"A",description:"Amperes (base)"},{measure:"mA",description:"Milliamperes"}]},{group:"Potential",units:[{measure:"V",description:"Volts (base)"},{measure:"mV",description:"Millivolts"}]},{group:"Charge",units:[{measure:"C",description:"Coulomb (base)"},{measure:"Ah",description:"Ampere*Hours"}]},{group:"Power",units:[{measure:"W",description:"Watts (base)"},{measure:"mW",description:"Milliwatts"}]},{group:"Energy",units:[{measure:"J",description:"Joules (base)"},{measure:"kWh",description:"Kilowatt*Hours"}]},{group:"Resistance",units:[{measure:"ohm",description:"\u2126 (base)"},{measure:"kiloohm",description:"k\u2126"}]},{group:"Pressure",units:[{measure:"Pa",description:"Pa (base)"},{measure:"kPa",description:"kPa"},{measure:"hPa",description:"hPa"},{measure:"mbar",description:"mbar"},{measure:"bar",description:"Bars"},{measure:"psi",description:"psi"},{measure:"mmHg",description:"mmHg"},{measure:"inHg",description:"inHg"}]},{group:"Density",units:[{measure:"kg/m3",description:"Air density - kg/cubic meter (base)"}]},{group:"Time",units:[{measure:"s",description:"Seconds (base)"},{measure:"Minutes",description:"Minutes"},{measure:"Hours",description:"Hours"},{measure:"Days",description:"Days"},{measure:"D HH:MM:SS",description:"Day Hour:Minute:sec"}]},{group:"Angular Velocity",units:[{measure:"rad/s",description:"Radians per second (base)"},{measure:"deg/s",description:"Degrees per second"},{measure:"deg/min",description:"Degrees per minute"}]},{group:"Angle",units:[{measure:"rad",description:"Radians (base)"},{measure:"deg",description:"Degrees"},{measure:"grad",description:"Gradians"}]},{group:"Frequency",units:[{measure:"rpm",description:"RPM - Rotations per minute"},{measure:"Hz",description:"Hz - Hertz (base)"},{measure:"KHz",description:"KHz - Kilohertz"},{measure:"MHz",description:"MHz - Megahertz"},{measure:"GHz",description:"GHz - Gigahertz"}]},{group:"Ratio",units:[{measure:"percent",description:"As percentage value"},{measure:"percentraw",description:"As ratio 0-1 with % sign"},{measure:"ratio",description:"Ratio 0-1 (base)"}]},{group:"Position",units:[{measure:"pdeg",description:"Position Degrees"},{measure:"latitudeMin",description:"Latitude in minutes"},{measure:"latitudeSec",description:"Latitude in seconds"},{measure:"longitudeMin",description:"Longitude in minutes"},{measure:"longitudeSec",description:"Longitude in seconds"}]}];skBaseUnits=[{unit:"s",properties:{display:"s",quantity:"Time",quantityDisplay:"t",description:"Elapsed time (interval) in seconds"}},{unit:"Hz",properties:{display:"Hz",quantity:"Frequency",quantityDisplay:"f",description:"Frequency in Hertz"}},{unit:"m3",properties:{display:"m\xB3",quantity:"Volume",quantityDisplay:"V",description:"Volume in cubic meters"}},{unit:"m3/s",properties:{display:"m\xB3/s",quantity:"Flow",quantityDisplay:"Q",description:"Liquid or gas flow in cubic meters per second"}},{unit:"kg/s",properties:{display:"kg/s",quantity:"Mass flow rate",quantityDisplay:"\u1E41",description:"Liquid or gas flow in kilograms per second"}},{unit:"kg/m3",properties:{display:"kg/m\xB3",quantity:"Density",quantityDisplay:"\u03C1",description:"Density in kg per cubic meter"}},{unit:"deg",properties:{display:"Position",quantity:"Angle",quantityDisplay:"\u2220",description:"Latitude or longitude in decimal degrees"}},{unit:"rad",properties:{display:"\xB0",quantity:"Angle",quantityDisplay:"\u2220",description:"Angular arc in radians"}},{unit:"rad/s",properties:{display:"\u33AD/s",quantity:"Rotation",quantityDisplay:"\u03C9",description:"Angular rate in radians per second"}},{unit:"A",properties:{display:"A",quantity:"Current",quantityDisplay:"I",description:"Electrical current in ampere"}},{unit:"C",properties:{display:"C",quantity:"Charge",quantityDisplay:"Q",description:"Electrical charge in Coulomb"}},{unit:"V",properties:{display:"V",quantity:"Voltage",quantityDisplay:"V",description:"Electrical potential in volt"}},{unit:"W",properties:{display:"W",quantity:"Power",quantityDisplay:"P",description:"Power in watt"}},{unit:"Nm",properties:{display:"Nm",quantity:"Torque",quantityDisplay:"\u03C4",description:"Torque in Newton meter"}},{unit:"J",properties:{display:"J",quantity:"Energy",quantityDisplay:"E",description:"Electrical energy in joule"}},{unit:"ohm",properties:{display:"\u2126",quantity:"Resistance",quantityDisplay:"R",description:"Electrical resistance in ohm"}},{unit:"m",properties:{display:"m",quantity:"Distance",quantityDisplay:"d",description:"Distance in meters"}},{unit:"m/s",properties:{display:"m/s",quantity:"Speed",quantityDisplay:"v",description:"Speed in meters per second"}},{unit:"m2",properties:{display:"\u33A1",quantity:"Area",quantityDisplay:"A",description:"(Surface) area in square meters"}},{unit:"K",properties:{display:"K",quantity:"Temperature",quantityDisplay:"T",description:"Temperature in kelvin"}},{unit:"Pa",properties:{display:"Pa",quantity:"Pressure",quantityDisplay:"P",description:"Pressure in pascal"}},{unit:"kg",properties:{display:"kg",quantity:"Mass",quantityDisplay:"m",description:"Mass in kilogram"}},{unit:"ratio",properties:{display:"",quantity:"Ratio",quantityDisplay:"\u03C6",description:"Relative value compared to reference or normal value. 0 = 0%, 1 = 100%, 1e-3 = 1 ppt"}},{unit:"m/s2",properties:{display:"m/s\xB2",quantity:"Acceleration",quantityDisplay:"a",description:"Acceleration in meters per second squared"}},{unit:"rad/s2",properties:{display:"rad/s\xB2",quantity:"Angular acceleration",quantityDisplay:"a",description:"Angular acceleration in radians per second squared"}},{unit:"N",properties:{display:"N",quantity:"Force",quantityDisplay:"F",description:"Force in newton"}},{unit:"T",properties:{display:"T",quantity:"Magnetic field",quantityDisplay:"B",description:"Magnetic field strength in tesla"}},{unit:"Lux",properties:{display:"lx",quantity:"Light Intensity",quantityDisplay:"Ev",description:"Light Intensity in lux"}},{unit:"Pa/s",properties:{display:"Pa/s",quantity:"Pressure rate",quantityDisplay:"R",description:"Pressure change rate in pascal per second"}},{unit:"Pa.s",properties:{display:"Pa s",quantity:"Viscosity",quantityDisplay:"\u03BC",description:"Viscosity in pascal seconds"}}];_defaultUnits=null;constructor(){this._defaultUnitsSub=this.AppSettingsService.getDefaultUnitsAsO().subscribe(n=>{this._defaultUnits=n})}unitConversionFunctions={unitless:function(n){return n}," ":function(n){return n},knots:u.default.swiftConverter("m/s","kn"),kph:u.default.swiftConverter("m/s","kph"),"m/s":function(n){return n},mph:u.default.swiftConverter("m/s","mph"),liter:u.default.swiftConverter("m^3","liter"),gallon:u.default.swiftConverter("m^3","gallon"),m3:function(n){return n},"m3/s":function(n){return n},"l/min":u.default.swiftConverter("m^3/s","liter/minute"),"l/h":u.default.swiftConverter("m^3/s","liter/hour"),"g/min":u.default.swiftConverter("m^3/s","gallon/minute"),"g/h":u.default.swiftConverter("m^3/s","gallon/hour"),"m/m3":function(n){return n},"nm/l":u.default.swiftConverter("m/m^3","naut-mile/liter"),"nm/g":u.default.swiftConverter("m/m^3","naut-mile/gallon"),"km/l":u.default.swiftConverter("m/m^3","km/liter"),mpg:u.default.swiftConverter("m/m^3","mile/gallon"),"m/J":function(n){return n},"nm/J":u.default.swiftConverter("m/J","naut-mile/J"),"km/J":u.default.swiftConverter("km/J","km/J"),"nm/kWh":u.default.swiftConverter("m/J","naut-mile/kWh"),"km/kWh":u.default.swiftConverter("m/J","km/kWh"),K:function(n){return n},celsius:u.default.swiftConverter("tempK","tempC"),fahrenheit:u.default.swiftConverter("tempK","tempF"),m:function(n){return n},mm:function(n){return n*1e3},fathom:u.default.swiftConverter("m","fathom"),feet:u.default.swiftConverter("m","foot"),inch:u.default.swiftConverter("m","in"),km:u.default.swiftConverter("m","km"),nm:u.default.swiftConverter("m","nmi"),mi:u.default.swiftConverter("m","mi"),V:function(n){return n},mV:function(n){return n*1e3},A:function(n){return n},mA:function(n){return n*1e3},C:function(n){return n},Ah:u.default.swiftConverter("C","Ah"),W:function(n){return n},mW:function(n){return n*1e3},J:function(n){return n},kWh:u.default.swiftConverter("J","kWh"),ohm:function(n){return n},kiloohm:function(n){return n/1e3},Pa:function(n){return n},bar:u.default.swiftConverter("Pa","bar"),psi:u.default.swiftConverter("Pa","psi"),mmHg:u.default.swiftConverter("Pa","mmHg"),inHg:u.default.swiftConverter("Pa","inHg"),hPa:u.default.swiftConverter("Pa","hPa"),kPa:u.default.swiftConverter("Pa","kPa"),mbar:u.default.swiftConverter("Pa","millibar"),"kg/m3":function(n){return n},s:function(n){return n},Minutes:u.default.swiftConverter("s","minutes"),Hours:u.default.swiftConverter("s","hours"),Days:u.default.swiftConverter("s","days"),"D HH:MM:SS":function(n){n=parseInt(n,10);let l=n<0;n=Math.abs(n);let p=Math.floor(n/86400),c=Math.floor(n%86400/3600),y=Math.floor(n%3600/60),h=Math.floor(n%60),x=l?"-":"";return p>0?x+=p+"d "+c.toString()+":"+y.toString().padStart(2,"0")+":"+h.toString().padStart(2,"0"):x+=c.toString()+":"+y.toString().padStart(2,"0")+":"+h.toString().padStart(2,"0"),x},"rad/s":function(n){return n},"deg/s":u.default.swiftConverter("rad/s","deg/s"),"deg/min":u.default.swiftConverter("rad/s","deg/min"),rpm:function(n){return n*60},Hz:function(n){return n},KHz:function(n){return n/1e3},MHz:function(n){return n/1e6},GHz:function(n){return n/1e9},rad:function(n){return n},deg:u.default.swiftConverter("rad","deg"),grad:u.default.swiftConverter("rad","grad"),percent:function(n){return n*100},percentraw:function(n){return n},ratio:function(n){return n},pdeg:function(n){return n},latitudeMin:function(n){let l=Math.trunc(n),p="N";n<0&&(p="S",l=l*-1);let c=n%1*60;return p=="S"&&(c=c*-1),l+"\xB0 "+c.toFixed(2).padStart(5,"0")+"' "+p},latitudeSec:function(n){let l=Math.trunc(n),p="N";n<0&&(p="S",l=l*-1);let c=n%1*60;p=="S"&&(c=c*-1);let y=Math.trunc(c),h=c%1*60;return l+"\xB0 "+y+"' "+h.toFixed(2).padStart(5,"0")+'" '+p},longitudeMin:function(n){let l=Math.trunc(n),p="E";n<0&&(p="W",l=l*-1);let c=n%1*60;return p=="W"&&(c=c*-1),l+"\xB0 "+c.toFixed(2).padStart(5,"0")+"' "+p},longitudeSec:function(n){let l=Math.trunc(n),p="E";n<0&&(p="W",l=l*-1);let c=n%1*60;p=="W"&&(c=c*-1);let y=Math.trunc(c),h=c%1*60;return l+"\xB0 "+y+"' "+h.toFixed(2).padStart(5,"0")+'" '+p}};convertToUnit(n,l){if(!(n in this.unitConversionFunctions)||l===null)return null;let p=+l;return this.unitConversionFunctions[n](p)}getDefaults(){return this._defaultUnits}getConversions(){return this._conversionList}getConversionsForPath(n){let l=this.data.getPathUnitType(n),p="unitless",c="unitless";if(l===null||l==="RFC 3339 (UTC)")return{base:p,conversions:this._conversionList};{let y=this._conversionList.filter(h=>h.group=="Position"&&(n.includes("position.latitude")||n.includes("position.longitude"))?!0:h.units.find(F=>F.measure==l)?(c=this._defaultUnits[h.group],!0):!1);return y.length>0?{base:c,conversions:y}:(console.log("[Units Service] Unit type: "+l+", found for path: "+n+`
|
|
2
2
|
but Kip does not support it.`),{base:p,conversions:this._conversionList})}}ngOnDestroy(){this._defaultUnitsSub?.unsubscribe()}static \u0275fac=function(l){return new(l||f)};static \u0275prov=ye({token:f,factory:f.\u0275fac})}return f})();export{ut as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as xe}from"./chunk-
|
|
1
|
+
import{a as xe}from"./chunk-GCUQ2WKB.js";import{a as De,b as Me,c as ve,d as Pe,e as Oe,f as R,g as Te,h as Ie,i as ke,j as Re,k as Ee,l as Ve,m as Fe,n as E,o as He,p as V,q as Ue,r as Be}from"./chunk-QVMCS46H.js";import"./chunk-KP4DUCFG.js";import{a as Se}from"./chunk-QBA5REXT.js";import{d as we,f as be,j as ye}from"./chunk-SI667JGD.js";import{o as re,p as le}from"./chunk-PYQ6T3Y3.js";import{d as ce,e as pe,g as me,h as de,i as ue,j as fe,k as ge}from"./chunk-IMRKPLTP.js";import{C as _e,D as Ce,p as ie,r as I,y as k,z as he}from"./chunk-3JTVXMAY.js";import{$b as M,$d as oe,Ac as X,Ae as A,Bb as g,Bc as Y,De as $,Ea as W,Kd as L,Lc as Z,Ld as ne,Mc as ee,O as N,Rb as S,Sb as D,Tc as te,Ub as U,Vb as h,Wb as _,Xb as p,Xc as w,Yb as o,Zb as i,_b as u,a as F,ac as v,b as H,cc as P,ec as O,fc as d,ia as K,jc as B,kb as s,kc as j,lc as z,m as Q,pc as G,qe as se,sa as m,uc as l,vb as f,vc as T,wc as C,xd as ae,ya as y,z as q,za as x,zc as J}from"./chunk-AERKQXJA.js";function Ae(e,r){e&1&&(o(0,"span",3),l(1,"Boolean"),i())}function $e(e,r){e&1&&(o(0,"span",3),l(1,"String"),i())}function Qe(e,r){e&1&&(o(0,"span",3),l(1,"String"),i())}function qe(e,r){e&1&&(o(0,"span",3),l(1,"Object"),i())}function Ne(e,r){if(e&1){let t=P();o(0,"button",5),O("click",function(){y(t);let n=d();return x(n.openDialog())}),l(1),i()}if(e&2){let t=d();s(),T(t.selectedUnit)}}function Ke(e,r){if(e&1&&(o(0,"mat-option",6),l(1),i()),e&2){let t=r.$implicit;p("value",t.measure),s(),C(" ",t.measure," ")}}function We(e,r){if(e&1&&(o(0,"mat-optgroup",3),h(1,Ke,2,2,"mat-option",6,U),i()),e&2){let t=r.$implicit;p("label",t.group),s(),_(t.units)}}var je=(()=>{class e{_units=m(xe);_dialog=m(me);path=w.required();source=w(void 0);pathValue=w(void 0);type=w.required();units=null;selectedUnit="unitless";ngOnInit(){this.units=this._units.getConversionsForPath(this.path()),this.selectedUnit=this.units.base}convertValue(t,a){return a==="number"?this._units.convertToUnit(this.selectedUnit,t):t}openDialog(){this._dialog.open(Ge,{data:{selectedUnit:this.selectedUnit,units:this.units}}).afterClosed().subscribe(a=>{a&&(this.selectedUnit=a)})}static \u0275fac=function(a){return new(a||e)};static \u0275cmp=f({type:e,selectors:[["data-inspector-row"]],inputs:{path:[1,"path"],source:[1,"source"],pathValue:[1,"pathValue"],type:[1,"type"]},decls:10,vars:3,consts:[[1,"cell-source","cells"],[1,"cell-value","cells"],[1,"cell-action","cells"],[1,"path-type"],["mat-stroked-button","",1,"change-units-btn"],["mat-stroked-button","",1,"change-units-btn",3,"click"]],template:function(a,n){if(a&1&&(o(0,"mat-cell",0),l(1),i(),o(2,"mat-cell",1),l(3),i(),o(4,"mat-cell",2),S(5,Ae,2,0,"span",3)(6,$e,2,0,"span",3)(7,Qe,2,0,"span",3)(8,qe,2,0,"span",3)(9,Ne,2,1,"button",4),i()),a&2){let c;s(),T(n.source()),s(2),T(n.convertValue(n.pathValue(),n.type())),s(2),D((c=n.type())==="boolean"?5:c==="string"?6:c==="Date"?7:c==="object"?8:9)}},dependencies:[R,$,A],styles:[`.change-units-btn{width:100%}.cell-source:first-of-type{padding-left:0;flex:1 1 30%}.cells{border:0px solid white;word-break:break-word;overflow-wrap:break-word}.cell-value{justify-content:flex-start;flex:1 1 70%;padding:0}.cell-action{justify-content:end;flex:0 0 107px}.cell-action:last-of-type{padding:0}.path-type{width:100%;height:40px;align-content:center;text-align:center;color:var(--mat-sys-primary)}
|
|
2
2
|
`],encapsulation:2})}return e})(),Ge=(()=>{class e{dialogRef=m(ce);data=m(pe);selectedUnit=null;static \u0275fac=function(a){return new(a||e)};static \u0275cmp=f({type:e,selectors:[["dialog-unit-selector"]],decls:14,vars:2,consts:[["mat-dialog-title",""],["appearance","outline","floatLabel","always",2,"padding-top","15px","padding-bottom","15px"],[3,"valueChange","value"],[3,"label"],["mat-flat-button","","mat-dialog-close",""],["mat-flat-button","",3,"mat-dialog-close"],[3,"value"]],template:function(a,n){a&1&&(o(0,"h2",0),l(1,"Select Unit type"),i(),o(2,"mat-dialog-content")(3,"mat-form-field",1)(4,"mat-label"),l(5,"Unit"),i(),o(6,"mat-select",2),Y("valueChange",function(b){return X(n.data.selectedUnit,b)||(n.data.selectedUnit=b),b}),h(7,We,3,1,"mat-optgroup",3,U),i()()(),o(9,"mat-dialog-actions")(10,"button",4),l(11,"Cancel"),i(),o(12,"button",5),l(13,"Ok"),i()()),a&2&&(s(6),J("value",n.data.selectedUnit),s(),_(n.data.units.conversions),s(5),p("mat-dialog-close",n.data.selectedUnit))},dependencies:[ue,fe,k,I,ye,we,be,ge,$,A,de],encapsulation:2})}return e})();var Je=(e,r)=>r.key;function Xe(e,r){e&1&&(o(0,"mat-header-cell",19),l(1," Path "),i())}function Ye(e,r){if(e&1&&(o(0,"mat-cell",20),l(1),i()),e&2){let t=r.$implicit;s(),C(" ",t.path," ")}}function Ze(e,r){e&1&&(o(0,"mat-header-cell",21),l(1," PUT Support "),i())}function et(e,r){e&1&&(o(0,"mat-icon",23),l(1,"check_circle"),i())}function tt(e,r){if(e&1&&(o(0,"mat-cell",22),S(1,et,2,0,"mat-icon",23),i()),e&2){let t=r.$implicit;s(),D(t.meta!=null&&t.meta.supportsPut?1:-1)}}function at(e,r){e&1&&(o(0,"mat-header-cell",24),l(1," Source "),i())}function nt(e,r){if(e&1&&u(0,"data-inspector-row",27),e&2){let t=r.$implicit,a=d().$implicit,n=d();p("path",a.path)("source",n.getSourceKey(t))("pathValue",n.getSourceValue(t))("type",a.type)}}function it(e,r){if(e&1&&(o(0,"mat-cell",25)(1,"div",26),h(2,nt,1,4,"data-inspector-row",27,Je),Z(4,"keyvalue"),i()()),e&2){let t=r.$implicit;s(2),_(ee(4,0,t.sources))}}function ot(e,r){e&1&&u(0,"mat-header-row",28)}function rt(e,r){e&1&&u(0,"mat-row",29)}function lt(e,r){if(e&1&&(o(0,"tr",30)(1,"td",31),l(2),i()()),e&2){d();let t=G(6);s(2),C('No data matching the filter "',t.value,'"')}}var Qt=(()=>{class e{dataService=m(ie);destroyRef=m(W);_responsive=m(oe);isPhonePortrait;filterSubject=new Q;paginator;sort;pageTitle="Data Inspector";pageSize=25;hidePageSize=!1;showFirstLastButtons=!0;showPageSizeOptions=[5,10,25,100];tableData=new Fe([]);displayedColumns=["path","supportsPut","defaultSource"];constructor(){this.filterSubject.pipe(N(500)).pipe(L(this.destroyRef)).subscribe(t=>{this.tableData.filter=t.trim().toLowerCase(),this.tableData.paginator&&this.tableData.paginator.firstPage()}),this.isPhonePortrait=ne(this._responsive.observe(se.HandsetPortrait)),te(()=>{this.isPhonePortrait().matches?(this.hidePageSize=!0,this.showFirstLastButtons=!1,this.showPageSizeOptions=[]):(this.hidePageSize=!1,this.showFirstLastButtons=!0,this.showPageSizeOptions=[5,10,25,100])})}ngAfterViewInit(){this.dataService.startSkDataFullTree().pipe(q(t=>t.filter(a=>Object.keys(a.sources||{}).length>0).map(a=>H(F({},a),{sources:a.type&&a.type.includes("object")&&typeof a.sources=="object"?Object.fromEntries(Object.entries(a.sources).map(([n,c])=>[n,H(F({},c),{sourceValue:typeof c.sourceValue=="object"?JSON.stringify(c.sourceValue):c.sourceValue})])):a.sources}))),K(500),L(this.destroyRef)).subscribe(t=>{this.tableData.data=t}),this.tableData.paginator=this.paginator,this.tableData.sort=this.sort,this.tableData.sortingDataAccessor=(t,a)=>{switch(a){case"supportsPut":return t.meta?.supportsPut?1:0;default:return t[a]}}}applyFilter(t){let a=t.target.value;this.filterSubject.next(a)}trackByPath(t,a){return`${a.path}`}trackBySource(t,a){return`${a.key}`}getSourceKey(t){return String(t.key)}getSourceValue(t){return t.value.sourceValue}ngOnDestroy(){this.filterSubject.complete(),this.dataService.stopSkDataFullTree()}static \u0275fac=function(a){return new(a||e)};static \u0275cmp=f({type:e,selectors:[["data-inspector"]],viewQuery:function(a,n){if(a&1&&(B(E,5),B(V,5)),a&2){let c;j(c=z())&&(n.paginator=c.first),j(c=z())&&(n.sort=c.first)}},decls:21,vars:10,consts:[["input",""],[3,"pageTitle"],[1,"data-inspector-container"],[1,"filter-field"],["matInput","","placeholder","Ex: navigation","value","self.",3,"keyup"],["matSort","","matSortActive","path","matSortDirection","asc",1,"table-content-area","mat-elevation-z8",3,"dataSource","trackBy"],["matColumnDef","path"],["class","pathHeader","mat-sort-header","",4,"matHeaderCellDef"],["class","pathCell row-cell",4,"matCellDef"],["matColumnDef","supportsPut"],["class","putHeader","mat-sort-header","",4,"matHeaderCellDef"],["class","putCell row-cell",4,"matCellDef"],["matColumnDef","defaultSource"],["class","dataHeader","mat-sort-header","",4,"matHeaderCellDef"],["class","dataCell row-cell",4,"matCellDef"],["class","headerRow",4,"matHeaderRowDef","matHeaderRowDefSticky"],["class","table-row",4,"matRowDef","matRowDefColumns"],["class","mat-row",4,"matNoDataRow"],[1,"paginator",3,"pageSize","pageSizeOptions","hidePageSize","showFirstLastButtons"],["mat-sort-header","",1,"pathHeader"],[1,"pathCell","row-cell"],["mat-sort-header","",1,"putHeader"],[1,"putCell","row-cell"],["matTooltip","Supports PUT operation",1,"put-icon"],["mat-sort-header","",1,"dataHeader"],[1,"dataCell","row-cell"],[1,"flex-container"],[1,"source-sub-row",3,"path","source","pathValue","type"],[1,"headerRow"],[1,"table-row"],[1,"mat-row"],["colspan","4",1,"mat-cell"]],template:function(a,n){if(a&1){let c=P();u(0,"page-header",1),o(1,"div",2)(2,"mat-form-field",3)(3,"mat-label"),l(4,"Filter"),i(),o(5,"input",4,0),O("keyup",function(ze){return y(c),x(n.applyFilter(ze))}),i()(),o(7,"mat-table",5),M(8,6),g(9,Xe,2,0,"mat-header-cell",7)(10,Ye,2,1,"mat-cell",8),v(),M(11,9),g(12,Ze,2,0,"mat-header-cell",10)(13,tt,2,1,"mat-cell",11),v(),M(14,12),g(15,at,2,0,"mat-header-cell",13)(16,it,5,2,"mat-cell",14),v(),g(17,ot,1,0,"mat-header-row",15)(18,rt,1,0,"mat-row",16)(19,lt,3,1,"tr",17),i(),u(20,"mat-paginator",18),i()}a&2&&(p("pageTitle",n.pageTitle),s(7),p("dataSource",n.tableData)("trackBy",n.trackByPath),s(10),p("matHeaderRowDef",n.displayedColumns)("matHeaderRowDefSticky",!0),s(),p("matRowDefColumns",n.displayedColumns),s(2),p("pageSize",n.pageSize)("pageSizeOptions",n.showPageSizeOptions)("hidePageSize",n.hidePageSize)("showFirstLastButtons",n.showFirstLastButtons))},dependencies:[he,k,I,Ve,De,ve,Te,Pe,Me,Ie,Oe,R,ke,Re,Ee,Ce,_e,He,E,Be,V,Ue,je,ae,Se,le,re],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%}.data-inspector-container[_ngcontent-%COMP%]{margin-left:24px;margin-right:24px;height:calc(100% - 63px)}.table-content-area[_ngcontent-%COMP%]{height:calc(100% - 142px);overflow-y:scroll;width:100%;scroll-behavior:smooth}.mat-column-path[_ngcontent-%COMP%]{flex:0 0 50%;width:50%}.mat-mdc-table[_ngcontent-%COMP%]{overflow:auto}.paginator[_ngcontent-%COMP%]{width:100%;height:56px;background-color:var(--mat-sys-background)}.filter-field[_ngcontent-%COMP%]{padding:15px 0;width:100%;height:86px}.pathHeader[_ngcontent-%COMP%]{flex:1 1 45%}.putHeader[_ngcontent-%COMP%]{flex:1 1 10%}.dataHeader[_ngcontent-%COMP%]{flex:1 1 45%}.table-row[_ngcontent-%COMP%]{border-bottom-color:var(--mat-table-row-item-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, .12)));border-bottom-width:var(--mat-table-row-item-outline-width, 1px);border-bottom-style:solid}.row-cell[_ngcontent-%COMP%]{border-bottom-color:#fff;border-bottom-width:0px;border-bottom-style:solid}.pathCell[_ngcontent-%COMP%]{flex:1 1 45%;word-break:break-word;overflow-wrap:break-word}.putCell[_ngcontent-%COMP%]{flex:1 1 10%}.dataCell[_ngcontent-%COMP%]{flex:1 1 45%;flex-flow:column;flex-wrap:nowrap;gap:2px}.flex-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;margin:5px 0;height:100%;width:100%}.source-sub-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;gap:5px;width:100%}.put-icon[_ngcontent-%COMP%]{color:var(--kip-starboard-color)}@media screen and (max-width: 750px){.pathHeader[_ngcontent-%COMP%], .dataHeader[_ngcontent-%COMP%]{flex:1 1 50%}.dataCell[_ngcontent-%COMP%]{flex:1 1 100%}.dataCell[_ngcontent-%COMP%]{flex:1 1 100%;margin-left:24px}.mat-mdc-table[_ngcontent-%COMP%] .mat-mdc-row[_ngcontent-%COMP%]{flex-direction:row;flex-wrap:wrap}.mat-mdc-table[_ngcontent-%COMP%] .mat-mdc-cell[_ngcontent-%COMP%]:before{content:attr(data-label);float:left;padding-right:5px}mat-row[_ngcontent-%COMP%]:after{min-height:auto;padding-bottom:10px}.dataRow[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.actionCell[_ngcontent-%COMP%]{margin-left:24px}}"]})}return e})();export{Qt as DataInspectorComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as p,p as u}from"./chunk-
|
|
1
|
+
import{h as p,p as u}from"./chunk-3JTVXMAY.js";import{Ia as i,Ld as s,Rc as c,Tc as a,m as l,na as g,o as m,sa as n}from"./chunk-AERKQXJA.js";var h="3.4.2";var C=(()=>{class o{MODE_PATH="self.environment.mode";configurableThemeColors=[{label:"Contrast",value:"contrast"},{label:"Blue",value:"blue"},{label:"Green",value:"green"},{label:"Orange",value:"orange"},{label:"Yellow",value:"yellow"},{label:"Pink",value:"pink"},{label:"Purple",value:"purple"},{label:"Grey",value:"grey"}];snackbarAppNotifications=new l;cssThemeColorRoles$=new m(null);_cssThemeColorRoles=null;_settings=n(p);_data=n(u);isNightMode=i(!1);_useAutoNightMode=s(this._settings.getAutoNightModeAsO(),{requireSync:!0});_theme=s(this._settings.getThemeNameAsO(),{requireSync:!0});_redNightMode=s(this._settings.getRedNightModeAsO(),{requireSync:!0});_environmentMode=s(this._data.subscribePath(this.MODE_PATH,"default"));appVersion=i(h);browserVersion=i("Unknown");osVersion=i("Unknown");constructor(){a(()=>{this._theme()==="light-theme"?document.body.classList.toggle("light-theme",this._theme()==="light-theme"):document.body.classList.remove("light-theme")}),a(()=>{let t=this._environmentMode().data.value;this._useAutoNightMode()&&(this.isNightMode.set(t==="night"),this.toggleDayNightMode())}),a(()=>{let t=this._redNightMode();c(()=>{t?this.toggleDayNightMode():this.toggleDayNightMode()})}),this.readThemeCssRoleVariables(),this._cssThemeColorRoles=this.cssThemeColorRoles$.getValue(),this.browserVersion.set(this.getBrowserVersion()),this.osVersion.set(this.getOSVersion()),console.log("*********** KIP Version Information ***********"),console.log(`** App Version: ${this.appVersion()}`),console.log(`** Browser Version: ${this.browserVersion()}`),console.log(`** OS Version: ${this.osVersion()}`),console.log("***********************************************")}sendSnackbarNotification(t,e=1e4,r=!1){this.snackbarAppNotifications.next({message:t,duration:e,silent:r})}getSnackbarAppNotifications(){return this.snackbarAppNotifications.asObservable()}readThemeCssRoleVariables(){let t=document.body,e=getComputedStyle(t),r={background:e.getPropertyValue("--mat-sys-background").trim(),cardColor:e.getPropertyValue("--kip-widget-card-background-color").trim(),blue:e.getPropertyValue("--kip-blue-color").trim(),blueDim:e.getPropertyValue("--kip-blue-dim-color").trim(),blueDimmer:e.getPropertyValue("--kip-blue-dimmer-color").trim(),green:e.getPropertyValue("--kip-green-color").trim(),greenDim:e.getPropertyValue("--kip-green-dim-color").trim(),greenDimmer:e.getPropertyValue("--kip-green-dimmer-color").trim(),grey:e.getPropertyValue("--kip-grey-color").trim(),greyDim:e.getPropertyValue("--kip-grey-dim-color").trim(),greyDimmer:e.getPropertyValue("--kip-grey-dimmer-color").trim(),orange:e.getPropertyValue("--kip-orange-color").trim(),orangeDim:e.getPropertyValue("--kip-orange-dim-color").trim(),orangeDimmer:e.getPropertyValue("--kip-orange-dimmer-color").trim(),pink:e.getPropertyValue("--kip-pink-color").trim(),pinkDim:e.getPropertyValue("--kip-pink-dim-color").trim(),pinkDimmer:e.getPropertyValue("--kip-pink-dimmer-color").trim(),purple:e.getPropertyValue("--kip-purple-color").trim(),purpleDim:e.getPropertyValue("--kip-purple-dim-color").trim(),purpleDimmer:e.getPropertyValue("--kip-purple-dimmer-color").trim(),contrast:e.getPropertyValue("--kip-contrast-color").trim(),contrastDim:e.getPropertyValue("--kip-contrast-dim-color").trim(),contrastDimmer:e.getPropertyValue("--kip-contrast-dimmer-color").trim(),yellow:e.getPropertyValue("--kip-yellow-color").trim(),yellowDim:e.getPropertyValue("--kip-yellow-dim-color").trim(),yellowDimmer:e.getPropertyValue("--kip-yellow-dimmer-color").trim(),port:e.getPropertyValue("--kip-port-color").trim(),starboard:e.getPropertyValue("--kip-starboard-color").trim(),zoneNominal:e.getPropertyValue("--kip-zone-nominal-color").trim(),zoneAlert:e.getPropertyValue("--kip-zone-alert-color").trim(),zoneWarn:e.getPropertyValue("--kip-zone-warn-color").trim(),zoneAlarm:e.getPropertyValue("--kip-zone-alarm-color").trim(),zoneEmergency:e.getPropertyValue("--kip-zone-emergency-color").trim()};this.cssThemeColorRoles$.next(r)}get cssThemeColors(){return this._cssThemeColorRoles}setBrightness(t,e=!1){let r=document.body;r.style.setProperty("--kip-nightModeBrightness",`${t}`);let d=e?" sepia(0.5) hue-rotate(-30deg)":"";r.style.setProperty("--kip-nightModeFilters",d)}toggleDayNightMode(){this.isNightMode()?this._redNightMode()?(document.body.classList.toggle("night-theme",!0),this.setBrightness(1,!1)):(this.setBrightness(this._settings.getNightModeBrightness(),!0),document.body.classList.remove("night-theme"),this._theme()==="light-theme"?document.body.classList.toggle("light-theme",this._theme()==="light-theme"):document.body.classList.remove("light-theme")):(document.body.classList.remove("night-theme"),this._theme()==="light-theme"&&document.body.classList.toggle("light-theme",this._theme()==="light-theme"),this.setBrightness(1,!1)),this.readThemeCssRoleVariables(),this._cssThemeColorRoles=this.cssThemeColorRoles$.getValue()}getBrowserVersion(){let t=navigator.userAgent,e="Unknown";return t.includes("Edg")?e=`Edge ${t.match(/Edg\/(\d+)/)?.[1]}`:t.includes("Chrome")&&!t.includes("Edg")&&!t.includes("Chromium")?e=`Chrome ${t.match(/Chrome\/(\d+)/)?.[1]}`:t.includes("Chromium")?e=`Chromium ${t.match(/Chromium\/(\d+)/)?.[1]}`:t.includes("Firefox")?e=`Firefox ${t.match(/Firefox\/(\d+)/)?.[1]}`:t.includes("Safari")&&!t.includes("Chrome")&&!t.includes("Chromium")?e=`Safari ${t.match(/Version\/(\d+)/)?.[1]}`:(t.includes("Opera")||t.includes("OPR"))&&(e=`Opera ${t.match(/(Opera|OPR)\/(\d+)/)?.[2]}`),e}getOSVersion(){let t=navigator.platform,e=navigator.userAgent;return t.startsWith("Mac")?"macOS":t.startsWith("Win")?"Windows":/Linux/.test(t)?e.includes("ARM")||e.includes("aarch64")||e.includes("Raspberry")||t.includes("armv7l")||t.includes("armv8l")?"Raspberry Pi":"Linux":"Unknown OS"}static \u0275fac=function(e){return new(e||o)};static \u0275prov=g({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{C as a};
|