diff --git a/index.html b/index.html index d727605e..645de912 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -
","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessParameters.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessParameters.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessParameters.vue?vue&type=template&id=5df7758f\"\nimport script from \"./ChooseProcessParameters.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessParameters.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","parameters","length","_v","attrs","process","model","value","callback","$$v","expression","staticRenderFns","name","components","Parameters","props","type","Object","required","computed","Utils","isObject","Array","isArray","map","p","ProcessParameter","filter","isEditable","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/1237.85c772b7.js","mappings":"yKAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAA4B,IAA1BJ,EAAIK,WAAWC,OAAcJ,EAAG,IAAI,CAACF,EAAIO,GAAG,2EAA2EL,EAAG,aAAa,CAACM,MAAM,CAAC,WAAaR,EAAIK,WAAW,OAASL,EAAIS,SAASC,MAAM,CAACC,MAAOX,EAAIW,MAAOC,SAAS,SAAUC,GAAMb,EAAIW,MAAME,CAAG,EAAEC,WAAW,YAAY,EACtZ,EACIC,EAAkB,G,gCCatB,SACAC,KAAA,0BACAC,WAAA,CACAC,WAAAA,EAAAA,GAEAC,MAAA,CACAV,QAAA,CACAW,KAAAC,OACAC,UAAA,GAEAX,MAAA,CACAS,KAAAC,OACAC,UAAA,IAGAC,SAAA,CACAlB,UAAAA,GACA,OAAAmB,EAAAA,EAAAC,SAAA,KAAAhB,UAAAiB,MAAAC,QAAA,KAAAlB,QAAAJ,YAGA,KAAAI,QAAAJ,WAAAuB,KAAAC,GAAA,IAAAC,EAAAA,iBAAAD,KAAAE,QAAAF,GAAAA,EAAAG,eAFA,EAGA,ICpCwR,I,eCOpRC,GAAY,OACd,EACAlC,EACAgB,GACA,EACA,KACA,KACA,MAIF,QAAekB,EAAiB,O","sources":["webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessParameters.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessParameters.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessParameters.vue?2081","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessParameters.vue?1ae4"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-process-parameters\"},[(_vm.parameters.length === 0)?_c('p',[_vm._v(\" This process doesn't expose any parameters. You can skip this step. \")]):_c('Parameters',{attrs:{\"parameters\":_vm.parameters,\"parent\":_vm.process},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessParameters.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessParameters.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessParameters.vue?vue&type=template&id=5df7758f\"\nimport script from \"./ChooseProcessParameters.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessParameters.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","parameters","length","_v","attrs","process","model","value","callback","$$v","expression","staticRenderFns","name","components","Parameters","props","type","Object","required","computed","Utils","isObject","Array","isArray","map","p","ProcessParameter","filter","isEditable","component"],"sourceRoot":""} \ No newline at end of file diff --git a/js/1765.35203da6.js b/js/1765.8c0299d7.js similarity index 99% rename from js/1765.35203da6.js rename to js/1765.8c0299d7.js index 87dca8a4..9445878d 100644 --- a/js/1765.35203da6.js +++ b/js/1765.8c0299d7.js @@ -6,4 +6,4 @@ * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time) */ !function(t,a){e.exports=a(s(10972),s(29276),s(49700),s(82986),s(54602),s(44294),s(86717),s(89718))}(0,(function(e,t,s,a,i,n,r,o){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=l(e),d=l(t),u=l(s),p=l(a),h=l(i),m=l(n),f=l(r),y=l(o),g="gcd-container",x="gcd-button-control",b="gcd-input-query",v="gcd-input-reset",w={namespace:"ol-geocoder",spin:"gcd-pseudo-rotate",hidden:"gcd-hidden",address:"gcd-address",country:"gcd-country",city:"gcd-city",road:"gcd-road",olControl:"ol-control",glass:{container:"gcd-gl-container",control:"gcd-gl-control",button:"gcd-gl-btn",input:"gcd-gl-input",expanded:"gcd-gl-expanded",reset:"gcd-gl-reset",result:"gcd-gl-result"},inputText:{container:"gcd-txt-container",control:"gcd-txt-control",input:"gcd-txt-input",reset:"gcd-txt-reset",icon:"gcd-txt-glass",result:"gcd-txt-result"}},_={containerId:g,buttonControlId:x,inputQueryId:b,inputResetId:v,cssClasses:w};const C=Object.freeze({__proto__:null,containerId:g,buttonControlId:x,inputQueryId:b,inputResetId:v,cssClasses:w,default:_}),A="addresschosen",k="nominatim",E="reverse",S="glass-button",T="text-input",j="osm",$="mapquest",D="photon",P="bing",I="opencage",O={provider:j,placeholder:"Search for an address",featureStyle:null,targetType:S,lang:"en-US",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function B(e,t="Assertion failed"){if(!e){if("undefined"!=typeof Error)throw new Error(t);throw t}}function F(e){const t=function(){if("performance"in window==0&&(window.performance={}),"now"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function L(e){return/^\d+$/u.test(e)}function N(e,t,s){if(Array.isArray(e))return void e.forEach((e=>N(e,t)));const a=Array.isArray(t)?t:t.split(/\s+/u);let i=a.length;for(;i--;)R(e,a[i])||H(e,a[i],s)}function M(e,t,s){if(Array.isArray(e))return void e.forEach((e=>M(e,t,s)));const a=Array.isArray(t)?t:t.split(/\s+/u);let i=a.length;for(;i--;)R(e,a[i])&&U(e,a[i],s)}function R(e,t){return e.classList?e.classList.contains(t):V(t).test(e.className)}function q(e,t){return e.replace(/\{\s*([\w-]+)\s*\}/gu,((e,s)=>{const a=void 0===t[s]?"":t[s];return String(a).replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}))}function G(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eU(e,t)),s)}function U(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(V(t)," ").trim(),s&&L(s)&&window.setTimeout((()=>H(e,t)),s)}const W=C.cssClasses;class K{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===T?(t=`${W.namespace} ${W.inputText.container}`,e=G(["div",{id:C.containerId,classname:t}],K.input),s={container:e,control:e.querySelector(`.${W.inputText.control}`),input:e.querySelector(`.${W.inputText.input}`),reset:e.querySelector(`.${W.inputText.reset}`),result:e.querySelector(`.${W.inputText.result}`)}):(t=`${W.namespace} ${W.glass.container}`,e=G(["div",{id:C.containerId,classname:t}],K.glass),s={container:e,control:e.querySelector(`.${W.glass.control}`),button:e.querySelector(`.${W.glass.button}`),input:e.querySelector(`.${W.glass.input}`),reset:e.querySelector(`.${W.glass.reset}`),result:e.querySelector(`.${W.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}K.glass=`\n
\n \n \n \n
\n \n`,K.input=`\n
\n \n \n \n
\n \n`;class z{constructor(){this.settings={url:"https://photon.komoot.io/api/",params:{q:"",limit:10,lang:"en"},langs:["de","it","fr","en"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class Y{constructor(){this.settings={url:"https://nominatim.openstreetmap.org/search/",params:{q:"",format:"json",addressdetails:1,limit:10,countrycodes:"","accept-language":"en-US"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,"accept-language":e.lang||this.settings.params["accept-language"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||"",houseNumber:e.address.house_number||"",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class J{constructor(){this.settings={url:"https://open.mapquestapi.com/nominatim/v1/search.php",params:{q:"",key:"",format:"json",addressdetails:1,limit:10,countrycodes:"","accept-language":"en-US"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:"json",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,"accept-language":e.lang||this.settings.params["accept-language"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||"",road:e.address.road||"",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class Q{constructor(){this.settings={url:"https://dev.virtualearth.net/REST/v1/Locations",callbackName:"jsonp",params:{query:"",key:"",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class X{constructor(){this.settings={url:"https://api.opencagedata.com/geocode/v1/json?",params:{q:"",key:"",limit:10,countrycode:"",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||"",road:e.components.road||"",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const a=function(e,t){return t&&"object"==typeof t&&(e+=(/\?/u.test(e)?"&":"?")+ee(t)),e}(e.url,e.data),i={method:"GET",mode:"cors",credentials:"same-origin"};e.jsonp?function(e,t,s){const{head:a}=document,i=document.createElement("script"),n=`f${Math.round(Math.random()*Date.now())}`;i.setAttribute("src",`${e+(e.indexOf("?")>0?"&":"?")+t}=${n}`),window[n]=e=>{window[n]=void 0,setTimeout((()=>a.removeChild(i)),0),s(e)},a.append(i)}(a,e.callbackName,t):fetch(a,i).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push("object"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join("&")}const te=C.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=F("geocoder-layer-"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider="string"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery="",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),R(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener("keypress",(e=>{const t=e.target.value.trim();(e.key?"Enter"===e.key:e.which?13===e.which:e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener("click",(e=>e.stopPropagation()),!1),this.els.input.addEventListener("input",(s=>{const a=s.target.value.trim();0!==a.length?M(this.els.reset,te.hidden):N(this.els.reset,te.hidden),this.options.autoComplete&&a!==t&&(t=a,e&&clearTimeout(e),e=setTimeout((()=>{a.length>=this.options.autoCompleteMinLength&&this.query(a)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener("click",(e=>{this.els.input.focus(),this.els.input.value="",this.lastQuery="",N(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===S&&this.els.button.addEventListener("click",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),N(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),M(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{M(this.els.reset,te.spin);const t=G("li","
Error! No internet connection?
");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;s=this.options.provider===j?`${e.address.name}`:this.addressTemplate(e.address);const a=G("li",`${s}`);a.addEventListener("click",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(a)}))}chosen(e,t,s,a){const i=this.Base.getMap(),n=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],r=i.getView().getProjection(),o=y.default.transform(n,"EPSG:4326",r);let{bbox:l}=e;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],"EPSG:4326",r));const c={formatted:t,details:s,original:a};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:A,address:c,coordinate:o,bbox:l,place:e});else{l?i.getView().fit(l,{duration:500}):function(e,t,s=500,a=2.388657133911758){e.getView().animate({duration:s,resolution:a},{duration:s,center:t})}(i,o);const t=this.createFeature(o,c);this.Base.dispatchEvent({type:A,address:c,feature:t,coordinate:o,bbox:l,place:e})}}createFeature(e){const t=new f.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(F("geocoder-ft-")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join("")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join("")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join("")),(e.state||e.country)&&t.push(['{state} {country}'].join("")),q(t.join("
"),e)}newProvider(){switch(this.options.provider){case j:return new Y;case $:return new J;case D:return new z;case P:return new Q;case I:return new X;default:return this.options.provider}}expand(){M(this.els.input,te.spin),N(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value="",this.els.input.blur(),N(this.els.reset,te.hidden),M(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener("click",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===S?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class ae extends c.default{constructor(e=k,t={}){let s,a;B("string"==typeof e,"@param `type` should be string!"),B(e===k||e===E,`@param 'type' should be '${k}'\n or '${E}'!`),B("object"==typeof t,"@param `options` should be object!"),O.featureStyle=[new d.default({image:new u.default({scale:.7,src:"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png"})})];const i=new K(t);if(e===k&&(s=i.els.container),super({element:s}),!(this instanceof ae))return new ae;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(O,t),this.container=s,e===k&&(a=new se(this,i.els),this.layer=a.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return ae}))},84542:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});const a={data(){return{canCopy:!1}},mounted(){this.canCopy=navigator&&navigator.clipboard&&"function"===typeof navigator.clipboard.writeText},methods:{copyText(e,t=null,s=null){if(this.canCopy){const a=navigator.clipboard.writeText(e);t&&a.then(t),s&&a.catch(s)}},toggleIcon(e,t){if(e){let s=e.innerText;e.innerText=t,setTimeout((()=>e.innerText=s),2e3)}}}}},35254:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});const a={components:{FederationNotice:()=>s.e(2604).then(s.bind(s,52604)),FederationMissingNotice:()=>s.e(5363).then(s.bind(s,35363))},props:{federation:{type:Object,default:()=>({})}}}},69748:(e,t,s)=>{"use strict";s.d(t,{A:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component collections"},[t("SearchableList",{attrs:{data:e.collections,identifierKey:"id",summaryKey:"title",keywordsKey:"keywords",showKeywords:e.showKeywords,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Collection",{attrs:{data:s.item,mapOptions:e.mapOptions,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("collection-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("collection-end",null,null,t)]}},{key:"spatial-extents",fn:function(t){return[e._t("collection-spatial-extents",null,null,t)]}},{key:"temporal-extents",fn:function(t){return[e._t("collection-temporal-extents",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},i=[],n=s(86975),r=s(35254);const o={name:"Collections",components:{Collection:()=>n.A.loadAsyncComponent(Promise.all([s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(3249)]).then(s.bind(s,3249))),SearchableList:()=>n.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[r.A],props:{collections:{type:Array,default:()=>[]},mapOptions:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Collections"},collapsed:{type:Boolean,default:null},loadAdditionalData:{type:Function,default:null},showKeywords:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...r.A.props},beforeCreate(){n.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=o;var c=s(81656),d=(0,c.A)(l,a,i,!1,null,null,null);const u=d.exports},34152:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>h});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component searchable-list",class:{expandable:null!==e.collapsed,expanded:e.showList,noResults:0===e.filteredCount}},[e._t("heading",(function(){return[e.heading?t("h2",{staticClass:"heading",on:{click:function(t){return e.toggleHeading(null)}}},[e._v(" "+e._s(e.heading)+" "),null!==e.filteredCount&&e.filteredCount!==e.totalCount?[e._v("("+e._s(e.filteredCount)+"/"+e._s(e.totalCount)+")")]:[e._v("("+e._s(e.totalCount)+")")]],2):e._e()]}),{filteredCount:e.filteredCount,totalCount:e.totalCount}),null!==e.showList?t("div",{directives:[{name:"show",rawName:"v-show",value:!0===e.showList,expression:"showList === true"}],staticClass:"body"},[e._t("content-start"),0===e.totalCount?[t("p",[e._v("No data available.")])]:[t("section",{staticClass:"action-bar"},[null===e.externalSearchTerm?t("SearchBox",{attrs:{placeholder:e.searchPlaceholder,minLength:e.searchMinLength},model:{value:e.searchTerm,callback:function(t){e.searchTerm=t},expression:"searchTerm"}}):e._e(),e.deprecatedFilter?t("label",{staticClass:"deprecated",attrs:{title:"Show deprecated elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.hideDeprecated,expression:"hideDeprecated"}],attrs:{type:"checkbox","true-value":!1,"false-value":!0},domProps:{checked:Array.isArray(e.hideDeprecated)?e._i(e.hideDeprecated,null)>-1:e._q(e.hideDeprecated,!1)},on:{change:function(t){var s=e.hideDeprecated,a=t.target,i=!a.checked;if(Array.isArray(s)){var n=null,r=e._i(s,n);a.checked?r<0&&(e.hideDeprecated=s.concat([n])):r>-1&&(e.hideDeprecated=s.slice(0,r).concat(s.slice(r+1)))}else e.hideDeprecated=i}}}),e._v(" Show deprecated ")]):e._e(),e.experimentalFilter?t("label",{staticClass:"experimental",attrs:{title:"Show experimental elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.hideExperimental,expression:"hideExperimental"}],attrs:{type:"checkbox","true-value":!1,"false-value":!0},domProps:{checked:Array.isArray(e.hideExperimental)?e._i(e.hideExperimental,null)>-1:e._q(e.hideExperimental,!1)},on:{change:function(t){var s=e.hideExperimental,a=t.target,i=!a.checked;if(Array.isArray(s)){var n=null,r=e._i(s,n);a.checked?r<0&&(e.hideExperimental=s.concat([n])):r>-1&&(e.hideExperimental=s.slice(0,r).concat(s.slice(r+1)))}else e.hideExperimental=i}}}),e._v(" Show experimental ")]):e._e()],1),e._t("after-search-box",null,{filteredCount:e.filteredCount,summaries:e.summaries}),0===e.filteredCount?t("p",[e._v("No search results found.")]):t("ul",{staticClass:"list",class:{expandable:e.offerDetails}},e._l(e.summaries,(function(s,a){return t("li",{directives:[{name:"show",rawName:"v-show",value:s.show,expression:"summary.show"}],key:s.identifier,class:{expanded:e.showDetails[a]}},[t("summary",{staticClass:"summary",class:{experimental:s.experimental,deprecated:s.deprecated},on:{click:function(t){return e.toggleDetails(a)}}},[e._t("summary",(function(){return[t("strong",[e._v(" "+e._s(s.identifier)+" "),e.allowCopy&&e.canCopy?t("span",{staticClass:"copy",attrs:{title:"Copy identifier"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),e.copyIdentifier(t,s)}}},[e._v("📋")]):e._e()]),s.summary?t("small",{class:{hideOnExpand:!e.showSummaryOnExpand}},[e._v(e._s(s.summary))]):e._e(),e.showKeywords&&s.keywords.length>0?t("ul",{staticClass:"badges small block hideOnExpand"},e._l(s.keywords,(function(s){return t("li",{key:s,staticClass:"badge"},[e._v(e._s(s))])})),0):e._e()]}),{summary:s,item:s.data})],2),"boolean"===typeof e.showDetails[a]?t("div",{directives:[{name:"show",rawName:"v-show",value:!0===e.showDetails[a],expression:"showDetails[i] === true"}],staticClass:"details"},[s.loaded?e._t("details",(function(){return[e._v(" No details available! ")]}),{summary:s,item:s.data}):t("Loading")],2):e._e()])})),0)]],2):e._e()],2)},i=[],n=s(86975),r=s(12018),o=s(84542),l=s(85471);const c={name:"SearchableList",components:{Loading:r.A,SearchBox:()=>s.e(9409).then(s.bind(s,9409))},mixins:[o.A],props:{data:{type:[Array,Object],default:()=>[]},identifierKey:{type:String,default:"id"},summaryKey:{type:String,default:"summary"},keywordsKey:{type:String,default:null},showKeywords:{type:Boolean,default:!1},externalSearchTerm:{type:String,default:null},searchPlaceholder:{type:String,default:"Search"},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},showSummaryOnExpand:{type:Boolean,default:!0},heading:{type:String,default:null},collapsed:{type:Boolean,default:null},searchMinLength:{type:Number,default:2},loadAdditionalData:{type:Function,default:null},allowCopy:{type:Boolean,default:!1},externalHideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},externalHideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1}},data(){return{searchTerm:"",showDetails:{},showList:!this.collapsed||null,hideDeprecated:this.externalHideDeprecated,hideExperimental:this.externalHideExperimental,summaries:[]}},watch:{loadAdditionalData:{handler(){this.generateSummaries(this.summaries)}},data:{immediate:!0,handler(e,t){e!==t&&this.generateSummaries(e)}},externalSearchTerm:{immediate:!0,handler(e){this.searchTerm="string"===typeof e?e:""}},externalHideDeprecated:{immediate:!0,handler(e){this.hideDeprecated=e}},externalHideExperimental:{immediate:!0,handler(e){this.hideExperimental=e}},summaries:{immediate:!0,handler(){this.$emit("summaries",this.summaries)}},searchTerm(){this.filter()},hideDeprecated(){null!==this.hideDeprecatedByDefault&&this.filter()},hideExperimental(){null!==this.hideExperimentalByDefault&&this.filter()},collapsed(e){!1===e?this.showList=!0:null!==this.showList&&(this.showList=!1)}},computed:{totalCount(){return n.A.size(this.data)},filteredCount(){return this.hasActiveFilter()?this.summaries.filter((e=>!0===e.show)).length:null}},created(){this.filter()},methods:{hasActiveFilter(){return this.searchTerm.length>=this.searchMinLength||null!==this.hideDeprecatedByDefault&&this.hideDeprecated||null!==this.hideExperimentalByDefault&&this.hideExperimental},filter(){const e=this.searchTerm.length>=this.searchMinLength;this.summaries.forEach((t=>{let s=!0;null!==this.hideDeprecatedByDefault&&this.hideDeprecated&&t.deprecated||null!==this.hideExperimentalByDefault&&this.hideExperimental&&t.experimental?s=!1:e&&(s=n.A.search(this.searchTerm,[t.identifier,t.summary].concat(t.keywords))),this.$set(t,"show",s)})),this.$emit("summaries",this.summaries)},copyIdentifier(e,t){if(this.allowCopy){const s=e.composedPath()[0];this.copyText(t.identifier,(()=>this.toggleIcon(s,"✅")),(()=>this.toggleIcon(s,"❌")))}},generateSummaries(){let e="function"===typeof this.loadAdditionalData,t=[];for(let s in this.data){let a=this.data[s],i={identifier:s,summary:"",show:!0,loaded:!e,index:s,experimental:a.experimental,deprecated:a.deprecated,data:null};"string"===typeof this.identifierKey&&"string"===typeof a[this.identifierKey]&&(i.identifier=a[this.identifierKey]),"string"===typeof this.summaryKey&&"string"===typeof a[this.summaryKey]&&(i.summary=a[this.summaryKey]),"string"===typeof this.keywordsKey&&Array.isArray(a[this.keywordsKey])?i.keywords=a[this.keywordsKey]:i.keywords=[];let n=l.Ay.observable(i);n.data=a,t.push(n)}this.sort&&t.sort(((e,t)=>n.A.compareStringCaseInsensitive(e.identifier,t.identifier))),this.summaries=t},toggleHeading(e=null){null!==this.collapsed&&(this.showList=null===e?!this.showList:e,this.$emit("headingToggled",this.showList),this.$parent&&this.$parent.$emit("headingToggled",this.showList))},async toggleDetails(e,t){if(!this.offerDetails)return;if("undefined"===typeof t&&(t=!this.showDetails[e]),"undefined"===typeof this.showDetails[e]&&!1===t)return;this.$set(this.showDetails,e,t);let s=this.summaries[e];if(t&&"function"===typeof this.loadAdditionalData&&!s.loaded)try{s.data=await this.loadAdditionalData(s.index,s.identifier,s.data),s.loaded=!0}catch(a){console.error(a)}this.$emit("detailsToggled",t,s.index,s.identifier,s.data)}}},d=c;var u=s(81656),p=(0,u.A)(d,a,i,!1,null,null,null);const h=p.exports},54737:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"select-container"},[e.loaded?[t("MultiSelect",{key:e.type,ref:"htmlElement",attrs:{label:"label","track-by":"id",multiple:e.multiple,options:e.selectOptions,allowEmpty:!1,preselectFirst:e.preselect,disabled:!e.editable,deselectLabel:e.deselectLabel,taggable:e.taggable,tagPlaceholder:e.tagPlaceholder},on:{tag:e.addValue},model:{value:e.selected,callback:function(t){e.selected=t},expression:"selected"}}),e.showDetails?t("button",{attrs:{type:"button",title:"Details"},on:{click:function(t){return e.$emit("onDetails")}}},[t("i",{staticClass:"fas fa-info"})]):e._e()]:t("div",{staticClass:"loading"},[t("i",{staticClass:"fas fa-spinner fa-spin"}),e._v(" Loading options...")])],2)},i=[],n=s(75262),r=s.n(n),o=s(2566);const l={name:"SelectBox",components:{MultiSelect:r()},props:{value:{},type:{type:String,default:""},editable:{type:Boolean,default:!0},options:{type:[Array,Object]},schema:{type:Object},context:{},optionFilter:{type:Function,default:null}},computed:{selectOptions(){let e=[];switch(this.type){case"band-name":let t=this.$store.state.collections.find((e=>e.id==this.context));if(o.A.isObject(t)){try{e=t.summaries["bands"].map((e=>e.name))}catch(i){}if(0===e.length&&o.A.isObject(t["cube:dimensions"]))try{let s=Object.values(t["cube:dimensions"]).find((e=>"bands"===e.type));s&&Array.isArray(s.values)&&(e=s.values)}catch(i){}}break;case"collection-id":e=this.$store.state.collections;break;case"job-id":e=this.$store.state.jobs.jobs;break;case"file-path":case"file-paths":e=this.$store.state.files.files;break;case"epsg-code":e=this.$store.state.editor.epsgCodes;break;case"input-format":e=this.$store.state.fileFormats.getInputTypes();break;case"openeo-datatype":let a=s(63610),n={};for(let e of a.NATIVE_TYPES)n[e]={type:e};e=Object.assign(n,a.API_TYPES);break;case"output-format":e=this.$store.state.fileFormats.getOutputTypes();break;case"service-type":e=this.$store.state.serviceTypes;break;case"billing-plan":e=this.$store.state.connection.capabilities().listPlans();break;case"udf-runtime":e=Object.keys(this.$store.state.udfRuntimes);break;case"udf-runtime-version":e=this.context in this.$store.state.udfRuntimes?Object.keys(this.$store.state.udfRuntimes[this.context].versions):[];break}"function"===typeof this.optionFilter&&e&&"object"===typeof e&&(e=o.A.isObject(e)?Object.fromEntries(Object.entries(e).filter((([e,t])=>this.optionFilter(t,e)))):e.filter(((e,t)=>this.optionFilter(e,t))));let t=[];switch(this.type){case"collection-id":return e.map((e=>this.e(e.id))).sort(this.sortByLabel);case"job-id":return e.map((e=>({id:e.id,label:o.A.getResourceTitle(e)}))).sort(this.sortByLabel);case"openeo-datatype":for(let a in e){let s=e[a];t.push({id:a,label:s.title||o.A.prettifyString(a),value:s})}return t;case"file-path":case"file-paths":return e.map((e=>this.e(e.path))).sort(((e,t)=>o.A.sortByPath(e.id,t.id)));case"epsg-code":for(let a in e)t.push({id:Number.parseInt(a,10),label:a+": "+e[a]});return t;case"input-format":case"output-format":case"service-type":for(let a in e){let s=a.toUpperCase(),i=e[a].title;i?s!==i.toUpperCase()&&(i=`${i} - ${s}`):i=s,t.push({id:s,label:i})}return t.sort(this.sortByLabel);case"billing-plan":return e.map((e=>({id:e.name,label:e.name+(e.paid?" (paid)":" (free)")})));case"year":let s=(new Date).getFullYear(),i=Array.from({length:100},((e,t)=>this.e(String(s-t))));if("string"===typeof this.value&&this.value.length>0&&-1===i.findIndex((e=>e.id===this.value))){var a=this.e(this.value);this.value>s?i.unshift(a):i.push(this.e(this.value))}return i;case"band-name":case"udf-runtime":case"udf-runtime-version":return e.map((e=>this.e(e)));default:return o.A.isObject(this.schema)&&this.schema.isEnum()?this.schema.getEnumChoices().map((e=>this.e(e))):Array.isArray(this.options)?this.options.map((e=>o.A.isObject(e)?e:this.e(e))):[]}},showDetails(){return"collection-id"===this.type},deselectLabel(){return this.multiple?"Press enter to remove":""},tagPlaceholder(){return"year"===this.type?"Press enter to select":"Press enter to create a tag"},multiple(){return"file-paths"===this.type},taggable(){let e=["band-name","collection-id","job-id","input-format","output-format"];return"year"===this.type||0===this.selectOptions.length&&e.includes(this.type)},preselect(){return this.multiple?!Array.isArray(this.selected)||0===this.selected.length:null===this.selected}},data(){return{selected:null,loaded:!1}},created(){this.loadData()},watch:{type(){this.loadData()},selected(e){let t;if(null===e)t=null;else if(this.multiple)Array.isArray(e)||(e=[e]),t=e.map((e=>e.id));else switch(this.type){case"epsg-code":var s=Number.parseInt(e.id);t=Number.isNaN(s)?null:s;break;case"openeo-datatype":t=e.value;break;case"year":t=String(e.id);break;default:t=e.id}this.$emit("input",t)},context(){switch(this.type){case"udf-runtime":case"udf-runtime-version":this.selected=null,this.preselectFirst();break;case"band-name":this.selected=null,this.loadData();break}}},methods:{...o.A.mapActions(["describeCollection"]),...o.A.mapActions("editor",["loadEpsgCodes"]),e(e){return{id:e,label:e}},async loadData(){this.loaded=!1,"epsg-code"===this.type?await this.loadEpsgCodes():"band-name"===this.type&&await this.describeCollection(this.context),this.initSelection(),this.loaded=!0},async preselectFirst(){await this.$nextTick();let e=this.$refs.htmlElement;e.preselectFirst&&Array.isArray(e.filteredOptions)&&e.filteredOptions.length&&e.select(e.filteredOptions[0])},initSelection(){let e="undefined"===typeof this.value?this.schema.default():this.value;if(this.multiple&&Array.isArray(e))this.selected=this.selectOptions.filter((t=>e.includes(t.id)));else{switch(this.type){case"input-format":case"output-format":case"service-type":"string"===typeof e&&(e=e.toUpperCase());break}let t=this.selectOptions.find((t=>t.id===e));void 0!==t&&(this.selected=t)}},sortByLabel(e,t){return o.A.compareStringCaseInsensitive(e.label,t.label)},addValue(e){this.selected=this.e(e)}}},c=l;var d=s(81656),u=(0,d.A)(c,a,i,!1,null,null,null);const p=u.exports},31660:(e,t,s)=>{"use strict";s.d(t,{A:()=>p});var a=s(66684),i=s.n(a);class n{constructor(e,t=!1){this.url=e,this.geojson=t}getParameters(e){return{url:this.url,params:{q:e.query,format:"json",limit:10,"accept-language":"en",polygon_geojson:this.geojson?1:0,polygon_threshold:.001}}}handleResponse(e){return 0===e.length?[]:e.filter((e=>["boundary","geological","leisure","natural","place","water","waterway"].includes(e.class))).map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name},original:{formatted:e.display_name,details:e.address,geojson:e.geojson}})))}}const r={methods:{addGeocoder(e,t=!1){if(!this.$config.geocoder)return;const s={provider:new n(this.$config.geocoder,t),placeholder:"Search for ...",keepOpen:!0,preventDefault:!0},a=new(i())("nominatim",s);a.on("addresschosen",(s=>{if(t)e(s.place?.original?.geojson,s);else if(s.place.bbox){let t=s.place.bbox.map((e=>parseFloat(e))),a={west:t[2],east:t[3],north:t[1],south:t[0]};e(a,s)}else e(null,s)})),this.map.addControl(a)}}},o=r;var l,c,d=s(81656),u=(0,d.A)(o,l,c,!1,null,null,null);const p=u.exports},3075:(e,t,s)=>{"use strict";s.d(t,{A:()=>v});var a=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:e.id}},[t("ProgressControl",{ref:"progress",attrs:{map:e.map}}),t("UserLocationControl",{attrs:{map:e.map}}),t("TextControl",{attrs:{text:e.help,map:e.map}})],1)},i=[],n=s(66451),r=s(31660),o=s(95104),l=s(2566),c=s(73926),d=s(89718),u=s(70915),p=s(29276),h=s(55193),m=s(953),f=s(13628);const y={name:"MapAreaSelect",mixins:[n.A,r.A,o.A],components:{TextControl:h.A},props:{value:{type:[Object,Array],default:()=>null},showMaxExtent:{type:[Object,Array],default:()=>null}},data(){return{interaction:null,extent:this.toExtent(this.value)}},computed:{returnAsObject(){return!Array.isArray(this.value)},projectedExtent(){return this.extent?(0,d.transformExtent)(this.extent,"EPSG:4326",this.map.getView().getProjection()):null},outerArea(){if(!this.showMaxExtent)return null;let{west:e,east:t,north:s,south:a}=this.showMaxExtent;return{type:"Polygon",coordinates:[[[-180,90],[-180,-90],[180,-90],[180,90],[-180,90]],[[e,s],[e,a],[t,a],[t,s],[e,s]]]}},bbox(){return l.A.extentToBBox(this.extent)},help(){return this.extent?"Click inside the bounding box to remove it.":"Click on the map to add a bounding box."}},methods:{update(e){e.extent?this.extent=(0,d.transformExtent)(e.extent,this.map.getView().getProjection(),"EPSG:4326"):this.extent=null,this.$emit("input",this.returnAsObject?this.bbox:this.extent)},async renderMap(){let e=!1!==l.A.isBboxInWebMercator(this.bbox);if(await this.createMap(e?"EPSG:3857":"EPSG:4326"),this.addBasemaps(),this.addGeocoder((e=>{if(!e)return;let t=this.toExtent(e);t=(0,d.transformExtent)(t,"EPSG:4326",this.map.getView().getProjection()),this.interaction.setExtent(t),this.fitMap()})),this.showMaxExtent){const e=new p["default"]({fill:new f.A({color:"#00000099"}),stroke:new m.A({width:0,color:"#00000000"})});this.addGeoJson(this.outerArea,!1,"unsupported area",e);let t=this.toExtent(this.showMaxExtent);t=(0,d.transformExtent)(t,"EPSG:4326",this.map.getView().getProjection()),this.map.getView().fit(t,this.getFitOptions(1))}let t=e=>{if(!this.editable)return!1;if("singleclick"===e.type){if(!this.extent){let t=this.map.getSize().map((e=>.2*e)),s=this.map.getView().calculateExtent(t),a=[s[2]-s[0],s[3]-s[1]],i=[e.coordinate[0]-a[0],e.coordinate[1]-a[1],e.coordinate[0]+a[0],e.coordinate[1]+a[1]];return this.interaction.setExtent(i),!1}(0,u.Rj)(this.projectedExtent,...e.coordinate)&&(this.interaction.setExtent(null),this.interaction.vertexOverlay_.getSource().clear(),this.interaction.vertexFeature_=null)}else if(this.interaction.handlingDownUpSequence||this.interaction.snapToVertex_(e.pixel,e.map))return!0;return!1};this.interaction=new c.A({extent:this.projectedExtent,condition:t,boxStyle:(0,p.createDefaultStyle)(),pixelTolerance:15}),this.editable&&this.interaction.on("extentchanged",this.update),this.map.addInteraction(this.interaction),this.fitMap()},fitMap(){if(this.projectedExtent){var e=this.getFitOptions(this.editable?10:33);this.map.getView().fit(this.projectedExtent,e)}}}},g=y;var x=s(81656),b=(0,x.A)(g,a,i,!1,null,null,null);const v=b.exports},55193:(e,t,s)=>{"use strict";s.d(t,{A:()=>d});var a=function(){var e=this,t=e._self._c;return e.texts.length>0?t("div",{staticClass:"ol-unselectable ol-control value",class:{pointer:e.texts.length>1},on:{click:e.toggle}},[e._v(e._s(e.current))]):e._e()},i=[],n=s(23634);const r={name:"TextControl",mixins:[n.A],data(){return{i:0}},computed:{texts(){return Array.isArray(this.text)?this.text:"string"===typeof this.text&&this.text.length>0?[this.text]:[]},current(){return 0===this.texts.length?"":this.texts[this.i%this.text.length]}},props:{text:{text:[String,Array],default:""}},methods:{toggle(){this.i++}}},o=r;var l=s(81656),c=(0,l.A)(o,a,i,!1,null,"52fec35a",null);const d=c.exports},26305:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>_});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wizard-tab-content"},[t("WizardTab",{attrs:{pos:0,parent:e.parent,title:"Data Source",beforeChange:e.loadCollection}},[t("ChooseCollection",{attrs:{value:e.collection,filter:e.filterCollections},on:{input:e.submitCollection}})],1),t("WizardTab",{attrs:{pos:1,parent:e.parent,title:"Spectral Index",beforeChange:()=>!!e.index.id}},[t("ChooseSpectralIndices",{attrs:{value:e.index,availableBands:e.availableBands},on:{input:e.submitIndex}})],1),t("WizardTab",{attrs:{pos:2,parent:e.parent,title:"Location",beforeChange:()=>null!==e.spatial_extent}},[t("ChooseBoundingBox",{attrs:{max:e.max_spatial_extent},model:{value:e.spatial_extent,callback:function(t){e.spatial_extent=t},expression:"spatial_extent"}})],1),t("WizardTab",{attrs:{pos:3,parent:e.parent,title:"Temporal Coverage",beforeChange:()=>null!==e.temporal_extent}},[t("ChooseTime",{model:{value:e.temporal_extent,callback:function(t){e.temporal_extent=t},expression:"temporal_extent"}})],1),t("WizardTab",{attrs:{pos:4,parent:e.parent,title:"Temporal Composite"}},[t("ChooseReducer",{attrs:{allowEmpty:"",text:"If you want, you can create a temporal composite by selecting the aggregation method below:"},model:{value:e.composite,callback:function(t){e.composite=t},expression:"composite"}})],1),t("WizardTab",{attrs:{pos:5,parent:e.parent,title:"File Format",beforeChange:()=>null!==e.format}},[t("ChooseFormat",{attrs:{gisDataType:"raster",scale:e.scale},on:{"update:scale":function(t){e.scale=t}},model:{value:e.format,callback:function(t){e.format=t},expression:"format"}})],1),t("WizardTab",{attrs:{pos:6,parent:e.parent,title:"Finish"}},[t("ChooseProcessingMode",{attrs:{title:e.jobTitle},on:{"update:title":function(t){e.jobTitle=t}},model:{value:e.mode,callback:function(t){e.mode=t},expression:"mode"}})],1)],1)},i=[],n=s(34862),r=s(4475),o=s(79066),l=s(37186),c=s(46036),d=s(39201),u=s(62804),p=s(45699),h=s(73902),m=s(2566);const f="created by Wizard",y=(e="Spectral Indices")=>`${e} ${f}`,g={A:"coastal",B:"blue",G:"green",Y:"yellow",R:"red",N:"nir",N2:"nir08",WV:"nir09",S1:"swir16",S2:"swir22",T1:"lwir11",T2:"lwir12"},x={name:"SpectralIndices",mixins:[p.A],components:{ChooseBoundingBox:n["default"],ChooseCollection:r["default"],ChooseFormat:o["default"],ChooseProcessingMode:l["default"],ChooseReducer:c["default"],ChooseSpectralIndices:d["default"],ChooseTime:u["default"]},data(){return{availableBands:{},collection:null,composite:"",dimBands:"bands",dimT:"t",format:null,index:{},jobTitle:y(),mode:"",scale:null,spatial_extent:null,max_spatial_extent:null,temporal_extent:null}},beforeMount(){this.scale=(!this.processes.has("apply")||!this.processes.has("linear_scale_range"))&&null},computed:{...m.A.mapGetters(["processes","collectionDefaults"])},methods:{...m.A.mapActions(["describeCollection"]),filterCollections(e){if(!m.A.isObject(e["cube:dimensions"]))return!0;let t=Object.values(e["cube:dimensions"]);if(t.length<3)return!1;let s=t.find((e=>"bands"===e.type));if(!s||Array.isArray(s.values)&&s.values.length<2)return!1;let a=t.filter((e=>"temporal"===e.type));if(a.length>1)return!1;let i=t.filter((e=>"spatial"===e.type&&["x","y"].includes(e.axis)));if(2!==i.length)return!1;if(e.summaries&&!e.summaries["bands"])return!1;let n=this.getAvailableBands(e);return!(m.A.size(n)<2)},submitCollection(e){if(this.collection!==e||null==this.temporal_extent){let t=this.collectionDefaults(e);this.collection!==e&&(this.max_spatial_extent=t.spatial_extent),this.collection===e&&null!=this.temporal_extent||(this.temporal_extent=t.temporal_extent)}this.collection=e,this.parent.nextTab()},submitIndex(e){this.index=e,e.id&&this.jobTitle.endsWith(f)&&(this.jobTitle=y(e.id)),this.parent.nextTab()},createProcess(){let e=this.index.formula,t=[],s=[];for(let n in this.index.bands){let a=this.index.bands[n],i=this.availableBands[a].name;t.push(i),e=e.replaceAll(a,"$"+n),s.push(`- ${a} = ${i}`)}const a=new h.Builder(this.processes);let i=a.load_collection(this.collection,this.spatial_extent,this.temporal_extent,t).description("Load the data, including the bands:\r\n"+s.join("\r\n"));if(this.composite){let e=(e,t,s)=>s[this.composite](e);i=a.reduce_dimension(i,e,this.dimT).description(`Compute the ${this.composite} over the temporal dimension`)}if(i=a.reduce_dimension(i,new h.Formula(e),this.dimBands).description(`Compute the ${this.index.id} (${this.index.summary}) for the bands dimension\r\nFormula: ${this.index.formula}`),this.scale){let e=(e,t,s)=>s.linear_scale_range(e,-1,1,0,255);i=a.apply(i,e).description("Scales the values from [-1, 1] to [0, 255]")}return i=a.save_result(i,this.format).description(`Store as ${this.format}`),i.result=!0,a.toJSON()},getAvailableBands(e){let t=e?.summaries&&e?.summaries["bands"];if(Array.isArray(t)){let e={};const s=Object.values(g),a=Object.keys(g);for(let i in t){let n=t[i];if(!n.name)continue;let r=s.indexOf(n["eo:common_name"]);-1!==r&&(e[a[r]]=n)}return e}return!1},async loadCollection(){if(null===this.collection)throw new Error("Please select a collection");let e;this.availableBands={};try{e=await this.describeCollection(this.collection)}catch(s){throw console.error(s),new Error("Can't load collection metadata, please try another collection.")}let t=this.getAvailableBands(e);if(0===m.A.size(t))throw new Error("This collection doesn't support spectral indices as there are no compatible bands available.");if(this.availableBands=t,m.A.isObject(e["cube:dimensions"])){let t=Object.values(e["cube:dimensions"]),s=t.find((e=>"bands"===e.type));s&&s.name&&(this.dimBands=s.name);let a=t.find((e=>"temporal"===e.type));a&&a.name&&(this.dimT=a.name)}return!0},async finish(){this.$emit("input",{process:this.createProcess(),mode:this.mode,modeOptions:{title:this.jobTitle}})}}},b=x;var v=s(81656),w=(0,v.A)(b,a,i,!1,null,null,null);const _=w.exports},4477:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>c});var a=function(){var e=this,t=e._self._c;return e.active?t("div",{staticClass:"wizard-tab-container"},[e._t("default",null,{active:e.active})],2):e._e()},i=[];const n={name:"WizardTab",props:{parent:{type:Object,required:!0},pos:{type:Number,required:!0},title:{type:String,default:""},beforeChange:{type:Function},afterChange:{type:Function}},data(){return{active:!1,validationError:null,checked:!1}},mounted(){this.parent.addTab(this,this.pos)},beforeDestroy(){this.parent.removeTab(this)}},r=n;var o=s(81656),l=(0,o.A)(r,a,i,!1,null,null,null);const c=l.exports},34862:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-bbox"},[t("p",[e._v("Please select the area of interest which you want to download data for. You can add or remove a bounding box by clicking into the map.")]),t("MapAreaSelect",{staticClass:"map",attrs:{show:e.showMap,value:e.value,showMaxExtent:e.max},on:{input:e.update}})],1)},i=[],n=s(3075);const r={name:"ChooseBoundingBox",components:{MapAreaSelect:n.A},props:{value:{type:Object,default:null},max:{type:Object,default:null}},data(){return{showMap:!0}},mounted(){window.setTimeout((()=>this.showMap=!0),1e3)},methods:{update(e){this.$emit("input",e)}}},o=r;var l=s(81656),c=(0,l.A)(o,a,i,!1,null,"61a75ac8",null);const d=c.exports},4475:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-collection"},[t("p",[e._v("Please select the collection which you want to download data for.")]),t("Collections",{attrs:{heading:"",collections:e.filteredCollections,offerDetails:!1},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{class:{element:!0,selected:s.id==e.value}},[t("div",{staticClass:"summary",on:{click:function(t){return e.update(s.id)}}},[t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()]),t("button",{staticClass:"button",attrs:{type:"button",title:"Show collection details"},on:{click:function(t){return e.showCollectionInfo(s.id)}}},[t("i",{staticClass:"fas fa-info"})])])]}}])})],1)},i=[],n=s(69748),r=s(2566),o=s(61663);const l={name:"ChooseCollection",mixins:[o.A],components:{Collections:n.A},props:{value:{type:String,default:null},filter:{type:Function,default:null}},computed:{...r.A.mapState(["collections"]),filteredCollections(){return"function"===typeof this.filter?this.collections.filter(this.filter):this.collections}},methods:{...r.A.mapActions(["describeCollection"]),async update(e){this.$emit("input",e)},showCollectionInfo(e){this.broadcast("showCollection",e)}}},c=l;var d=s(81656),u=(0,d.A)(c,a,i,!1,null,null,null);const p=u.exports},79066:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-format"},[t("p",[e._v("Please select the file format you want to download data in.")]),t("SelectBox",{attrs:{type:"output-format",value:e.value,optionFilter:e.filterFormats},on:{input:e.setFormat}}),null!==e.scale?t("p",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.scaleBox,expression:"scaleBox"}],attrs:{type:"checkbox",id:"scale"},domProps:{checked:Array.isArray(e.scaleBox)?e._i(e.scaleBox,null)>-1:e.scaleBox},on:{change:function(t){var s=e.scaleBox,a=t.target,i=!!a.checked;if(Array.isArray(s)){var n=null,r=e._i(s,n);a.checked?r<0&&(e.scaleBox=s.concat([n])):r>-1&&(e.scaleBox=s.slice(0,r).concat(s.slice(r+1)))}else e.scaleBox=i}}}),e._v("  "),t("label",{attrs:{for:"scale"}},[e._v("Scale the values from [-1, 1] to [0, 255] (often required for PNG, GIF or JPEG).")])]):e._e()],1)},i=[],n=s(54737);const r={name:"ChooseFormat",components:{SelectBox:n["default"]},props:{value:{type:String,default:null},scale:{type:Boolean,default:null},gisDataType:{type:String,default:null}},computed:{scaleBox:{get(){return this.scale},set(e){this.$emit("update:scale",e)}},filterFormats(){return this.gisDataType?e=>!Array.isArray(e.gis_data_types)||0===e.gis_data_types.length||e.gis_data_types.includes(this.gisDataType):null}},methods:{setFormat(e){this.scaleBox=["bmp","gif","jpeg","jpg","png","webp"].includes(e.toLowerCase()),this.$emit("input",e)}}},o=r;var l=s(81656),c=(0,l.A)(o,a,i,!1,null,null,null);const d=c.exports},37186:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-processing-mode"},[e.isAuthenticated&&(e.supportsJobs||e.supportsSync)?[t("p",[e._v("Please select how you'd like to execute this workflow?")]),t("ul",{staticClass:"mode"},[e.supportsJobs?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"job",value:"job"},domProps:{checked:e._q(e.mode,"job")},on:{change:function(t){e.mode="job"}}}),t("label",{attrs:{for:"job"}},[t("strong",[e._v("Batch Jobs")]),t("br"),e._v(" Slower processing mode for large amounts of data. Creates and queues a batch job."),t("br"),e._v(" It is recommended to provide a title for the batch job: "),t("input",{directives:[{name:"model",rawName:"v-model",value:e.titleInput,expression:"titleInput"}],ref:"title",attrs:{type:"text"},domProps:{value:e.titleInput},on:{input:function(t){t.target.composing||(e.titleInput=t.target.value)}}})])]):e._e(),e.supportsSync?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"sync",value:"sync"},domProps:{checked:e._q(e.mode,"sync")},on:{change:function(t){e.mode="sync"}}}),e._m(0)]):e._e(),e.supportsSync?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"model",value:""},domProps:{checked:e._q(e.mode,"")},on:{change:function(t){e.mode=""}}}),e._m(1)]):e._e()])]:t("p",[e._v(" The wizard has all information to create the workflow for you."),t("br"),e.isAuthenticated?[e._v("Unforntunately, this back-end can't process data,")]:[e._v("You are not logged in and thus you can't process data directly,")],e._v(" but you can insert the process into the visual model builder now. ")],2)],2)},i=[function(){var e=this,t=e._self._c;return t("label",{attrs:{for:"sync"}},[t("strong",[e._v("Synchronous Processing")]),t("br"),e._v(" Fast processing mode for small amounts of data. ")])},function(){var e=this,t=e._self._c;return t("label",{attrs:{for:"model"}},[t("strong",[e._v("Don't execute")]),t("br"),e._v(" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. ")])}],n=s(2566);const r={name:"ChooseProcessingMode",props:{value:{type:String,default:null},title:{type:String,default:""}},data(){return{mode:this.value}},computed:{...n.A.mapState(["isAuthenticated"]),...n.A.mapGetters(["supports"]),titleInput:{get(){return this.title},set(e){this.$emit("update:title",e)}},supportsJobs(){return this.supports("createJob")&&this.supports("startJob")},supportsSync(){return this.supports("computeResult")}},watch:{value(){this.mode=this.value},mode(){this.$emit("input",this.mode),"job"===this.mode&&this.$refs.title.select()},title(){this.$emit("update:title",this.title)}}},o=r;var l=s(81656),c=(0,l.A)(o,a,i,!1,null,"449febe3",null);const d=c.exports},46036:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-time"},[t("p",[e._v(e._s(e.text))]),t("SelectBox",{attrs:{options:e.options,value:e.value},on:{input:t=>e.$emit("input",t)}})],1)},i=[],n=s(54737),r=s(2566);const o={name:"ChooseReducer",components:{SelectBox:n["default"]},props:{text:{type:String,default:"Please select a method for aggregation:"},allowEmpty:{type:Boolean,default:!1},value:{type:String,default:"mean"}},computed:{...r.A.mapGetters(["processes"]),options(){let e=this.processes.all().filter((e=>{if(Array.isArray(e.categories)&&e.categories.includes("reducer")&&Array.isArray(e.parameters)&&"array_element"!==e.id){let t=e.parameters.filter((e=>!0!==e.optional));return 1===t.length&&"data"===t[0].name}return!1})).map((e=>({id:e.id,label:`${e.id} - ${e.summary}`})));return e.unshift({id:"",label:"No composite"}),e}}},l=o;var c=s(81656),d=(0,c.A)(l,a,i,!1,null,null,null);const u=d.exports},39201:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-index"},[t("p",[e._v("Please select the spectral index you want to compute.")]),e.indices.length>0?t("SearchableList",{attrs:{heading:"",data:e.indices,offerDetails:!1,showKeywords:""},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{class:{element:!0,selected:s.id==e.value.id}},[t("div",{staticClass:"summary",on:{click:function(t){return e.update(s)}}},[t("div",{staticClass:"title"},[t("strong",{attrs:{title:s.id}},[e._v(e._s(s.summary))]),t("ul",{staticClass:"badges small inline"},e._l(s.keywords,(function(a,i){return t("li",{key:a,class:{badge:!0,domain:i+1==s.keywords.length,[a]:i+1==s.keywords.length}},[e._v(e._s(a))])})),0)]),t("code",[e._v(e._s(s.formula))])]),t("button",{staticClass:"button",attrs:{type:"button",title:"Open website with additional details"},on:{click:function(t){return e.showDetails(s)}}},[t("i",{staticClass:"fas fa-info"})])])]}}],null,!1,970652951)}):e._e()],1)},i=[],n=s(34152),r=s(61663);const o={g:"Gain factor (e.g. Used for EVI)",L:"Canopy background adjustment (e.g. Used for SAVI and EVI)",C1:"Coefficient 1 for the aerosol resistance term (e.g. Used for EVI)",C2:"Coefficient 2 for the aerosol resistance term (e.g. Used for EVI)",cexp:"Exponent used for OCVI",nexp:"Exponent used for GDVI",alpha:"Weighting coefficient used for WDRVI, BWDRVI and NDPI",beta:"Calibration parameter used for NDSIns",gamma:"Weighting coefficient used for ARVI",omega:"Weighting coefficient used for MBWI",sla:"Soil line slope",slb:"Soil line intercept",PAR:"Photosynthetically Active Radiation",k:"Slope parameter by soil used for NIRvH2",lambdaN:"NIR wavelength used for NIRvH2 and NDGI",lambdaR:"Red wavelength used for NIRvH2 and NDGI",lambdaG:"Green wavelength used for NDGI"},l={name:"ChooseSpectralIndices",mixins:[r.A],components:{SearchableList:n["default"]},props:{value:{type:Object,default:()=>({})},availableBands:{type:Object,required:!0}},data(){return{indices:[]}},async created(){const{domains:e,indices:t}=await s.e(9546).then(s.t.bind(s,49546,19)),a=Object.keys(this.availableBands),i=Object.keys(o).join("|"),n=new RegExp(`(${i})`,"g");for(let s of t){const t=s[3],i=t.filter((e=>a.includes(e)));if(i.length!=t.length)continue;const r=s[4],o=Array.from(r.matchAll(n));if(o.length>0)continue;let l=s[5];l.length>0&&!l.includes("://")&&(l="https://doi.org/"+l),this.indices.push({id:s[0],summary:s[1],keywords:[...s[3],e[s[2]]],bands:t,formula:r,uri:l})}},methods:{showDetails(e){window.open(e.uri)},async update(e){this.$emit("input",e)}}},c=l;var d=s(81656),u=(0,d.A)(c,a,i,!1,null,null,null);const p=u.exports},62804:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-time"},[t("p",[e._v("Please select the days for which you want to download data for.")]),t("TemporalPicker",{attrs:{type:"temporal-interval",intervalType:"date",value:e.value},on:{input:t=>e.$emit("input",t)}})],1)},i=[],n=s(27349);const r={name:"ChooseTime",components:{TemporalPicker:n["default"]},props:{value:{type:Array,default:null}}},o=r;var l=s(81656),c=(0,l.A)(o,a,i,!1,null,null,null);const d=c.exports},63610:(e,t,s)=>{"use strict";s.r(t),s.d(t,{API_TYPES:()=>i,NATIVE_TYPES:()=>n});var a=s(2566);const i=a.A.resolveJsonRefs(s(96318)).definitions,n=["string","integer","number","boolean","array","object"]},45699:(e,t,s)=>{"use strict";s.d(t,{A:()=>i});var a=s(4477);const i={components:{WizardTab:a["default"]},props:{parent:{type:Object,required:!0},options:{type:Object,default:()=>({})}},created(){for(let e in this.options)this[e]=this.options[e]}}},73926:(e,t,s)=>{"use strict";s.d(t,{A:()=>A});var a=s(1685),i=s(86717),n=s(73445),r=s(44294),o=s(21409),l=s(82986),c=s(54602),d=s(58704),u=s(70915),p=s(6933),h=s(29276),m=s(34142),f=s(89718);const y={EXTENTCHANGED:"extentchanged"};class g extends a.Ay{constructor(e){super(y.EXTENTCHANGED),this.extent=e}}class x extends o.A{constructor(e){e=e||{},super(e),this.on,this.once,this.un,this.condition_=e.condition?e.condition:d.Gk,this.extent_=null,this.pointerHandler_=null,this.pixelTolerance_=void 0!==e.pixelTolerance?e.pixelTolerance:10,this.snappedToVertex_=!1,this.extentFeature_=null,this.vertexFeature_=null,e||(e={}),this.extentOverlay_=new l["default"]({source:new c["default"]({useSpatialIndex:!1,wrapX:!!e.wrapX}),style:e.boxStyle?e.boxStyle:b(),updateWhileAnimating:!0,updateWhileInteracting:!0}),this.vertexOverlay_=new l["default"]({source:new c["default"]({useSpatialIndex:!1,wrapX:!!e.wrapX}),style:e.pointerStyle?e.pointerStyle:v(),updateWhileAnimating:!0,updateWhileInteracting:!0}),e.extent&&this.setExtent(e.extent)}snapToVertex_(e,t){const s=t.getCoordinateFromPixelInternal(e),a=function(e,t){return(0,p.$x)(s,e)-(0,p.$x)(s,t)},i=this.getExtentInternal();if(i){const n=C(i);n.sort(a);const r=n[0];let o=(0,p.sG)(s,r);const l=t.getPixelFromCoordinateInternal(o);if((0,p.Io)(e,l)<=this.pixelTolerance_){const e=t.getPixelFromCoordinateInternal(r[0]),s=t.getPixelFromCoordinateInternal(r[1]),a=(0,p.hG)(l,e),i=(0,p.hG)(l,s),n=Math.sqrt(Math.min(a,i));return this.snappedToVertex_=n<=this.pixelTolerance_,this.snappedToVertex_&&(o=a>i?r[1]:r[0]),o}}return null}handlePointerMove_(e){const t=e.pixel,s=e.map;let a=this.snapToVertex_(t,s);a||(a=s.getCoordinateFromPixelInternal(t)),this.createOrUpdatePointerFeature_(a)}createOrUpdateExtentFeature_(e){let t=this.extentFeature_;return t?e?t.setGeometry((0,m.VY)(e)):t.setGeometry(void 0):(t=e?new i["default"]((0,m.VY)(e)):new i["default"]({}),this.extentFeature_=t,this.extentOverlay_.getSource().addFeature(t)),t}createOrUpdatePointerFeature_(e){let t=this.vertexFeature_;if(t){const s=t.getGeometry();s.setCoordinates(e)}else t=new i["default"](new r["default"](e)),this.vertexFeature_=t,this.vertexOverlay_.getSource().addFeature(t);return t}handleEvent(e){return!e.originalEvent||!this.condition_(e)||(e.type!=n.A.POINTERMOVE||this.handlingDownUpSequence||this.handlePointerMove_(e),super.handleEvent(e),!1)}handleDownEvent(e){const t=e.pixel,s=e.map,a=this.getExtentInternal();let i=this.snapToVertex_(t,s);const n=function(e){let t=null,s=null;return e[0]==a[0]?t=a[2]:e[0]==a[2]&&(t=a[0]),e[1]==a[1]?s=a[3]:e[1]==a[3]&&(s=a[1]),null!==t&&null!==s?[t,s]:null};if(i&&a){const e=i[0]==a[0]||i[0]==a[2]?i[0]:null,t=i[1]==a[1]||i[1]==a[3]?i[1]:null;null!==e&&null!==t?this.pointerHandler_=w(n(i)):null!==e?this.pointerHandler_=_(n([e,a[1]]),n([e,a[3]])):null!==t&&(this.pointerHandler_=_(n([a[0],t]),n([a[2],t])))}else i=s.getCoordinateFromPixelInternal(t),this.setExtent([i[0],i[1],i[0],i[1]]),this.pointerHandler_=w(i);return!0}handleDragEvent(e){if(this.pointerHandler_){const t=e.coordinate;this.setExtent(this.pointerHandler_(t)),this.createOrUpdatePointerFeature_(t)}}handleUpEvent(e){this.pointerHandler_=null;const t=this.getExtentInternal();return t&&0!==(0,u.UG)(t)||this.setExtent(null),!1}setMap(e){this.extentOverlay_.setMap(e),this.vertexOverlay_.setMap(e),super.setMap(e)}getExtent(){return(0,f.toUserExtent)(this.getExtentInternal(),this.getMap().getView().getProjection())}getExtentInternal(){return this.extent_}setExtent(e){this.extent_=e||null,this.createOrUpdateExtentFeature_(e),this.dispatchEvent(new g(this.extent_))}}function b(){const e=(0,h.createEditingStyle)();return function(t,s){return e["Polygon"]}}function v(){const e=(0,h.createEditingStyle)();return function(t,s){return e["Point"]}}function w(e){return function(t){return(0,u.Tr)([e,t])}}function _(e,t){return e[0]==t[0]?function(s){return(0,u.Tr)([e,[s[0],t[1]]])}:e[1]==t[1]?function(s){return(0,u.Tr)([e,[t[0],s[1]]])}:null}function C(e){return[[[e[0],e[1]],[e[0],e[3]]],[[e[0],e[3]],[e[2],e[3]]],[[e[2],e[3]],[e[2],e[1]]],[[e[2],e[1]],[e[0],e[1]]]]}const A=x}}]); -//# sourceMappingURL=1765.35203da6.js.map \ No newline at end of file +//# sourceMappingURL=1765.8c0299d7.js.map \ No newline at end of file diff --git a/js/1765.35203da6.js.map b/js/1765.8c0299d7.js.map similarity index 99% rename from js/1765.35203da6.js.map rename to js/1765.8c0299d7.js.map index ad6b79fd..4d8dc5bd 100644 --- a/js/1765.35203da6.js.map +++ b/js/1765.8c0299d7.js.map @@ -1 +1 @@ -{"version":3,"file":"js/1765.35203da6.js","mappings":";;;;;;;CAMC,SAASA,EAAEC,GAAwDC,EAAOC,QAAQF,EAAE,EAAQ,OAAsB,EAAQ,OAAkB,EAAQ,OAAiB,EAAQ,OAAmB,EAAQ,OAAoB,EAAQ,OAAiB,EAAQ,OAAc,EAAQ,OAAmY,CAAtpB,CAAwpBG,GAAK,SAAUJ,EAAEC,EAAEI,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,GAAG,aAAa,SAASC,EAAEX,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAE,CAACY,QAAQZ,EAAE,CAAC,IAAIa,EAAEF,EAAEX,GAAGc,EAAEH,EAAEV,GAAGc,EAAEJ,EAAEN,GAAGW,EAAEL,EAAEL,GAAGW,EAAEN,EAAEJ,GAAGW,EAAEP,EAAEH,GAAGW,EAAER,EAAEF,GAAGW,EAAET,EAAED,GAAGW,EAAE,gBAAgBC,EAAE,qBAAqBC,EAAE,kBAAkBC,EAAE,kBAAkBC,EAAE,CAACC,UAAU,cAAcC,KAAK,oBAAoBC,OAAO,aAAaC,QAAQ,cAAcC,QAAQ,cAAcC,KAAK,WAAWC,KAAK,WAAWC,UAAU,aAAaC,MAAM,CAACC,UAAU,mBAAmBC,QAAQ,iBAAiBC,OAAO,aAAaC,MAAM,eAAeC,SAAS,kBAAkBC,MAAM,eAAeC,OAAO,iBAAiBC,UAAU,CAACP,UAAU,oBAAoBC,QAAQ,kBAAkBE,MAAM,gBAAgBE,MAAM,gBAAgBG,KAAK,gBAAgBF,OAAO,mBAAmBG,EAAE,CAACC,YAAYxB,EAAEyB,gBAAgBxB,EAAEyB,aAAaxB,EAAEyB,aAAaxB,EAAEyB,WAAWxB,GAAG,MAAMyB,EAAEC,OAAOC,OAAO,CAACC,UAAU,KAAKR,YAAYxB,EAAEyB,gBAAgBxB,EAAEyB,aAAaxB,EAAEyB,aAAaxB,EAAEyB,WAAWxB,EAAEb,QAAQgC,IAAIU,EAAE,gBAAgBC,EAAE,YAAYC,EAAE,UAAUC,EAAE,eAAeC,EAAE,aAAaC,EAAE,MAAMC,EAAE,WAAWC,EAAE,SAASC,EAAE,OAAOC,EAAE,WAAWC,EAAE,CAACC,SAASN,EAAEO,YAAY,wBAAwBC,aAAa,KAAKC,WAAWX,EAAEY,KAAK,QAAQC,MAAM,EAAEC,UAAS,EAAGC,gBAAe,EAAGC,cAAa,EAAGC,sBAAsB,EAAEC,oBAAoB,IAAIC,OAAM,GAAI,SAASC,EAAE7E,EAAEC,EAAE,oBAAoB,IAAID,EAAE,CAAC,GAAG,oBAAoB8E,MAAM,MAAM,IAAIA,MAAM7E,GAAG,MAAMA,CAAC,CAAC,CAAC,SAAS8E,EAAE/E,GAAG,MAAMC,EAAE,WAAW,GAAG,gBAAgB+E,QAAQ,IAAIA,OAAOC,YAAY,CAAC,GAAG,QAAQD,OAAOC,aAAa,EAAE,CAAC,IAAIjF,EAAEkF,KAAKC,MAAMF,YAAYG,QAAQH,YAAYG,OAAOC,kBAAkBrF,EAAEiF,YAAYG,OAAOC,iBAAiBL,OAAOC,YAAYE,IAAI,IAAID,KAAKC,MAAMnF,CAAC,CAAC,OAAOgF,OAAOC,YAAYE,KAAK,CAAvR,GAA2RG,SAAS,IAAI,OAAOtF,EAAEA,EAAEC,EAAEA,CAAC,CAAC,SAASsF,EAAEvF,GAAG,MAAM,SAASwF,KAAKxF,EAAE,CAAC,SAASyF,EAAEzF,EAAEC,EAAEI,GAAG,GAAGqF,MAAMC,QAAQ3F,GAAG,YAAYA,EAAE4F,SAAS5F,GAAGyF,EAAEzF,EAAEC,KAAK,MAAMK,EAAEoF,MAAMC,QAAQ1F,GAAGA,EAAEA,EAAE4F,MAAM,QAAQ,IAAItF,EAAED,EAAEwF,OAAO,KAAKvF,KAAKwF,EAAE/F,EAAEM,EAAEC,KAAKyF,EAAEhG,EAAEM,EAAEC,GAAGF,EAAE,CAAC,SAAS4F,EAAEjG,EAAEC,EAAEI,GAAG,GAAGqF,MAAMC,QAAQ3F,GAAG,YAAYA,EAAE4F,SAAS5F,GAAGiG,EAAEjG,EAAEC,EAAEI,KAAK,MAAMC,EAAEoF,MAAMC,QAAQ1F,GAAGA,EAAEA,EAAE4F,MAAM,QAAQ,IAAItF,EAAED,EAAEwF,OAAO,KAAKvF,KAAKwF,EAAE/F,EAAEM,EAAEC,KAAK2F,EAAElG,EAAEM,EAAEC,GAAGF,EAAE,CAAC,SAAS0F,EAAE/F,EAAEC,GAAG,OAAOD,EAAEmG,UAAUnG,EAAEmG,UAAUC,SAASnG,GAAGoG,EAAEpG,GAAGuF,KAAKxF,EAAEsG,UAAU,CAAC,SAASC,EAAEvG,EAAEC,GAAG,OAAOD,EAAEwG,QAAQ,wBAAuB,CAAExG,EAAEK,KAAK,MAAMC,OAAE,IAASL,EAAEI,GAAG,GAAGJ,EAAEI,GAAG,OAAOoG,OAAOnG,GAAGoG,WAAW,IAAI,SAASA,WAAW,IAAI,QAAQA,WAAW,IAAI,QAAQA,WAAW,IAAI,UAAUA,WAAW,IAAI,SAAU,GAAE,CAAC,SAASC,EAAE3G,EAAEC,GAAG,IAAII,EAAE,GAAGqF,MAAMC,QAAQ3F,IAAI,GAAGK,EAAEuG,SAASC,cAAc7G,EAAE,IAAIA,EAAE,GAAG8G,KAAKzG,EAAEyG,GAAG9G,EAAE,GAAG8G,IAAI9G,EAAE,GAAG+G,YAAY1G,EAAEiG,UAAUtG,EAAE,GAAG+G,WAAW/G,EAAE,GAAGgH,KAAK,CAAC,MAAMA,KAAK/G,GAAGD,EAAE,GAAG,GAAG0F,MAAMC,QAAQ1F,GAAG,CAAC,IAAID,GAAG,EAAE,OAAOA,EAAEC,EAAE6F,QAAQzF,EAAE4G,aAAahH,EAAED,GAAGkH,KAAKjH,EAAED,GAAGmH,MAAM,MAAM9G,EAAE4G,aAAahH,EAAEiH,KAAKjH,EAAEkH,MAAM,OAAO9G,EAAEuG,SAASC,cAAc7G,GAAGK,EAAE+G,UAAUnH,EAAE,MAAMK,EAAEsG,SAASS,yBAAyB,KAAKhH,EAAEiH,WAAW,IAAIhH,EAAEiH,OAAOlH,EAAEiH,WAAW,IAAI,OAAOjH,EAAEkH,OAAOjH,GAAGD,CAAC,CAAC,SAASgG,EAAErG,GAAG,OAAO,IAAIwH,OAAO,YAAYxH,aAAa,IAAI,CAAC,SAASgG,EAAEhG,EAAEC,EAAEI,GAAGL,EAAEmG,UAAUnG,EAAEmG,UAAUsB,IAAIxH,GAAGD,EAAEsG,UAAU,GAAGtG,EAAEsG,aAAarG,IAAIyH,OAAOrH,GAAGkF,EAAElF,IAAI2E,OAAO2C,YAAW,IAAKzB,EAAElG,EAAEC,IAAII,EAAE,CAAC,SAAS6F,EAAElG,EAAEC,EAAEI,GAAGL,EAAEmG,UAAUnG,EAAEmG,UAAUyB,OAAO3H,GAAGD,EAAEsG,UAAUtG,EAAEsG,UAAUE,QAAQH,EAAEpG,GAAG,KAAKyH,OAAOrH,GAAGkF,EAAElF,IAAI2E,OAAO2C,YAAW,IAAK3B,EAAEhG,EAAEC,IAAII,EAAE,CAAC,MAAMwH,EAAE3E,EAAED,WAAW,MAAM6E,EAAE,WAAAC,CAAY/H,GAAGI,KAAK4H,QAAQhI,EAAEI,KAAK6H,IAAI7H,KAAK8H,eAAe,CAAC,aAAAA,GAAgB,IAAIlI,EAAEC,EAAEI,EAAE,OAAOD,KAAK4H,QAAQ5D,aAAaV,GAAGzD,EAAE,GAAG4H,EAAEnG,aAAamG,EAAEnF,UAAUP,YAAYnC,EAAE2G,EAAE,CAAC,MAAM,CAACG,GAAG5D,EAAEL,YAAYkE,UAAU9G,IAAI6H,EAAExF,OAAOjC,EAAE,CAAC8B,UAAUnC,EAAEoC,QAAQpC,EAAEmI,cAAc,IAAIN,EAAEnF,UAAUN,WAAWE,MAAMtC,EAAEmI,cAAc,IAAIN,EAAEnF,UAAUJ,SAASE,MAAMxC,EAAEmI,cAAc,IAAIN,EAAEnF,UAAUF,SAASC,OAAOzC,EAAEmI,cAAc,IAAIN,EAAEnF,UAAUD,aAAaxC,EAAE,GAAG4H,EAAEnG,aAAamG,EAAE3F,MAAMC,YAAYnC,EAAE2G,EAAE,CAAC,MAAM,CAACG,GAAG5D,EAAEL,YAAYkE,UAAU9G,IAAI6H,EAAE5F,OAAO7B,EAAE,CAAC8B,UAAUnC,EAAEoC,QAAQpC,EAAEmI,cAAc,IAAIN,EAAE3F,MAAME,WAAWC,OAAOrC,EAAEmI,cAAc,IAAIN,EAAE3F,MAAMG,UAAUC,MAAMtC,EAAEmI,cAAc,IAAIN,EAAE3F,MAAMI,SAASE,MAAMxC,EAAEmI,cAAc,IAAIN,EAAE3F,MAAMM,SAASC,OAAOzC,EAAEmI,cAAc,IAAIN,EAAE3F,MAAMO,YAAYpC,EAAEiC,MAAM4B,YAAY9D,KAAK4H,QAAQ9D,YAAY7D,CAAC,EAAEyH,EAAE5F,MAAM,mBAAmB2F,EAAE3F,MAAME,WAAWyF,EAAE5F,8CAA8CiB,EAAEJ,2BAA2B+E,EAAE3F,MAAMG,iDAAiDa,EAAEH,wBAAwB8E,EAAE3F,MAAMI,mEAAmEY,EAAEF,wBAAwB6E,EAAE3F,MAAMM,SAASqF,EAAEjG,wCAAwCiG,EAAE3F,MAAMO,kBAAkBqF,EAAExF,MAAM,mBAAmBuF,EAAEnF,UAAUN,yCAAyCc,EAAEH,wBAAwB8E,EAAEnF,UAAUJ,yEAAyEuF,EAAEnF,UAAUC,gDAAgDO,EAAEF,wBAAwB6E,EAAEnF,UAAUF,SAASqF,EAAEjG,6CAA6CiG,EAAEnF,UAAUD,kBAAkB,MAAM2F,EAAE,WAAAL,GAAc3H,KAAKiI,SAAS,CAACC,IAAI,gCAAgCC,OAAO,CAACjF,EAAE,GAAGgB,MAAM,GAAGD,KAAK,MAAMmE,MAAM,CAAC,KAAK,KAAK,KAAK,MAAM,CAAC,aAAAC,CAAczI,GAAG,OAAOA,EAAEqE,KAAKrE,EAAEqE,KAAKqE,cAAc,CAACJ,IAAIlI,KAAKiI,SAASC,IAAIC,OAAO,CAACjF,EAAEtD,EAAE2I,MAAMrE,MAAMtE,EAAEsE,OAAOlE,KAAKiI,SAASE,OAAOjE,MAAMD,KAAKjE,KAAKiI,SAASG,MAAMI,SAAS5I,EAAEqE,MAAMrE,EAAEqE,KAAKjE,KAAKiI,SAASE,OAAOlE,MAAM,CAAC,cAAAwE,CAAe7I,GAAG,OAAO,IAAIA,EAAE8I,SAAShD,OAAO,GAAG9F,EAAE8I,SAASC,KAAK/I,IAAG,CAAEgJ,IAAIhJ,EAAEiJ,SAASC,YAAY,GAAGC,IAAInJ,EAAEiJ,SAASC,YAAY,GAAGrH,QAAQ,CAACqF,KAAKlH,EAAEoJ,WAAWlC,KAAKmC,SAASrJ,EAAEoJ,WAAWC,SAAStH,KAAK/B,EAAEoJ,WAAWrH,KAAKuH,MAAMtJ,EAAEoJ,WAAWE,MAAMxH,QAAQ9B,EAAEoJ,WAAWtH,SAASyH,SAAS,CAACC,UAAUxJ,EAAEoJ,WAAWlC,KAAKuC,QAAQzJ,EAAEoJ,eAAe,EAAE,MAAMM,EAAE,WAAA3B,GAAc3H,KAAKiI,SAAS,CAACC,IAAI,8CAA8CC,OAAO,CAACjF,EAAE,GAAGqG,OAAO,OAAOC,eAAe,EAAEtF,MAAM,GAAGuF,aAAa,GAAG,kBAAkB,SAAS,CAAC,aAAApB,CAAczI,GAAG,MAAM,CAACsI,IAAIlI,KAAKiI,SAASC,IAAIC,OAAO,CAACjF,EAAEtD,EAAE2I,MAAMgB,OAAOvJ,KAAKiI,SAASE,OAAOoB,OAAOC,eAAexJ,KAAKiI,SAASE,OAAOqB,eAAetF,MAAMtE,EAAEsE,OAAOlE,KAAKiI,SAASE,OAAOjE,MAAMuF,aAAa7J,EAAE6J,cAAczJ,KAAKiI,SAASE,OAAOsB,aAAa,kBAAkB7J,EAAEqE,MAAMjE,KAAKiI,SAASE,OAAO,oBAAoB,CAAC,cAAAM,CAAe7I,GAAG,OAAO,IAAIA,EAAE8F,OAAO,GAAG9F,EAAE+I,KAAK/I,IAAG,CAAEgJ,IAAIhJ,EAAEgJ,IAAIG,IAAInJ,EAAEmJ,IAAIW,KAAK9J,EAAE+J,YAAYlI,QAAQ,CAACqF,KAAKlH,EAAEgK,aAAahI,KAAKhC,EAAE6B,QAAQG,MAAM,GAAGiI,YAAYjK,EAAE6B,QAAQqI,cAAc,GAAGb,SAASrJ,EAAE6B,QAAQwH,SAAStH,KAAK/B,EAAE6B,QAAQE,MAAM/B,EAAE6B,QAAQsI,KAAKb,MAAMtJ,EAAE6B,QAAQyH,MAAMxH,QAAQ9B,EAAE6B,QAAQC,SAASyH,SAAS,CAACC,UAAUxJ,EAAEgK,aAAaP,QAAQzJ,EAAE6B,YAAY,EAAE,MAAMuI,EAAE,WAAArC,GAAc3H,KAAKiI,SAAS,CAACC,IAAI,uDAAuDC,OAAO,CAACjF,EAAE,GAAG+G,IAAI,GAAGV,OAAO,OAAOC,eAAe,EAAEtF,MAAM,GAAGuF,aAAa,GAAG,kBAAkB,SAAS,CAAC,aAAApB,CAAczI,GAAG,MAAM,CAACsI,IAAIlI,KAAKiI,SAASC,IAAIC,OAAO,CAACjF,EAAEtD,EAAE2I,MAAM0B,IAAIrK,EAAEqK,IAAIV,OAAO,OAAOC,eAAe,EAAEtF,MAAMtE,EAAEsE,OAAOlE,KAAKiI,SAASE,OAAOjE,MAAMuF,aAAa7J,EAAE6J,cAAczJ,KAAKiI,SAASE,OAAOsB,aAAa,kBAAkB7J,EAAEqE,MAAMjE,KAAKiI,SAASE,OAAO,oBAAoB,CAAC,cAAAM,CAAe7I,GAAG,OAAO,IAAIA,EAAE8F,OAAO,GAAG9F,EAAE+I,KAAK/I,IAAG,CAAEgJ,IAAIhJ,EAAEgJ,IAAIG,IAAInJ,EAAEmJ,IAAItH,QAAQ,CAACqF,KAAKlH,EAAE6B,QAAQyI,eAAe,GAAGtI,KAAKhC,EAAE6B,QAAQG,MAAM,GAAGqH,SAASrJ,EAAE6B,QAAQwH,SAAStH,KAAK/B,EAAE6B,QAAQE,MAAM/B,EAAE6B,QAAQsI,KAAKb,MAAMtJ,EAAE6B,QAAQyH,MAAMxH,QAAQ9B,EAAE6B,QAAQC,SAASyH,SAAS,CAACC,UAAUxJ,EAAEgK,aAAaP,QAAQzJ,EAAE6B,YAAY,EAAE,MAAM0I,EAAE,WAAAxC,GAAc3H,KAAKiI,SAAS,CAACC,IAAI,iDAAiDkC,aAAa,QAAQjC,OAAO,CAACI,MAAM,GAAG0B,IAAI,GAAGI,oBAAoB,EAAEC,WAAW,IAAI,CAAC,aAAAjC,CAAczI,GAAG,MAAM,CAACsI,IAAIlI,KAAKiI,SAASC,IAAIkC,aAAapK,KAAKiI,SAASmC,aAAajC,OAAO,CAACI,MAAM3I,EAAE2I,MAAM0B,IAAIrK,EAAEqK,IAAII,oBAAoBzK,EAAEyK,qBAAqBrK,KAAKiI,SAASE,OAAOkC,oBAAoBC,WAAW1K,EAAE0K,YAAYtK,KAAKiI,SAASE,OAAOmC,YAAY,CAAC,cAAA7B,CAAe7I,GAAG,MAAM2K,UAAU1K,GAAGD,EAAE4K,aAAa,GAAG,OAAO,IAAI3K,EAAE6F,OAAO,GAAG7F,EAAE8I,KAAK/I,IAAG,CAAEgJ,IAAIhJ,EAAE6K,MAAM3B,YAAY,GAAGC,IAAInJ,EAAE6K,MAAM3B,YAAY,GAAGrH,QAAQ,CAACqF,KAAKlH,EAAEkH,MAAMqC,SAAS,CAACC,UAAUxJ,EAAE6B,QAAQiJ,iBAAiBrB,QAAQzJ,EAAE6B,YAAY,EAAE,MAAMkJ,EAAE,WAAAhD,GAAc3H,KAAKiI,SAAS,CAACC,IAAI,gDAAgDC,OAAO,CAACjF,EAAE,GAAG+G,IAAI,GAAG/F,MAAM,GAAG0G,YAAY,GAAGC,OAAO,EAAEC,eAAe,GAAG,CAAC,aAAAzC,CAAczI,GAAG,MAAM,CAACsI,IAAIlI,KAAKiI,SAASC,IAAIC,OAAO,CAACjF,EAAEtD,EAAE2I,MAAM0B,IAAIrK,EAAEqK,IAAI/F,MAAMtE,EAAEsE,OAAOlE,KAAKiI,SAASE,OAAOjE,MAAM0G,YAAYhL,EAAE6J,cAAczJ,KAAKiI,SAASE,OAAOsB,cAAc,CAAC,cAAAhB,CAAe7I,GAAG,OAAO,IAAIA,EAAEmL,QAAQrF,OAAO,GAAG9F,EAAEmL,QAAQpC,KAAK/I,IAAG,CAAEgJ,IAAIhJ,EAAEiJ,SAASmC,IAAIjC,IAAInJ,EAAEiJ,SAASE,IAAItH,QAAQ,CAACqF,KAAKlH,EAAEqL,WAAWnB,cAAc,GAAGlI,KAAKhC,EAAEqL,WAAWrJ,MAAM,GAAGqH,SAASrJ,EAAEqL,WAAWhC,SAAStH,KAAK/B,EAAEqL,WAAWtJ,MAAM/B,EAAEqL,WAAWlB,KAAKb,MAAMtJ,EAAEqL,WAAW/B,MAAMxH,QAAQ9B,EAAEqL,WAAWvJ,SAASyH,SAAS,CAACC,UAAUxJ,EAAEwJ,UAAUC,QAAQzJ,EAAEqL,eAAe,EAAE,SAASC,EAAEtL,GAAG,OAAO,IAAIuL,SAAQ,CAAEtL,EAAEI,KAAK,MAAMC,EAAE,SAASN,EAAEC,GAA6D,OAA1DA,GAAG,iBAAiBA,IAAID,IAAI,MAAMwF,KAAKxF,GAAG,IAAI,KAAKwL,GAAGvL,IAAWD,CAAC,CAAhF,CAAkFA,EAAEsI,IAAItI,EAAEyL,MAAMlL,EAAE,CAACmL,OAAO,MAAMC,KAAK,OAAOC,YAAY,eAAe5L,EAAE6L,MAAM,SAAS7L,EAAEC,EAAEI,GAAG,MAAMyL,KAAKxL,GAAGsG,SAASrG,EAAEqG,SAASC,cAAc,UAAUrG,EAAE,IAAIuL,KAAKC,MAAMD,KAAKE,SAAS/G,KAAKC,SAAS5E,EAAE0G,aAAa,MAAM,GAAGjH,GAAGA,EAAEkM,QAAQ,KAAK,EAAE,IAAI,KAAKjM,KAAKO,KAAKwE,OAAOxE,GAAGR,IAAIgF,OAAOxE,QAAG,EAAOmH,YAAW,IAAKrH,EAAE6L,YAAY5L,IAAI,GAAGF,EAAEL,EAAC,EAAGM,EAAEiH,OAAOhH,EAAE,CAA3Q,CAA6QD,EAAEN,EAAEwK,aAAavK,GAAGmM,MAAM9L,EAAEC,GAAG8L,MAAMrM,GAAGA,EAAEsM,SAASD,KAAKpM,GAAGsM,MAAMlM,EAAG,GAAE,CAAC,SAASmL,GAAGxL,GAAG,OAAOmD,OAAOqJ,KAAKxM,GAAGyM,QAAO,CAAExM,EAAEI,KAAKJ,EAAEyM,KAAK,iBAAiB1M,EAAEK,GAAGmL,GAAGxL,EAAEK,IAAI,GAAGsM,mBAAmBtM,MAAMsM,mBAAmB3M,EAAEK,OAAOJ,IAAI,IAAI2M,KAAK,IAAI,CAAC,MAAMC,GAAG3J,EAAED,WAAW,MAAM6J,GAAG,WAAA/E,CAAY/H,EAAEC,GAAGG,KAAK2M,KAAK/M,EAAEI,KAAK4M,UAAUjI,EAAE,mBAAmB3E,KAAK6M,MAAM,IAAIjM,EAAEJ,QAAQ,CAACsG,KAAK9G,KAAK4M,UAAUE,OAAO,IAAIjM,EAAEL,UAAUR,KAAK4H,QAAQhI,EAAEgI,QAAQ5H,KAAK4H,QAAQ/D,SAAS,iBAAiB7D,KAAK4H,QAAQ/D,SAAS7D,KAAK4H,QAAQ/D,SAASyE,cAActI,KAAK4H,QAAQ/D,SAAS7D,KAAK6D,SAAS7D,KAAK+M,cAAc/M,KAAK6H,IAAIhI,EAAEG,KAAKgN,UAAU,GAAGhN,KAAK+B,UAAU/B,KAAK6H,IAAI9F,UAAU/B,KAAKiN,oBAAoB,CAACC,UAAS,GAAIlN,KAAKmN,cAAc,CAAC,YAAAA,GAAe,IAAIvN,EAAEC,EAAE,MAAMI,EAAEL,IAAIA,EAAEwN,kBAAkBzH,EAAE3F,KAAK6H,IAAI7F,QAAQyK,GAAG3K,MAAMK,UAAUnC,KAAKqN,WAAWrN,KAAKsN,QAAO,EAAGtN,KAAK6H,IAAI3F,MAAMqL,iBAAiB,YAAY3N,IAAI,MAAMC,EAAED,EAAE4N,OAAOzG,MAAMO,QAAQ1H,EAAEqK,IAAI,UAAUrK,EAAEqK,IAAIrK,EAAE6N,MAAM,KAAK7N,EAAE6N,MAAQ7N,EAAE8N,SAAS,KAAK9N,EAAE8N,WAAW9N,EAAEwE,iBAAiBpE,KAAKuI,MAAM1I,GAAI,IAAE,GAAIG,KAAK6H,IAAI3F,MAAMqL,iBAAiB,SAAS3N,GAAGA,EAAEwN,oBAAmB,GAAIpN,KAAK6H,IAAI3F,MAAMqL,iBAAiB,SAAStN,IAAI,MAAMC,EAAED,EAAEuN,OAAOzG,MAAMO,OAAO,IAAIpH,EAAEwF,OAAOG,EAAE7F,KAAK6H,IAAIzF,MAAMqK,GAAGjL,QAAQ6D,EAAErF,KAAK6H,IAAIzF,MAAMqK,GAAGjL,QAAQxB,KAAK4H,QAAQvD,cAAcnE,IAAIL,IAAIA,EAAEK,EAAEN,GAAG+N,aAAa/N,GAAGA,EAAE2H,YAAW,KAAMrH,EAAEwF,QAAQ1F,KAAK4H,QAAQtD,uBAAuBtE,KAAKuI,MAAMrI,EAAG,GAAEF,KAAK4H,QAAQrD,qBAAsB,IAAE,GAAIvE,KAAK6H,IAAIzF,MAAMmL,iBAAiB,SAAS3N,IAAII,KAAK6H,IAAI3F,MAAM0L,QAAQ5N,KAAK6H,IAAI3F,MAAM6E,MAAM,GAAG/G,KAAKgN,UAAU,GAAG3H,EAAErF,KAAK6H,IAAIzF,MAAMqK,GAAGjL,QAAQxB,KAAK6N,cAAe,IAAE,GAAI7N,KAAK4H,QAAQ5D,aAAaX,GAAGrD,KAAK6H,IAAI5F,OAAOsL,iBAAiB,QAAQtN,GAAE,EAAG,CAAC,KAAAsI,CAAM3I,GAAGI,KAAK6D,WAAW7D,KAAK6D,SAAS7D,KAAK+M,eAAe,MAAMlN,EAAEG,KAAK6D,SAASwE,cAAc,CAACE,MAAM3I,EAAEqK,IAAIjK,KAAK4H,QAAQqC,IAAIhG,KAAKjE,KAAK4H,QAAQ3D,KAAKwF,aAAazJ,KAAK4H,QAAQ6B,aAAavF,MAAMlE,KAAK4H,QAAQ1D,QAAQ,GAAGlE,KAAKgN,YAAYpN,GAAGI,KAAK6H,IAAIxF,OAAOyL,WAAW,OAAO9N,KAAKgN,UAAUpN,EAAEI,KAAK6N,eAAexI,EAAErF,KAAK6H,IAAIzF,MAAMqK,GAAGlL,MAAM,MAAMtB,EAAE,CAACiI,IAAIrI,EAAEqI,IAAImD,KAAKxL,EAAEsI,QAAQtI,EAAEuK,eAAenK,EAAEwL,OAAM,EAAGxL,EAAEmK,aAAavK,EAAEuK,cAAcc,EAAEjL,GAAGgM,MAAMrM,IAAII,KAAK4H,QAAQpD,OAAOuJ,QAAQC,KAAKpO,GAAGiG,EAAE7F,KAAK6H,IAAIzF,MAAMqK,GAAGlL,MAAM,MAAM1B,EAAEG,KAAK6D,SAAS4E,eAAe7I,GAAGC,IAAIG,KAAKiO,WAAWpO,GAAGG,KAAKkO,iBAAkB,IAAG/B,OAAOvM,IAAIiG,EAAE7F,KAAK6H,IAAIzF,MAAMqK,GAAGlL,MAAM,MAAM1B,EAAE0G,EAAE,KAAK,2CAA2CvG,KAAK6H,IAAIxF,OAAO8E,OAAOtH,EAAG,GAAE,CAAC,UAAAoO,CAAWrO,GAAG,MAAMC,EAAEG,KAAK6H,IAAIxF,OAAOzC,EAAE4F,SAAS5F,IAAI,IAAIK,EAA+BA,EAA1BD,KAAK4H,QAAQ/D,WAAWN,EAAI,gBAAgBkJ,GAAG7K,SAAShC,EAAE6B,QAAQqF,cAAqB9G,KAAKmO,gBAAgBvO,EAAE6B,SAAS,MAAMvB,EAAEqG,EAAE,KAAK,eAAetG,SAASC,EAAEqN,iBAAiB,SAAS1N,IAAIA,EAAEuE,iBAAiBpE,KAAKoO,OAAOxO,EAAEK,EAAEL,EAAE6B,QAAQ7B,EAAEuJ,SAAU,IAAE,GAAItJ,EAAEsH,OAAOjH,EAAG,GAAE,CAAC,MAAAkO,CAAOxO,EAAEC,EAAEI,EAAEC,GAAG,MAAMC,EAAEH,KAAK2M,KAAK0B,SAASjO,EAAE,CAACkO,OAAOC,WAAW3O,EAAEgJ,KAAK0F,OAAOC,WAAW3O,EAAEmJ,MAAM1I,EAAEF,EAAEqO,UAAUC,gBAAgBnO,EAAEU,EAAER,QAAQkO,UAAUtO,EAAE,YAAYC,GAAG,IAAIqJ,KAAKnJ,GAAGX,EAAEW,IAAIA,EAAES,EAAER,QAAQmO,gBAAgB,CAACpO,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,YAAYF,IAAI,MAAMI,EAAE,CAAC2I,UAAUvJ,EAAEwJ,QAAQpJ,EAAEkJ,SAASjJ,GAAG,IAAG,IAAKF,KAAK4H,QAAQzD,UAAUnE,KAAK6N,cAAa,IAAI,IAAK7N,KAAK4H,QAAQxD,eAAepE,KAAK2M,KAAKiC,cAAc,CAACC,KAAK3L,EAAEzB,QAAQhB,EAAEqO,WAAWxO,EAAEoJ,KAAKnJ,EAAEwO,MAAMnP,QAAQ,CAACW,EAAEJ,EAAEqO,UAAUQ,IAAIzO,EAAE,CAAC0O,SAAS,MAAM,SAASrP,EAAEC,EAAEI,EAAE,IAAIC,EAAE,mBAAmBN,EAAE4O,UAAUU,QAAQ,CAACD,SAAShP,EAAEkP,WAAWjP,GAAG,CAAC+O,SAAShP,EAAEmP,OAAOvP,GAAG,CAA5G,CAA8GM,EAAEG,GAAG,MAAMT,EAAEG,KAAKqP,cAAc/O,EAAEG,GAAGT,KAAK2M,KAAKiC,cAAc,CAACC,KAAK3L,EAAEzB,QAAQhB,EAAE6O,QAAQzP,EAAEiP,WAAWxO,EAAEoJ,KAAKnJ,EAAEwO,MAAMnP,GAAG,CAAC,CAAC,aAAAyP,CAAczP,GAAG,MAAMC,EAAE,IAAIkB,EAAEP,QAAQ,IAAIM,EAAEN,QAAQZ,IAAI,OAAOI,KAAKuP,WAAW1P,EAAE2P,SAASxP,KAAK4H,QAAQ7D,cAAclE,EAAE4P,MAAM9K,EAAE,iBAAiB3E,KAAK0P,YAAYC,WAAW9P,GAAGA,CAAC,CAAC,eAAAsO,CAAgBvO,GAAG,MAAMC,EAAE,GAAG,OAAOD,EAAEkH,MAAMjH,EAAEyM,KAAK,CAAC,gBAAgBG,GAAG7K,KAAK,mBAAmB4K,KAAK,MAAM5M,EAAEgC,MAAMhC,EAAEgQ,UAAUhQ,EAAEkK,eAAejK,EAAEyM,KAAK,CAAC,gBAAgBG,GAAG7K,KAAK,6CAA6C4K,KAAK,MAAM5M,EAAE+B,MAAM/B,EAAEmK,MAAMnK,EAAEiQ,UAAUhQ,EAAEyM,KAAK,CAAC,gBAAgBG,GAAG9K,KAAK,+CAA+C6K,KAAK,MAAM5M,EAAEsJ,OAAOtJ,EAAE8B,UAAU7B,EAAEyM,KAAK,CAAC,gBAAgBG,GAAG/K,QAAQ,8BAA8B8K,KAAK,KAAKrG,EAAEtG,EAAE2M,KAAK,QAAQ5M,EAAE,CAAC,WAAAmN,GAAc,OAAO/M,KAAK4H,QAAQ/D,UAAU,KAAKN,EAAE,OAAO,IAAI+F,EAAE,KAAK9F,EAAE,OAAO,IAAIwG,EAAE,KAAKvG,EAAE,OAAO,IAAIuE,EAAE,KAAKtE,EAAE,OAAO,IAAIyG,EAAE,KAAKxG,EAAE,OAAO,IAAIgH,EAAE,QAAQ,OAAO3K,KAAK4H,QAAQ/D,SAAS,CAAC,MAAAyJ,GAASzH,EAAE7F,KAAK6H,IAAI3F,MAAMuK,GAAGlL,MAAM8D,EAAErF,KAAK6H,IAAI7F,QAAQyK,GAAG3K,MAAMK,UAAUyC,OAAO2C,YAAW,IAAKvH,KAAK6H,IAAI3F,MAAM0L,SAAS,KAAK5N,KAAKkO,gBAAgB,CAAC,QAAAb,GAAWrN,KAAK6H,IAAI3F,MAAM6E,MAAM,GAAG/G,KAAK6H,IAAI3F,MAAM4N,OAAOzK,EAAErF,KAAK6H,IAAIzF,MAAMqK,GAAGjL,QAAQqE,EAAE7F,KAAK6H,IAAI7F,QAAQyK,GAAG3K,MAAMK,UAAUnC,KAAK6N,cAAc,CAAC,cAAAK,GAAiB,GAAGlO,KAAKiN,oBAAoBC,SAAS,OAAO,MAAMtN,EAAEI,KAAKH,EAAEG,KAAK2M,KAAK0B,SAAS0B,mBAAmB/P,KAAKiN,oBAAoBC,UAAS,EAAGrN,EAAE0N,iBAAiB,QAAQ,CAAC,WAAAyC,CAAY/P,GAAGL,EAAEiO,cAAa,GAAIhO,EAAEoQ,oBAAoBhQ,EAAE4O,KAAK7O,MAAK,GAAIJ,EAAEqN,oBAAoBC,UAAS,CAAE,IAAG,EAAG,CAAC,YAAAW,CAAajO,GAAGA,GAAGI,KAAK4H,QAAQ5D,aAAaX,EAAErD,KAAKqN,WAAW,SAASzN,GAAG,KAAKA,EAAEkO,YAAYlO,EAAEkO,WAAWtG,QAAQ,CAApD,CAAsDxH,KAAK6H,IAAIxF,OAAO,CAAC,SAAAqN,GAAY,OAAO1P,KAAK6M,MAAM6C,WAAW,CAAC,QAAAH,GAAW,IAAI3P,GAAE,EAAG,MAAMC,EAAEG,KAAK2M,KAAK0B,SAASxO,EAAEqQ,YAAY1K,SAAS3F,IAAIA,IAAIG,KAAK6M,QAAQjN,GAAE,EAAI,IAAGA,GAAGC,EAAE0P,SAASvP,KAAK6M,MAAM,EAAE,MAAMsD,WAAW1P,EAAED,QAAQ,WAAAmH,CAAY/H,EAAEuD,EAAEtD,EAAE,CAAC,GAAG,IAAII,EAAEC,EAAEuE,EAAE,iBAAiB7E,EAAE,mCAAmC6E,EAAE7E,IAAIuD,GAAGvD,IAAIwD,EAAE,4BAA4BD,iBAAiBC,OAAOqB,EAAE,iBAAiB5E,EAAE,sCAAsC+D,EAAEG,aAAa,CAAC,IAAIrD,EAAEF,QAAQ,CAAC4P,MAAM,IAAIzP,EAAEH,QAAQ,CAAC6P,MAAM,GAAGC,IAAI,yEAAyE,MAAMnQ,EAAE,IAAIuH,EAAE7H,GAAG,GAAGD,IAAIuD,IAAIlD,EAAEE,EAAE0H,IAAI9F,WAAWwO,MAAM,CAACC,QAAQvQ,MAAMD,gBAAgBmQ,IAAI,OAAO,IAAIA,GAAGnQ,KAAK4H,QAAQ,SAAShI,EAAEC,GAAG,MAAMI,EAAE,CAAC,EAAE,OAAO8C,OAAOqJ,KAAKxM,GAAG4F,SAAS3F,IAAIkD,OAAO0N,UAAUC,eAAeC,KAAK/Q,EAAEC,KAAKI,EAAEJ,GAAGD,EAAEC,GAAI,IAAGkD,OAAOqJ,KAAKvM,GAAG2F,SAAS5F,IAAImD,OAAO0N,UAAUC,eAAeC,KAAK9Q,EAAED,KAAKK,EAAEL,GAAGC,EAAED,GAAI,IAAGK,CAAC,CAA7M,CAA+M2D,EAAE/D,GAAGG,KAAK+B,UAAU9B,EAAEL,IAAIuD,IAAIjD,EAAE,IAAIwM,GAAG1M,KAAKG,EAAE0H,KAAK7H,KAAK6M,MAAM3M,EAAE2M,MAAM,CAAC,QAAA+D,GAAW,OAAO5Q,KAAK6M,KAAK,CAAC,SAAA6C,GAAY,OAAO1P,KAAK4Q,WAAWlB,WAAW,CAAC,WAAAmB,CAAYjR,GAAGI,KAAK4H,QAAQ/D,SAASjE,CAAC,CAAC,cAAAkR,CAAelR,GAAGI,KAAK4H,QAAQqC,IAAIrK,CAAC,EAAE,OAAOuQ,EAAG,G,gDCNv3e,SACE,IAAA9E,GACE,MAAO,CACL0F,SAAS,EAEb,EACD,OAAAC,GACChR,KAAK+Q,QAAUE,WAAaA,UAAUC,WAAsD,oBAAlCD,UAAUC,UAAUC,SAC/E,EACCC,QAAS,CACP,QAAAC,CAASC,EAAMC,EAAY,KAAMC,EAAU,MACzC,GAAIxR,KAAK+Q,QAAS,CAChB,MAAMU,EAAUR,UAAUC,UAAUC,UAAUG,GAC1CC,GACFE,EAAQxF,KAAKsF,GAEXC,GACFC,EAAQtF,MAAMqF,EAElB,CACF,EACF,UAAAE,CAAWC,EAAMC,GAChB,GAAID,EAAM,CACT,IAAIE,EAAUF,EAAKG,UACnBH,EAAKG,UAAYF,EACjBrK,YAAW,IAAMoK,EAAKG,UAAYD,GAAS,IAC5C,CACD,G,gDC3BF,SACC5G,WAAY,CACX8G,iBAAkB,IAAM,gCACxBC,wBAAyB,IAAM,iCAEhCC,MAAO,CACNC,WAAY,CACXrD,KAAM9L,OACNvC,QAAS,KAAM,CAAG,K,gDCRrB,IAAI2R,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,KAAOJ,EAAIK,YAAY,cAAgB,KAAK,WAAa,QAAQ,YAAc,WAAW,aAAeL,EAAIM,aAAa,qBAAsB,EAAM,mBAAqBN,EAAIO,WAAW,uBAAyBP,EAAIQ,eAAe,iBAAmBR,EAAIS,iBAAiB,yBAA2BT,EAAIU,iBAAiB,mBAAqBV,EAAIW,mBAAmB,KAAOX,EAAIY,KAAK,aAAeZ,EAAIa,aAAa,QAAUb,EAAIc,QAAQ,UAAYd,EAAIe,UAAU,mBAAqBf,EAAIgB,mBAAmB,UAAY,IAAIC,GAAG,CAAC,eAAiBjB,EAAIkB,gBAAgBC,YAAYnB,EAAIoB,GAAG,CAAC,CAACvJ,IAAI,UAAUwJ,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAItB,EAAW,QAAE,CAACnI,IAAI,gBAAgBwJ,GAAG,WAAW,MAAO,CAACpB,EAAG,0BAA0B,CAACG,MAAM,CAAC,QAAUJ,EAAIwB,QAAQ,WAAaxB,EAAIF,cAAc,EAAE2B,OAAM,GAAM,KAAK,CAAC5J,IAAI,UAAUwJ,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAG,CAACzJ,IAAI,UAAUwJ,GAAG,SAASK,GAAM,MAAO,CAACzB,EAAG,aAAa,CAACG,MAAM,CAAC,KAAOsB,EAAKC,KAAK,WAAa3B,EAAI4B,WAAW,WAAa5B,EAAIF,YAAYqB,YAAYnB,EAAIoB,GAAG,CAAC,CAACvJ,IAAI,QAAQwJ,GAAG,WAAW,MAAO,CAACpB,EAAG,OAAO,CAACE,YAAY,WAAW,EAAEsB,OAAM,GAAM,CAAC5J,IAAI,qBAAqBwJ,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,gCAAgC,KAAK,KAAKD,GAAO,GAAG,CAACzJ,IAAI,MAAMwJ,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,iBAAiB,KAAK,KAAKD,GAAO,GAAG,CAACzJ,IAAI,kBAAkBwJ,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,6BAA6B,KAAK,KAAKD,GAAO,GAAG,CAACzJ,IAAI,mBAAmBwJ,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,8BAA8B,KAAK,KAAKD,GAAO,IAAI,MAAK,KAAQ,IAAI,MAAK,MAAS,EACpsD,EACIO,EAAkB,G,sBCuCtB,SACCnN,KAAM,cACNmE,WAAY,CACXiJ,WAAY,IAAM,IAAMC,mBAAmB,gGAC3CC,eAAgB,IAAM,IAAMD,mBAAmB,kCAEhDE,OAAQ,CACPC,EAAA,GAEDrC,MAAO,CACNQ,YAAa,CACZ5D,KAAMvJ,MACN9E,QAAS,IAAM,IAEhBwT,WAAY,CACXnF,KAAM9L,OACNvC,QAAS,KAAM,CAAG,IAEnBmS,WAAY,CACX9D,KAAMxI,OACN7F,QAAS,MAEVwS,KAAM,CACLnE,KAAM0F,QACN/T,SAAS,GAEVyS,aAAc,CACbpE,KAAM0F,QACN/T,SAAS,GAEV0S,QAAS,CACRrE,KAAMxI,OACN7F,QAAS,eAEV2S,UAAW,CACVtE,KAAM0F,QACN/T,QAAS,MAEV4S,mBAAoB,CACnBvE,KAAM2F,SACNhU,QAAS,MAEVkS,aAAc,CACb7D,KAAM0F,QACN/T,SAAS,GAEVoS,eAAgB,CACf/D,KAAM0F,QACN/T,SAAS,GAEVqS,iBAAkB,CACjBhE,KAAM0F,QACN/T,SAAS,GAEVsS,iBAAkB,CACjBjE,KAAM0F,QACN/T,SAAS,GAEVuS,mBAAoB,CACnBlE,KAAM0F,QACN/T,SAAS,GAEVoT,QAAS,CACR/E,KAAMvJ,MACN9E,QAAS,SAEP8T,EAAA,EAAgBrC,OAEpB,YAAAwC,GACC,IAAMC,gBAAgB1U,KACvB,EACAoR,QAAS,CACR,cAAAkC,IAAkBqB,GACjB3U,KAAK4U,MAAM,oBAAqBD,EACjC,ICnH2H,I,eCQzHE,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,6DCnBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,gCAAgCuC,MAAM,CAACC,WAA8B,OAAlB3C,EAAIe,UAAoBhR,SAAUiQ,EAAI4C,SAAUC,UAAiC,IAAtB7C,EAAI8C,gBAAsB,CAAC9C,EAAIuB,GAAG,WAAU,WAAW,MAAO,CAAEvB,EAAW,QAAEC,EAAG,KAAK,CAACE,YAAY,UAAUc,GAAG,CAAC,MAAQ,SAAS8B,GAAQ,OAAO/C,EAAIgD,cAAc,KAAK,IAAI,CAAChD,EAAIiD,GAAG,IAAIjD,EAAIkD,GAAGlD,EAAIc,SAAS,KAA4B,OAAtBd,EAAI8C,eAA0B9C,EAAI8C,gBAAkB9C,EAAImD,WAAY,CAACnD,EAAIiD,GAAG,IAAIjD,EAAIkD,GAAGlD,EAAI8C,eAAe,IAAI9C,EAAIkD,GAAGlD,EAAImD,YAAY,MAAM,CAACnD,EAAIiD,GAAG,IAAIjD,EAAIkD,GAAGlD,EAAImD,YAAY,OAAO,GAAGnD,EAAIoD,KAAK,GAAE,CAAC,cAAgBpD,EAAI8C,cAAc,WAAa9C,EAAImD,aAA+B,OAAjBnD,EAAI4C,SAAmB3C,EAAG,MAAM,CAACoD,WAAW,CAAC,CAAC3O,KAAK,OAAO4O,QAAQ,SAAS3O,OAAwB,IAAjBqL,EAAI4C,SAAmBW,WAAW,sBAAsBpD,YAAY,QAAQ,CAACH,EAAIuB,GAAG,iBAAqC,IAAnBvB,EAAImD,WAAkB,CAAClD,EAAG,IAAI,CAACD,EAAIiD,GAAG,yBAAyB,CAAChD,EAAG,UAAU,CAACE,YAAY,cAAc,CAA6B,OAA3BH,EAAIwD,mBAA6BvD,EAAG,YAAY,CAACG,MAAM,CAAC,YAAcJ,EAAIyD,kBAAkB,UAAYzD,EAAI0D,iBAAiBC,MAAM,CAAChP,MAAOqL,EAAc,WAAE4D,SAAS,SAAUC,GAAM7D,EAAIO,WAAWsD,CAAG,EAAEN,WAAW,gBAAgBvD,EAAIoD,KAAMpD,EAAoB,iBAAEC,EAAG,QAAQ,CAACE,YAAY,aAAaC,MAAM,CAAC,MAAQ,8BAA8B,CAACH,EAAG,QAAQ,CAACoD,WAAW,CAAC,CAAC3O,KAAK,QAAQ4O,QAAQ,UAAU3O,MAAOqL,EAAkB,eAAEuD,WAAW,mBAAmBnD,MAAM,CAAC,KAAO,WAAW,cAAa,EAAM,eAAc,GAAM0D,SAAS,CAAC,QAAU5Q,MAAMC,QAAQ6M,EAAIQ,gBAAgBR,EAAI+D,GAAG/D,EAAIQ,eAAe,OAAO,EAAER,EAAIgE,GAAGhE,EAAIQ,gBAAe,IAAQS,GAAG,CAAC,OAAS,SAAS8B,GAAQ,IAAIkB,EAAIjE,EAAIQ,eAAe0D,EAAKnB,EAAO3H,OAAO+I,GAAID,EAAKE,QAAuB,GAAGlR,MAAMC,QAAQ8Q,GAAK,CAAC,IAAIJ,EAAI,KAAKQ,EAAIrE,EAAI+D,GAAGE,EAAIJ,GAAQK,EAAKE,QAASC,EAAI,IAAIrE,EAAIQ,eAAeyD,EAAIK,OAAO,CAACT,KAAYQ,GAAK,IAAIrE,EAAIQ,eAAeyD,EAAIM,MAAM,EAAEF,GAAKC,OAAOL,EAAIM,MAAMF,EAAI,IAAK,MAAMrE,EAAIQ,eAAe2D,CAAI,KAAKnE,EAAIiD,GAAG,uBAAuBjD,EAAIoD,KAAMpD,EAAsB,mBAAEC,EAAG,QAAQ,CAACE,YAAY,eAAeC,MAAM,CAAC,MAAQ,gCAAgC,CAACH,EAAG,QAAQ,CAACoD,WAAW,CAAC,CAAC3O,KAAK,QAAQ4O,QAAQ,UAAU3O,MAAOqL,EAAoB,iBAAEuD,WAAW,qBAAqBnD,MAAM,CAAC,KAAO,WAAW,cAAa,EAAM,eAAc,GAAM0D,SAAS,CAAC,QAAU5Q,MAAMC,QAAQ6M,EAAIU,kBAAkBV,EAAI+D,GAAG/D,EAAIU,iBAAiB,OAAO,EAAEV,EAAIgE,GAAGhE,EAAIU,kBAAiB,IAAQO,GAAG,CAAC,OAAS,SAAS8B,GAAQ,IAAIkB,EAAIjE,EAAIU,iBAAiBwD,EAAKnB,EAAO3H,OAAO+I,GAAID,EAAKE,QAAuB,GAAGlR,MAAMC,QAAQ8Q,GAAK,CAAC,IAAIJ,EAAI,KAAKQ,EAAIrE,EAAI+D,GAAGE,EAAIJ,GAAQK,EAAKE,QAASC,EAAI,IAAIrE,EAAIU,iBAAiBuD,EAAIK,OAAO,CAACT,KAAYQ,GAAK,IAAIrE,EAAIU,iBAAiBuD,EAAIM,MAAM,EAAEF,GAAKC,OAAOL,EAAIM,MAAMF,EAAI,IAAK,MAAMrE,EAAIU,iBAAiByD,CAAI,KAAKnE,EAAIiD,GAAG,yBAAyBjD,EAAIoD,MAAM,GAAGpD,EAAIuB,GAAG,mBAAmB,KAAK,CAAC,cAAgBvB,EAAI8C,cAAc,UAAY9C,EAAIwE,YAAmC,IAAtBxE,EAAI8C,cAAqB7C,EAAG,IAAI,CAACD,EAAIiD,GAAG,8BAA8BhD,EAAG,KAAK,CAACE,YAAY,OAAOuC,MAAM,CAACC,WAAY3C,EAAIa,eAAeb,EAAIyE,GAAIzE,EAAa,WAAE,SAAS0E,EAAQxW,GAAG,OAAO+R,EAAG,KAAK,CAACoD,WAAW,CAAC,CAAC3O,KAAK,OAAO4O,QAAQ,SAAS3O,MAAO+P,EAAY,KAAEnB,WAAW,iBAAiB1L,IAAI6M,EAAQC,WAAWjC,MAAM,CAAC3S,SAAUiQ,EAAI4E,YAAY1W,KAAK,CAAC+R,EAAG,UAAU,CAACE,YAAY,UAAUuC,MAAM,CAACmC,aAAcH,EAAQG,aAAcC,WAAYJ,EAAQI,YAAY7D,GAAG,CAAC,MAAQ,SAAS8B,GAAQ,OAAO/C,EAAI+E,cAAc7W,EAAE,IAAI,CAAC8R,EAAIuB,GAAG,WAAU,WAAW,MAAO,CAACtB,EAAG,SAAS,CAACD,EAAIiD,GAAG,IAAIjD,EAAIkD,GAAGwB,EAAQC,YAAY,KAAM3E,EAAIgF,WAAahF,EAAIrB,QAASsB,EAAG,OAAO,CAACE,YAAY,OAAOC,MAAM,CAAC,MAAQ,mBAAmBa,GAAG,CAAC,MAAQ,SAAS8B,GAAyD,OAAjDA,EAAO/Q,iBAAiB+Q,EAAO/H,kBAAyBgF,EAAIiF,eAAelC,EAAQ2B,EAAQ,IAAI,CAAC1E,EAAIiD,GAAG,QAAQjD,EAAIoD,OAAQsB,EAAe,QAAEzE,EAAG,QAAQ,CAACyC,MAAM,CAACwC,cAAelF,EAAImF,sBAAsB,CAACnF,EAAIiD,GAAGjD,EAAIkD,GAAGwB,EAAQA,YAAY1E,EAAIoD,KAAMpD,EAAIM,cAAgBoE,EAAQU,SAAS9R,OAAS,EAAG2M,EAAG,KAAK,CAACE,YAAY,mCAAmCH,EAAIyE,GAAIC,EAAgB,UAAE,SAASW,GAAS,OAAOpF,EAAG,KAAK,CAACpI,IAAIwN,EAAQlF,YAAY,SAAS,CAACH,EAAIiD,GAAGjD,EAAIkD,GAAGmC,KAAW,IAAG,GAAGrF,EAAIoD,KAAK,GAAE,CAAC,QAAUsB,EAAQ,KAAOA,EAAQzL,QAAQ,GAAkC,mBAAvB+G,EAAI4E,YAAY1W,GAAkB+R,EAAG,MAAM,CAACoD,WAAW,CAAC,CAAC3O,KAAK,OAAO4O,QAAQ,SAAS3O,OAA8B,IAAvBqL,EAAI4E,YAAY1W,GAAaqV,WAAW,4BAA4BpD,YAAY,WAAW,CAAGuE,EAAQY,OAAsBtF,EAAIuB,GAAG,WAAU,WAAW,MAAO,CAACvB,EAAIiD,GAAG,2BAA2B,GAAE,CAAC,QAAUyB,EAAQ,KAAOA,EAAQzL,OAAxHgH,EAAG,YAA6H,GAAGD,EAAIoD,MAAM,IAAG,KAAK,GAAGpD,EAAIoD,MAAM,EAC56I,EACIvB,EAAkB,G,4CC2DtB,SACCnN,KAAM,iBACNmE,WAAY,CACX0M,QAAO,IACPC,UAAW,IAAM,gCAElBvD,OAAQ,CAACwD,EAAA,GACT5F,MAAO,CACN5G,KAAM,CACLwD,KAAM,CAACvJ,MAAOvC,QACdvC,QAAS,IAAM,IAEhBsX,cAAe,CACdjJ,KAAMxI,OACN7F,QAAS,MAEVuX,WAAY,CACXlJ,KAAMxI,OACN7F,QAAS,WAEVwX,YAAa,CACZnJ,KAAMxI,OACN7F,QAAS,MAEVkS,aAAc,CACb7D,KAAM0F,QACN/T,SAAS,GAEVoV,mBAAoB,CACnB/G,KAAMxI,OACN7F,QAAS,MAEVqV,kBAAmB,CAClBhH,KAAMxI,OACN7F,QAAS,UAEVwS,KAAM,CACLnE,KAAM0F,QACN/T,SAAS,GAEVyS,aAAc,CACbpE,KAAM0F,QACN/T,SAAS,GAEV+W,oBAAqB,CACpB1I,KAAM0F,QACN/T,SAAS,GAEV0S,QAAS,CACRrE,KAAMxI,OACN7F,QAAS,MAEV2S,UAAW,CACVtE,KAAM0F,QACN/T,QAAS,MAEVsV,gBAAiB,CAChBjH,KAAMP,OACN9N,QAAS,GAEV4S,mBAAoB,CACnBvE,KAAM2F,SACNhU,QAAS,MAEV4W,UAAW,CACVvI,KAAM0F,QACN/T,SAAS,GAEVyX,uBAAwB,CACvBpJ,KAAM0F,QACN/T,SAAS,GAEVqS,iBAAkB,CACjBhE,KAAM0F,QACN/T,SAAS,GAEV0X,yBAA0B,CACzBrJ,KAAM0F,QACN/T,SAAS,GAEVuS,mBAAoB,CACnBlE,KAAM0F,QACN/T,SAAS,IAGX,IAAA6K,GACC,MAAO,CACNsH,WAAY,GAMZqE,YAAa,CAAC,EACdhC,UAAUhV,KAAKmT,WAAY,KAC3BP,eAAgB5S,KAAKiY,uBACrBnF,iBAAkB9S,KAAKkY,yBACvBtB,UAAW,GAEb,EACAuB,MAAO,CACN/E,mBAAoB,CACnB,OAAAgF,GACCpY,KAAKqY,kBAAkBrY,KAAK4W,UAC7B,GAEDvL,KAAM,CACLiN,WAAW,EACX,OAAAF,CAAQ/M,EAAMkN,GAITlN,IAASkN,GAGbvY,KAAKqY,kBAAkBhN,EACxB,GAEDuK,mBAAoB,CACnB0C,WAAW,EACX,OAAAF,CAAQrR,GACP/G,KAAK2S,WAA8B,kBAAV5L,EAAqBA,EAAQ,EACvD,GAEDkR,uBAAwB,CACvBK,WAAW,EACX,OAAAF,CAAQrR,GACP/G,KAAK4S,eAAiB7L,CACvB,GAEDmR,yBAA0B,CACzBI,WAAW,EACX,OAAAF,CAAQrR,GACP/G,KAAK8S,iBAAmB/L,CACzB,GAED6P,UAAW,CACV0B,WAAW,EACX,OAAAF,GACCpY,KAAK4U,MAAM,YAAa5U,KAAK4W,UAC9B,GAED,UAAAjE,GACC3S,KAAKwY,QACN,EACA,cAAA5F,GACsC,OAAjC5S,KAAKyY,yBACRzY,KAAKwY,QAEP,EACA,gBAAA1F,GACwC,OAAnC9S,KAAK0Y,2BACR1Y,KAAKwY,QAEP,EACA,SAAArF,CAAUwF,IACQ,IAAbA,EACH3Y,KAAKgV,UAAW,EAEU,OAAlBhV,KAAKgV,WACbhV,KAAKgV,UAAW,EAGlB,GAED4D,SAAU,CACT,UAAArD,GACC,OAAO,IAAMsD,KAAK7Y,KAAKqL,KACxB,EACA,aAAA6J,GACC,OAAIlV,KAAK8Y,kBACD9Y,KAAK4W,UAAU4B,QAAOzE,IAAsB,IAAdA,EAAKgF,OAAerT,OAEnD,IACR,GAED,OAAAsT,GACChZ,KAAKwY,QACN,EACApH,QAAS,CACR,eAAA0H,GACC,OAAO9Y,KAAK2S,WAAWjN,QAAU1F,KAAK8V,iBACA,OAAjC9V,KAAKyY,yBAAoCzY,KAAK4S,gBACX,OAAnC5S,KAAK0Y,2BAAsC1Y,KAAK8S,gBACtD,EACA,MAAA0F,GACC,MAAMS,EAAWjZ,KAAK2S,WAAWjN,QAAU1F,KAAK8V,gBAChD9V,KAAK4W,UAAUpR,SAAQuO,IACtB,IAAIgF,GAAO,EAC0B,OAAjC/Y,KAAKyY,yBAAoCzY,KAAK4S,gBAAkBmB,EAAKmD,YAG7B,OAAnClX,KAAK0Y,2BAAsC1Y,KAAK8S,kBAAoBiB,EAAKkD,aAFjF8B,GAAO,EAKCE,IACRF,EAAO,IAAMG,OAAOlZ,KAAK2S,WAAY,CAACoB,EAAKgD,WAAYhD,EAAK+C,SAASJ,OAAO3C,EAAKyD,YAElFxX,KAAKmZ,KAAKpF,EAAM,OAAQgF,EAAK,IAE9B/Y,KAAK4U,MAAM,YAAa5U,KAAK4W,UAC9B,EACA,cAAAS,CAAe+B,EAAOtC,GAClB,GAAI9W,KAAKoX,UAAW,CACtB,MAAMzF,EAAOyH,EAAMC,eAAe,GAClCrZ,KAAKqR,SAASyF,EAAQC,YAAY,IAAM/W,KAAK0R,WAAWC,EAAM,OAAM,IAAM3R,KAAK0R,WAAWC,EAAM,MACjG,CACD,EACA,iBAAA0G,GACC,IAAIiB,EAA+C,oBAA5BtZ,KAAKoT,mBACxBwD,EAAY,GAChB,IAAI,IAAI2C,KAASvZ,KAAKqL,KAAM,CAC3B,IAAImO,EAAQxZ,KAAKqL,KAAKkO,GAClBzC,EAAU,CACbC,WAAYwC,EACZzC,QAAS,GACTiC,MAAM,EACNrB,QAAS4B,EACTC,MAAOA,EACPtC,aAAcuC,EAAMvC,aACpBC,WAAYsC,EAAMtC,WAClB7L,KAAM,MAG2B,kBAAvBrL,KAAK8X,eAAmE,kBAA9B0B,EAAMxZ,KAAK8X,iBAC/DhB,EAAQC,WAAayC,EAAMxZ,KAAK8X,gBAEF,kBAApB9X,KAAK+X,YAA6D,kBAA3ByB,EAAMxZ,KAAK+X,cAC5DjB,EAAQA,QAAU0C,EAAMxZ,KAAK+X,aAEE,kBAArB/X,KAAKgY,aAA4B1S,MAAMC,QAAQiU,EAAMxZ,KAAKgY,cACpElB,EAAQU,SAAWgC,EAAMxZ,KAAKgY,aAG9BlB,EAAQU,SAAW,GAKpB,IAAIiC,EAAa,KAAIA,WAAW3C,GAChC2C,EAAWpO,KAAOmO,EAClB5C,EAAUtK,KAAKmN,EAChB,CACIzZ,KAAKgT,MACR4D,EAAU5D,MAAK,CAAC3S,EAAEa,IAAM,IAAMwY,6BAA6BrZ,EAAE0W,WAAY7V,EAAE6V,cAE5E/W,KAAK4W,UAAYA,CAClB,EACA,aAAAxB,CAAc2D,EAAO,MACG,OAAnB/Y,KAAKmT,YAGTnT,KAAKgV,SAAoB,OAAT+D,GAAiB/Y,KAAKgV,SAAW+D,EACjD/Y,KAAK4U,MAAM,iBAAkB5U,KAAKgV,UAC9BhV,KAAK2Z,SACR3Z,KAAK2Z,QAAQ/E,MAAM,iBAAkB5U,KAAKgV,UAE5C,EACA,mBAAMmC,CAAc7W,EAAGqY,GACtB,IAAK3Y,KAAKiT,aACT,OAKD,GAHwB,qBAAb0F,IACVA,GAAY3Y,KAAKgX,YAAY1W,IAEK,qBAAxBN,KAAKgX,YAAY1W,KAAmC,IAAbqY,EACjD,OAED3Y,KAAKmZ,KAAKnZ,KAAKgX,YAAa1W,EAAGqY,GAC/B,IAAI7B,EAAU9W,KAAK4W,UAAUtW,GAC7B,GAAIqY,GAA+C,oBAA5B3Y,KAAKoT,qBAAsC0D,EAAQY,OACzE,IACCZ,EAAQzL,WAAarL,KAAKoT,mBAAmB0D,EAAQyC,MAAOzC,EAAQC,WAAYD,EAAQzL,MACxFyL,EAAQY,QAAS,CAClB,CAAE,MAAOkC,GACR7L,QAAQ6L,MAAMA,EACf,CAED5Z,KAAK4U,MAAM,iBAAkB+D,EAAU7B,EAAQyC,MAAOzC,EAAQC,WAAYD,EAAQzL,KACnF,ICpV8H,I,eCQ5HwJ,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,6DCnBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAAEH,EAAIsF,OAAQ,CAACrF,EAAG,cAAc,CAACpI,IAAImI,EAAIvD,KAAKgL,IAAI,cAAcrH,MAAM,CAAC,MAAQ,QAAQ,WAAW,KAAK,SAAWJ,EAAI0H,SAAS,QAAU1H,EAAI2H,cAAc,YAAa,EAAM,eAAiB3H,EAAI4H,UAAU,UAAY5H,EAAI6H,SAAS,cAAgB7H,EAAI8H,cAAc,SAAW9H,EAAI+H,SAAS,eAAiB/H,EAAIgI,gBAAgB/G,GAAG,CAAC,IAAMjB,EAAIiI,UAAUtE,MAAM,CAAChP,MAAOqL,EAAIkI,SAAUtE,SAAS,SAAUC,GAAM7D,EAAIkI,SAASrE,CAAG,EAAEN,WAAW,cAAevD,EAAI4E,YAAa3E,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,WAAWa,GAAG,CAAC,MAAQ,SAAS8B,GAAQ,OAAO/C,EAAIwC,MAAM,YAAY,IAAI,CAACvC,EAAG,IAAI,CAACE,YAAY,kBAAkBH,EAAIoD,MAAMnD,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,IAAI,CAACE,YAAY,2BAA2BH,EAAIiD,GAAG,0BAA0B,EACp1B,EACIpB,EAAkB,G,8BCYtB,SACAnN,KAAA,YACAmE,WAAA,CACAsP,YAAAA,KAEAtI,MAAA,CACAlL,MAAA,GACA8H,KAAA,CACAA,KAAAxI,OACA7F,QAAA,IAEAyZ,SAAA,CACApL,KAAA0F,QACA/T,SAAA,GAEAoH,QAAA,CACAiH,KAAA,CAAAvJ,MAAAvC,SAEAyX,OAAA,CACA3L,KAAA9L,QAEA0X,QAAA,GACAC,aAAA,CACA7L,KAAA2F,SACAhU,QAAA,OAGAoY,SAAA,CACAmB,aAAAA,GACA,IAAA7Q,EAAA,GACA,YAAA2F,MACA,gBACA,IAAA8L,EAAA,KAAAC,OAAA1R,MAAAuJ,YAAAoI,MAAApa,GAAAA,EAAAiG,IAAA,KAAA+T,UACA,GAAAK,EAAAA,EAAAC,SAAAJ,GAAA,CACA,IACAzR,EAAAyR,EAAA/D,UAAA,SAAAjO,KAAAqS,GAAAA,EAAAlU,MACA,OAAA8S,GAAA,CACA,OAAA1Q,EAAAxD,QAAAoV,EAAAA,EAAAC,SAAAJ,EAAA,oBACA,IACA,IAAAM,EAAAlY,OAAAmY,OAAAP,EAAA,oBAAAE,MAAAna,GAAA,UAAAA,EAAAmO,OACAoM,GAAA3V,MAAAC,QAAA0V,EAAAC,UACAhS,EAAA+R,EAAAC,OAEA,OAAAtB,GAAA,CAEA,CACA,MACA,oBACA1Q,EAAA,KAAA0R,OAAA1R,MAAAuJ,YACA,MACA,aACAvJ,EAAA,KAAA0R,OAAA1R,MAAAiS,KAAAA,KACA,MACA,gBACA,iBACAjS,EAAA,KAAA0R,OAAA1R,MAAAkS,MAAAA,MACA,MACA,gBACAlS,EAAA,KAAA0R,OAAA1R,MAAAmS,OAAAC,UACA,MACA,mBACApS,EAAA,KAAA0R,OAAA1R,MAAAqS,YAAAC,gBACA,MACA,sBACA,IAAA3b,EAAA4b,EAAA,OACAC,EAAA,GACA,QAAAC,KAAA9b,EAAA+b,aACAF,EAAAC,GAAA,CAAA9M,KAAA8M,GAEAzS,EAAAnG,OAAA8Y,OAAAH,EAAA7b,EAAAic,WACA,MACA,oBACA5S,EAAA,KAAA0R,OAAA1R,MAAAqS,YAAAQ,iBACA,MACA,mBACA7S,EAAA,KAAA0R,OAAA1R,MAAA8S,aACA,MACA,mBACA9S,EAAA,KAAA0R,OAAA1R,MAAA+S,WAAAC,eAAAC,YACA,MACA,kBACAjT,EAAAnG,OAAAqJ,KAAA,KAAAwO,OAAA1R,MAAAkT,aACA,MACA,0BACAlT,EAAA,KAAAuR,WAAA,KAAAG,OAAA1R,MAAAkT,YAAArZ,OAAAqJ,KAAA,KAAAwO,OAAA1R,MAAAkT,YAAA,KAAA3B,SAAA4B,UAAA,GACA,MAGA,yBAAA3B,cAAAxR,GAAA,kBAAAA,IAEAA,EADA4R,EAAAA,EAAAC,SAAA7R,GACAnG,OAAAuZ,YAAAvZ,OAAAwZ,QAAArT,GAAAsP,QAAA,EAAAvO,EAAAlD,KAAA,KAAA2T,aAAA3T,EAAAkD,MAGAf,EAAAsP,QAAA,CAAAzR,EAAAkD,IAAA,KAAAyQ,aAAA3T,EAAAkD,MAIA,IAAAoB,EAAA,GACA,YAAAwD,MACA,oBACA,OAAA3F,EAAAP,KAAAlI,GAAA,KAAAb,EAAAa,EAAAiG,MAAAsM,KAAA,KAAAwJ,aACA,aACA,OAAAtT,EAAAP,KAAArF,IAAA,CACAoD,GAAApD,EAAAoD,GACA+V,MAAA3B,EAAAA,EAAA4B,iBAAApZ,OACA0P,KAAA,KAAAwJ,aACA,sBACA,QAAA3N,KAAA3F,EAAA,CACA,IAAAsR,EAAAtR,EAAA2F,GACAxD,EAAAiB,KAAA,CACA5F,GAAAmI,EACA4N,MAAAjC,EAAAmC,OAAA7B,EAAAA,EAAA8B,eAAA/N,GACA9H,MAAAyT,GAEA,CACA,OAAAnP,EACA,gBACA,iBACA,OAAAnC,EAAAP,KAAA1H,GAAA,KAAArB,EAAAqB,EAAA4b,QAAA7J,MAAA,CAAA3S,EAAAa,IAAA4Z,EAAAA,EAAAgC,WAAAzc,EAAAqG,GAAAxF,EAAAwF,MACA,gBACA,QAAAuD,KAAAf,EACAmC,EAAAiB,KAAA,CACA5F,GAAA4H,OAAAyO,SAAA9S,EAAA,IACAwS,MAAAxS,EAAA,KAAAf,EAAAe,KAGA,OAAAoB,EACA,mBACA,oBACA,mBACA,QAAApB,KAAAf,EAAA,CACA,IAAAxC,EAAAuD,EAAA+S,cAEAP,EAAAvT,EAAAe,GAAA0S,MAEAF,EAIA/V,IAAA+V,EAAAO,gBACAP,EAAA,GAAAA,OAAA/V,KAJA+V,EAAA/V,EAMA2E,EAAAiB,KAAA,CAAA5F,KAAA+V,SACA,CACA,OAAApR,EAAA2H,KAAA,KAAAwJ,aACA,mBACA,OAAAtT,EAAAP,KAAA/H,IAAA,CACA8F,GAAA9F,EAAAkG,KACA2V,MAAA7b,EAAAkG,MAAAlG,EAAAqc,KAAA,yBAEA,WACA,IAAAC,GAAA,IAAApY,MAAAqY,cACAC,EAAA9X,MAAA+X,KAAA,CAAA3X,OAAA,OAAA5C,EAAAxC,IAAA,KAAAV,EAAAyG,OAAA6W,EAAA5c,MAEA,0BAAAyG,OAAA,KAAAA,MAAArB,OAAA,QAAA0X,EAAAE,WAAAtc,GAAAA,EAAA0F,KAAA,KAAAK,QAAA,CACA,IAAAwW,EAAA,KAAA3d,EAAA,KAAAmH,OACA,KAAAA,MAAAmW,EACAE,EAAAI,QAAAD,GAGAH,EAAA9Q,KAAA,KAAA1M,EAAA,KAAAmH,OAEA,CACA,OAAAqW,EACA,gBACA,kBACA,0BACA,OAAAlU,EAAAP,KAAA8U,GAAA,KAAA7d,EAAA6d,KACA,QACA,OAAA3C,EAAAA,EAAAC,SAAA,KAAAP,SAAA,KAAAA,OAAAkD,SACA,KAAAlD,OAAAmD,iBAAAhV,KAAA8U,GAAA,KAAA7d,EAAA6d,KAEAnY,MAAAC,QAAA,KAAAqC,SACA,KAAAA,QAAAe,KAAA8U,GACA3C,EAAAA,EAAAC,SAAA0C,GACAA,EAGA,KAAA7d,EAAA6d,KAKA,GAGA,EACAzG,WAAAA,GACA,6BAAAnI,IACA,EACAqL,aAAAA,GACA,YAAAJ,SAAA,0BACA,EACAM,cAAAA,GACA,oBAAAvL,KAAA,qDACA,EACAiL,QAAAA,GACA,0BAAAjL,IACA,EACAsL,QAAAA,GACA,IAAAyD,EAAA,sEACA,oBAAA/O,MAAA,SAAAkL,cAAArU,QAAAkY,EAAApV,SAAA,KAAAqG,KACA,EACAmL,SAAAA,GACA,YAAAF,UACAxU,MAAAC,QAAA,KAAA+U,WAAA,SAAAA,SAAA5U,OAGA,YAAA4U,QAEA,GAEAjP,IAAAA,GACA,OACAiP,SAAA,KACA5C,QAAA,EAEA,EACAsB,OAAAA,GACA,KAAA6E,UACA,EACA1F,MAAA,CACAtJ,IAAAA,GACA,KAAAgP,UACA,EACAvD,QAAAA,CAAAwD,GACA,IAAA/W,EACA,UAAA+W,EACA/W,EAAA,UAEA,QAAA+S,SACAxU,MAAAC,QAAAuY,KACAA,EAAA,CAAAA,IAEA/W,EAAA+W,EAAAnV,KAAAvH,GAAAA,EAAAsF,UAGA,YAAAmI,MACA,gBACA,IAAAkP,EAAAzP,OAAAyO,SAAAe,EAAApX,IACAK,EAAAuH,OAAA0P,MAAAD,GAAA,KAAAA,EACA,MACA,sBACAhX,EAAA+W,EAAA/W,MACA,MACA,WACAA,EAAAV,OAAAyX,EAAApX,IACA,MACA,QACAK,EAAA+W,EAAApX,GAGA,KAAAkO,MAAA,QAAA7N,EACA,EACA0T,OAAAA,GACA,YAAA5L,MACA,kBACA,0BACA,KAAAyL,SAAA,KACA,KAAA2D,iBACA,MACA,gBACA,KAAA3D,SAAA,KACA,KAAAuD,WACA,MAEA,GAEAzM,QAAA,IACA0J,EAAAA,EAAAoD,WAAA,2BACApD,EAAAA,EAAAoD,WAAA,4BAEAte,CAAAA,CAAA6d,GACA,OACA/W,GAAA+W,EACAhB,MAAAgB,EAEA,EACA,cAAAI,GACA,KAAAnG,QAAA,EACA,mBAAA7I,WACA,KAAAsP,gBAEA,mBAAAtP,YACA,KAAAuP,mBAAA,KAAA3D,SAEA,KAAA4D,gBACA,KAAA3G,QAAA,CACA,EACA,oBAAAuG,SACA,KAAAK,YAEA,IAAA3M,EAAA,KAAA4M,MAAAC,YAEA7M,EAAAsM,gBAAA3Y,MAAAC,QAAAoM,EAAA8M,kBAAA9M,EAAA8M,gBAAA/Y,QACAiM,EAAA+M,OAAA/M,EAAA8M,gBAAA,GAEA,EACAJ,aAAAA,GACA,IAAAtX,EAAA,0BAAAA,MAAA,KAAAyT,OAAAha,UAAA,KAAAuG,MACA,QAAA+S,UAAAxU,MAAAC,QAAAwB,GACA,KAAAuT,SAAA,KAAAP,cAAAvB,QAAApY,GAAA2G,EAAAyB,SAAApI,EAAAsG,UAEA,CACA,YAAAmI,MACA,mBACA,oBACA,mBACA,kBAAA9H,IACAA,EAAAA,EAAAiW,eAEA,MAEA,IAAA2B,EAAA,KAAA5E,cAAAc,MAAAza,GAAAA,EAAAsG,KAAAK,SACA6X,IAAAD,IACA,KAAArE,SAAAqE,EAEA,CACA,EACAnC,WAAAA,CAAAnc,EAAAa,GACA,OAAA4Z,EAAAA,EAAApB,6BAAArZ,EAAAoc,MAAAvb,EAAAub,MACA,EACApC,QAAAA,CAAAtT,GACA,KAAAuT,SAAA,KAAA1a,EAAAmH,EACA,IClViQ,I,eCS7P8N,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,wECpBjB,MAAMgK,EACpBlX,WAAAA,CAAYO,EAAK4W,GAAU,GAC1B9e,KAAKkI,IAAMA,EACXlI,KAAK8e,QAAUA,CAChB,CAEAzW,aAAAA,CAAc0W,GACb,MAAO,CACN7W,IAAKlI,KAAKkI,IACVC,OAAQ,CACPjF,EAAG6b,EAAIxW,MACPgB,OAAQ,OACRrF,MAAO,GACP,kBAAmB,KACnB8a,gBAAiBhf,KAAK8e,QAAU,EAAI,EACpCG,kBAAmB,MAGtB,CAEAxW,cAAAA,CAAesC,GACd,OAAuB,IAAnBA,EAAQrF,OACJ,GAEDqF,EACLyN,QAAOnW,GAAU,CAAC,WAAY,aAAc,UAAW,UAAW,QAAS,QAAS,YAAYmG,SAASnG,EAAOyS,SAChHnM,KAAItG,IAAU,CACduG,IAAKvG,EAAOuG,IACZG,IAAK1G,EAAO0G,IACZW,KAAMrH,EAAOsH,YACblI,QAAS,CACRqF,KAAMzE,EAAOuH,cAEdT,SAAU,CACTC,UAAW/G,EAAOuH,aAClBP,QAAShH,EAAOZ,QAChBqd,QAASzc,EAAOyc,YAGpB,ECnCD,SACA1N,QAAA,CACA8N,WAAAA,CAAAlJ,EAAA8I,GAAA,GACA,SAAAK,QAAAC,SACA,OAEA,MAAAxX,EAAA,CACA/D,SAAA,IAAAgb,EAAA,KAAAM,QAAAC,SAAAN,GACAhb,YAAA,iBACAK,UAAA,EACAC,gBAAA,GAEAgb,EAAA,IAAAC,IAAA,aAAAzX,GACAwX,EAAA/L,GAAA,iBAAA+F,IACA,GAAA0F,EACA9I,EAAAoD,EAAArK,OAAA5F,UAAA2V,QAAA1F,QAEA,GAAAA,EAAArK,MAAArF,KAAA,CACA,IAAAA,EAAA0P,EAAArK,MAAArF,KAAAf,KAAArI,GAAAiO,WAAAjO,KACAgf,EAAA,CACAC,KAAA7V,EAAA,GACA8V,KAAA9V,EAAA,GACA+V,MAAA/V,EAAA,GACAgW,MAAAhW,EAAA,IAEAsM,EAAAsJ,EAAAlG,EACA,MAEApD,EAAA,KAAAoD,EACA,IAEA,KAAAzQ,IAAAgX,WAAAP,EACA,ICpCqQ,I,ICAjQjN,EAAQ8B,E,WASRY,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,+CCpBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,GAAKJ,EAAI1L,KAAK,CAAC2L,EAAG,kBAAkB,CAACwH,IAAI,WAAWrH,MAAM,CAAC,IAAMJ,EAAIzJ,OAAO0J,EAAG,sBAAsB,CAACG,MAAM,CAAC,IAAMJ,EAAIzJ,OAAO0J,EAAG,cAAc,CAACG,MAAM,CAAC,KAAOJ,EAAIwN,KAAK,IAAMxN,EAAIzJ,QAAQ,EAC7Q,EACIsL,EAAkB,G,sHCmBtB,SACAnN,KAAA,gBACAuN,OAAA,CACAwL,EAAAA,EACAC,EAAAA,EACAC,EAAAA,GAEA9U,WAAA,CACA+U,YAAAA,EAAAA,GAEA/N,MAAA,CAIAlL,MAAA,CACA8H,KAAA,CAAA9L,OAAAuC,OACA9E,QAAAA,IAAA,MAEAyf,cAAA,CACApR,KAAA,CAAA9L,OAAAuC,OACA9E,QAAAA,IAAA,OAGA6K,IAAAA,GACA,OACA6U,YAAA,KACAC,OAAA,KAAAC,SAAA,KAAArZ,OAEA,EACA6R,SAAA,CACAyH,cAAAA,GACA,OAAA/a,MAAAC,QAAA,KAAAwB,MACA,EACAuZ,eAAAA,GACA,YAAAH,QACAxR,EAAAA,EAAAA,iBAAA,KAAAwR,OAAA,iBAAAxX,IAAA6F,UAAAC,iBAEA,IACA,EACA8R,SAAAA,GACA,SAAAN,cACA,YAEA,SAAAV,EAAA,KAAAC,EAAA,MAAAC,EAAA,MAAAC,GAAA,KAAAO,cACA,OACA,eACA,aACA,CACA,UACA,WACA,UACA,SACA,WAEA,CACA,CAAAV,EAAAE,GACA,CAAAF,EAAAG,GACA,CAAAF,EAAAE,GACA,CAAAF,EAAAC,GACA,CAAAF,EAAAE,KAIA,EACA/V,IAAAA,GACA,OAAAoR,EAAAA,EAAA0F,aAAA,KAAAL,OACA,EACAP,IAAAA,GACA,YAAAO,OAAA,uFACA,GAEA/O,QAAA,CACAqP,MAAAA,CAAArH,GACAA,EAAA+G,OACA,KAAAA,QAAAxR,EAAAA,EAAAA,iBAAAyK,EAAA+G,OAAA,KAAAxX,IAAA6F,UAAAC,gBAAA,aAGA,KAAA0R,OAAA,KAEA,KAAAvL,MAAA,aAAAyL,eAAA,KAAA3W,KAAA,KAAAyW,OACA,EACA,eAAAO,GACA,IAAAC,GAAA,IAAA7F,EAAAA,EAAA8F,oBAAA,KAAAlX,MAaA,SAXA,KAAAmX,UAAAF,EAAA,yBACA,KAAAG,cACA,KAAA5B,aAAAxV,IACA,IAAAA,EACA,OAEA,IAAAyW,EAAA,KAAAC,SAAA1W,GACAyW,GAAAxR,EAAAA,EAAAA,iBAAAwR,EAAA,iBAAAxX,IAAA6F,UAAAC,iBACA,KAAAyR,YAAAa,UAAAZ,GACA,KAAAa,QAAA,IAEA,KAAAf,cAAA,CACA,MAAAgB,EAAA,IAAAC,EAAAA,WAAA,CACAC,KAAA,IAAAC,EAAAA,EAAA,CAAAC,MAAA,cACAC,OAAA,IAAAC,EAAAA,EAAA,CAAAC,MAAA,EAAAH,MAAA,gBAEA,KAAAI,WAAA,KAAAlB,WAAA,qBAAAU,GAEA,IAAAd,EAAA,KAAAC,SAAA,KAAAH,eACAE,GAAAxR,EAAAA,EAAAA,iBAAAwR,EAAA,iBAAAxX,IAAA6F,UAAAC,iBACA,KAAA9F,IAAA6F,UAAAQ,IAAAmR,EAAA,KAAAuB,cAAA,GACA,CAEA,IAAAC,EAAAvI,IACA,SAAAa,SACA,SAGA,mBAAAb,EAAAvK,KAAA,CACA,SAAAsR,OAAA,CACA,IAAAyB,EAAA,KAAAjZ,IAAAkZ,UAAAlZ,KAAAmZ,GAAA,GAAAA,IACA3B,EAAA,KAAAxX,IAAA6F,UAAAuT,gBAAAH,GACA/I,EAAA,CACAsH,EAAA,GAAAA,EAAA,GACAA,EAAA,GAAAA,EAAA,IAEA6B,EAAA,CACA5I,EAAAtK,WAAA,GAAA+J,EAAA,GACAO,EAAAtK,WAAA,GAAA+J,EAAA,GACAO,EAAAtK,WAAA,GAAA+J,EAAA,GACAO,EAAAtK,WAAA,GAAA+J,EAAA,IAGA,OADA,KAAAqH,YAAAa,UAAAiB,IACA,CACA,EACAC,EAAAA,EAAAA,IAAA,KAAA3B,mBAAAlH,EAAAtK,cACA,KAAAoR,YAAAa,UAAA,MACA,KAAAb,YAAAgC,eAAAxS,YAAAyS,QACA,KAAAjC,YAAAkC,eAAA,KAEA,MACA,QAAAlC,YAAAmC,wBAAA,KAAAnC,YAAAoC,cAAAlJ,EAAAmJ,MAAAnJ,EAAAzQ,KACA,SAEA,UAGA,KAAAuX,YAAA,IAAAsC,EAAAA,EAAA,CACArC,OAAA,KAAAG,gBACAqB,YACAc,UAAAC,EAAAA,EAAAA,sBACAC,eAAA,KAGA,KAAA1I,UACA,KAAAiG,YAAA7M,GAAA,qBAAAoN,QAGA,KAAA9X,IAAAia,eAAA,KAAA1C,aACA,KAAAc,QACA,EACAA,MAAAA,GAEA,QAAAV,gBAAA,CACA,IAAAuC,EAAA,KAAAnB,cAAA,KAAAzH,SAAA,OACA,KAAAtR,IAAA6F,UAAAQ,IAAA,KAAAsR,gBAAAuC,EACA,CACA,ICtLqQ,I,eCQjQhO,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,gDCnBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAQD,EAAI0Q,MAAMpd,OAAS,EAAG2M,EAAG,MAAM,CAACE,YAAY,mCAAmCuC,MAAM,CAACiO,QAAS3Q,EAAI0Q,MAAMpd,OAAS,GAAG2N,GAAG,CAAC,MAAQjB,EAAI4Q,SAAS,CAAC5Q,EAAIiD,GAAGjD,EAAIkD,GAAGlD,EAAI6Q,YAAY7Q,EAAIoD,IACrP,EACIvB,EAAkB,G,WCKtB,SACAnN,KAAA,cACAuN,OAAA,CACA6O,EAAAA,GAEA7X,IAAAA,GACA,OACA/K,EAAA,EAEA,EACAsY,SAAA,CACAkK,KAAAA,GACA,OAAAxd,MAAAC,QAAA,KAAA+L,MACA,KAAAA,KAEA,uBAAAA,MAAA,KAAAA,KAAA5L,OAAA,EACA,MAAA4L,MAEA,EACA,EACA2R,OAAAA,GACA,gBAAAH,MAAApd,OACA,GAGA,KAAAod,MAAA,KAAAxiB,EAAA,KAAAgR,KAAA5L,OAEA,GAEAuM,MAAA,CACAX,KAAA,CACAA,KAAA,CACAjL,OACAf,OAEA9E,QAAA,KAGA4Q,QAAA,CACA4R,MAAAA,GACA,KAAA1iB,GACA,IChDmQ,I,eCQ/PuU,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,WACA,MAIF,QAAeY,EAAiB,O,6DCnBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,IAAM,EAAE,OAASJ,EAAI+Q,OAAO,MAAQ,cAAc,aAAe/Q,EAAIgR,iBAAiB,CAAC/Q,EAAG,mBAAmB,CAACG,MAAM,CAAC,MAAQJ,EAAIuI,WAAW,OAASvI,EAAIiR,mBAAmBhQ,GAAG,CAAC,MAAQjB,EAAIkR,qBAAqB,GAAGjR,EAAG,YAAY,CAACG,MAAM,CAAC,IAAM,EAAE,OAASJ,EAAI+Q,OAAO,MAAQ,iBAAiB,aAAeI,MAAQnR,EAAImH,MAAM7S,KAAK,CAAC2L,EAAG,wBAAwB,CAACG,MAAM,CAAC,MAAQJ,EAAImH,MAAM,eAAiBnH,EAAIoR,gBAAgBnQ,GAAG,CAAC,MAAQjB,EAAIqR,gBAAgB,GAAGpR,EAAG,YAAY,CAACG,MAAM,CAAC,IAAM,EAAE,OAASJ,EAAI+Q,OAAO,MAAQ,WAAW,aAAeI,IAA6B,OAAvBnR,EAAIsR,iBAA0B,CAACrR,EAAG,oBAAoB,CAACG,MAAM,CAAC,IAAMJ,EAAIuR,oBAAoB5N,MAAM,CAAChP,MAAOqL,EAAIsR,eAAgB1N,SAAS,SAAUC,GAAM7D,EAAIsR,eAAezN,CAAG,EAAEN,WAAW,qBAAqB,GAAGtD,EAAG,YAAY,CAACG,MAAM,CAAC,IAAM,EAAE,OAASJ,EAAI+Q,OAAO,MAAQ,oBAAoB,aAAeI,IAA8B,OAAxBnR,EAAIwR,kBAA2B,CAACvR,EAAG,aAAa,CAAC0D,MAAM,CAAChP,MAAOqL,EAAIwR,gBAAiB5N,SAAS,SAAUC,GAAM7D,EAAIwR,gBAAgB3N,CAAG,EAAEN,WAAW,sBAAsB,GAAGtD,EAAG,YAAY,CAACG,MAAM,CAAC,IAAM,EAAE,OAASJ,EAAI+Q,OAAO,MAAQ,uBAAuB,CAAC9Q,EAAG,gBAAgB,CAACG,MAAM,CAAC,WAAa,GAAG,KAAO,+FAA+FuD,MAAM,CAAChP,MAAOqL,EAAIyR,UAAW7N,SAAS,SAAUC,GAAM7D,EAAIyR,UAAU5N,CAAG,EAAEN,WAAW,gBAAgB,GAAGtD,EAAG,YAAY,CAACG,MAAM,CAAC,IAAM,EAAE,OAASJ,EAAI+Q,OAAO,MAAQ,cAAc,aAAeI,IAAqB,OAAfnR,EAAI7I,SAAkB,CAAC8I,EAAG,eAAe,CAACG,MAAM,CAAC,YAAc,SAAS,MAAQJ,EAAI/B,OAAOgD,GAAG,CAAC,eAAe,SAAS8B,GAAQ/C,EAAI/B,MAAM8E,CAAM,GAAGY,MAAM,CAAChP,MAAOqL,EAAI7I,OAAQyM,SAAS,SAAUC,GAAM7D,EAAI7I,OAAO0M,CAAG,EAAEN,WAAW,aAAa,GAAGtD,EAAG,YAAY,CAACG,MAAM,CAAC,IAAM,EAAE,OAASJ,EAAI+Q,OAAO,MAAQ,WAAW,CAAC9Q,EAAG,uBAAuB,CAACG,MAAM,CAAC,MAAQJ,EAAI0R,UAAUzQ,GAAG,CAAC,eAAe,SAAS8B,GAAQ/C,EAAI0R,SAAS3O,CAAM,GAAGY,MAAM,CAAChP,MAAOqL,EAAI7G,KAAMyK,SAAS,SAAUC,GAAM7D,EAAI7G,KAAK0K,CAAG,EAAEN,WAAW,WAAW,IAAI,EACjjE,EACI1B,EAAkB,G,4GCoCtB,MAAA8P,EAAA,oBACAC,EAAAA,CAAAlhB,EAAA,wBAAAA,KAAAihB,IAGAE,EAAA,CACAtgB,EAAA,UACAsC,EAAA,OACAH,EAAA,QACA6E,EAAA,SACAjH,EAAA,MAKAD,EAAA,MACAygB,GAAA,QACAC,GAAA,QACAC,GAAA,SACAC,GAAA,SACAC,GAAA,SACAC,GAAA,UAGA,GACAzd,KAAA,kBACAuN,OAAA,CACAmQ,EAAAA,GAEAvZ,WAAA,CACAwZ,kBAAA,aACAC,iBAAA,aACAC,aAAA,aACAC,qBAAA,aACAC,cAAA,aACAC,sBAAA,aACAC,WAAAA,EAAAA,YAEA1Z,IAAAA,GACA,OACAmY,eAAA,GACA7I,WAAA,KACAkJ,UAAA,GACAmB,SAAA,QACAC,KAAA,IACA1b,OAAA,KACAgQ,MAAA,GACAuK,SAAAE,IACAzY,KAAA,GACA8E,MAAA,KACAqT,eAAA,KACAC,mBAAA,KACAC,gBAAA,KAEA,EACAsB,WAAAA,GACA,KAAA7U,QAAA,KAAA8U,UAAAC,IAAA,gBAAAD,UAAAC,IAAA,4BACA,EACAxM,SAAA,IACAkC,EAAAA,EAAAuK,WAAA,qCAEAjU,QAAA,IACA0J,EAAAA,EAAAoD,WAAA,wBACAmF,iBAAAA,CAAA5iB,GACA,IAAAqa,EAAAA,EAAAC,SAAAta,EAAA,oBAEA,SAGA,IAAA6kB,EAAAviB,OAAAmY,OAAAza,EAAA,oBACA,GAAA6kB,EAAA5f,OAAA,EAEA,SAGA,IAAAuV,EAAAqK,EAAAzK,MAAAna,GAAA,UAAAA,EAAAmO,OACA,IAAAoM,GAAA3V,MAAAC,QAAA0V,EAAAC,SAAAD,EAAAC,OAAAxV,OAAA,EAEA,SAGA,IAAA6f,EAAAD,EAAA9M,QAAA9X,GAAA,aAAAA,EAAAmO,OACA,GAAA0W,EAAA7f,OAAA,EAEA,SAGA,IAAA8f,EAAAF,EAAA9M,QAAA9X,GAAA,YAAAA,EAAAmO,MAAA,UAAArG,SAAA9H,EAAA+kB,QACA,OAAAD,EAAA9f,OAEA,SAGA,GAAAjF,EAAAmW,YAAAnW,EAAAmW,UAAA,SAEA,SAGA,IAAA8O,EAAA,KAAAC,kBAAAllB,GACA,QAAAqa,EAAAA,EAAAjC,KAAA6M,GAAA,EAMA,EACApC,gBAAAA,CAAA5c,GACA,QAAAiU,aAAAjU,GAAA,WAAAkd,gBAAA,CACA,IAAAgC,EAAA,KAAAC,mBAAAnf,GACA,KAAAiU,aAAAjU,IACA,KAAAid,mBAAAiC,EAAAlC,gBAEA,KAAA/I,aAAAjU,GAAA,WAAAkd,kBACA,KAAAA,gBAAAgC,EAAAhC,gBAEA,CACA,KAAAjJ,WAAAjU,EACA,KAAAyc,OAAA2C,SACA,EACArC,WAAAA,CAAAlK,GACA,KAAAA,MAAAA,EACAA,EAAA7S,IAAA,KAAAod,SAAAiC,SAAAhC,KACA,KAAAD,SAAAE,EAAAzK,EAAA7S,KAEA,KAAAyc,OAAA2C,SACA,EACAE,aAAAA,GAEA,IAAAC,EAAA,KAAA1M,MAAA0M,QACAP,EAAA,GACAQ,EAAA,GACA,QAAA5lB,KAAA,KAAAiZ,MAAAmM,MAAA,CACA,IAAAS,EAAA,KAAA5M,MAAAmM,MAAAplB,GACA8lB,EAAA,KAAA5C,eAAA2C,GAAArf,KACA4e,EAAApZ,KAAA8Z,GACAH,EAAAA,EAAA3f,WAAA6f,EAAA,IAAA7lB,GACA4lB,EAAA5Z,KAAA,KAAA6Z,OAAAC,IACA,CAGA,MAAAllB,EAAA,IAAAmlB,EAAAA,QAAA,KAAAlB,WACA,IAAAmB,EAAAplB,EAAAqlB,gBAAA,KAAA5L,WAAA,KAAA+I,eAAA,KAAAE,gBAAA8B,GACAc,YAAA,0CAAAN,EAAA1Z,KAAA,SACA,QAAAqX,UAAA,CACA,IAAA4C,EAAAA,CAAApb,EAAA1G,EAAA+hB,IAAAA,EAAA,KAAA7C,WAAAxY,GACAib,EAAAplB,EAAAylB,iBAAAL,EAAAG,EAAA,KAAAxB,MACAuB,YAAA,oBAAA3C,wCACA,CAGA,GAFAyC,EAAAplB,EAAAylB,iBAAAL,EAAA,IAAAM,EAAAA,QAAAX,GAAA,KAAAjB,UACAwB,YAAA,oBAAAjN,MAAA7S,OAAA,KAAA6S,MAAAzC,gDAAA,KAAAyC,MAAA0M,WACA,KAAA5V,MAAA,CACA,IAAAwW,EAAAA,CAAA/jB,EAAA6B,EAAA+hB,IAAAA,EAAAI,mBAAAhkB,GAAA,WACAwjB,EAAAplB,EAAA6lB,MAAAT,EAAAO,GACAL,YAAA,6CACA,CAIA,OAHAF,EAAAplB,EAAA8lB,YAAAV,EAAA,KAAA/c,QACAid,YAAA,iBAAAjd,UACA+c,EAAAjkB,QAAA,EACAnB,EAAA+lB,QACA,EACAtB,iBAAAA,CAAAhL,GACA,IAAA+K,EAAA/K,GAAA/D,WAAA+D,GAAA/D,UAAA,SACA,GAAAtR,MAAAC,QAAAmgB,GAAA,CACA,IAAAlC,EAAA,GACA,MAAA0D,EAAAnkB,OAAAmY,OAAA+I,GACAkD,EAAApkB,OAAAqJ,KAAA6X,GACA,QAAAha,KAAAyb,EAAA,CACA,IAAA1K,EAAA0K,EAAAzb,GACA,IAAA+Q,EAAAlU,KACA,SAEA,IAAAxG,EAAA4mB,EAAApb,QAAAkP,EAAA,oBACA,IAAA1a,IACAkjB,EAAA2D,EAAA7mB,IAAA0a,EAEA,CACA,OAAAwI,CACA,CAEA,QAEA,EACA,oBAAAJ,GACA,eAAAzI,WACA,UAAAjW,MAAA,8BAIA,IAAA0iB,EADA,KAAA5D,eAAA,GAEA,IACA4D,QAAA,KAAAhJ,mBAAA,KAAAzD,WACA,OAAAf,GAEA,MADA7L,QAAA6L,MAAAA,GACA,IAAAlV,MAAA,iEACA,CAEA,IAAAghB,EAAA,KAAAC,kBAAAyB,GACA,OAAAtM,EAAAA,EAAAjC,KAAA6M,GACA,UAAAhhB,MAAA,gGAOA,GAJA,KAAA8e,eAAAkC,EAIA5K,EAAAA,EAAAC,SAAAqM,EAAA,qBACA,IAAA9B,EAAAviB,OAAAmY,OAAAkM,EAAA,oBACAnM,EAAAqK,EAAAzK,MAAAna,GAAA,UAAAA,EAAAmO,OACAoM,GAAAA,EAAAnU,OACA,KAAAke,SAAA/J,EAAAnU,MAEA,IAAAugB,EAAA/B,EAAAzK,MAAAna,GAAA,aAAAA,EAAAmO,OACAwY,GAAAA,EAAAvgB,OACA,KAAAme,KAAAoC,EAAAvgB,KAEA,CAEA,QACA,EACA,YAAAwgB,GACA,KAAA1S,MAAA,SACA2S,QAAA,KAAAvB,gBACAza,KAAA,KAAAA,KACAic,YAAA,CACA7K,MAAA,KAAAmH,WAGA,ICxQuQ,I,eCOnQjP,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,4DClBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAQD,EAAIqV,OAAQpV,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACH,EAAIuB,GAAG,UAAU,KAAK,CAAC,OAASvB,EAAIqV,UAAU,GAAGrV,EAAIoD,IACpL,EACIvB,EAAkB,GCKtB,SACAnN,KAAA,YACAmL,MAAA,CACAkR,OAAA,CACAtU,KAAA9L,OACA2kB,UAAA,GAEAC,IAAA,CACA9Y,KAAAP,OACAoZ,UAAA,GAEA/K,MAAA,CACA9N,KAAAxI,OACA7F,QAAA,IAMA+iB,aAAA,CACA1U,KAAA2F,UAMAoT,YAAA,CACA/Y,KAAA2F,WAGAnJ,IAAAA,GACA,OACAoc,QAAA,EACAI,gBAAA,KACArR,SAAA,EAEA,EACAxF,OAAAA,GACA,KAAAmS,OAAA2E,OAAA,UAAAH,IACA,EACAI,aAAAA,GACA,KAAA5E,OAAA6E,UAAA,KACA,GCjD0Q,I,eCOtQnT,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,6DClBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,IAAI,CAACD,EAAIiD,GAAG,4IAA4IhD,EAAG,gBAAgB,CAACE,YAAY,MAAMC,MAAM,CAAC,KAAOJ,EAAI6V,QAAQ,MAAQ7V,EAAIrL,MAAM,cAAgBqL,EAAI8V,KAAK7U,GAAG,CAAC,MAAQjB,EAAIqO,WAAW,EAC/Y,EACIxM,EAAkB,G,UCQtB,SACAnN,KAAA,oBACAmE,WAAA,CACAkd,cAAAA,EAAAA,GAEAlW,MAAA,CACAlL,MAAA,CACA8H,KAAA9L,OACAvC,QAAA,MAEA0nB,IAAA,CACArZ,KAAA9L,OACAvC,QAAA,OAGA6K,IAAAA,GACA,OACA4c,SAAA,EAEA,EACAjX,OAAAA,GACApM,OAAA2C,YAAA,SAAA0gB,SAAA,OACA,EACA7W,QAAA,CACAqP,MAAAA,CAAA/W,GACA,KAAAkL,MAAA,QAAAlL,EACA,ICpCkR,I,eCQ9QmL,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,WACA,MAIF,QAAeY,EAAiB,O,4DCnBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,IAAI,CAACD,EAAIiD,GAAG,uEAAuEhD,EAAG,cAAc,CAACG,MAAM,CAAC,QAAU,GAAG,YAAcJ,EAAIgW,oBAAoB,cAAe,GAAO7U,YAAYnB,EAAIoB,GAAG,CAAC,CAACvJ,IAAI,UAAUwJ,GAAG,UAAS,KAAEM,IAAQ,MAAO,CAAC1B,EAAG,MAAM,CAACyC,MAAM,CAACtE,SAAS,EAAM8J,SAAUvG,EAAKrN,IAAM0L,EAAIrL,QAAQ,CAACsL,EAAG,MAAM,CAACE,YAAY,UAAUc,GAAG,CAAC,MAAQ,SAAS8B,GAAQ,OAAO/C,EAAIqO,OAAO1M,EAAKrN,GAAG,IAAI,CAAC2L,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQuB,EAAKrN,KAAK,CAAC0L,EAAIiD,GAAGjD,EAAIkD,GAAGvB,EAAKrN,OAAQqN,EAAK4I,MAAOtK,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQuB,EAAK4I,QAAQ,CAACvK,EAAIiD,GAAGjD,EAAIkD,GAAGvB,EAAK4I,UAAUvK,EAAIoD,OAAOnD,EAAG,SAAS,CAACE,YAAY,SAASC,MAAM,CAAC,KAAO,SAAS,MAAQ,2BAA2Ba,GAAG,CAAC,MAAQ,SAAS8B,GAAQ,OAAO/C,EAAIiW,mBAAmBtU,EAAKrN,GAAG,IAAI,CAAC2L,EAAG,IAAI,CAACE,YAAY,oBAAoB,QAAQ,EAC93B,EACI0B,EAAkB,G,gCCoBtB,SACAnN,KAAA,mBACAuN,OAAA,CACAiU,EAAAA,GAEArd,WAAA,CACAsd,YAAAA,EAAAA,GAEAtW,MAAA,CACAlL,MAAA,CACA8H,KAAAxI,OACA7F,QAAA,MAEAgY,OAAA,CACA3J,KAAA2F,SACAhU,QAAA,OAGAoY,SAAA,IACAkC,EAAAA,EAAA0N,SAAA,iBACAJ,mBAAAA,GACA,+BAAA5P,OACA,KAAA/F,YAAA+F,OAAA,KAAAA,QAGA,KAAA/F,WAEA,GAEArB,QAAA,IACA0J,EAAAA,EAAAoD,WAAA,wBACA,YAAAuC,CAAA/Z,GACA,KAAAkO,MAAA,QAAAlO,EACA,EACA2hB,kBAAAA,CAAA3hB,GACA,KAAA+hB,UAAA,iBAAA/hB,EACA,IC1DiR,I,eCQ7QmO,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,6DCnBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACF,EAAG,IAAI,CAACD,EAAIiD,GAAG,iEAAiEhD,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,gBAAgB,MAAQJ,EAAIrL,MAAM,aAAeqL,EAAIsW,eAAerV,GAAG,CAAC,MAAQjB,EAAIuW,aAA4B,OAAdvW,EAAI/B,MAAgBgC,EAAG,IAAI,CAACA,EAAG,QAAQ,CAACoD,WAAW,CAAC,CAAC3O,KAAK,QAAQ4O,QAAQ,UAAU3O,MAAOqL,EAAIwW,SAAUjT,WAAW,aAAanD,MAAM,CAAC,KAAO,WAAW,GAAK,SAAS0D,SAAS,CAAC,QAAU5Q,MAAMC,QAAQ6M,EAAIwW,UAAUxW,EAAI+D,GAAG/D,EAAIwW,SAAS,OAAO,EAAGxW,EAAIwW,UAAWvV,GAAG,CAAC,OAAS,SAAS8B,GAAQ,IAAIkB,EAAIjE,EAAIwW,SAAStS,EAAKnB,EAAO3H,OAAO+I,IAAID,EAAKE,QAAuB,GAAGlR,MAAMC,QAAQ8Q,GAAK,CAAC,IAAIJ,EAAI,KAAKQ,EAAIrE,EAAI+D,GAAGE,EAAIJ,GAAQK,EAAKE,QAASC,EAAI,IAAIrE,EAAIwW,SAASvS,EAAIK,OAAO,CAACT,KAAYQ,GAAK,IAAIrE,EAAIwW,SAASvS,EAAIM,MAAM,EAAEF,GAAKC,OAAOL,EAAIM,MAAMF,EAAI,IAAK,MAAMrE,EAAIwW,SAASrS,CAAI,KAAKnE,EAAIiD,GAAG,MAAMhD,EAAG,QAAQ,CAACG,MAAM,CAAC,IAAM,UAAU,CAACJ,EAAIiD,GAAG,wFAAwFjD,EAAIoD,MAAM,EACxhC,EACIvB,EAAkB,G,WCYtB,SACAnN,KAAA,eACAmE,WAAA,CACA4d,UAAAA,EAAAA,YAEA5W,MAAA,CACAlL,MAAA,CACA8H,KAAAxI,OACA7F,QAAA,MAEA6P,MAAA,CACAxB,KAAA0F,QACA/T,QAAA,MAEAsoB,YAAA,CACAja,KAAAxI,OACA7F,QAAA,OAGAoY,SAAA,CACAgQ,SAAA,CACAG,GAAAA,GACA,YAAA1Y,KACA,EACA2Y,GAAAA,CAAAjiB,GACA,KAAA6N,MAAA,eAAA7N,EACA,GAEA2hB,aAAAA,GACA,YAAAI,YAGAvf,IAAAjE,MAAAC,QAAAgE,EAAA0f,iBAAA,IAAA1f,EAAA0f,eAAAvjB,QAAA6D,EAAA0f,eAAAzgB,SAAA,KAAAsgB,aAFA,IAGA,GAEA1X,QAAA,CACAuX,SAAAA,CAAApf,GACA,KAAAqf,SAAA,wCAAApgB,SAAAe,EAAAjB,eACA,KAAAsM,MAAA,QAAArL,EACA,ICrD6Q,I,eCOzQsL,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,6DClBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAAEH,EAAI8W,kBAAoB9W,EAAI+W,cAAgB/W,EAAIgX,cAAe,CAAC/W,EAAG,IAAI,CAACD,EAAIiD,GAAG,4DAA4DhD,EAAG,KAAK,CAACE,YAAY,QAAQ,CAAEH,EAAI+W,aAAc9W,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACoD,WAAW,CAAC,CAAC3O,KAAK,QAAQ4O,QAAQ,UAAU3O,MAAOqL,EAAI7G,KAAMoK,WAAW,SAASnD,MAAM,CAAC,KAAO,QAAQ,GAAK,MAAM,MAAQ,OAAO0D,SAAS,CAAC,QAAU9D,EAAIgE,GAAGhE,EAAI7G,KAAK,QAAQ8H,GAAG,CAAC,OAAS,SAAS8B,GAAQ/C,EAAI7G,KAAK,KAAK,KAAK8G,EAAG,QAAQ,CAACG,MAAM,CAAC,IAAM,QAAQ,CAACH,EAAG,SAAS,CAACD,EAAIiD,GAAG,gBAAgBhD,EAAG,MAAMD,EAAIiD,GAAG,sFAAsFhD,EAAG,MAAMD,EAAIiD,GAAG,6DAA6DhD,EAAG,QAAQ,CAACoD,WAAW,CAAC,CAAC3O,KAAK,QAAQ4O,QAAQ,UAAU3O,MAAOqL,EAAIiX,WAAY1T,WAAW,eAAekE,IAAI,QAAQrH,MAAM,CAAC,KAAO,QAAQ0D,SAAS,CAAC,MAAS9D,EAAIiX,YAAahW,GAAG,CAAC,MAAQ,SAAS8B,GAAWA,EAAO3H,OAAO8b,YAAiBlX,EAAIiX,WAAWlU,EAAO3H,OAAOzG,MAAK,SAASqL,EAAIoD,KAAMpD,EAAIgX,aAAc/W,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACoD,WAAW,CAAC,CAAC3O,KAAK,QAAQ4O,QAAQ,UAAU3O,MAAOqL,EAAI7G,KAAMoK,WAAW,SAASnD,MAAM,CAAC,KAAO,QAAQ,GAAK,OAAO,MAAQ,QAAQ0D,SAAS,CAAC,QAAU9D,EAAIgE,GAAGhE,EAAI7G,KAAK,SAAS8H,GAAG,CAAC,OAAS,SAAS8B,GAAQ/C,EAAI7G,KAAK,MAAM,KAAK6G,EAAImX,GAAG,KAAKnX,EAAIoD,KAAMpD,EAAIgX,aAAc/W,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACoD,WAAW,CAAC,CAAC3O,KAAK,QAAQ4O,QAAQ,UAAU3O,MAAOqL,EAAI7G,KAAMoK,WAAW,SAASnD,MAAM,CAAC,KAAO,QAAQ,GAAK,QAAQ,MAAQ,IAAI0D,SAAS,CAAC,QAAU9D,EAAIgE,GAAGhE,EAAI7G,KAAK,KAAK8H,GAAG,CAAC,OAAS,SAAS8B,GAAQ/C,EAAI7G,KAAK,EAAE,KAAK6G,EAAImX,GAAG,KAAKnX,EAAIoD,QAAQnD,EAAG,IAAI,CAACD,EAAIiD,GAAG,mEAAmEhD,EAAG,MAAOD,EAAI8W,gBAAiB,CAAC9W,EAAIiD,GAAG,sDAAsD,CAACjD,EAAIiD,GAAG,oEAAoEjD,EAAIiD,GAAG,wEAAwE,IAAI,EACx8D,EACIpB,EAAkB,CAAC,WAAY,IAAI7B,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,QAAQ,CAACG,MAAM,CAAC,IAAM,SAAS,CAACH,EAAG,SAAS,CAACD,EAAIiD,GAAG,4BAA4BhD,EAAG,MAAMD,EAAIiD,GAAG,sDAC1K,EAAE,WAAY,IAAIjD,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,QAAQ,CAACG,MAAM,CAAC,IAAM,UAAU,CAACH,EAAG,SAAS,CAACD,EAAIiD,GAAG,mBAAmBhD,EAAG,MAAMD,EAAIiD,GAAG,oHAC7I,G,UCuCA,SACAvO,KAAA,uBACAmL,MAAA,CACAlL,MAAA,CACA8H,KAAAxI,OACA7F,QAAA,MAEAmc,MAAA,CACA9N,KAAAxI,OACA7F,QAAA,KAGA6K,IAAAA,GACA,OACAE,KAAA,KAAAxE,MAEA,EACA6R,SAAA,IACAkC,EAAAA,EAAA0N,SAAA,wBACA1N,EAAAA,EAAAuK,WAAA,cACAgE,WAAA,CACAN,GAAAA,GACA,YAAApM,KACA,EACAqM,GAAAA,CAAAjiB,GACA,KAAA6N,MAAA,eAAA7N,EACA,GAEAoiB,YAAAA,GACA,YAAAK,SAAA,mBAAAA,SAAA,WACA,EACAJ,YAAAA,GACA,YAAAI,SAAA,gBACA,GAEArR,MAAA,CACApR,KAAAA,GACA,KAAAwE,KAAA,KAAAxE,KACA,EACAwE,IAAAA,GACA,KAAAqJ,MAAA,aAAArJ,MACA,aAAAA,MACA,KAAAgT,MAAA5B,MAAA+B,QAEA,EACA/B,KAAAA,GACA,KAAA/H,MAAA,oBAAA+H,MACA,IC1FqR,I,eCQjR9H,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,WACA,MAIF,QAAeY,EAAiB,O,6DCnBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,IAAI,CAACD,EAAIiD,GAAGjD,EAAIkD,GAAGlD,EAAId,SAASe,EAAG,YAAY,CAACG,MAAM,CAAC,QAAUJ,EAAIxK,QAAQ,MAAQwK,EAAIrL,OAAOsM,GAAG,CAAC,MAAQjS,GAAKgR,EAAIwC,MAAM,QAASxT,OAAO,EAC5P,EACI6S,EAAkB,G,qBCStB,SACAnN,KAAA,gBACAmE,WAAA,CACA4d,UAAAA,EAAAA,YAEA5W,MAAA,CACAX,KAAA,CACAzC,KAAAxI,OACA7F,QAAA,2CAEAipB,WAAA,CACA5a,KAAA0F,QACA/T,SAAA,GAEAuG,MAAA,CACA8H,KAAAxI,OACA7F,QAAA,SAGAoY,SAAA,IACAkC,EAAAA,EAAAuK,WAAA,eACAzd,OAAAA,GACA,IAAA8hB,EAAA,KAAAvE,UACAwE,MACAnR,QAAA5X,IACA,GAAA0E,MAAAC,QAAA3E,EAAAgpB,aAAAhpB,EAAAgpB,WAAAphB,SAAA,YAAAlD,MAAAC,QAAA3E,EAAAipB,aAAA,kBAAAjpB,EAAA8F,GAAA,CACA,IAAAyB,EAAAvH,EAAAipB,WAAArR,QAAAsR,IAAA,IAAAA,EAAAC,WACA,WAAA5hB,EAAAzC,QAAA,SAAAyC,EAAA,GAAArB,IACA,CACA,YAEA6B,KAAA/H,IAAA,CAAA8F,GAAA9F,EAAA8F,GAAA+V,MAAA,GAAA7b,EAAA8F,QAAA9F,EAAAkW,cAEA,OADA4S,EAAAlM,QAAA,CAAA9W,GAAA,GAAA+V,MAAA,iBACAiN,CACA,IC7C8Q,I,eCO1Q7U,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,6DClBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,IAAI,CAACD,EAAIiD,GAAG,2DAA4DjD,EAAI4X,QAAQtkB,OAAS,EAAG2M,EAAG,iBAAiB,CAACG,MAAM,CAAC,QAAU,GAAG,KAAOJ,EAAI4X,QAAQ,cAAe,EAAM,aAAe,IAAIzW,YAAYnB,EAAIoB,GAAG,CAAC,CAACvJ,IAAI,UAAUwJ,GAAG,UAAS,KAAEM,IAAQ,MAAO,CAAC1B,EAAG,MAAM,CAACyC,MAAM,CAACtE,SAAS,EAAM8J,SAAUvG,EAAKrN,IAAM0L,EAAIrL,MAAML,KAAK,CAAC2L,EAAG,MAAM,CAACE,YAAY,UAAUc,GAAG,CAAC,MAAQ,SAAS8B,GAAQ,OAAO/C,EAAIqO,OAAO1M,EAAK,IAAI,CAAC1B,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQuB,EAAKrN,KAAK,CAAC0L,EAAIiD,GAAGjD,EAAIkD,GAAGvB,EAAK+C,YAAYzE,EAAG,KAAK,CAACE,YAAY,uBAAuBH,EAAIyE,GAAI9C,EAAKyD,UAAU,SAASC,EAAQnX,GAAG,OAAO+R,EAAG,KAAK,CAACpI,IAAIwN,EAAQ3C,MAAM,CAACmV,OAAO,EAAMC,OAAQ5pB,EAAE,GAAKyT,EAAKyD,SAAS9R,OAAQ,CAAC+R,GAAUnX,EAAE,GAAKyT,EAAKyD,SAAS9R,SAAS,CAAC0M,EAAIiD,GAAGjD,EAAIkD,GAAGmC,KAAW,IAAG,KAAKpF,EAAG,OAAO,CAACD,EAAIiD,GAAGjD,EAAIkD,GAAGvB,EAAKkS,cAAc5T,EAAG,SAAS,CAACE,YAAY,SAASC,MAAM,CAAC,KAAO,SAAS,MAAQ,wCAAwCa,GAAG,CAAC,MAAQ,SAAS8B,GAAQ,OAAO/C,EAAI4E,YAAYjD,EAAK,IAAI,CAAC1B,EAAG,IAAI,CAACE,YAAY,oBAAoB,IAAI,MAAK,EAAM,aAAaH,EAAIoD,MAAM,EACnpC,EACIvB,EAAkB,G,sBCwBtB,MAAAkW,EAAA,CACAppB,EAAA,kCACAsC,EAAA,4DACA+mB,GAAA,oEACAC,GAAA,oEACAC,KAAA,yBACAC,KAAA,yBACAC,MAAA,wDACAC,KAAA,wCACAC,MAAA,sCACAC,MAAA,sCACAC,IAAA,kBACAC,IAAA,sBACAC,IAAA,sCACAtoB,EAAA,0CACAuoB,QAAA,0CACAC,QAAA,0CACAC,QAAA,kCAGA,GACAnkB,KAAA,wBACAuN,OAAA,CACAiU,EAAAA,GAEArd,WAAA,CACAmJ,eAAAA,EAAAA,YAEAnC,MAAA,CACAlL,MAAA,CACA8H,KAAA9L,OACAvC,QAAAA,KAAA,KAEAgjB,eAAA,CACA3U,KAAA9L,OACA2kB,UAAA,IAGArc,IAAAA,GACA,OACA2e,QAAA,GAEA,EACA,aAAAhR,GACA,cAAAkS,EAAA,QAAAlB,SAAA,qCACAmB,EAAApoB,OAAAqJ,KAAA,KAAAoX,gBACA4H,EAAAroB,OAAAqJ,KAAA+d,GAAA3d,KAAA,KACA6e,EAAA,IAAAjkB,OAAA,IAAAgkB,KAAA,KACA,QAAA7R,KAAAyQ,EAAA,CACA,MAAAtE,EAAAnM,EAAA,GACA+R,EAAA5F,EAAAlN,QAAAzR,GAAAokB,EAAA3iB,SAAAzB,KACA,GAAAukB,EAAA5lB,QAAAggB,EAAAhgB,OACA,SAGA,MAAAugB,EAAA1M,EAAA,GACAgS,EAAAjmB,MAAA+X,KAAA4I,EAAAuF,SAAAH,IACA,GAAAE,EAAA7lB,OAAA,EAEA,SAGA,IAAA+lB,EAAAlS,EAAA,GACAkS,EAAA/lB,OAAA,IAAA+lB,EAAAjjB,SAAA,SACAijB,EAAA,mBAAAA,GAGA,KAAAzB,QAAA1d,KAAA,CACA5F,GAAA6S,EAAA,GACAzC,QAAAyC,EAAA,GACA/B,SAAA,IAAA+B,EAAA,GAAA2R,EAAA3R,EAAA,KACAmM,QACAO,UACAwF,OAEA,CACA,EACAra,QAAA,CACA4F,WAAAA,CAAAjD,GACAnP,OAAA8mB,KAAA3X,EAAA0X,IACA,EACA,YAAAhL,CAAA1M,GACA,KAAAa,MAAA,QAAAb,EACA,IC7GsR,I,eCQlRc,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,6DCnBhC,IAAI1C,EAAS,WAAkB,IAAIC,EAAIpS,KAAKqS,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,IAAI,CAACD,EAAIiD,GAAG,qEAAqEhD,EAAG,iBAAiB,CAACG,MAAM,CAAC,KAAO,oBAAoB,aAAe,OAAO,MAAQJ,EAAIrL,OAAOsM,GAAG,CAAC,MAAQjS,GAAKgR,EAAIwC,MAAM,QAASxT,OAAO,EAC7U,EACI6S,EAAkB,G,WCQtB,SACAnN,KAAA,aACAmE,WAAA,CACA0gB,eAAAA,EAAAA,YAEA1Z,MAAA,CACAlL,MAAA,CACA8H,KAAAvJ,MACA9E,QAAA,QClB2Q,I,eCOvQqU,GAAY,OACd,EACA1C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAeY,EAAiB,O,gGCjBzB,MAAMiH,EAAYhB,EAAAA,EAAM8Q,gBAAgBnQ,EAAQ,QAAyDoQ,YACnGjQ,EAAe,CAC3B,SACA,UACA,SACA,UACA,QACA,S,8DCND,SACC3Q,WAAY,CACX6gB,UAASA,EAAAA,YAEV7Z,MAAO,CACNkR,OAAQ,CACPtU,KAAM9L,OACN2kB,UAAU,GAEX9f,QAAS,CACRiH,KAAM9L,OACNvC,QAASA,KAAA,CAAS,KAGpBwY,OAAAA,GACC,IAAI,IAAI/O,KAAOjK,KAAK4H,QACnB5H,KAAKiK,GAAOjK,KAAK4H,QAAQqC,EAE3B,E,iMCyBD,MAAM8hB,EAAkB,CAMtBC,cAAe,iBAQV,MAAMC,UAAoB,KAI/B,WAAAtkB,CAAYwY,GACV5P,MAAMwb,EAAgBC,eAOtBhsB,KAAKmgB,OAASA,CAChB,EAsBF,MAAM+L,UAAe,IAInB,WAAAvkB,CAAYC,GACVA,EAAUA,GAAW,CAAC,EAEtB2I,MAAoD,GAKpDvQ,KAAKqT,GAKLrT,KAAKmsB,KAKLnsB,KAAKosB,GAOLpsB,KAAKqsB,WAAazkB,EAAQ+Z,UAAY/Z,EAAQ+Z,UAAY,KAO1D3hB,KAAKssB,QAAU,KAOftsB,KAAKusB,gBAAkB,KAOvBvsB,KAAKwsB,qBACwB5N,IAA3BhX,EAAQ+a,eAA+B/a,EAAQ+a,eAAiB,GAOlE3iB,KAAKysB,kBAAmB,EAOxBzsB,KAAK0sB,eAAiB,KAOtB1sB,KAAKoiB,eAAiB,KAEjBxa,IACHA,EAAU,CAAC,GAQb5H,KAAK2sB,eAAiB,IAAI,aAAY,CACpC7f,OAAQ,IAAI,aAAa,CACvB8f,iBAAiB,EACjBC,QAASjlB,EAAQilB,QAEnB5L,MAAOrZ,EAAQ6a,SACX7a,EAAQ6a,SACRqK,IACJC,sBAAsB,EACtBC,wBAAwB,IAQ1BhtB,KAAKkiB,eAAiB,IAAI,aAAY,CACpCpV,OAAQ,IAAI,aAAa,CACvB8f,iBAAiB,EACjBC,QAASjlB,EAAQilB,QAEnB5L,MAAOrZ,EAAQqlB,aACXrlB,EAAQqlB,aACRC,IACJH,sBAAsB,EACtBC,wBAAwB,IAGtBplB,EAAQuY,QACVngB,KAAK+gB,UAAUnZ,EAAQuY,OAE3B,CAQA,aAAAmC,CAAcC,EAAO5Z,GACnB,MAAMwkB,EAAkBxkB,EAAIykB,+BAA+B7K,GACrD8K,EAAiB,SAAUhtB,EAAGa,GAClC,OACE,QAAyBisB,EAAiB9sB,IAC1C,QAAyB8sB,EAAiBjsB,EAE9C,EACMif,EAASngB,KAAKstB,oBACpB,GAAInN,EAAQ,CAEV,MAAMoN,EAAWC,EAAYrN,GAC7BoN,EAASva,KAAKqa,GACd,MAAMI,EAAiBF,EAAS,GAEhC,IAAIG,GAAS,QAAiBP,EAAiBM,GAC/C,MAAME,EAAchlB,EAAIilB,+BAA+BF,GAGvD,IAAI,QAAmBnL,EAAOoL,IAAgB3tB,KAAKwsB,gBAAiB,CAElE,MAAMqB,EAASllB,EAAIilB,+BAA+BH,EAAe,IAC3DK,EAASnlB,EAAIilB,+BAA+BH,EAAe,IAC3DM,GAAe,QAA0BJ,EAAaE,GACtDG,GAAe,QAA0BL,EAAaG,GACtDG,EAAOtiB,KAAKuiB,KAAKviB,KAAKwiB,IAAIJ,EAAcC,IAM9C,OALAhuB,KAAKysB,iBAAmBwB,GAAQjuB,KAAKwsB,gBACjCxsB,KAAKysB,mBACPiB,EACEK,EAAeC,EAAeP,EAAe,GAAKA,EAAe,IAE9DC,CACT,CACF,CACA,OAAO,IACT,CAMA,kBAAAU,CAAmBC,GACjB,MAAM9L,EAAQ8L,EAAgB9L,MACxB5Z,EAAM0lB,EAAgB1lB,IAE5B,IAAI+kB,EAAS1tB,KAAKsiB,cAAcC,EAAO5Z,GAClC+kB,IACHA,EAAS/kB,EAAIykB,+BAA+B7K,IAE9CviB,KAAKsuB,8BAA8BZ,EACrC,CAOA,4BAAAa,CAA6BpO,GAC3B,IAAIqO,EAAgBxuB,KAAK0sB,eAiBzB,OAfK8B,EASErO,EAGHqO,EAAcC,aAAY,QAAkBtO,IAF5CqO,EAAcC,iBAAY7P,IAN1B4P,EAHGrO,EAGa,IAAI,cAAQ,QAAkBA,IAF9B,IAAI,aAAQ,CAAC,GAI/BngB,KAAK0sB,eAAiB8B,EACtBxuB,KAAK2sB,eAAejd,YAAYC,WAAW6e,IAQtCA,CACT,CAOA,6BAAAF,CAA8BZ,GAC5B,IAAIgB,EAAgB1uB,KAAKoiB,eACzB,GAAKsM,EAIE,CACL,MAAM7lB,EAAW6lB,EAAcC,cAC/B9lB,EAAS+lB,eAAelB,EAC1B,MANEgB,EAAgB,IAAI,aAAQ,IAAI,aAAMhB,IACtC1tB,KAAKoiB,eAAiBsM,EACtB1uB,KAAKkiB,eAAexS,YAAYC,WAAW+e,GAK7C,OAAOA,CACT,CAMA,WAAA1e,CAAYqe,GACV,OAAKA,EAAgBQ,gBAAkB7uB,KAAKqsB,WAAWgC,KAKrDA,EAAgBxf,MAAQ,IAAoBigB,aAC3C9uB,KAAKqiB,wBAENriB,KAAKouB,mBAAmBC,GAG1B9d,MAAMP,YAAYqe,IAEX,EACT,CAOA,eAAAU,CAAgBV,GACd,MAAM9L,EAAQ8L,EAAgB9L,MACxB5Z,EAAM0lB,EAAgB1lB,IAEtBwX,EAASngB,KAAKstB,oBACpB,IAAII,EAAS1tB,KAAKsiB,cAAcC,EAAO5Z,GAGvC,MAAMqmB,EAAmB,SAAUvkB,GACjC,IAAIwkB,EAAK,KACLC,EAAK,KAWT,OAVIzkB,EAAM,IAAM0V,EAAO,GACrB8O,EAAK9O,EAAO,GACH1V,EAAM,IAAM0V,EAAO,KAC5B8O,EAAK9O,EAAO,IAEV1V,EAAM,IAAM0V,EAAO,GACrB+O,EAAK/O,EAAO,GACH1V,EAAM,IAAM0V,EAAO,KAC5B+O,EAAK/O,EAAO,IAEH,OAAP8O,GAAsB,OAAPC,EACV,CAACD,EAAIC,GAEP,IACT,EACA,GAAIxB,GAAUvN,EAAQ,CACpB,MAAMrd,EACJ4qB,EAAO,IAAMvN,EAAO,IAAMuN,EAAO,IAAMvN,EAAO,GAAKuN,EAAO,GAAK,KAC3D1sB,EACJ0sB,EAAO,IAAMvN,EAAO,IAAMuN,EAAO,IAAMvN,EAAO,GAAKuN,EAAO,GAAK,KAGvD,OAAN5qB,GAAoB,OAAN9B,EAChBhB,KAAKusB,gBAAkB4C,EAAgBH,EAAiBtB,IAEzC,OAAN5qB,EACT9C,KAAKusB,gBAAkB6C,EACrBJ,EAAiB,CAAClsB,EAAGqd,EAAO,KAC5B6O,EAAiB,CAAClsB,EAAGqd,EAAO,MAEf,OAANnf,IACThB,KAAKusB,gBAAkB6C,EACrBJ,EAAiB,CAAC7O,EAAO,GAAInf,IAC7BguB,EAAiB,CAAC7O,EAAO,GAAInf,KAInC,MACE0sB,EAAS/kB,EAAIykB,+BAA+B7K,GAC5CviB,KAAK+gB,UAAU,CAAC2M,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,KACxD1tB,KAAKusB,gBAAkB4C,EAAgBzB,GAEzC,OAAO,CACT,CAMA,eAAA2B,CAAgBhB,GACd,GAAIruB,KAAKusB,gBAAiB,CACxB,MAAMY,EAAkBkB,EAAgBvf,WACxC9O,KAAK+gB,UAAU/gB,KAAKusB,gBAAgBY,IACpCntB,KAAKsuB,8BAA8BnB,EACrC,CACF,CAOA,aAAAmC,CAAcjB,GACZruB,KAAKusB,gBAAkB,KAEvB,MAAMpM,EAASngB,KAAKstB,oBAIpB,OAHKnN,GAA8B,KAApB,QAAQA,IACrBngB,KAAK+gB,UAAU,OAEV,CACT,CAQA,MAAAwO,CAAO5mB,GACL3I,KAAK2sB,eAAe4C,OAAO5mB,GAC3B3I,KAAKkiB,eAAeqN,OAAO5mB,GAC3B4H,MAAMgf,OAAO5mB,EACf,CAQA,SAAA6mB,GACE,OAAO,IAAAC,cACLzvB,KAAKstB,oBACLttB,KAAKqO,SAASG,UAAUC,gBAE5B,CAQA,iBAAA6e,GACE,OAAOttB,KAAKssB,OACd,CAQA,SAAAvL,CAAUZ,GAERngB,KAAKssB,QAAUnM,GAAkB,KACjCngB,KAAKuuB,6BAA6BpO,GAClCngB,KAAK4O,cAAc,IAAIqd,EAAYjsB,KAAKssB,SAC1C,EAQF,SAASQ,IACP,MAAM7L,GAAQ,IAAAyO,sBACd,OAAO,SAAUpgB,EAASH,GACxB,OAAO8R,EAAM,UACf,CACF,CAOA,SAASiM,IACP,MAAMjM,GAAQ,IAAAyO,sBACd,OAAO,SAAUpgB,EAASH,GACxB,OAAO8R,EAAM,QACf,CACF,CAMA,SAASkO,EAAgBQ,GACvB,OAAO,SAAUllB,GACf,OAAO,QAAe,CAACklB,EAAYllB,GACrC,CACF,CAOA,SAAS2kB,EAAeQ,EAASC,GAC/B,OAAID,EAAQ,IAAMC,EAAQ,GACjB,SAAUplB,GACf,OAAO,QAAe,CAACmlB,EAAS,CAACnlB,EAAM,GAAIolB,EAAQ,KACrD,EAEED,EAAQ,IAAMC,EAAQ,GACjB,SAAUplB,GACf,OAAO,QAAe,CAACmlB,EAAS,CAACC,EAAQ,GAAIplB,EAAM,KACrD,EAEK,IACT,CAMA,SAAS+iB,EAAYrN,GACnB,MAAO,CACL,CACE,CAACA,EAAO,GAAIA,EAAO,IACnB,CAACA,EAAO,GAAIA,EAAO,KAErB,CACE,CAACA,EAAO,GAAIA,EAAO,IACnB,CAACA,EAAO,GAAIA,EAAO,KAErB,CACE,CAACA,EAAO,GAAIA,EAAO,IACnB,CAACA,EAAO,GAAIA,EAAO,KAErB,CACE,CAACA,EAAO,GAAIA,EAAO,IACnB,CAACA,EAAO,GAAIA,EAAO,KAGzB,CAEA,S","sources":["webpack://@openeo/web-editor/./node_modules/@kirtandesai/ol-geocoder/dist/ol-geocoder.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/CopyMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue?cd66","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchableList.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue?0d21","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?ff2a","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?8dc4","webpack://@openeo/web-editor/./src/components/maps/osmgeocoder.js","webpack://@openeo/web-editor/src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue?9845","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?6e22","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?fc6c","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue","webpack://@openeo/web-editor/src/components/maps/TextControl.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?1df8","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?c848","webpack://@openeo/web-editor/./src/components/wizards/SpectralIndices.vue","webpack://@openeo/web-editor/src/components/wizards/SpectralIndices.vue","webpack://@openeo/web-editor/./src/components/wizards/SpectralIndices.vue?9945","webpack://@openeo/web-editor/./src/components/wizards/SpectralIndices.vue?e1a9","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?ebe2","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?d2e5","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?3394","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?7107","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?7b7e","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?1611","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?9604","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?365b","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?7251","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?b614","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseReducer.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue?bf71","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue?822a","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseSpectralIndices.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue?caee","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue?0b62","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?9c96","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?2b59","webpack://@openeo/web-editor/./src/components/datatypes/api.js","webpack://@openeo/web-editor/./src/components/wizards/WizardMixin.js","webpack://@openeo/web-editor/./node_modules/ol/interaction/Extent.js"],"sourcesContent":["/*!\n * @kirtandesai/ol-geocoder - v5.0.3\n * A geocoder extension compatible with OpenLayers v7.\n * https://github.com/kirtan-desai/ol-geocoder\n * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time)\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"ol/control/Control\"),require(\"ol/style/Style\"),require(\"ol/style/Icon\"),require(\"ol/layer/Vector\"),require(\"ol/source/Vector\"),require(\"ol/geom/Point\"),require(\"ol/Feature\"),require(\"ol/proj\")):\"function\"==typeof define&&define.amd?define([\"ol/control/Control\",\"ol/style/Style\",\"ol/style/Icon\",\"ol/layer/Vector\",\"ol/source/Vector\",\"ol/geom/Point\",\"ol/Feature\",\"ol/proj\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).Geocoder=t(e.ol.control.Control,e.ol.style.Style,e.ol.style.Icon,e.ol.layer.Vector,e.ol.source.Vector,e.ol.geom.Point,e.ol.Feature,e.ol.proj)}(this,(function(e,t,s,r,n,o,a,i){\"use strict\";function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var c=l(e),d=l(t),u=l(s),p=l(r),h=l(n),m=l(o),g=l(a),y=l(i),f=\"gcd-container\",b=\"gcd-button-control\",w=\"gcd-input-query\",v=\"gcd-input-reset\",$={namespace:\"ol-geocoder\",spin:\"gcd-pseudo-rotate\",hidden:\"gcd-hidden\",address:\"gcd-address\",country:\"gcd-country\",city:\"gcd-city\",road:\"gcd-road\",olControl:\"ol-control\",glass:{container:\"gcd-gl-container\",control:\"gcd-gl-control\",button:\"gcd-gl-btn\",input:\"gcd-gl-input\",expanded:\"gcd-gl-expanded\",reset:\"gcd-gl-reset\",result:\"gcd-gl-result\"},inputText:{container:\"gcd-txt-container\",control:\"gcd-txt-control\",input:\"gcd-txt-input\",reset:\"gcd-txt-reset\",icon:\"gcd-txt-glass\",result:\"gcd-txt-result\"}},k={containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$};const x=Object.freeze({__proto__:null,containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$,default:k}),q=\"addresschosen\",C=\"nominatim\",S=\"reverse\",L=\"glass-button\",j=\"text-input\",E=\"osm\",T=\"mapquest\",N=\"photon\",R=\"bing\",A=\"opencage\",P={provider:E,placeholder:\"Search for an address\",featureStyle:null,targetType:L,lang:\"en-US\",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function I(e,t=\"Assertion failed\"){if(!e){if(\"undefined\"!=typeof Error)throw new Error(t);throw t}}function _(e){const t=function(){if(\"performance\"in window==0&&(window.performance={}),\"now\"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function M(e){return/^\\d+$/u.test(e)}function O(e,t,s){if(Array.isArray(e))return void e.forEach((e=>O(e,t)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])||U(e,r[n],s)}function F(e,t,s){if(Array.isArray(e))return void e.forEach((e=>F(e,t,s)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])&&G(e,r[n],s)}function V(e,t){return e.classList?e.classList.contains(t):B(t).test(e.className)}function D(e,t){return e.replace(/\\{\\s*([\\w-]+)\\s*\\}/gu,((e,s)=>{const r=void 0===t[s]?\"\":t[s];return String(r).replaceAll(\"&\",\"&\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll('\"',\""\").replaceAll(\"'\",\"'\")}))}function Q(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eG(e,t)),s)}function G(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(B(t),\" \").trim(),s&&M(s)&&window.setTimeout((()=>U(e,t)),s)}const z=x.cssClasses;class H{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===j?(t=`${z.namespace} ${z.inputText.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.input),s={container:e,control:e.querySelector(`.${z.inputText.control}`),input:e.querySelector(`.${z.inputText.input}`),reset:e.querySelector(`.${z.inputText.reset}`),result:e.querySelector(`.${z.inputText.result}`)}):(t=`${z.namespace} ${z.glass.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.glass),s={container:e,control:e.querySelector(`.${z.glass.control}`),button:e.querySelector(`.${z.glass.button}`),input:e.querySelector(`.${z.glass.input}`),reset:e.querySelector(`.${z.glass.reset}`),result:e.querySelector(`.${z.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}H.glass=`\\n
\\n \\n \\n \\n
\\n \\n`,H.input=`\\n
\\n \\n \\n \\n
\\n \\n`;class K{constructor(){this.settings={url:\"https://photon.komoot.io/api/\",params:{q:\"\",limit:10,lang:\"en\"},langs:[\"de\",\"it\",\"fr\",\"en\"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class J{constructor(){this.settings={url:\"https://nominatim.openstreetmap.org/search/\",params:{q:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||\"\",houseNumber:e.address.house_number||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class W{constructor(){this.settings={url:\"https://open.mapquestapi.com/nominatim/v1/search.php\",params:{q:\"\",key:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:\"json\",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||\"\",road:e.address.road||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class X{constructor(){this.settings={url:\"https://dev.virtualearth.net/REST/v1/Locations\",callbackName:\"jsonp\",params:{query:\"\",key:\"\",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class Y{constructor(){this.settings={url:\"https://api.opencagedata.com/geocode/v1/json?\",params:{q:\"\",key:\"\",limit:10,countrycode:\"\",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||\"\",road:e.components.road||\"\",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const r=function(e,t){t&&\"object\"==typeof t&&(e+=(/\\?/u.test(e)?\"&\":\"?\")+ee(t));return e}(e.url,e.data),n={method:\"GET\",mode:\"cors\",credentials:\"same-origin\"};e.jsonp?function(e,t,s){const{head:r}=document,n=document.createElement(\"script\"),o=`f${Math.round(Math.random()*Date.now())}`;n.setAttribute(\"src\",`${e+(e.indexOf(\"?\")>0?\"&\":\"?\")+t}=${o}`),window[o]=e=>{window[o]=void 0,setTimeout((()=>r.removeChild(n)),0),s(e)},r.append(n)}(r,e.callbackName,t):fetch(r,n).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push(\"object\"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join(\"&\")}const te=x.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=_(\"geocoder-layer-\"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider=\"string\"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery=\"\",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),V(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener(\"keypress\",(e=>{const t=e.target.value.trim();(e.key?\"Enter\"===e.key:e.which?13===e.which:!!e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener(\"click\",(e=>e.stopPropagation()),!1),this.els.input.addEventListener(\"input\",(s=>{const r=s.target.value.trim();0!==r.length?F(this.els.reset,te.hidden):O(this.els.reset,te.hidden),this.options.autoComplete&&r!==t&&(t=r,e&&clearTimeout(e),e=setTimeout((()=>{r.length>=this.options.autoCompleteMinLength&&this.query(r)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener(\"click\",(e=>{this.els.input.focus(),this.els.input.value=\"\",this.lastQuery=\"\",O(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===L&&this.els.button.addEventListener(\"click\",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),O(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),F(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{F(this.els.reset,te.spin);const t=Q(\"li\",\"
Error! No internet connection?
\");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;if(this.options.provider===E)s=`${e.address.name}`;else s=this.addressTemplate(e.address);const r=Q(\"li\",`${s}`);r.addEventListener(\"click\",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(r)}))}chosen(e,t,s,r){const n=this.Base.getMap(),o=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],a=n.getView().getProjection(),i=y.default.transform(o,\"EPSG:4326\",a);let{bbox:l}=e;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],\"EPSG:4326\",a));const c={formatted:t,details:s,original:r};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:q,address:c,coordinate:i,bbox:l,place:e});else{l?n.getView().fit(l,{duration:500}):function(e,t,s=500,r=2.388657133911758){e.getView().animate({duration:s,resolution:r},{duration:s,center:t})}(n,i);const t=this.createFeature(i,c);this.Base.dispatchEvent({type:q,address:c,feature:t,coordinate:i,bbox:l,place:e})}}createFeature(e){const t=new g.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(_(\"geocoder-ft-\")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join(\"\")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join(\"\")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join(\"\")),(e.state||e.country)&&t.push(['{state} {country}'].join(\"\")),D(t.join(\"
\"),e)}newProvider(){switch(this.options.provider){case E:return new J;case T:return new W;case N:return new K;case R:return new X;case A:return new Y;default:return this.options.provider}}expand(){F(this.els.input,te.spin),O(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value=\"\",this.els.input.blur(),O(this.els.reset,te.hidden),F(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener(\"click\",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===L?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class re extends c.default{constructor(e=C,t={}){let s,r;I(\"string\"==typeof e,\"@param `type` should be string!\"),I(e===C||e===S,`@param 'type' should be '${C}'\\n or '${S}'!`),I(\"object\"==typeof t,\"@param `options` should be object!\"),P.featureStyle=[new d.default({image:new u.default({scale:.7,src:\"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png\"})})];const n=new H(t);if(e===C&&(s=n.els.container),super({element:s}),!(this instanceof re))return new re;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(P,t),this.container=s,e===C&&(r=new se(this,n.els),this.layer=r.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return re}));\n//# sourceMappingURL=ol-geocoder.js.map\n","export default {\r\n data() {\r\n return {\r\n canCopy: false\r\n }\r\n },\r\n\tmounted() {\r\n\t\tthis.canCopy = navigator && navigator.clipboard && typeof navigator.clipboard.writeText === 'function';\r\n\t},\r\n methods: {\r\n copyText(text, onSuccess = null, onError = null) {\r\n if (this.canCopy) {\r\n const promise = navigator.clipboard.writeText(text)\r\n if (onSuccess) {\r\n promise.then(onSuccess);\r\n }\r\n if (onError) {\r\n promise.catch(onError);\r\n }\r\n }\r\n },\r\n\t\ttoggleIcon(elem, newIcon) {\r\n\t\t\tif (elem) {\r\n\t\t\t\tlet oldIcon = elem.innerText;\r\n\t\t\t\telem.innerText = newIcon;\r\n\t\t\t\tsetTimeout(() => elem.innerText = oldIcon, 2000);\r\n\t\t\t}\r\n\t\t}\r\n }\r\n}","export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component searchable-list\",class:{expandable: _vm.collapsed !== null, expanded: _vm.showList, noResults: _vm.filteredCount === 0}},[_vm._t(\"heading\",function(){return [(_vm.heading)?_c('h2',{staticClass:\"heading\",on:{\"click\":function($event){return _vm.toggleHeading(null)}}},[_vm._v(\" \"+_vm._s(_vm.heading)+\" \"),(_vm.filteredCount !== null && _vm.filteredCount !== _vm.totalCount)?[_vm._v(\"(\"+_vm._s(_vm.filteredCount)+\"/\"+_vm._s(_vm.totalCount)+\")\")]:[_vm._v(\"(\"+_vm._s(_vm.totalCount)+\")\")]],2):_vm._e()]},{\"filteredCount\":_vm.filteredCount,\"totalCount\":_vm.totalCount}),(_vm.showList !== null)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showList === true),expression:\"showList === true\"}],staticClass:\"body\"},[_vm._t(\"content-start\"),(_vm.totalCount === 0)?[_c('p',[_vm._v(\"No data available.\")])]:[_c('section',{staticClass:\"action-bar\"},[(_vm.externalSearchTerm === null)?_c('SearchBox',{attrs:{\"placeholder\":_vm.searchPlaceholder,\"minLength\":_vm.searchMinLength},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}):_vm._e(),(_vm.deprecatedFilter)?_c('label',{staticClass:\"deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hideDeprecated),expression:\"hideDeprecated\"}],attrs:{\"type\":\"checkbox\",\"true-value\":false,\"false-value\":true},domProps:{\"checked\":Array.isArray(_vm.hideDeprecated)?_vm._i(_vm.hideDeprecated,null)>-1:_vm._q(_vm.hideDeprecated,false)},on:{\"change\":function($event){var $$a=_vm.hideDeprecated,$$el=$event.target,$$c=$$el.checked?(false):(true);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hideDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hideDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hideDeprecated=$$c}}}}),_vm._v(\" Show deprecated \")]):_vm._e(),(_vm.experimentalFilter)?_c('label',{staticClass:\"experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hideExperimental),expression:\"hideExperimental\"}],attrs:{\"type\":\"checkbox\",\"true-value\":false,\"false-value\":true},domProps:{\"checked\":Array.isArray(_vm.hideExperimental)?_vm._i(_vm.hideExperimental,null)>-1:_vm._q(_vm.hideExperimental,false)},on:{\"change\":function($event){var $$a=_vm.hideExperimental,$$el=$event.target,$$c=$$el.checked?(false):(true);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hideExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hideExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hideExperimental=$$c}}}}),_vm._v(\" Show experimental \")]):_vm._e()],1),_vm._t(\"after-search-box\",null,{\"filteredCount\":_vm.filteredCount,\"summaries\":_vm.summaries}),(_vm.filteredCount === 0)?_c('p',[_vm._v(\"No search results found.\")]):_c('ul',{staticClass:\"list\",class:{expandable: _vm.offerDetails}},_vm._l((_vm.summaries),function(summary,i){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(summary.show),expression:\"summary.show\"}],key:summary.identifier,class:{expanded: _vm.showDetails[i]}},[_c('summary',{staticClass:\"summary\",class:{experimental: summary.experimental, deprecated: summary.deprecated},on:{\"click\":function($event){return _vm.toggleDetails(i)}}},[_vm._t(\"summary\",function(){return [_c('strong',[_vm._v(\" \"+_vm._s(summary.identifier)+\" \"),(_vm.allowCopy && _vm.canCopy)?_c('span',{staticClass:\"copy\",attrs:{\"title\":\"Copy identifier\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.copyIdentifier($event, summary)}}},[_vm._v(\"📋\")]):_vm._e()]),(summary.summary)?_c('small',{class:{hideOnExpand: !_vm.showSummaryOnExpand}},[_vm._v(_vm._s(summary.summary))]):_vm._e(),(_vm.showKeywords && summary.keywords.length > 0)?_c('ul',{staticClass:\"badges small block hideOnExpand\"},_vm._l((summary.keywords),function(keyword){return _c('li',{key:keyword,staticClass:\"badge\"},[_vm._v(_vm._s(keyword))])}),0):_vm._e()]},{\"summary\":summary,\"item\":summary.data})],2),(typeof _vm.showDetails[i] === 'boolean')?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetails[i] === true),expression:\"showDetails[i] === true\"}],staticClass:\"details\"},[(!summary.loaded)?_c('Loading'):_vm._t(\"details\",function(){return [_vm._v(\" No details available! \")]},{\"summary\":summary,\"item\":summary.data})],2):_vm._e()])}),0)]],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchableList.vue?vue&type=template&id=e2670128\"\nimport script from \"./SearchableList.vue?vue&type=script&lang=js\"\nexport * from \"./SearchableList.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchableList.vue?vue&type=style&index=0&id=e2670128&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"select-container\"},[(_vm.loaded)?[_c('MultiSelect',{key:_vm.type,ref:\"htmlElement\",attrs:{\"label\":\"label\",\"track-by\":\"id\",\"multiple\":_vm.multiple,\"options\":_vm.selectOptions,\"allowEmpty\":false,\"preselectFirst\":_vm.preselect,\"disabled\":!_vm.editable,\"deselectLabel\":_vm.deselectLabel,\"taggable\":_vm.taggable,\"tagPlaceholder\":_vm.tagPlaceholder},on:{\"tag\":_vm.addValue},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),(_vm.showDetails)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Details\"},on:{\"click\":function($event){return _vm.$emit('onDetails')}}},[_c('i',{staticClass:\"fas fa-info\"})]):_vm._e()]:_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading options...\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectBox.vue?vue&type=template&id=4d9e902d\"\nimport script from \"./SelectBox.vue?vue&type=script&lang=js\"\nexport * from \"./SelectBox.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./SelectBox.vue?vue&type=style&index=1&id=4d9e902d&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class OSMGeocoder {\n\tconstructor(url, geojson = false) {\n\t\tthis.url = url;\n\t\tthis.geojson = geojson;\n\t}\n\n\tgetParameters(opt) {\n\t\treturn {\n\t\t\turl: this.url,\n\t\t\tparams: {\n\t\t\t\tq: opt.query,\n\t\t\t\tformat: 'json',\n\t\t\t\tlimit: 10,\n\t\t\t\t'accept-language': 'en',\n\t\t\t\tpolygon_geojson: this.geojson ? 1 : 0,\n\t\t\t\tpolygon_threshold: 0.001,\n\t\t\t},\n\t\t};\n\t}\n\n\thandleResponse(results) {\n\t\tif (results.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn results\n\t\t\t.filter(result => [\"boundary\", \"geological\", \"leisure\", \"natural\", \"place\", \"water\", \"waterway\"].includes(result.class))\n\t\t\t.map(result => ({\n\t\t\t\tlon: result.lon,\n\t\t\t\tlat: result.lat,\n\t\t\t\tbbox: result.boundingbox,\n\t\t\t\taddress: {\n\t\t\t\t\tname: result.display_name\n\t\t\t\t},\n\t\t\t\toriginal: {\n\t\t\t\t\tformatted: result.display_name,\n\t\t\t\t\tdetails: result.address,\n\t\t\t\t\tgeojson: result.geojson\n\t\t\t\t}\n\t\t\t}));\n\t}\n}","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nimport style0 from \"@kirtandesai/ol-geocoder/dist/ol-geocoder.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./GeocoderMixin.vue?vue&type=style&index=1&id=643f6883&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.id}},[_c('ProgressControl',{ref:\"progress\",attrs:{\"map\":_vm.map}}),_c('UserLocationControl',{attrs:{\"map\":_vm.map}}),_c('TextControl',{attrs:{\"text\":_vm.help,\"map\":_vm.map}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapAreaSelect.vue?vue&type=template&id=c6d9ceda\"\nimport script from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nexport * from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"../maps/MapMixin.scss?vue&type=style&index=0&prod&lang=scss&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.texts.length > 0)?_c('div',{staticClass:\"ol-unselectable ol-control value\",class:{pointer: _vm.texts.length > 1},on:{\"click\":_vm.toggle}},[_vm._v(_vm._s(_vm.current))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextControl.vue?vue&type=template&id=52fec35a&scoped=true\"\nimport script from \"./TextControl.vue?vue&type=script&lang=js\"\nexport * from \"./TextControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextControl.vue?vue&type=style&index=0&id=52fec35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52fec35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wizard-tab-content\"},[_c('WizardTab',{attrs:{\"pos\":0,\"parent\":_vm.parent,\"title\":\"Data Source\",\"beforeChange\":_vm.loadCollection}},[_c('ChooseCollection',{attrs:{\"value\":_vm.collection,\"filter\":_vm.filterCollections},on:{\"input\":_vm.submitCollection}})],1),_c('WizardTab',{attrs:{\"pos\":1,\"parent\":_vm.parent,\"title\":\"Spectral Index\",\"beforeChange\":() => !!_vm.index.id}},[_c('ChooseSpectralIndices',{attrs:{\"value\":_vm.index,\"availableBands\":_vm.availableBands},on:{\"input\":_vm.submitIndex}})],1),_c('WizardTab',{attrs:{\"pos\":2,\"parent\":_vm.parent,\"title\":\"Location\",\"beforeChange\":() => _vm.spatial_extent !== null}},[_c('ChooseBoundingBox',{attrs:{\"max\":_vm.max_spatial_extent},model:{value:(_vm.spatial_extent),callback:function ($$v) {_vm.spatial_extent=$$v},expression:\"spatial_extent\"}})],1),_c('WizardTab',{attrs:{\"pos\":3,\"parent\":_vm.parent,\"title\":\"Temporal Coverage\",\"beforeChange\":() => _vm.temporal_extent !== null}},[_c('ChooseTime',{model:{value:(_vm.temporal_extent),callback:function ($$v) {_vm.temporal_extent=$$v},expression:\"temporal_extent\"}})],1),_c('WizardTab',{attrs:{\"pos\":4,\"parent\":_vm.parent,\"title\":\"Temporal Composite\"}},[_c('ChooseReducer',{attrs:{\"allowEmpty\":\"\",\"text\":\"If you want, you can create a temporal composite by selecting the aggregation method below:\"},model:{value:(_vm.composite),callback:function ($$v) {_vm.composite=$$v},expression:\"composite\"}})],1),_c('WizardTab',{attrs:{\"pos\":5,\"parent\":_vm.parent,\"title\":\"File Format\",\"beforeChange\":() => _vm.format !== null}},[_c('ChooseFormat',{attrs:{\"gisDataType\":\"raster\",\"scale\":_vm.scale},on:{\"update:scale\":function($event){_vm.scale=$event}},model:{value:(_vm.format),callback:function ($$v) {_vm.format=$$v},expression:\"format\"}})],1),_c('WizardTab',{attrs:{\"pos\":6,\"parent\":_vm.parent,\"title\":\"Finish\"}},[_c('ChooseProcessingMode',{attrs:{\"title\":_vm.jobTitle},on:{\"update:title\":function($event){_vm.jobTitle=$event}},model:{value:(_vm.mode),callback:function ($$v) {_vm.mode=$$v},expression:\"mode\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SpectralIndices.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SpectralIndices.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SpectralIndices.vue?vue&type=template&id=378d0139\"\nimport script from \"./SpectralIndices.vue?vue&type=script&lang=js\"\nexport * from \"./SpectralIndices.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.active)?_c('div',{staticClass:\"wizard-tab-container\"},[_vm._t(\"default\",null,{\"active\":_vm.active})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WizardTab.vue?vue&type=template&id=9a832c4a\"\nimport script from \"./WizardTab.vue?vue&type=script&lang=js\"\nexport * from \"./WizardTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-bbox\"},[_c('p',[_vm._v(\"Please select the area of interest which you want to download data for. You can add or remove a bounding box by clicking into the map.\")]),_c('MapAreaSelect',{staticClass:\"map\",attrs:{\"show\":_vm.showMap,\"value\":_vm.value,\"showMaxExtent\":_vm.max},on:{\"input\":_vm.update}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseBoundingBox.vue?vue&type=template&id=61a75ac8&scoped=true\"\nimport script from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseBoundingBox.vue?vue&type=style&index=0&id=61a75ac8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61a75ac8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-collection\"},[_c('p',[_vm._v(\"Please select the collection which you want to download data for.\")]),_c('Collections',{attrs:{\"heading\":\"\",\"collections\":_vm.filteredCollections,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show collection details\"},on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseCollection.vue?vue&type=template&id=7801e739\"\nimport script from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseCollection.vue?vue&type=style&index=0&id=7801e739&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-format\"},[_c('p',[_vm._v(\"Please select the file format you want to download data in.\")]),_c('SelectBox',{attrs:{\"type\":\"output-format\",\"value\":_vm.value,\"optionFilter\":_vm.filterFormats},on:{\"input\":_vm.setFormat}}),(_vm.scale !== null)?_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.scaleBox),expression:\"scaleBox\"}],attrs:{\"type\":\"checkbox\",\"id\":\"scale\"},domProps:{\"checked\":Array.isArray(_vm.scaleBox)?_vm._i(_vm.scaleBox,null)>-1:(_vm.scaleBox)},on:{\"change\":function($event){var $$a=_vm.scaleBox,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.scaleBox=$$a.concat([$$v]))}else{$$i>-1&&(_vm.scaleBox=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.scaleBox=$$c}}}}),_vm._v(\"  \"),_c('label',{attrs:{\"for\":\"scale\"}},[_vm._v(\"Scale the values from [-1, 1] to [0, 255] (often required for PNG, GIF or JPEG).\")])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseFormat.vue?vue&type=template&id=399a88f0\"\nimport script from \"./ChooseFormat.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseFormat.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-processing-mode\"},[(_vm.isAuthenticated && (_vm.supportsJobs || _vm.supportsSync))?[_c('p',[_vm._v(\"Please select how you'd like to execute this workflow?\")]),_c('ul',{staticClass:\"mode\"},[(_vm.supportsJobs)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"job\",\"value\":\"job\"},domProps:{\"checked\":_vm._q(_vm.mode,\"job\")},on:{\"change\":function($event){_vm.mode=\"job\"}}}),_c('label',{attrs:{\"for\":\"job\"}},[_c('strong',[_vm._v(\"Batch Jobs\")]),_c('br'),_vm._v(\" Slower processing mode for large amounts of data. Creates and queues a batch job.\"),_c('br'),_vm._v(\" It is recommended to provide a title for the batch job: \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.titleInput),expression:\"titleInput\"}],ref:\"title\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.titleInput)},on:{\"input\":function($event){if($event.target.composing)return;_vm.titleInput=$event.target.value}}})])]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"sync\",\"value\":\"sync\"},domProps:{\"checked\":_vm._q(_vm.mode,\"sync\")},on:{\"change\":function($event){_vm.mode=\"sync\"}}}),_vm._m(0)]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"model\",\"value\":\"\"},domProps:{\"checked\":_vm._q(_vm.mode,\"\")},on:{\"change\":function($event){_vm.mode=\"\"}}}),_vm._m(1)]):_vm._e()])]:_c('p',[_vm._v(\" The wizard has all information to create the workflow for you.\"),_c('br'),(_vm.isAuthenticated)?[_vm._v(\"Unforntunately, this back-end can't process data,\")]:[_vm._v(\"You are not logged in and thus you can't process data directly,\")],_vm._v(\" but you can insert the process into the visual model builder now. \")],2)],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"sync\"}},[_c('strong',[_vm._v(\"Synchronous Processing\")]),_c('br'),_vm._v(\" Fast processing mode for small amounts of data. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"model\"}},[_c('strong',[_vm._v(\"Don't execute\")]),_c('br'),_vm._v(\" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessingMode.vue?vue&type=template&id=449febe3&scoped=true\"\nimport script from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseProcessingMode.vue?vue&type=style&index=0&id=449febe3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"449febe3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(_vm._s(_vm.text))]),_c('SelectBox',{attrs:{\"options\":_vm.options,\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseReducer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseReducer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseReducer.vue?vue&type=template&id=7923ec13\"\nimport script from \"./ChooseReducer.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseReducer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-index\"},[_c('p',[_vm._v(\"Please select the spectral index you want to compute.\")]),(_vm.indices.length > 0)?_c('SearchableList',{attrs:{\"heading\":\"\",\"data\":_vm.indices,\"offerDetails\":false,\"showKeywords\":\"\"},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value.id}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item)}}},[_c('div',{staticClass:\"title\"},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.summary))]),_c('ul',{staticClass:\"badges small inline\"},_vm._l((item.keywords),function(keyword,i){return _c('li',{key:keyword,class:{badge: true, domain: i+1 == item.keywords.length, [keyword]: i+1 == item.keywords.length}},[_vm._v(_vm._s(keyword))])}),0)]),_c('code',[_vm._v(_vm._s(item.formula))])]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Open website with additional details\"},on:{\"click\":function($event){return _vm.showDetails(item)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}],null,false,970652951)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseSpectralIndices.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseSpectralIndices.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseSpectralIndices.vue?vue&type=template&id=7c6ee7ac\"\nimport script from \"./ChooseSpectralIndices.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseSpectralIndices.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseSpectralIndices.vue?vue&type=style&index=0&id=7c6ee7ac&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(\"Please select the days for which you want to download data for.\")]),_c('TemporalPicker',{attrs:{\"type\":\"temporal-interval\",\"intervalType\":\"date\",\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseTime.vue?vue&type=template&id=4c3899e5\"\nimport script from \"./ChooseTime.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseTime.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Utils from '../../utils';\nexport const API_TYPES = Utils.resolveJsonRefs(require('@openeo/js-processgraphs/assets/subtype-schemas.json')).definitions;\nexport const NATIVE_TYPES = [\n\t'string',\n\t'integer',\n\t'number',\n\t'boolean',\n\t'array',\n\t'object'\n];","import WizardTab from './components/WizardTab.vue';\n\nexport default {\n\tcomponents: {\n\t\tWizardTab\n\t},\n\tprops: {\n\t\tparent: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\toptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t},\n\tcreated() {\n\t\tfor(let key in this.options) {\n\t\t\tthis[key] = this.options[key];\n\t\t}\n\t}\n};","/**\n * @module ol/interaction/Extent\n */\nimport Event from '../events/Event.js';\nimport Feature from '../Feature.js';\nimport MapBrowserEventType from '../MapBrowserEventType.js';\nimport Point from '../geom/Point.js';\nimport PointerInteraction from './Pointer.js';\nimport VectorLayer from '../layer/Vector.js';\nimport VectorSource from '../source/Vector.js';\nimport {always} from '../events/condition.js';\nimport {boundingExtent, getArea} from '../extent.js';\nimport {\n closestOnSegment,\n distance as coordinateDistance,\n squaredDistance as squaredCoordinateDistance,\n squaredDistanceToSegment,\n} from '../coordinate.js';\nimport {createEditingStyle} from '../style/Style.js';\nimport {fromExtent as polygonFromExtent} from '../geom/Polygon.js';\nimport {toUserExtent} from '../proj.js';\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.always}.\n * @property {import(\"../extent.js\").Extent} [extent] Initial extent. Defaults to no\n * initial extent.\n * @property {import(\"../style/Style.js\").StyleLike} [boxStyle]\n * Style for the drawn extent box. Defaults to the `Polygon` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {number} [pixelTolerance=10] Pixel tolerance for considering the\n * pointer close enough to a segment or vertex for editing.\n * @property {import(\"../style/Style.js\").StyleLike} [pointerStyle]\n * Style for the cursor used to draw the extent. Defaults to the `Point` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {boolean} [wrapX=false] Wrap the drawn extent across multiple maps\n * in the X direction? Only affects visuals, not functionality.\n */\n\n/**\n * @enum {string}\n */\nconst ExtentEventType = {\n /**\n * Triggered after the extent is changed\n * @event ExtentEvent#extentchanged\n * @api\n */\n EXTENTCHANGED: 'extentchanged',\n};\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/Extent~Extent} instances are\n * instances of this type.\n */\nexport class ExtentEvent extends Event {\n /**\n * @param {import(\"../extent.js\").Extent} extent the new extent\n */\n constructor(extent) {\n super(ExtentEventType.EXTENTCHANGED);\n\n /**\n * The current extent.\n * @type {import(\"../extent.js\").Extent}\n * @api\n */\n this.extent = extent;\n }\n}\n\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'extentchanged', ExtentEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} ExtentOnSignature\n */\n\n/**\n * @classdesc\n * Allows the user to draw a vector box by clicking and dragging on the map.\n * Once drawn, the vector box can be modified by dragging its vertices or edges.\n * This interaction is only supported for mouse devices.\n *\n * @fires ExtentEvent\n * @api\n */\nclass Extent extends PointerInteraction {\n /**\n * @param {Options} [options] Options.\n */\n constructor(options) {\n options = options || {};\n\n super(/** @type {import(\"./Pointer.js\").Options} */ (options));\n\n /***\n * @type {ExtentOnSignature}\n */\n this.on;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.once;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.un;\n\n /**\n * Condition\n * @type {import(\"../events/condition.js\").Condition}\n * @private\n */\n this.condition_ = options.condition ? options.condition : always;\n\n /**\n * Extent of the drawn box\n * @type {import(\"../extent.js\").Extent}\n * @private\n */\n this.extent_ = null;\n\n /**\n * Handler for pointer move events\n * @type {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null}\n * @private\n */\n this.pointerHandler_ = null;\n\n /**\n * Pixel threshold to snap to extent\n * @type {number}\n * @private\n */\n this.pixelTolerance_ =\n options.pixelTolerance !== undefined ? options.pixelTolerance : 10;\n\n /**\n * Is the pointer snapped to an extent vertex\n * @type {boolean}\n * @private\n */\n this.snappedToVertex_ = false;\n\n /**\n * Feature for displaying the visible extent\n * @type {Feature}\n * @private\n */\n this.extentFeature_ = null;\n\n /**\n * Feature for displaying the visible pointer\n * @type {Feature}\n * @private\n */\n this.vertexFeature_ = null;\n\n if (!options) {\n options = {};\n }\n\n /**\n * Layer for the extentFeature\n * @type {VectorLayer}\n * @private\n */\n this.extentOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.boxStyle\n ? options.boxStyle\n : getDefaultExtentStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n /**\n * Layer for the vertexFeature\n * @type {VectorLayer}\n * @private\n */\n this.vertexOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.pointerStyle\n ? options.pointerStyle\n : getDefaultPointerStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n if (options.extent) {\n this.setExtent(options.extent);\n }\n }\n\n /**\n * @param {import(\"../pixel.js\").Pixel} pixel cursor location\n * @param {import(\"../Map.js\").default} map map\n * @return {import(\"../coordinate.js\").Coordinate|null} snapped vertex on extent\n * @private\n */\n snapToVertex_(pixel, map) {\n const pixelCoordinate = map.getCoordinateFromPixelInternal(pixel);\n const sortByDistance = function (a, b) {\n return (\n squaredDistanceToSegment(pixelCoordinate, a) -\n squaredDistanceToSegment(pixelCoordinate, b)\n );\n };\n const extent = this.getExtentInternal();\n if (extent) {\n //convert extents to line segments and find the segment closest to pixelCoordinate\n const segments = getSegments(extent);\n segments.sort(sortByDistance);\n const closestSegment = segments[0];\n\n let vertex = closestOnSegment(pixelCoordinate, closestSegment);\n const vertexPixel = map.getPixelFromCoordinateInternal(vertex);\n\n //if the distance is within tolerance, snap to the segment\n if (coordinateDistance(pixel, vertexPixel) <= this.pixelTolerance_) {\n //test if we should further snap to a vertex\n const pixel1 = map.getPixelFromCoordinateInternal(closestSegment[0]);\n const pixel2 = map.getPixelFromCoordinateInternal(closestSegment[1]);\n const squaredDist1 = squaredCoordinateDistance(vertexPixel, pixel1);\n const squaredDist2 = squaredCoordinateDistance(vertexPixel, pixel2);\n const dist = Math.sqrt(Math.min(squaredDist1, squaredDist2));\n this.snappedToVertex_ = dist <= this.pixelTolerance_;\n if (this.snappedToVertex_) {\n vertex =\n squaredDist1 > squaredDist2 ? closestSegment[1] : closestSegment[0];\n }\n return vertex;\n }\n }\n return null;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent pointer move event\n * @private\n */\n handlePointerMove_(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n let vertex = this.snapToVertex_(pixel, map);\n if (!vertex) {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n }\n this.createOrUpdatePointerFeature_(vertex);\n }\n\n /**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Feature} extent as featrue\n * @private\n */\n createOrUpdateExtentFeature_(extent) {\n let extentFeature = this.extentFeature_;\n\n if (!extentFeature) {\n if (!extent) {\n extentFeature = new Feature({});\n } else {\n extentFeature = new Feature(polygonFromExtent(extent));\n }\n this.extentFeature_ = extentFeature;\n this.extentOverlay_.getSource().addFeature(extentFeature);\n } else {\n if (!extent) {\n extentFeature.setGeometry(undefined);\n } else {\n extentFeature.setGeometry(polygonFromExtent(extent));\n }\n }\n return extentFeature;\n }\n\n /**\n * @param {import(\"../coordinate.js\").Coordinate} vertex location of feature\n * @return {Feature} vertex as feature\n * @private\n */\n createOrUpdatePointerFeature_(vertex) {\n let vertexFeature = this.vertexFeature_;\n if (!vertexFeature) {\n vertexFeature = new Feature(new Point(vertex));\n this.vertexFeature_ = vertexFeature;\n this.vertexOverlay_.getSource().addFeature(vertexFeature);\n } else {\n const geometry = vertexFeature.getGeometry();\n geometry.setCoordinates(vertex);\n }\n return vertexFeature;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n */\n handleEvent(mapBrowserEvent) {\n if (!mapBrowserEvent.originalEvent || !this.condition_(mapBrowserEvent)) {\n return true;\n }\n //display pointer (if not dragging)\n if (\n mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE &&\n !this.handlingDownUpSequence\n ) {\n this.handlePointerMove_(mapBrowserEvent);\n }\n //call pointer to determine up/down/drag\n super.handleEvent(mapBrowserEvent);\n //return false to stop propagation\n return false;\n }\n\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleDownEvent(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n const extent = this.getExtentInternal();\n let vertex = this.snapToVertex_(pixel, map);\n\n //find the extent corner opposite the passed corner\n const getOpposingPoint = function (point) {\n let x_ = null;\n let y_ = null;\n if (point[0] == extent[0]) {\n x_ = extent[2];\n } else if (point[0] == extent[2]) {\n x_ = extent[0];\n }\n if (point[1] == extent[1]) {\n y_ = extent[3];\n } else if (point[1] == extent[3]) {\n y_ = extent[1];\n }\n if (x_ !== null && y_ !== null) {\n return [x_, y_];\n }\n return null;\n };\n if (vertex && extent) {\n const x =\n vertex[0] == extent[0] || vertex[0] == extent[2] ? vertex[0] : null;\n const y =\n vertex[1] == extent[1] || vertex[1] == extent[3] ? vertex[1] : null;\n\n //snap to point\n if (x !== null && y !== null) {\n this.pointerHandler_ = getPointHandler(getOpposingPoint(vertex));\n //snap to edge\n } else if (x !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([x, extent[1]]),\n getOpposingPoint([x, extent[3]]),\n );\n } else if (y !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([extent[0], y]),\n getOpposingPoint([extent[2], y]),\n );\n }\n //no snap - new bbox\n } else {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n this.setExtent([vertex[0], vertex[1], vertex[0], vertex[1]]);\n this.pointerHandler_ = getPointHandler(vertex);\n }\n return true; //event handled; start downup sequence\n }\n\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n handleDragEvent(mapBrowserEvent) {\n if (this.pointerHandler_) {\n const pixelCoordinate = mapBrowserEvent.coordinate;\n this.setExtent(this.pointerHandler_(pixelCoordinate));\n this.createOrUpdatePointerFeature_(pixelCoordinate);\n }\n }\n\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleUpEvent(mapBrowserEvent) {\n this.pointerHandler_ = null;\n //If bbox is zero area, set to null;\n const extent = this.getExtentInternal();\n if (!extent || getArea(extent) === 0) {\n this.setExtent(null);\n }\n return false; //Stop handling downup sequence\n }\n\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../Map.js\").default} map Map.\n */\n setMap(map) {\n this.extentOverlay_.setMap(map);\n this.vertexOverlay_.setMap(map);\n super.setMap(map);\n }\n\n /**\n * Returns the current drawn extent in the view projection (or user projection if set)\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtent() {\n return toUserExtent(\n this.getExtentInternal(),\n this.getMap().getView().getProjection(),\n );\n }\n\n /**\n * Returns the current drawn extent in the view projection\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtentInternal() {\n return this.extent_;\n }\n\n /**\n * Manually sets the drawn extent, using the view projection.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent\n * @api\n */\n setExtent(extent) {\n //Null extent means no bbox\n this.extent_ = extent ? extent : null;\n this.createOrUpdateExtentFeature_(extent);\n this.dispatchEvent(new ExtentEvent(this.extent_));\n }\n}\n\n/**\n * Returns the default style for the drawn bbox\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default Extent style\n */\nfunction getDefaultExtentStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Polygon'];\n };\n}\n\n/**\n * Returns the default style for the pointer\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default pointer style\n */\nfunction getDefaultPointerStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Point'];\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedPoint corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent} event handler\n */\nfunction getPointHandler(fixedPoint) {\n return function (point) {\n return boundingExtent([fixedPoint, point]);\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedP1 first corner that will be unchanged in the new extent\n * @param {import(\"../coordinate.js\").Coordinate} fixedP2 second corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null} event handler\n */\nfunction getEdgeHandler(fixedP1, fixedP2) {\n if (fixedP1[0] == fixedP2[0]) {\n return function (point) {\n return boundingExtent([fixedP1, [point[0], fixedP2[1]]]);\n };\n }\n if (fixedP1[1] == fixedP2[1]) {\n return function (point) {\n return boundingExtent([fixedP1, [fixedP2[0], point[1]]]);\n };\n }\n return null;\n}\n\n/**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Array>} extent line segments\n */\nfunction getSegments(extent) {\n return [\n [\n [extent[0], extent[1]],\n [extent[0], extent[3]],\n ],\n [\n [extent[0], extent[3]],\n [extent[2], extent[3]],\n ],\n [\n [extent[2], extent[3]],\n [extent[2], extent[1]],\n ],\n [\n [extent[2], extent[1]],\n [extent[0], extent[1]],\n ],\n ];\n}\n\nexport default Extent;\n"],"names":["e","t","module","exports","this","s","r","n","o","a","i","l","default","c","d","u","p","h","m","g","y","f","b","w","v","$","namespace","spin","hidden","address","country","city","road","olControl","glass","container","control","button","input","expanded","reset","result","inputText","icon","k","containerId","buttonControlId","inputQueryId","inputResetId","cssClasses","x","Object","freeze","__proto__","q","C","S","L","j","E","T","N","R","A","P","provider","placeholder","featureStyle","targetType","lang","limit","keepOpen","preventDefault","autoComplete","autoCompleteMinLength","autoCompleteTimeout","debug","I","Error","_","window","performance","Date","now","timing","navigationStart","toString","M","test","O","Array","isArray","forEach","split","length","V","U","F","G","classList","contains","B","className","D","replace","String","replaceAll","Q","document","createElement","id","classname","attr","setAttribute","name","value","innerHTML","createDocumentFragment","childNodes","append","RegExp","add","trim","setTimeout","remove","z","H","constructor","options","els","createControl","querySelector","K","settings","url","params","langs","getParameters","toLowerCase","query","includes","handleResponse","features","map","lon","geometry","coordinates","lat","properties","postcode","state","original","formatted","details","J","format","addressdetails","countrycodes","bbox","boundingbox","display_name","houseNumber","house_number","town","W","key","neighbourhood","X","callbackName","includeNeighborhood","maxResults","resources","resourceSets","point","formattedAddress","Y","countrycode","pretty","no_annotations","results","lng","components","Z","Promise","ee","data","method","mode","credentials","jsonp","head","Math","round","random","indexOf","removeChild","fetch","then","json","catch","keys","reduce","push","encodeURIComponent","join","te","se","Base","layerName","layer","source","newProvider","lastQuery","registeredListeners","mapClick","setListeners","stopPropagation","collapse","expand","addEventListener","target","which","keyCode","clearTimeout","focus","clearResults","firstChild","console","info","createList","listenMapClick","addressTemplate","chosen","getMap","Number","parseFloat","getView","getProjection","transform","transformExtent","dispatchEvent","type","coordinate","place","fit","duration","animate","resolution","center","createFeature","feature","addLayer","setStyle","setId","getSource","addFeature","building","village","blur","getTargetElement","handleEvent","removeEventListener","getLayers","re","image","scale","src","super","element","prototype","hasOwnProperty","call","getLayer","setProvider","setProviderKey","canCopy","mounted","navigator","clipboard","writeText","methods","copyText","text","onSuccess","onError","promise","toggleIcon","elem","newIcon","oldIcon","innerText","FederationNotice","FederationMissingNotice","props","federation","render","_vm","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Boolean","Function","beforeCreate","enableHtmlProps","args","$emit","component","class","expandable","showList","noResults","filteredCount","$event","toggleHeading","_v","_s","totalCount","_e","directives","rawName","expression","externalSearchTerm","searchPlaceholder","searchMinLength","model","callback","$$v","domProps","_i","_q","$$a","$$el","$$c","checked","$$i","concat","slice","summaries","_l","summary","identifier","showDetails","experimental","deprecated","toggleDetails","allowCopy","copyIdentifier","hideOnExpand","showSummaryOnExpand","keywords","keyword","loaded","Loading","SearchBox","CopyMixin","identifierKey","summaryKey","keywordsKey","externalHideDeprecated","externalHideExperimental","watch","handler","generateSummaries","immediate","oldData","filter","hideDeprecatedByDefault","hideExperimentalByDefault","newState","computed","size","hasActiveFilter","show","created","doSearch","search","$set","event","composedPath","hasLoader","index","entry","observable","compareStringCaseInsensitive","$parent","error","ref","multiple","selectOptions","preselect","editable","deselectLabel","taggable","tagPlaceholder","addValue","selected","MultiSelect","schema","context","optionFilter","collection","$store","find","Utils","isObject","band","bandDimension","values","jobs","files","editor","epsgCodes","fileFormats","getInputTypes","require","types","native","NATIVE_TYPES","assign","API_TYPES","getOutputTypes","serviceTypes","connection","capabilities","listPlans","udfRuntimes","versions","fromEntries","entries","sortByLabel","label","getResourceTitle","title","prettifyString","path","sortByPath","parseInt","toUpperCase","paid","thisYear","getFullYear","years","from","findIndex","customYear","unshift","val","isEnum","getEnumChoices","freeInputIfEmpty","loadData","newValue","num","isNaN","preselectFirst","mapActions","loadEpsgCodes","describeCollection","initSelection","$nextTick","$refs","htmlElement","filteredOptions","select","selectedOption","undefined","OSMGeocoder","geojson","opt","polygon_geojson","polygon_threshold","addGeocoder","$config","geocoder","Geocoder","bboxOpenEO","west","east","north","south","addControl","help","GeoJsonMixin","GeocoderMixin","MapMixin","TextControl","showMaxExtent","interaction","extent","toExtent","returnAsObject","projectedExtent","outerArea","extentToBBox","update","renderMap","isWebMercatorCompatible","isBboxInWebMercator","createMap","addBasemaps","setExtent","fitMap","style","Style","fill","Fill","color","stroke","Stroke","width","addGeoJson","getFitOptions","condition","pixelSize","getSize","xy","calculateExtent","mouseExtent","containsXY","vertexOverlay_","clear","vertexFeature_","handlingDownUpSequence","snapToVertex_","pixel","ExtentInteraction","boxStyle","createDefaultStyle","pixelTolerance","addInteraction","fitOptions","texts","pointer","toggle","current","ControlMixin","parent","loadCollection","filterCollections","submitCollection","beforeChange","availableBands","submitIndex","spatial_extent","max_spatial_extent","temporal_extent","composite","jobTitle","titleSuffix","createTitle","MAPPING","N2","WV","S1","S2","T1","T2","WizardMixin","ChooseBoundingBox","ChooseCollection","ChooseFormat","ChooseProcessingMode","ChooseReducer","ChooseSpectralIndices","ChooseTime","dimBands","dimT","beforeMount","processes","has","mapGetters","dims","timeDimensions","spatialDimensions","axis","bands","getAvailableBands","defaults","collectionDefaults","nextTab","endsWith","createProcess","formula","bandDescription","asiBand","dcBand","Builder","datacube","load_collection","description","reducer","b2","reduce_dimension","Formula","scaling","linear_scale_range","apply","save_result","toJSON","stacNames","asiNames","collectionMeta","tDimension","finish","process","modeOptions","active","required","pos","afterChange","validationError","addTab","beforeDestroy","removeTab","showMap","max","MapAreaSelect","filteredCollections","showCollectionInfo","EventBusMixin","Collections","mapState","broadcast","filterFormats","setFormat","scaleBox","SelectBox","gisDataType","get","set","gis_data_types","isAuthenticated","supportsJobs","supportsSync","titleInput","composing","_m","supports","allowEmpty","reducers","all","categories","parameters","param","optional","indices","badge","domain","PARAMS","C1","C2","cexp","nexp","alpha","beta","gamma","omega","sla","slb","PAR","lambdaN","lambdaR","lambdaG","domains","available","choice","pattern","bandsIntersection","availableParams","matchAll","uri","open","TemporalPicker","resolveJsonRefs","definitions","WizardTab","ExtentEventType","EXTENTCHANGED","ExtentEvent","Extent","once","un","condition_","extent_","pointerHandler_","pixelTolerance_","snappedToVertex_","extentFeature_","extentOverlay_","useSpatialIndex","wrapX","getDefaultExtentStyleFunction","updateWhileAnimating","updateWhileInteracting","pointerStyle","getDefaultPointerStyleFunction","pixelCoordinate","getCoordinateFromPixelInternal","sortByDistance","getExtentInternal","segments","getSegments","closestSegment","vertex","vertexPixel","getPixelFromCoordinateInternal","pixel1","pixel2","squaredDist1","squaredDist2","dist","sqrt","min","handlePointerMove_","mapBrowserEvent","createOrUpdatePointerFeature_","createOrUpdateExtentFeature_","extentFeature","setGeometry","vertexFeature","getGeometry","setCoordinates","originalEvent","POINTERMOVE","handleDownEvent","getOpposingPoint","x_","y_","getPointHandler","getEdgeHandler","handleDragEvent","handleUpEvent","setMap","getExtent","toUserExtent","createEditingStyle","fixedPoint","fixedP1","fixedP2"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/1765.8c0299d7.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@kirtandesai/ol-geocoder/dist/ol-geocoder.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/CopyMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue?cd66","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchableList.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue?0d21","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?ff2a","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?8dc4","webpack://@openeo/web-editor/./src/components/maps/osmgeocoder.js","webpack://@openeo/web-editor/src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue?9845","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?6e22","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?fc6c","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue","webpack://@openeo/web-editor/src/components/maps/TextControl.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?1df8","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?c848","webpack://@openeo/web-editor/./src/components/wizards/SpectralIndices.vue","webpack://@openeo/web-editor/src/components/wizards/SpectralIndices.vue","webpack://@openeo/web-editor/./src/components/wizards/SpectralIndices.vue?9945","webpack://@openeo/web-editor/./src/components/wizards/SpectralIndices.vue?e1a9","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?ebe2","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?d2e5","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?3394","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?7107","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?7b7e","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?1611","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?9604","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?365b","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?7251","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?b614","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseReducer.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue?bf71","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue?822a","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseSpectralIndices.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue?caee","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue?0b62","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?9c96","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?2b59","webpack://@openeo/web-editor/./src/components/datatypes/api.js","webpack://@openeo/web-editor/./src/components/wizards/WizardMixin.js","webpack://@openeo/web-editor/./node_modules/ol/interaction/Extent.js"],"sourcesContent":["/*!\n * @kirtandesai/ol-geocoder - v5.0.3\n * A geocoder extension compatible with OpenLayers v7.\n * https://github.com/kirtan-desai/ol-geocoder\n * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time)\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"ol/control/Control\"),require(\"ol/style/Style\"),require(\"ol/style/Icon\"),require(\"ol/layer/Vector\"),require(\"ol/source/Vector\"),require(\"ol/geom/Point\"),require(\"ol/Feature\"),require(\"ol/proj\")):\"function\"==typeof define&&define.amd?define([\"ol/control/Control\",\"ol/style/Style\",\"ol/style/Icon\",\"ol/layer/Vector\",\"ol/source/Vector\",\"ol/geom/Point\",\"ol/Feature\",\"ol/proj\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).Geocoder=t(e.ol.control.Control,e.ol.style.Style,e.ol.style.Icon,e.ol.layer.Vector,e.ol.source.Vector,e.ol.geom.Point,e.ol.Feature,e.ol.proj)}(this,(function(e,t,s,r,n,o,a,i){\"use strict\";function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var c=l(e),d=l(t),u=l(s),p=l(r),h=l(n),m=l(o),g=l(a),y=l(i),f=\"gcd-container\",b=\"gcd-button-control\",w=\"gcd-input-query\",v=\"gcd-input-reset\",$={namespace:\"ol-geocoder\",spin:\"gcd-pseudo-rotate\",hidden:\"gcd-hidden\",address:\"gcd-address\",country:\"gcd-country\",city:\"gcd-city\",road:\"gcd-road\",olControl:\"ol-control\",glass:{container:\"gcd-gl-container\",control:\"gcd-gl-control\",button:\"gcd-gl-btn\",input:\"gcd-gl-input\",expanded:\"gcd-gl-expanded\",reset:\"gcd-gl-reset\",result:\"gcd-gl-result\"},inputText:{container:\"gcd-txt-container\",control:\"gcd-txt-control\",input:\"gcd-txt-input\",reset:\"gcd-txt-reset\",icon:\"gcd-txt-glass\",result:\"gcd-txt-result\"}},k={containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$};const x=Object.freeze({__proto__:null,containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$,default:k}),q=\"addresschosen\",C=\"nominatim\",S=\"reverse\",L=\"glass-button\",j=\"text-input\",E=\"osm\",T=\"mapquest\",N=\"photon\",R=\"bing\",A=\"opencage\",P={provider:E,placeholder:\"Search for an address\",featureStyle:null,targetType:L,lang:\"en-US\",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function I(e,t=\"Assertion failed\"){if(!e){if(\"undefined\"!=typeof Error)throw new Error(t);throw t}}function _(e){const t=function(){if(\"performance\"in window==0&&(window.performance={}),\"now\"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function M(e){return/^\\d+$/u.test(e)}function O(e,t,s){if(Array.isArray(e))return void e.forEach((e=>O(e,t)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])||U(e,r[n],s)}function F(e,t,s){if(Array.isArray(e))return void e.forEach((e=>F(e,t,s)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])&&G(e,r[n],s)}function V(e,t){return e.classList?e.classList.contains(t):B(t).test(e.className)}function D(e,t){return e.replace(/\\{\\s*([\\w-]+)\\s*\\}/gu,((e,s)=>{const r=void 0===t[s]?\"\":t[s];return String(r).replaceAll(\"&\",\"&\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll('\"',\""\").replaceAll(\"'\",\"'\")}))}function Q(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eG(e,t)),s)}function G(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(B(t),\" \").trim(),s&&M(s)&&window.setTimeout((()=>U(e,t)),s)}const z=x.cssClasses;class H{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===j?(t=`${z.namespace} ${z.inputText.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.input),s={container:e,control:e.querySelector(`.${z.inputText.control}`),input:e.querySelector(`.${z.inputText.input}`),reset:e.querySelector(`.${z.inputText.reset}`),result:e.querySelector(`.${z.inputText.result}`)}):(t=`${z.namespace} ${z.glass.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.glass),s={container:e,control:e.querySelector(`.${z.glass.control}`),button:e.querySelector(`.${z.glass.button}`),input:e.querySelector(`.${z.glass.input}`),reset:e.querySelector(`.${z.glass.reset}`),result:e.querySelector(`.${z.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}H.glass=`\\n
\\n \\n \\n \\n
\\n
    \\n`,H.input=`\\n
    \\n \\n \\n \\n
    \\n
      \\n`;class K{constructor(){this.settings={url:\"https://photon.komoot.io/api/\",params:{q:\"\",limit:10,lang:\"en\"},langs:[\"de\",\"it\",\"fr\",\"en\"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class J{constructor(){this.settings={url:\"https://nominatim.openstreetmap.org/search/\",params:{q:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||\"\",houseNumber:e.address.house_number||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class W{constructor(){this.settings={url:\"https://open.mapquestapi.com/nominatim/v1/search.php\",params:{q:\"\",key:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:\"json\",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||\"\",road:e.address.road||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class X{constructor(){this.settings={url:\"https://dev.virtualearth.net/REST/v1/Locations\",callbackName:\"jsonp\",params:{query:\"\",key:\"\",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class Y{constructor(){this.settings={url:\"https://api.opencagedata.com/geocode/v1/json?\",params:{q:\"\",key:\"\",limit:10,countrycode:\"\",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||\"\",road:e.components.road||\"\",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const r=function(e,t){t&&\"object\"==typeof t&&(e+=(/\\?/u.test(e)?\"&\":\"?\")+ee(t));return e}(e.url,e.data),n={method:\"GET\",mode:\"cors\",credentials:\"same-origin\"};e.jsonp?function(e,t,s){const{head:r}=document,n=document.createElement(\"script\"),o=`f${Math.round(Math.random()*Date.now())}`;n.setAttribute(\"src\",`${e+(e.indexOf(\"?\")>0?\"&\":\"?\")+t}=${o}`),window[o]=e=>{window[o]=void 0,setTimeout((()=>r.removeChild(n)),0),s(e)},r.append(n)}(r,e.callbackName,t):fetch(r,n).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push(\"object\"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join(\"&\")}const te=x.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=_(\"geocoder-layer-\"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider=\"string\"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery=\"\",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),V(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener(\"keypress\",(e=>{const t=e.target.value.trim();(e.key?\"Enter\"===e.key:e.which?13===e.which:!!e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener(\"click\",(e=>e.stopPropagation()),!1),this.els.input.addEventListener(\"input\",(s=>{const r=s.target.value.trim();0!==r.length?F(this.els.reset,te.hidden):O(this.els.reset,te.hidden),this.options.autoComplete&&r!==t&&(t=r,e&&clearTimeout(e),e=setTimeout((()=>{r.length>=this.options.autoCompleteMinLength&&this.query(r)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener(\"click\",(e=>{this.els.input.focus(),this.els.input.value=\"\",this.lastQuery=\"\",O(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===L&&this.els.button.addEventListener(\"click\",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),O(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),F(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{F(this.els.reset,te.spin);const t=Q(\"li\",\"
      Error! No internet connection?
      \");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;if(this.options.provider===E)s=`${e.address.name}`;else s=this.addressTemplate(e.address);const r=Q(\"li\",`${s}`);r.addEventListener(\"click\",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(r)}))}chosen(e,t,s,r){const n=this.Base.getMap(),o=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],a=n.getView().getProjection(),i=y.default.transform(o,\"EPSG:4326\",a);let{bbox:l}=e;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],\"EPSG:4326\",a));const c={formatted:t,details:s,original:r};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:q,address:c,coordinate:i,bbox:l,place:e});else{l?n.getView().fit(l,{duration:500}):function(e,t,s=500,r=2.388657133911758){e.getView().animate({duration:s,resolution:r},{duration:s,center:t})}(n,i);const t=this.createFeature(i,c);this.Base.dispatchEvent({type:q,address:c,feature:t,coordinate:i,bbox:l,place:e})}}createFeature(e){const t=new g.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(_(\"geocoder-ft-\")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join(\"\")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join(\"\")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join(\"\")),(e.state||e.country)&&t.push(['{state} {country}'].join(\"\")),D(t.join(\"
      \"),e)}newProvider(){switch(this.options.provider){case E:return new J;case T:return new W;case N:return new K;case R:return new X;case A:return new Y;default:return this.options.provider}}expand(){F(this.els.input,te.spin),O(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value=\"\",this.els.input.blur(),O(this.els.reset,te.hidden),F(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener(\"click\",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===L?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class re extends c.default{constructor(e=C,t={}){let s,r;I(\"string\"==typeof e,\"@param `type` should be string!\"),I(e===C||e===S,`@param 'type' should be '${C}'\\n or '${S}'!`),I(\"object\"==typeof t,\"@param `options` should be object!\"),P.featureStyle=[new d.default({image:new u.default({scale:.7,src:\"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png\"})})];const n=new H(t);if(e===C&&(s=n.els.container),super({element:s}),!(this instanceof re))return new re;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(P,t),this.container=s,e===C&&(r=new se(this,n.els),this.layer=r.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return re}));\n//# sourceMappingURL=ol-geocoder.js.map\n","export default {\r\n data() {\r\n return {\r\n canCopy: false\r\n }\r\n },\r\n\tmounted() {\r\n\t\tthis.canCopy = navigator && navigator.clipboard && typeof navigator.clipboard.writeText === 'function';\r\n\t},\r\n methods: {\r\n copyText(text, onSuccess = null, onError = null) {\r\n if (this.canCopy) {\r\n const promise = navigator.clipboard.writeText(text)\r\n if (onSuccess) {\r\n promise.then(onSuccess);\r\n }\r\n if (onError) {\r\n promise.catch(onError);\r\n }\r\n }\r\n },\r\n\t\ttoggleIcon(elem, newIcon) {\r\n\t\t\tif (elem) {\r\n\t\t\t\tlet oldIcon = elem.innerText;\r\n\t\t\t\telem.innerText = newIcon;\r\n\t\t\t\tsetTimeout(() => elem.innerText = oldIcon, 2000);\r\n\t\t\t}\r\n\t\t}\r\n }\r\n}","export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component searchable-list\",class:{expandable: _vm.collapsed !== null, expanded: _vm.showList, noResults: _vm.filteredCount === 0}},[_vm._t(\"heading\",function(){return [(_vm.heading)?_c('h2',{staticClass:\"heading\",on:{\"click\":function($event){return _vm.toggleHeading(null)}}},[_vm._v(\" \"+_vm._s(_vm.heading)+\" \"),(_vm.filteredCount !== null && _vm.filteredCount !== _vm.totalCount)?[_vm._v(\"(\"+_vm._s(_vm.filteredCount)+\"/\"+_vm._s(_vm.totalCount)+\")\")]:[_vm._v(\"(\"+_vm._s(_vm.totalCount)+\")\")]],2):_vm._e()]},{\"filteredCount\":_vm.filteredCount,\"totalCount\":_vm.totalCount}),(_vm.showList !== null)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showList === true),expression:\"showList === true\"}],staticClass:\"body\"},[_vm._t(\"content-start\"),(_vm.totalCount === 0)?[_c('p',[_vm._v(\"No data available.\")])]:[_c('section',{staticClass:\"action-bar\"},[(_vm.externalSearchTerm === null)?_c('SearchBox',{attrs:{\"placeholder\":_vm.searchPlaceholder,\"minLength\":_vm.searchMinLength},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}):_vm._e(),(_vm.deprecatedFilter)?_c('label',{staticClass:\"deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hideDeprecated),expression:\"hideDeprecated\"}],attrs:{\"type\":\"checkbox\",\"true-value\":false,\"false-value\":true},domProps:{\"checked\":Array.isArray(_vm.hideDeprecated)?_vm._i(_vm.hideDeprecated,null)>-1:_vm._q(_vm.hideDeprecated,false)},on:{\"change\":function($event){var $$a=_vm.hideDeprecated,$$el=$event.target,$$c=$$el.checked?(false):(true);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hideDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hideDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hideDeprecated=$$c}}}}),_vm._v(\" Show deprecated \")]):_vm._e(),(_vm.experimentalFilter)?_c('label',{staticClass:\"experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hideExperimental),expression:\"hideExperimental\"}],attrs:{\"type\":\"checkbox\",\"true-value\":false,\"false-value\":true},domProps:{\"checked\":Array.isArray(_vm.hideExperimental)?_vm._i(_vm.hideExperimental,null)>-1:_vm._q(_vm.hideExperimental,false)},on:{\"change\":function($event){var $$a=_vm.hideExperimental,$$el=$event.target,$$c=$$el.checked?(false):(true);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hideExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hideExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hideExperimental=$$c}}}}),_vm._v(\" Show experimental \")]):_vm._e()],1),_vm._t(\"after-search-box\",null,{\"filteredCount\":_vm.filteredCount,\"summaries\":_vm.summaries}),(_vm.filteredCount === 0)?_c('p',[_vm._v(\"No search results found.\")]):_c('ul',{staticClass:\"list\",class:{expandable: _vm.offerDetails}},_vm._l((_vm.summaries),function(summary,i){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(summary.show),expression:\"summary.show\"}],key:summary.identifier,class:{expanded: _vm.showDetails[i]}},[_c('summary',{staticClass:\"summary\",class:{experimental: summary.experimental, deprecated: summary.deprecated},on:{\"click\":function($event){return _vm.toggleDetails(i)}}},[_vm._t(\"summary\",function(){return [_c('strong',[_vm._v(\" \"+_vm._s(summary.identifier)+\" \"),(_vm.allowCopy && _vm.canCopy)?_c('span',{staticClass:\"copy\",attrs:{\"title\":\"Copy identifier\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.copyIdentifier($event, summary)}}},[_vm._v(\"📋\")]):_vm._e()]),(summary.summary)?_c('small',{class:{hideOnExpand: !_vm.showSummaryOnExpand}},[_vm._v(_vm._s(summary.summary))]):_vm._e(),(_vm.showKeywords && summary.keywords.length > 0)?_c('ul',{staticClass:\"badges small block hideOnExpand\"},_vm._l((summary.keywords),function(keyword){return _c('li',{key:keyword,staticClass:\"badge\"},[_vm._v(_vm._s(keyword))])}),0):_vm._e()]},{\"summary\":summary,\"item\":summary.data})],2),(typeof _vm.showDetails[i] === 'boolean')?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetails[i] === true),expression:\"showDetails[i] === true\"}],staticClass:\"details\"},[(!summary.loaded)?_c('Loading'):_vm._t(\"details\",function(){return [_vm._v(\" No details available! \")]},{\"summary\":summary,\"item\":summary.data})],2):_vm._e()])}),0)]],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchableList.vue?vue&type=template&id=e2670128\"\nimport script from \"./SearchableList.vue?vue&type=script&lang=js\"\nexport * from \"./SearchableList.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchableList.vue?vue&type=style&index=0&id=e2670128&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"select-container\"},[(_vm.loaded)?[_c('MultiSelect',{key:_vm.type,ref:\"htmlElement\",attrs:{\"label\":\"label\",\"track-by\":\"id\",\"multiple\":_vm.multiple,\"options\":_vm.selectOptions,\"allowEmpty\":false,\"preselectFirst\":_vm.preselect,\"disabled\":!_vm.editable,\"deselectLabel\":_vm.deselectLabel,\"taggable\":_vm.taggable,\"tagPlaceholder\":_vm.tagPlaceholder},on:{\"tag\":_vm.addValue},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),(_vm.showDetails)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Details\"},on:{\"click\":function($event){return _vm.$emit('onDetails')}}},[_c('i',{staticClass:\"fas fa-info\"})]):_vm._e()]:_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading options...\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectBox.vue?vue&type=template&id=4d9e902d\"\nimport script from \"./SelectBox.vue?vue&type=script&lang=js\"\nexport * from \"./SelectBox.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./SelectBox.vue?vue&type=style&index=1&id=4d9e902d&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class OSMGeocoder {\n\tconstructor(url, geojson = false) {\n\t\tthis.url = url;\n\t\tthis.geojson = geojson;\n\t}\n\n\tgetParameters(opt) {\n\t\treturn {\n\t\t\turl: this.url,\n\t\t\tparams: {\n\t\t\t\tq: opt.query,\n\t\t\t\tformat: 'json',\n\t\t\t\tlimit: 10,\n\t\t\t\t'accept-language': 'en',\n\t\t\t\tpolygon_geojson: this.geojson ? 1 : 0,\n\t\t\t\tpolygon_threshold: 0.001,\n\t\t\t},\n\t\t};\n\t}\n\n\thandleResponse(results) {\n\t\tif (results.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn results\n\t\t\t.filter(result => [\"boundary\", \"geological\", \"leisure\", \"natural\", \"place\", \"water\", \"waterway\"].includes(result.class))\n\t\t\t.map(result => ({\n\t\t\t\tlon: result.lon,\n\t\t\t\tlat: result.lat,\n\t\t\t\tbbox: result.boundingbox,\n\t\t\t\taddress: {\n\t\t\t\t\tname: result.display_name\n\t\t\t\t},\n\t\t\t\toriginal: {\n\t\t\t\t\tformatted: result.display_name,\n\t\t\t\t\tdetails: result.address,\n\t\t\t\t\tgeojson: result.geojson\n\t\t\t\t}\n\t\t\t}));\n\t}\n}","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nimport style0 from \"@kirtandesai/ol-geocoder/dist/ol-geocoder.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./GeocoderMixin.vue?vue&type=style&index=1&id=643f6883&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.id}},[_c('ProgressControl',{ref:\"progress\",attrs:{\"map\":_vm.map}}),_c('UserLocationControl',{attrs:{\"map\":_vm.map}}),_c('TextControl',{attrs:{\"text\":_vm.help,\"map\":_vm.map}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapAreaSelect.vue?vue&type=template&id=c6d9ceda\"\nimport script from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nexport * from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"../maps/MapMixin.scss?vue&type=style&index=0&prod&lang=scss&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.texts.length > 0)?_c('div',{staticClass:\"ol-unselectable ol-control value\",class:{pointer: _vm.texts.length > 1},on:{\"click\":_vm.toggle}},[_vm._v(_vm._s(_vm.current))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextControl.vue?vue&type=template&id=52fec35a&scoped=true\"\nimport script from \"./TextControl.vue?vue&type=script&lang=js\"\nexport * from \"./TextControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextControl.vue?vue&type=style&index=0&id=52fec35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52fec35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wizard-tab-content\"},[_c('WizardTab',{attrs:{\"pos\":0,\"parent\":_vm.parent,\"title\":\"Data Source\",\"beforeChange\":_vm.loadCollection}},[_c('ChooseCollection',{attrs:{\"value\":_vm.collection,\"filter\":_vm.filterCollections},on:{\"input\":_vm.submitCollection}})],1),_c('WizardTab',{attrs:{\"pos\":1,\"parent\":_vm.parent,\"title\":\"Spectral Index\",\"beforeChange\":() => !!_vm.index.id}},[_c('ChooseSpectralIndices',{attrs:{\"value\":_vm.index,\"availableBands\":_vm.availableBands},on:{\"input\":_vm.submitIndex}})],1),_c('WizardTab',{attrs:{\"pos\":2,\"parent\":_vm.parent,\"title\":\"Location\",\"beforeChange\":() => _vm.spatial_extent !== null}},[_c('ChooseBoundingBox',{attrs:{\"max\":_vm.max_spatial_extent},model:{value:(_vm.spatial_extent),callback:function ($$v) {_vm.spatial_extent=$$v},expression:\"spatial_extent\"}})],1),_c('WizardTab',{attrs:{\"pos\":3,\"parent\":_vm.parent,\"title\":\"Temporal Coverage\",\"beforeChange\":() => _vm.temporal_extent !== null}},[_c('ChooseTime',{model:{value:(_vm.temporal_extent),callback:function ($$v) {_vm.temporal_extent=$$v},expression:\"temporal_extent\"}})],1),_c('WizardTab',{attrs:{\"pos\":4,\"parent\":_vm.parent,\"title\":\"Temporal Composite\"}},[_c('ChooseReducer',{attrs:{\"allowEmpty\":\"\",\"text\":\"If you want, you can create a temporal composite by selecting the aggregation method below:\"},model:{value:(_vm.composite),callback:function ($$v) {_vm.composite=$$v},expression:\"composite\"}})],1),_c('WizardTab',{attrs:{\"pos\":5,\"parent\":_vm.parent,\"title\":\"File Format\",\"beforeChange\":() => _vm.format !== null}},[_c('ChooseFormat',{attrs:{\"gisDataType\":\"raster\",\"scale\":_vm.scale},on:{\"update:scale\":function($event){_vm.scale=$event}},model:{value:(_vm.format),callback:function ($$v) {_vm.format=$$v},expression:\"format\"}})],1),_c('WizardTab',{attrs:{\"pos\":6,\"parent\":_vm.parent,\"title\":\"Finish\"}},[_c('ChooseProcessingMode',{attrs:{\"title\":_vm.jobTitle},on:{\"update:title\":function($event){_vm.jobTitle=$event}},model:{value:(_vm.mode),callback:function ($$v) {_vm.mode=$$v},expression:\"mode\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SpectralIndices.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SpectralIndices.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SpectralIndices.vue?vue&type=template&id=378d0139\"\nimport script from \"./SpectralIndices.vue?vue&type=script&lang=js\"\nexport * from \"./SpectralIndices.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.active)?_c('div',{staticClass:\"wizard-tab-container\"},[_vm._t(\"default\",null,{\"active\":_vm.active})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WizardTab.vue?vue&type=template&id=9a832c4a\"\nimport script from \"./WizardTab.vue?vue&type=script&lang=js\"\nexport * from \"./WizardTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-bbox\"},[_c('p',[_vm._v(\"Please select the area of interest which you want to download data for. You can add or remove a bounding box by clicking into the map.\")]),_c('MapAreaSelect',{staticClass:\"map\",attrs:{\"show\":_vm.showMap,\"value\":_vm.value,\"showMaxExtent\":_vm.max},on:{\"input\":_vm.update}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseBoundingBox.vue?vue&type=template&id=61a75ac8&scoped=true\"\nimport script from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseBoundingBox.vue?vue&type=style&index=0&id=61a75ac8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61a75ac8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-collection\"},[_c('p',[_vm._v(\"Please select the collection which you want to download data for.\")]),_c('Collections',{attrs:{\"heading\":\"\",\"collections\":_vm.filteredCollections,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show collection details\"},on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseCollection.vue?vue&type=template&id=7801e739\"\nimport script from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseCollection.vue?vue&type=style&index=0&id=7801e739&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-format\"},[_c('p',[_vm._v(\"Please select the file format you want to download data in.\")]),_c('SelectBox',{attrs:{\"type\":\"output-format\",\"value\":_vm.value,\"optionFilter\":_vm.filterFormats},on:{\"input\":_vm.setFormat}}),(_vm.scale !== null)?_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.scaleBox),expression:\"scaleBox\"}],attrs:{\"type\":\"checkbox\",\"id\":\"scale\"},domProps:{\"checked\":Array.isArray(_vm.scaleBox)?_vm._i(_vm.scaleBox,null)>-1:(_vm.scaleBox)},on:{\"change\":function($event){var $$a=_vm.scaleBox,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.scaleBox=$$a.concat([$$v]))}else{$$i>-1&&(_vm.scaleBox=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.scaleBox=$$c}}}}),_vm._v(\"  \"),_c('label',{attrs:{\"for\":\"scale\"}},[_vm._v(\"Scale the values from [-1, 1] to [0, 255] (often required for PNG, GIF or JPEG).\")])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseFormat.vue?vue&type=template&id=399a88f0\"\nimport script from \"./ChooseFormat.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseFormat.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-processing-mode\"},[(_vm.isAuthenticated && (_vm.supportsJobs || _vm.supportsSync))?[_c('p',[_vm._v(\"Please select how you'd like to execute this workflow?\")]),_c('ul',{staticClass:\"mode\"},[(_vm.supportsJobs)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"job\",\"value\":\"job\"},domProps:{\"checked\":_vm._q(_vm.mode,\"job\")},on:{\"change\":function($event){_vm.mode=\"job\"}}}),_c('label',{attrs:{\"for\":\"job\"}},[_c('strong',[_vm._v(\"Batch Jobs\")]),_c('br'),_vm._v(\" Slower processing mode for large amounts of data. Creates and queues a batch job.\"),_c('br'),_vm._v(\" It is recommended to provide a title for the batch job: \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.titleInput),expression:\"titleInput\"}],ref:\"title\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.titleInput)},on:{\"input\":function($event){if($event.target.composing)return;_vm.titleInput=$event.target.value}}})])]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"sync\",\"value\":\"sync\"},domProps:{\"checked\":_vm._q(_vm.mode,\"sync\")},on:{\"change\":function($event){_vm.mode=\"sync\"}}}),_vm._m(0)]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"model\",\"value\":\"\"},domProps:{\"checked\":_vm._q(_vm.mode,\"\")},on:{\"change\":function($event){_vm.mode=\"\"}}}),_vm._m(1)]):_vm._e()])]:_c('p',[_vm._v(\" The wizard has all information to create the workflow for you.\"),_c('br'),(_vm.isAuthenticated)?[_vm._v(\"Unforntunately, this back-end can't process data,\")]:[_vm._v(\"You are not logged in and thus you can't process data directly,\")],_vm._v(\" but you can insert the process into the visual model builder now. \")],2)],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"sync\"}},[_c('strong',[_vm._v(\"Synchronous Processing\")]),_c('br'),_vm._v(\" Fast processing mode for small amounts of data. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"model\"}},[_c('strong',[_vm._v(\"Don't execute\")]),_c('br'),_vm._v(\" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessingMode.vue?vue&type=template&id=449febe3&scoped=true\"\nimport script from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseProcessingMode.vue?vue&type=style&index=0&id=449febe3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"449febe3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(_vm._s(_vm.text))]),_c('SelectBox',{attrs:{\"options\":_vm.options,\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseReducer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseReducer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseReducer.vue?vue&type=template&id=7923ec13\"\nimport script from \"./ChooseReducer.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseReducer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-index\"},[_c('p',[_vm._v(\"Please select the spectral index you want to compute.\")]),(_vm.indices.length > 0)?_c('SearchableList',{attrs:{\"heading\":\"\",\"data\":_vm.indices,\"offerDetails\":false,\"showKeywords\":\"\"},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value.id}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item)}}},[_c('div',{staticClass:\"title\"},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.summary))]),_c('ul',{staticClass:\"badges small inline\"},_vm._l((item.keywords),function(keyword,i){return _c('li',{key:keyword,class:{badge: true, domain: i+1 == item.keywords.length, [keyword]: i+1 == item.keywords.length}},[_vm._v(_vm._s(keyword))])}),0)]),_c('code',[_vm._v(_vm._s(item.formula))])]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Open website with additional details\"},on:{\"click\":function($event){return _vm.showDetails(item)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}],null,false,970652951)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseSpectralIndices.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseSpectralIndices.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseSpectralIndices.vue?vue&type=template&id=7c6ee7ac\"\nimport script from \"./ChooseSpectralIndices.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseSpectralIndices.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseSpectralIndices.vue?vue&type=style&index=0&id=7c6ee7ac&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(\"Please select the days for which you want to download data for.\")]),_c('TemporalPicker',{attrs:{\"type\":\"temporal-interval\",\"intervalType\":\"date\",\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseTime.vue?vue&type=template&id=4c3899e5\"\nimport script from \"./ChooseTime.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseTime.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Utils from '../../utils';\nexport const API_TYPES = Utils.resolveJsonRefs(require('@openeo/js-processgraphs/assets/subtype-schemas.json')).definitions;\nexport const NATIVE_TYPES = [\n\t'string',\n\t'integer',\n\t'number',\n\t'boolean',\n\t'array',\n\t'object'\n];","import WizardTab from './components/WizardTab.vue';\n\nexport default {\n\tcomponents: {\n\t\tWizardTab\n\t},\n\tprops: {\n\t\tparent: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\toptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t},\n\tcreated() {\n\t\tfor(let key in this.options) {\n\t\t\tthis[key] = this.options[key];\n\t\t}\n\t}\n};","/**\n * @module ol/interaction/Extent\n */\nimport Event from '../events/Event.js';\nimport Feature from '../Feature.js';\nimport MapBrowserEventType from '../MapBrowserEventType.js';\nimport Point from '../geom/Point.js';\nimport PointerInteraction from './Pointer.js';\nimport VectorLayer from '../layer/Vector.js';\nimport VectorSource from '../source/Vector.js';\nimport {always} from '../events/condition.js';\nimport {boundingExtent, getArea} from '../extent.js';\nimport {\n closestOnSegment,\n distance as coordinateDistance,\n squaredDistance as squaredCoordinateDistance,\n squaredDistanceToSegment,\n} from '../coordinate.js';\nimport {createEditingStyle} from '../style/Style.js';\nimport {fromExtent as polygonFromExtent} from '../geom/Polygon.js';\nimport {toUserExtent} from '../proj.js';\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.always}.\n * @property {import(\"../extent.js\").Extent} [extent] Initial extent. Defaults to no\n * initial extent.\n * @property {import(\"../style/Style.js\").StyleLike} [boxStyle]\n * Style for the drawn extent box. Defaults to the `Polygon` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {number} [pixelTolerance=10] Pixel tolerance for considering the\n * pointer close enough to a segment or vertex for editing.\n * @property {import(\"../style/Style.js\").StyleLike} [pointerStyle]\n * Style for the cursor used to draw the extent. Defaults to the `Point` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {boolean} [wrapX=false] Wrap the drawn extent across multiple maps\n * in the X direction? Only affects visuals, not functionality.\n */\n\n/**\n * @enum {string}\n */\nconst ExtentEventType = {\n /**\n * Triggered after the extent is changed\n * @event ExtentEvent#extentchanged\n * @api\n */\n EXTENTCHANGED: 'extentchanged',\n};\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/Extent~Extent} instances are\n * instances of this type.\n */\nexport class ExtentEvent extends Event {\n /**\n * @param {import(\"../extent.js\").Extent} extent the new extent\n */\n constructor(extent) {\n super(ExtentEventType.EXTENTCHANGED);\n\n /**\n * The current extent.\n * @type {import(\"../extent.js\").Extent}\n * @api\n */\n this.extent = extent;\n }\n}\n\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'extentchanged', ExtentEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} ExtentOnSignature\n */\n\n/**\n * @classdesc\n * Allows the user to draw a vector box by clicking and dragging on the map.\n * Once drawn, the vector box can be modified by dragging its vertices or edges.\n * This interaction is only supported for mouse devices.\n *\n * @fires ExtentEvent\n * @api\n */\nclass Extent extends PointerInteraction {\n /**\n * @param {Options} [options] Options.\n */\n constructor(options) {\n options = options || {};\n\n super(/** @type {import(\"./Pointer.js\").Options} */ (options));\n\n /***\n * @type {ExtentOnSignature}\n */\n this.on;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.once;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.un;\n\n /**\n * Condition\n * @type {import(\"../events/condition.js\").Condition}\n * @private\n */\n this.condition_ = options.condition ? options.condition : always;\n\n /**\n * Extent of the drawn box\n * @type {import(\"../extent.js\").Extent}\n * @private\n */\n this.extent_ = null;\n\n /**\n * Handler for pointer move events\n * @type {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null}\n * @private\n */\n this.pointerHandler_ = null;\n\n /**\n * Pixel threshold to snap to extent\n * @type {number}\n * @private\n */\n this.pixelTolerance_ =\n options.pixelTolerance !== undefined ? options.pixelTolerance : 10;\n\n /**\n * Is the pointer snapped to an extent vertex\n * @type {boolean}\n * @private\n */\n this.snappedToVertex_ = false;\n\n /**\n * Feature for displaying the visible extent\n * @type {Feature}\n * @private\n */\n this.extentFeature_ = null;\n\n /**\n * Feature for displaying the visible pointer\n * @type {Feature}\n * @private\n */\n this.vertexFeature_ = null;\n\n if (!options) {\n options = {};\n }\n\n /**\n * Layer for the extentFeature\n * @type {VectorLayer}\n * @private\n */\n this.extentOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.boxStyle\n ? options.boxStyle\n : getDefaultExtentStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n /**\n * Layer for the vertexFeature\n * @type {VectorLayer}\n * @private\n */\n this.vertexOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.pointerStyle\n ? options.pointerStyle\n : getDefaultPointerStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n if (options.extent) {\n this.setExtent(options.extent);\n }\n }\n\n /**\n * @param {import(\"../pixel.js\").Pixel} pixel cursor location\n * @param {import(\"../Map.js\").default} map map\n * @return {import(\"../coordinate.js\").Coordinate|null} snapped vertex on extent\n * @private\n */\n snapToVertex_(pixel, map) {\n const pixelCoordinate = map.getCoordinateFromPixelInternal(pixel);\n const sortByDistance = function (a, b) {\n return (\n squaredDistanceToSegment(pixelCoordinate, a) -\n squaredDistanceToSegment(pixelCoordinate, b)\n );\n };\n const extent = this.getExtentInternal();\n if (extent) {\n //convert extents to line segments and find the segment closest to pixelCoordinate\n const segments = getSegments(extent);\n segments.sort(sortByDistance);\n const closestSegment = segments[0];\n\n let vertex = closestOnSegment(pixelCoordinate, closestSegment);\n const vertexPixel = map.getPixelFromCoordinateInternal(vertex);\n\n //if the distance is within tolerance, snap to the segment\n if (coordinateDistance(pixel, vertexPixel) <= this.pixelTolerance_) {\n //test if we should further snap to a vertex\n const pixel1 = map.getPixelFromCoordinateInternal(closestSegment[0]);\n const pixel2 = map.getPixelFromCoordinateInternal(closestSegment[1]);\n const squaredDist1 = squaredCoordinateDistance(vertexPixel, pixel1);\n const squaredDist2 = squaredCoordinateDistance(vertexPixel, pixel2);\n const dist = Math.sqrt(Math.min(squaredDist1, squaredDist2));\n this.snappedToVertex_ = dist <= this.pixelTolerance_;\n if (this.snappedToVertex_) {\n vertex =\n squaredDist1 > squaredDist2 ? closestSegment[1] : closestSegment[0];\n }\n return vertex;\n }\n }\n return null;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent pointer move event\n * @private\n */\n handlePointerMove_(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n let vertex = this.snapToVertex_(pixel, map);\n if (!vertex) {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n }\n this.createOrUpdatePointerFeature_(vertex);\n }\n\n /**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Feature} extent as featrue\n * @private\n */\n createOrUpdateExtentFeature_(extent) {\n let extentFeature = this.extentFeature_;\n\n if (!extentFeature) {\n if (!extent) {\n extentFeature = new Feature({});\n } else {\n extentFeature = new Feature(polygonFromExtent(extent));\n }\n this.extentFeature_ = extentFeature;\n this.extentOverlay_.getSource().addFeature(extentFeature);\n } else {\n if (!extent) {\n extentFeature.setGeometry(undefined);\n } else {\n extentFeature.setGeometry(polygonFromExtent(extent));\n }\n }\n return extentFeature;\n }\n\n /**\n * @param {import(\"../coordinate.js\").Coordinate} vertex location of feature\n * @return {Feature} vertex as feature\n * @private\n */\n createOrUpdatePointerFeature_(vertex) {\n let vertexFeature = this.vertexFeature_;\n if (!vertexFeature) {\n vertexFeature = new Feature(new Point(vertex));\n this.vertexFeature_ = vertexFeature;\n this.vertexOverlay_.getSource().addFeature(vertexFeature);\n } else {\n const geometry = vertexFeature.getGeometry();\n geometry.setCoordinates(vertex);\n }\n return vertexFeature;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n */\n handleEvent(mapBrowserEvent) {\n if (!mapBrowserEvent.originalEvent || !this.condition_(mapBrowserEvent)) {\n return true;\n }\n //display pointer (if not dragging)\n if (\n mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE &&\n !this.handlingDownUpSequence\n ) {\n this.handlePointerMove_(mapBrowserEvent);\n }\n //call pointer to determine up/down/drag\n super.handleEvent(mapBrowserEvent);\n //return false to stop propagation\n return false;\n }\n\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleDownEvent(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n const extent = this.getExtentInternal();\n let vertex = this.snapToVertex_(pixel, map);\n\n //find the extent corner opposite the passed corner\n const getOpposingPoint = function (point) {\n let x_ = null;\n let y_ = null;\n if (point[0] == extent[0]) {\n x_ = extent[2];\n } else if (point[0] == extent[2]) {\n x_ = extent[0];\n }\n if (point[1] == extent[1]) {\n y_ = extent[3];\n } else if (point[1] == extent[3]) {\n y_ = extent[1];\n }\n if (x_ !== null && y_ !== null) {\n return [x_, y_];\n }\n return null;\n };\n if (vertex && extent) {\n const x =\n vertex[0] == extent[0] || vertex[0] == extent[2] ? vertex[0] : null;\n const y =\n vertex[1] == extent[1] || vertex[1] == extent[3] ? vertex[1] : null;\n\n //snap to point\n if (x !== null && y !== null) {\n this.pointerHandler_ = getPointHandler(getOpposingPoint(vertex));\n //snap to edge\n } else if (x !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([x, extent[1]]),\n getOpposingPoint([x, extent[3]]),\n );\n } else if (y !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([extent[0], y]),\n getOpposingPoint([extent[2], y]),\n );\n }\n //no snap - new bbox\n } else {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n this.setExtent([vertex[0], vertex[1], vertex[0], vertex[1]]);\n this.pointerHandler_ = getPointHandler(vertex);\n }\n return true; //event handled; start downup sequence\n }\n\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n handleDragEvent(mapBrowserEvent) {\n if (this.pointerHandler_) {\n const pixelCoordinate = mapBrowserEvent.coordinate;\n this.setExtent(this.pointerHandler_(pixelCoordinate));\n this.createOrUpdatePointerFeature_(pixelCoordinate);\n }\n }\n\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleUpEvent(mapBrowserEvent) {\n this.pointerHandler_ = null;\n //If bbox is zero area, set to null;\n const extent = this.getExtentInternal();\n if (!extent || getArea(extent) === 0) {\n this.setExtent(null);\n }\n return false; //Stop handling downup sequence\n }\n\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../Map.js\").default} map Map.\n */\n setMap(map) {\n this.extentOverlay_.setMap(map);\n this.vertexOverlay_.setMap(map);\n super.setMap(map);\n }\n\n /**\n * Returns the current drawn extent in the view projection (or user projection if set)\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtent() {\n return toUserExtent(\n this.getExtentInternal(),\n this.getMap().getView().getProjection(),\n );\n }\n\n /**\n * Returns the current drawn extent in the view projection\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtentInternal() {\n return this.extent_;\n }\n\n /**\n * Manually sets the drawn extent, using the view projection.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent\n * @api\n */\n setExtent(extent) {\n //Null extent means no bbox\n this.extent_ = extent ? extent : null;\n this.createOrUpdateExtentFeature_(extent);\n this.dispatchEvent(new ExtentEvent(this.extent_));\n }\n}\n\n/**\n * Returns the default style for the drawn bbox\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default Extent style\n */\nfunction getDefaultExtentStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Polygon'];\n };\n}\n\n/**\n * Returns the default style for the pointer\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default pointer style\n */\nfunction getDefaultPointerStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Point'];\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedPoint corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent} event handler\n */\nfunction getPointHandler(fixedPoint) {\n return function (point) {\n return boundingExtent([fixedPoint, point]);\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedP1 first corner that will be unchanged in the new extent\n * @param {import(\"../coordinate.js\").Coordinate} fixedP2 second corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null} event handler\n */\nfunction getEdgeHandler(fixedP1, fixedP2) {\n if (fixedP1[0] == fixedP2[0]) {\n return function (point) {\n return boundingExtent([fixedP1, [point[0], fixedP2[1]]]);\n };\n }\n if (fixedP1[1] == fixedP2[1]) {\n return function (point) {\n return boundingExtent([fixedP1, [fixedP2[0], point[1]]]);\n };\n }\n return null;\n}\n\n/**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Array>} extent line segments\n */\nfunction getSegments(extent) {\n return [\n [\n [extent[0], extent[1]],\n [extent[0], extent[3]],\n ],\n [\n [extent[0], extent[3]],\n [extent[2], extent[3]],\n ],\n [\n [extent[2], extent[3]],\n [extent[2], extent[1]],\n ],\n [\n [extent[2], extent[1]],\n [extent[0], extent[1]],\n ],\n ];\n}\n\nexport default Extent;\n"],"names":["e","t","module","exports","this","s","r","n","o","a","i","l","default","c","d","u","p","h","m","g","y","f","b","w","v","$","namespace","spin","hidden","address","country","city","road","olControl","glass","container","control","button","input","expanded","reset","result","inputText","icon","k","containerId","buttonControlId","inputQueryId","inputResetId","cssClasses","x","Object","freeze","__proto__","q","C","S","L","j","E","T","N","R","A","P","provider","placeholder","featureStyle","targetType","lang","limit","keepOpen","preventDefault","autoComplete","autoCompleteMinLength","autoCompleteTimeout","debug","I","Error","_","window","performance","Date","now","timing","navigationStart","toString","M","test","O","Array","isArray","forEach","split","length","V","U","F","G","classList","contains","B","className","D","replace","String","replaceAll","Q","document","createElement","id","classname","attr","setAttribute","name","value","innerHTML","createDocumentFragment","childNodes","append","RegExp","add","trim","setTimeout","remove","z","H","constructor","options","els","createControl","querySelector","K","settings","url","params","langs","getParameters","toLowerCase","query","includes","handleResponse","features","map","lon","geometry","coordinates","lat","properties","postcode","state","original","formatted","details","J","format","addressdetails","countrycodes","bbox","boundingbox","display_name","houseNumber","house_number","town","W","key","neighbourhood","X","callbackName","includeNeighborhood","maxResults","resources","resourceSets","point","formattedAddress","Y","countrycode","pretty","no_annotations","results","lng","components","Z","Promise","ee","data","method","mode","credentials","jsonp","head","Math","round","random","indexOf","removeChild","fetch","then","json","catch","keys","reduce","push","encodeURIComponent","join","te","se","Base","layerName","layer","source","newProvider","lastQuery","registeredListeners","mapClick","setListeners","stopPropagation","collapse","expand","addEventListener","target","which","keyCode","clearTimeout","focus","clearResults","firstChild","console","info","createList","listenMapClick","addressTemplate","chosen","getMap","Number","parseFloat","getView","getProjection","transform","transformExtent","dispatchEvent","type","coordinate","place","fit","duration","animate","resolution","center","createFeature","feature","addLayer","setStyle","setId","getSource","addFeature","building","village","blur","getTargetElement","handleEvent","removeEventListener","getLayers","re","image","scale","src","super","element","prototype","hasOwnProperty","call","getLayer","setProvider","setProviderKey","canCopy","mounted","navigator","clipboard","writeText","methods","copyText","text","onSuccess","onError","promise","toggleIcon","elem","newIcon","oldIcon","innerText","FederationNotice","FederationMissingNotice","props","federation","render","_vm","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Boolean","Function","beforeCreate","enableHtmlProps","args","$emit","component","class","expandable","showList","noResults","filteredCount","$event","toggleHeading","_v","_s","totalCount","_e","directives","rawName","expression","externalSearchTerm","searchPlaceholder","searchMinLength","model","callback","$$v","domProps","_i","_q","$$a","$$el","$$c","checked","$$i","concat","slice","summaries","_l","summary","identifier","showDetails","experimental","deprecated","toggleDetails","allowCopy","copyIdentifier","hideOnExpand","showSummaryOnExpand","keywords","keyword","loaded","Loading","SearchBox","CopyMixin","identifierKey","summaryKey","keywordsKey","externalHideDeprecated","externalHideExperimental","watch","handler","generateSummaries","immediate","oldData","filter","hideDeprecatedByDefault","hideExperimentalByDefault","newState","computed","size","hasActiveFilter","show","created","doSearch","search","$set","event","composedPath","hasLoader","index","entry","observable","compareStringCaseInsensitive","$parent","error","ref","multiple","selectOptions","preselect","editable","deselectLabel","taggable","tagPlaceholder","addValue","selected","MultiSelect","schema","context","optionFilter","collection","$store","find","Utils","isObject","band","bandDimension","values","jobs","files","editor","epsgCodes","fileFormats","getInputTypes","require","types","native","NATIVE_TYPES","assign","API_TYPES","getOutputTypes","serviceTypes","connection","capabilities","listPlans","udfRuntimes","versions","fromEntries","entries","sortByLabel","label","getResourceTitle","title","prettifyString","path","sortByPath","parseInt","toUpperCase","paid","thisYear","getFullYear","years","from","findIndex","customYear","unshift","val","isEnum","getEnumChoices","freeInputIfEmpty","loadData","newValue","num","isNaN","preselectFirst","mapActions","loadEpsgCodes","describeCollection","initSelection","$nextTick","$refs","htmlElement","filteredOptions","select","selectedOption","undefined","OSMGeocoder","geojson","opt","polygon_geojson","polygon_threshold","addGeocoder","$config","geocoder","Geocoder","bboxOpenEO","west","east","north","south","addControl","help","GeoJsonMixin","GeocoderMixin","MapMixin","TextControl","showMaxExtent","interaction","extent","toExtent","returnAsObject","projectedExtent","outerArea","extentToBBox","update","renderMap","isWebMercatorCompatible","isBboxInWebMercator","createMap","addBasemaps","setExtent","fitMap","style","Style","fill","Fill","color","stroke","Stroke","width","addGeoJson","getFitOptions","condition","pixelSize","getSize","xy","calculateExtent","mouseExtent","containsXY","vertexOverlay_","clear","vertexFeature_","handlingDownUpSequence","snapToVertex_","pixel","ExtentInteraction","boxStyle","createDefaultStyle","pixelTolerance","addInteraction","fitOptions","texts","pointer","toggle","current","ControlMixin","parent","loadCollection","filterCollections","submitCollection","beforeChange","availableBands","submitIndex","spatial_extent","max_spatial_extent","temporal_extent","composite","jobTitle","titleSuffix","createTitle","MAPPING","N2","WV","S1","S2","T1","T2","WizardMixin","ChooseBoundingBox","ChooseCollection","ChooseFormat","ChooseProcessingMode","ChooseReducer","ChooseSpectralIndices","ChooseTime","dimBands","dimT","beforeMount","processes","has","mapGetters","dims","timeDimensions","spatialDimensions","axis","bands","getAvailableBands","defaults","collectionDefaults","nextTab","endsWith","createProcess","formula","bandDescription","asiBand","dcBand","Builder","datacube","load_collection","description","reducer","b2","reduce_dimension","Formula","scaling","linear_scale_range","apply","save_result","toJSON","stacNames","asiNames","collectionMeta","tDimension","finish","process","modeOptions","active","required","pos","afterChange","validationError","addTab","beforeDestroy","removeTab","showMap","max","MapAreaSelect","filteredCollections","showCollectionInfo","EventBusMixin","Collections","mapState","broadcast","filterFormats","setFormat","scaleBox","SelectBox","gisDataType","get","set","gis_data_types","isAuthenticated","supportsJobs","supportsSync","titleInput","composing","_m","supports","allowEmpty","reducers","all","categories","parameters","param","optional","indices","badge","domain","PARAMS","C1","C2","cexp","nexp","alpha","beta","gamma","omega","sla","slb","PAR","lambdaN","lambdaR","lambdaG","domains","available","choice","pattern","bandsIntersection","availableParams","matchAll","uri","open","TemporalPicker","resolveJsonRefs","definitions","WizardTab","ExtentEventType","EXTENTCHANGED","ExtentEvent","Extent","once","un","condition_","extent_","pointerHandler_","pixelTolerance_","snappedToVertex_","extentFeature_","extentOverlay_","useSpatialIndex","wrapX","getDefaultExtentStyleFunction","updateWhileAnimating","updateWhileInteracting","pointerStyle","getDefaultPointerStyleFunction","pixelCoordinate","getCoordinateFromPixelInternal","sortByDistance","getExtentInternal","segments","getSegments","closestSegment","vertex","vertexPixel","getPixelFromCoordinateInternal","pixel1","pixel2","squaredDist1","squaredDist2","dist","sqrt","min","handlePointerMove_","mapBrowserEvent","createOrUpdatePointerFeature_","createOrUpdateExtentFeature_","extentFeature","setGeometry","vertexFeature","getGeometry","setCoordinates","originalEvent","POINTERMOVE","handleDownEvent","getOpposingPoint","x_","y_","getPointHandler","getEdgeHandler","handleDragEvent","handleUpEvent","setMap","getExtent","toUserExtent","createEditingStyle","fixedPoint","fixedP1","fixedP2"],"sourceRoot":""} \ No newline at end of file diff --git a/js/2388.f7a0871b.js b/js/2388.8b1d748f.js similarity index 99% rename from js/2388.f7a0871b.js rename to js/2388.8b1d748f.js index dedf63b1..3b233df7 100644 --- a/js/2388.f7a0871b.js +++ b/js/2388.8b1d748f.js @@ -6,4 +6,4 @@ * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time) */ !function(t,n){e.exports=n(s(10972),s(29276),s(49700),s(82986),s(54602),s(44294),s(86717),s(89718))}(0,(function(e,t,s,n,a,i,o,r){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=l(e),u=l(t),d=l(s),p=l(n),h=l(a),m=l(i),f=l(o),g=l(r),y="gcd-container",b="gcd-button-control",x="gcd-input-query",v="gcd-input-reset",w={namespace:"ol-geocoder",spin:"gcd-pseudo-rotate",hidden:"gcd-hidden",address:"gcd-address",country:"gcd-country",city:"gcd-city",road:"gcd-road",olControl:"ol-control",glass:{container:"gcd-gl-container",control:"gcd-gl-control",button:"gcd-gl-btn",input:"gcd-gl-input",expanded:"gcd-gl-expanded",reset:"gcd-gl-reset",result:"gcd-gl-result"},inputText:{container:"gcd-txt-container",control:"gcd-txt-control",input:"gcd-txt-input",reset:"gcd-txt-reset",icon:"gcd-txt-glass",result:"gcd-txt-result"}},_={containerId:y,buttonControlId:b,inputQueryId:x,inputResetId:v,cssClasses:w};const A=Object.freeze({__proto__:null,containerId:y,buttonControlId:b,inputQueryId:x,inputResetId:v,cssClasses:w,default:_}),C="addresschosen",k="nominatim",E="reverse",S="glass-button",T="text-input",j="osm",P="mapquest",$="photon",O="bing",F="opencage",I={provider:j,placeholder:"Search for an address",featureStyle:null,targetType:S,lang:"en-US",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function N(e,t="Assertion failed"){if(!e){if("undefined"!=typeof Error)throw new Error(t);throw t}}function B(e){const t=function(){if("performance"in window==0&&(window.performance={}),"now"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function L(e){return/^\d+$/u.test(e)}function M(e,t,s){if(Array.isArray(e))return void e.forEach((e=>M(e,t)));const n=Array.isArray(t)?t:t.split(/\s+/u);let a=n.length;for(;a--;)D(e,n[a])||U(e,n[a],s)}function q(e,t,s){if(Array.isArray(e))return void e.forEach((e=>q(e,t,s)));const n=Array.isArray(t)?t:t.split(/\s+/u);let a=n.length;for(;a--;)D(e,n[a])&&H(e,n[a],s)}function D(e,t){return e.classList?e.classList.contains(t):V(t).test(e.className)}function R(e,t){return e.replace(/\{\s*([\w-]+)\s*\}/gu,((e,s)=>{const n=void 0===t[s]?"":t[s];return String(n).replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}))}function G(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eH(e,t)),s)}function H(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(V(t)," ").trim(),s&&L(s)&&window.setTimeout((()=>U(e,t)),s)}const z=A.cssClasses;class W{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===T?(t=`${z.namespace} ${z.inputText.container}`,e=G(["div",{id:A.containerId,classname:t}],W.input),s={container:e,control:e.querySelector(`.${z.inputText.control}`),input:e.querySelector(`.${z.inputText.input}`),reset:e.querySelector(`.${z.inputText.reset}`),result:e.querySelector(`.${z.inputText.result}`)}):(t=`${z.namespace} ${z.glass.container}`,e=G(["div",{id:A.containerId,classname:t}],W.glass),s={container:e,control:e.querySelector(`.${z.glass.control}`),button:e.querySelector(`.${z.glass.button}`),input:e.querySelector(`.${z.glass.input}`),reset:e.querySelector(`.${z.glass.reset}`),result:e.querySelector(`.${z.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}W.glass=`\n
      \n \n \n \n
      \n
        \n`,W.input=`\n
        \n \n \n \n
        \n
          \n`;class J{constructor(){this.settings={url:"https://photon.komoot.io/api/",params:{q:"",limit:10,lang:"en"},langs:["de","it","fr","en"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class Y{constructor(){this.settings={url:"https://nominatim.openstreetmap.org/search/",params:{q:"",format:"json",addressdetails:1,limit:10,countrycodes:"","accept-language":"en-US"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,"accept-language":e.lang||this.settings.params["accept-language"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||"",houseNumber:e.address.house_number||"",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class Q{constructor(){this.settings={url:"https://open.mapquestapi.com/nominatim/v1/search.php",params:{q:"",key:"",format:"json",addressdetails:1,limit:10,countrycodes:"","accept-language":"en-US"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:"json",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,"accept-language":e.lang||this.settings.params["accept-language"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||"",road:e.address.road||"",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class K{constructor(){this.settings={url:"https://dev.virtualearth.net/REST/v1/Locations",callbackName:"jsonp",params:{query:"",key:"",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class X{constructor(){this.settings={url:"https://api.opencagedata.com/geocode/v1/json?",params:{q:"",key:"",limit:10,countrycode:"",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||"",road:e.components.road||"",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const n=function(e,t){return t&&"object"==typeof t&&(e+=(/\?/u.test(e)?"&":"?")+ee(t)),e}(e.url,e.data),a={method:"GET",mode:"cors",credentials:"same-origin"};e.jsonp?function(e,t,s){const{head:n}=document,a=document.createElement("script"),i=`f${Math.round(Math.random()*Date.now())}`;a.setAttribute("src",`${e+(e.indexOf("?")>0?"&":"?")+t}=${i}`),window[i]=e=>{window[i]=void 0,setTimeout((()=>n.removeChild(a)),0),s(e)},n.append(a)}(n,e.callbackName,t):fetch(n,a).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push("object"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join("&")}const te=A.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=B("geocoder-layer-"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider="string"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery="",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),D(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener("keypress",(e=>{const t=e.target.value.trim();(e.key?"Enter"===e.key:e.which?13===e.which:e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener("click",(e=>e.stopPropagation()),!1),this.els.input.addEventListener("input",(s=>{const n=s.target.value.trim();0!==n.length?q(this.els.reset,te.hidden):M(this.els.reset,te.hidden),this.options.autoComplete&&n!==t&&(t=n,e&&clearTimeout(e),e=setTimeout((()=>{n.length>=this.options.autoCompleteMinLength&&this.query(n)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener("click",(e=>{this.els.input.focus(),this.els.input.value="",this.lastQuery="",M(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===S&&this.els.button.addEventListener("click",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),M(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),q(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{q(this.els.reset,te.spin);const t=G("li","
          Error! No internet connection?
          ");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;s=this.options.provider===j?`${e.address.name}`:this.addressTemplate(e.address);const n=G("li",`${s}`);n.addEventListener("click",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(n)}))}chosen(e,t,s,n){const a=this.Base.getMap(),i=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],o=a.getView().getProjection(),r=g.default.transform(i,"EPSG:4326",o);let{bbox:l}=e;l&&(l=g.default.transformExtent([l[2],l[1],l[3],l[0]],"EPSG:4326",o));const c={formatted:t,details:s,original:n};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:C,address:c,coordinate:r,bbox:l,place:e});else{l?a.getView().fit(l,{duration:500}):function(e,t,s=500,n=2.388657133911758){e.getView().animate({duration:s,resolution:n},{duration:s,center:t})}(a,r);const t=this.createFeature(r,c);this.Base.dispatchEvent({type:C,address:c,feature:t,coordinate:r,bbox:l,place:e})}}createFeature(e){const t=new f.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(B("geocoder-ft-")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join("")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join("")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join("")),(e.state||e.country)&&t.push(['{state} {country}'].join("")),R(t.join("
          "),e)}newProvider(){switch(this.options.provider){case j:return new Y;case P:return new Q;case $:return new J;case O:return new K;case F:return new X;default:return this.options.provider}}expand(){q(this.els.input,te.spin),M(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value="",this.els.input.blur(),M(this.els.reset,te.hidden),q(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener("click",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===S?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class ne extends c.default{constructor(e=k,t={}){let s,n;N("string"==typeof e,"@param `type` should be string!"),N(e===k||e===E,`@param 'type' should be '${k}'\n or '${E}'!`),N("object"==typeof t,"@param `options` should be object!"),I.featureStyle=[new u.default({image:new d.default({scale:.7,src:"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png"})})];const a=new W(t);if(e===k&&(s=a.els.container),super({element:s}),!(this instanceof ne))return new ne;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(I,t),this.container=s,e===k&&(n=new se(this,a.els),this.layer=n.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return ne}))},35254:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});const n={components:{FederationNotice:()=>s.e(2604).then(s.bind(s,52604)),FederationMissingNotice:()=>s.e(5363).then(s.bind(s,35363))},props:{federation:{type:Object,default:()=>({})}}}},69748:(e,t,s)=>{"use strict";s.d(t,{A:()=>d});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component collections"},[t("SearchableList",{attrs:{data:e.collections,identifierKey:"id",summaryKey:"title",keywordsKey:"keywords",showKeywords:e.showKeywords,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Collection",{attrs:{data:s.item,mapOptions:e.mapOptions,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("collection-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("collection-end",null,null,t)]}},{key:"spatial-extents",fn:function(t){return[e._t("collection-spatial-extents",null,null,t)]}},{key:"temporal-extents",fn:function(t){return[e._t("collection-temporal-extents",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},a=[],i=s(86975),o=s(35254);const r={name:"Collections",components:{Collection:()=>i.A.loadAsyncComponent(Promise.all([s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(3249)]).then(s.bind(s,3249))),SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[o.A],props:{collections:{type:Array,default:()=>[]},mapOptions:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Collections"},collapsed:{type:Boolean,default:null},loadAdditionalData:{type:Function,default:null},showKeywords:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=r;var c=s(81656),u=(0,c.A)(l,n,a,!1,null,null,null);const d=u.exports},54737:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"select-container"},[e.loaded?[t("MultiSelect",{key:e.type,ref:"htmlElement",attrs:{label:"label","track-by":"id",multiple:e.multiple,options:e.selectOptions,allowEmpty:!1,preselectFirst:e.preselect,disabled:!e.editable,deselectLabel:e.deselectLabel,taggable:e.taggable,tagPlaceholder:e.tagPlaceholder},on:{tag:e.addValue},model:{value:e.selected,callback:function(t){e.selected=t},expression:"selected"}}),e.showDetails?t("button",{attrs:{type:"button",title:"Details"},on:{click:function(t){return e.$emit("onDetails")}}},[t("i",{staticClass:"fas fa-info"})]):e._e()]:t("div",{staticClass:"loading"},[t("i",{staticClass:"fas fa-spinner fa-spin"}),e._v(" Loading options...")])],2)},a=[],i=s(75262),o=s.n(i),r=s(2566);const l={name:"SelectBox",components:{MultiSelect:o()},props:{value:{},type:{type:String,default:""},editable:{type:Boolean,default:!0},options:{type:[Array,Object]},schema:{type:Object},context:{},optionFilter:{type:Function,default:null}},computed:{selectOptions(){let e=[];switch(this.type){case"band-name":let t=this.$store.state.collections.find((e=>e.id==this.context));if(r.A.isObject(t)){try{e=t.summaries["bands"].map((e=>e.name))}catch(a){}if(0===e.length&&r.A.isObject(t["cube:dimensions"]))try{let s=Object.values(t["cube:dimensions"]).find((e=>"bands"===e.type));s&&Array.isArray(s.values)&&(e=s.values)}catch(a){}}break;case"collection-id":e=this.$store.state.collections;break;case"job-id":e=this.$store.state.jobs.jobs;break;case"file-path":case"file-paths":e=this.$store.state.files.files;break;case"epsg-code":e=this.$store.state.editor.epsgCodes;break;case"input-format":e=this.$store.state.fileFormats.getInputTypes();break;case"openeo-datatype":let n=s(63610),i={};for(let e of n.NATIVE_TYPES)i[e]={type:e};e=Object.assign(i,n.API_TYPES);break;case"output-format":e=this.$store.state.fileFormats.getOutputTypes();break;case"service-type":e=this.$store.state.serviceTypes;break;case"billing-plan":e=this.$store.state.connection.capabilities().listPlans();break;case"udf-runtime":e=Object.keys(this.$store.state.udfRuntimes);break;case"udf-runtime-version":e=this.context in this.$store.state.udfRuntimes?Object.keys(this.$store.state.udfRuntimes[this.context].versions):[];break}"function"===typeof this.optionFilter&&e&&"object"===typeof e&&(e=r.A.isObject(e)?Object.fromEntries(Object.entries(e).filter((([e,t])=>this.optionFilter(t,e)))):e.filter(((e,t)=>this.optionFilter(e,t))));let t=[];switch(this.type){case"collection-id":return e.map((e=>this.e(e.id))).sort(this.sortByLabel);case"job-id":return e.map((e=>({id:e.id,label:r.A.getResourceTitle(e)}))).sort(this.sortByLabel);case"openeo-datatype":for(let n in e){let s=e[n];t.push({id:n,label:s.title||r.A.prettifyString(n),value:s})}return t;case"file-path":case"file-paths":return e.map((e=>this.e(e.path))).sort(((e,t)=>r.A.sortByPath(e.id,t.id)));case"epsg-code":for(let n in e)t.push({id:Number.parseInt(n,10),label:n+": "+e[n]});return t;case"input-format":case"output-format":case"service-type":for(let n in e){let s=n.toUpperCase(),a=e[n].title;a?s!==a.toUpperCase()&&(a=`${a} - ${s}`):a=s,t.push({id:s,label:a})}return t.sort(this.sortByLabel);case"billing-plan":return e.map((e=>({id:e.name,label:e.name+(e.paid?" (paid)":" (free)")})));case"year":let s=(new Date).getFullYear(),a=Array.from({length:100},((e,t)=>this.e(String(s-t))));if("string"===typeof this.value&&this.value.length>0&&-1===a.findIndex((e=>e.id===this.value))){var n=this.e(this.value);this.value>s?a.unshift(n):a.push(this.e(this.value))}return a;case"band-name":case"udf-runtime":case"udf-runtime-version":return e.map((e=>this.e(e)));default:return r.A.isObject(this.schema)&&this.schema.isEnum()?this.schema.getEnumChoices().map((e=>this.e(e))):Array.isArray(this.options)?this.options.map((e=>r.A.isObject(e)?e:this.e(e))):[]}},showDetails(){return"collection-id"===this.type},deselectLabel(){return this.multiple?"Press enter to remove":""},tagPlaceholder(){return"year"===this.type?"Press enter to select":"Press enter to create a tag"},multiple(){return"file-paths"===this.type},taggable(){let e=["band-name","collection-id","job-id","input-format","output-format"];return"year"===this.type||0===this.selectOptions.length&&e.includes(this.type)},preselect(){return this.multiple?!Array.isArray(this.selected)||0===this.selected.length:null===this.selected}},data(){return{selected:null,loaded:!1}},created(){this.loadData()},watch:{type(){this.loadData()},selected(e){let t;if(null===e)t=null;else if(this.multiple)Array.isArray(e)||(e=[e]),t=e.map((e=>e.id));else switch(this.type){case"epsg-code":var s=Number.parseInt(e.id);t=Number.isNaN(s)?null:s;break;case"openeo-datatype":t=e.value;break;case"year":t=String(e.id);break;default:t=e.id}this.$emit("input",t)},context(){switch(this.type){case"udf-runtime":case"udf-runtime-version":this.selected=null,this.preselectFirst();break;case"band-name":this.selected=null,this.loadData();break}}},methods:{...r.A.mapActions(["describeCollection"]),...r.A.mapActions("editor",["loadEpsgCodes"]),e(e){return{id:e,label:e}},async loadData(){this.loaded=!1,"epsg-code"===this.type?await this.loadEpsgCodes():"band-name"===this.type&&await this.describeCollection(this.context),this.initSelection(),this.loaded=!0},async preselectFirst(){await this.$nextTick();let e=this.$refs.htmlElement;e.preselectFirst&&Array.isArray(e.filteredOptions)&&e.filteredOptions.length&&e.select(e.filteredOptions[0])},initSelection(){let e="undefined"===typeof this.value?this.schema.default():this.value;if(this.multiple&&Array.isArray(e))this.selected=this.selectOptions.filter((t=>e.includes(t.id)));else{switch(this.type){case"input-format":case"output-format":case"service-type":"string"===typeof e&&(e=e.toUpperCase());break}let t=this.selectOptions.find((t=>t.id===e));void 0!==t&&(this.selected=t)}},sortByLabel(e,t){return r.A.compareStringCaseInsensitive(e.label,t.label)},addValue(e){this.selected=this.e(e)}}},c=l;var u=s(81656),d=(0,u.A)(c,n,a,!1,null,null,null);const p=d.exports},31660:(e,t,s)=>{"use strict";s.d(t,{A:()=>p});var n=s(66684),a=s.n(n);class i{constructor(e,t=!1){this.url=e,this.geojson=t}getParameters(e){return{url:this.url,params:{q:e.query,format:"json",limit:10,"accept-language":"en",polygon_geojson:this.geojson?1:0,polygon_threshold:.001}}}handleResponse(e){return 0===e.length?[]:e.filter((e=>["boundary","geological","leisure","natural","place","water","waterway"].includes(e.class))).map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name},original:{formatted:e.display_name,details:e.address,geojson:e.geojson}})))}}const o={methods:{addGeocoder(e,t=!1){if(!this.$config.geocoder)return;const s={provider:new i(this.$config.geocoder,t),placeholder:"Search for ...",keepOpen:!0,preventDefault:!0},n=new(a())("nominatim",s);n.on("addresschosen",(s=>{if(t)e(s.place?.original?.geojson,s);else if(s.place.bbox){let t=s.place.bbox.map((e=>parseFloat(e))),n={west:t[2],east:t[3],north:t[1],south:t[0]};e(n,s)}else e(null,s)})),this.map.addControl(n)}}},r=o;var l,c,u=s(81656),d=(0,u.A)(r,l,c,!1,null,null,null);const p=d.exports},3075:(e,t,s)=>{"use strict";s.d(t,{A:()=>v});var n=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:e.id}},[t("ProgressControl",{ref:"progress",attrs:{map:e.map}}),t("UserLocationControl",{attrs:{map:e.map}}),t("TextControl",{attrs:{text:e.help,map:e.map}})],1)},a=[],i=s(66451),o=s(31660),r=s(95104),l=s(2566),c=s(73926),u=s(89718),d=s(70915),p=s(29276),h=s(55193),m=s(953),f=s(13628);const g={name:"MapAreaSelect",mixins:[i.A,o.A,r.A],components:{TextControl:h.A},props:{value:{type:[Object,Array],default:()=>null},showMaxExtent:{type:[Object,Array],default:()=>null}},data(){return{interaction:null,extent:this.toExtent(this.value)}},computed:{returnAsObject(){return!Array.isArray(this.value)},projectedExtent(){return this.extent?(0,u.transformExtent)(this.extent,"EPSG:4326",this.map.getView().getProjection()):null},outerArea(){if(!this.showMaxExtent)return null;let{west:e,east:t,north:s,south:n}=this.showMaxExtent;return{type:"Polygon",coordinates:[[[-180,90],[-180,-90],[180,-90],[180,90],[-180,90]],[[e,s],[e,n],[t,n],[t,s],[e,s]]]}},bbox(){return l.A.extentToBBox(this.extent)},help(){return this.extent?"Click inside the bounding box to remove it.":"Click on the map to add a bounding box."}},methods:{update(e){e.extent?this.extent=(0,u.transformExtent)(e.extent,this.map.getView().getProjection(),"EPSG:4326"):this.extent=null,this.$emit("input",this.returnAsObject?this.bbox:this.extent)},async renderMap(){let e=!1!==l.A.isBboxInWebMercator(this.bbox);if(await this.createMap(e?"EPSG:3857":"EPSG:4326"),this.addBasemaps(),this.addGeocoder((e=>{if(!e)return;let t=this.toExtent(e);t=(0,u.transformExtent)(t,"EPSG:4326",this.map.getView().getProjection()),this.interaction.setExtent(t),this.fitMap()})),this.showMaxExtent){const e=new p["default"]({fill:new f.A({color:"#00000099"}),stroke:new m.A({width:0,color:"#00000000"})});this.addGeoJson(this.outerArea,!1,"unsupported area",e);let t=this.toExtent(this.showMaxExtent);t=(0,u.transformExtent)(t,"EPSG:4326",this.map.getView().getProjection()),this.map.getView().fit(t,this.getFitOptions(1))}let t=e=>{if(!this.editable)return!1;if("singleclick"===e.type){if(!this.extent){let t=this.map.getSize().map((e=>.2*e)),s=this.map.getView().calculateExtent(t),n=[s[2]-s[0],s[3]-s[1]],a=[e.coordinate[0]-n[0],e.coordinate[1]-n[1],e.coordinate[0]+n[0],e.coordinate[1]+n[1]];return this.interaction.setExtent(a),!1}(0,d.Rj)(this.projectedExtent,...e.coordinate)&&(this.interaction.setExtent(null),this.interaction.vertexOverlay_.getSource().clear(),this.interaction.vertexFeature_=null)}else if(this.interaction.handlingDownUpSequence||this.interaction.snapToVertex_(e.pixel,e.map))return!0;return!1};this.interaction=new c.A({extent:this.projectedExtent,condition:t,boxStyle:(0,p.createDefaultStyle)(),pixelTolerance:15}),this.editable&&this.interaction.on("extentchanged",this.update),this.map.addInteraction(this.interaction),this.fitMap()},fitMap(){if(this.projectedExtent){var e=this.getFitOptions(this.editable?10:33);this.map.getView().fit(this.projectedExtent,e)}}}},y=g;var b=s(81656),x=(0,b.A)(y,n,a,!1,null,null,null);const v=x.exports},55193:(e,t,s)=>{"use strict";s.d(t,{A:()=>u});var n=function(){var e=this,t=e._self._c;return e.texts.length>0?t("div",{staticClass:"ol-unselectable ol-control value",class:{pointer:e.texts.length>1},on:{click:e.toggle}},[e._v(e._s(e.current))]):e._e()},a=[],i=s(23634);const o={name:"TextControl",mixins:[i.A],data(){return{i:0}},computed:{texts(){return Array.isArray(this.text)?this.text:"string"===typeof this.text&&this.text.length>0?[this.text]:[]},current(){return 0===this.texts.length?"":this.texts[this.i%this.text.length]}},props:{text:{text:[String,Array],default:""}},methods:{toggle(){this.i++}}},r=o;var l=s(81656),c=(0,l.A)(r,n,a,!1,null,"52fec35a",null);const u=c.exports},84385:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>y});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wizard-tab-content"},[t("WizardTab",{attrs:{pos:0,parent:e.parent,title:"Data Source",beforeChange:()=>null!==e.collection}},[t("ChooseCollection",{attrs:{value:e.collection},on:{input:e.submitCollection}})],1),t("WizardTab",{attrs:{pos:1,parent:e.parent,title:"Location",beforeChange:()=>null!==e.spatial_extent}},[t("ChooseBoundingBox",{attrs:{max:e.max_spatial_extent},model:{value:e.spatial_extent,callback:function(t){e.spatial_extent=t},expression:"spatial_extent"}})],1),t("WizardTab",{attrs:{pos:2,parent:e.parent,title:"Temporal Coverage",beforeChange:()=>null!==e.temporal_extent}},[t("ChooseTime",{model:{value:e.temporal_extent,callback:function(t){e.temporal_extent=t},expression:"temporal_extent"}})],1),t("WizardTab",{attrs:{pos:3,parent:e.parent,title:"File Format",beforeChange:()=>null!==e.format}},[t("ChooseFormat",{model:{value:e.format,callback:function(t){e.format=t},expression:"format"}})],1),t("WizardTab",{attrs:{pos:4,parent:e.parent,title:"Finish"}},[t("ChooseProcessingMode",{attrs:{title:e.jobTitle},on:{"update:title":function(t){e.jobTitle=t}},model:{value:e.mode,callback:function(t){e.mode=t},expression:"mode"}})],1)],1)},a=[],i=s(34862),o=s(4475),r=s(79066),l=s(37186),c=s(62804),u=s(45699),d=s(73902),p=s(2566);const h={name:"Download",mixins:[u.A],components:{ChooseBoundingBox:i["default"],ChooseCollection:o["default"],ChooseFormat:r["default"],ChooseProcessingMode:l["default"],ChooseTime:c["default"]},data(){return{collection:null,format:null,jobTitle:"Download created by Wizard",mode:"",spatial_extent:null,max_spatial_extent:null,temporal_extent:null}},computed:{...p.A.mapGetters(["processes","collectionDefaults"])},methods:{submitCollection(e){if(this.collection!==e||null==this.temporal_extent){let t=this.collectionDefaults(e);this.collection!==e&&(this.max_spatial_extent=t.spatial_extent),this.collection===e&&null!=this.temporal_extent||(this.temporal_extent=t.temporal_extent)}this.collection=e,this.parent.nextTab()},createProcess(){const e=new d.Builder(this.processes);let t=e.load_collection(this.collection,this.spatial_extent,this.temporal_extent),s=e.save_result(t,this.format);return s.result=!0,e.toJSON()},async finish(){this.$emit("input",{process:this.createProcess(),mode:this.mode,modeOptions:{title:this.jobTitle}})}}},m=h;var f=s(81656),g=(0,f.A)(m,n,a,!1,null,null,null);const y=g.exports},4477:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>c});var n=function(){var e=this,t=e._self._c;return e.active?t("div",{staticClass:"wizard-tab-container"},[e._t("default",null,{active:e.active})],2):e._e()},a=[];const i={name:"WizardTab",props:{parent:{type:Object,required:!0},pos:{type:Number,required:!0},title:{type:String,default:""},beforeChange:{type:Function},afterChange:{type:Function}},data(){return{active:!1,validationError:null,checked:!1}},mounted(){this.parent.addTab(this,this.pos)},beforeDestroy(){this.parent.removeTab(this)}},o=i;var r=s(81656),l=(0,r.A)(o,n,a,!1,null,null,null);const c=l.exports},34862:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-bbox"},[t("p",[e._v("Please select the area of interest which you want to download data for. You can add or remove a bounding box by clicking into the map.")]),t("MapAreaSelect",{staticClass:"map",attrs:{show:e.showMap,value:e.value,showMaxExtent:e.max},on:{input:e.update}})],1)},a=[],i=s(3075);const o={name:"ChooseBoundingBox",components:{MapAreaSelect:i.A},props:{value:{type:Object,default:null},max:{type:Object,default:null}},data(){return{showMap:!0}},mounted(){window.setTimeout((()=>this.showMap=!0),1e3)},methods:{update(e){this.$emit("input",e)}}},r=o;var l=s(81656),c=(0,l.A)(r,n,a,!1,null,"61a75ac8",null);const u=c.exports},4475:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-collection"},[t("p",[e._v("Please select the collection which you want to download data for.")]),t("Collections",{attrs:{heading:"",collections:e.filteredCollections,offerDetails:!1},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{class:{element:!0,selected:s.id==e.value}},[t("div",{staticClass:"summary",on:{click:function(t){return e.update(s.id)}}},[t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()]),t("button",{staticClass:"button",attrs:{type:"button",title:"Show collection details"},on:{click:function(t){return e.showCollectionInfo(s.id)}}},[t("i",{staticClass:"fas fa-info"})])])]}}])})],1)},a=[],i=s(69748),o=s(2566),r=s(61663);const l={name:"ChooseCollection",mixins:[r.A],components:{Collections:i.A},props:{value:{type:String,default:null},filter:{type:Function,default:null}},computed:{...o.A.mapState(["collections"]),filteredCollections(){return"function"===typeof this.filter?this.collections.filter(this.filter):this.collections}},methods:{...o.A.mapActions(["describeCollection"]),async update(e){this.$emit("input",e)},showCollectionInfo(e){this.broadcast("showCollection",e)}}},c=l;var u=s(81656),d=(0,u.A)(c,n,a,!1,null,null,null);const p=d.exports},79066:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-format"},[t("p",[e._v("Please select the file format you want to download data in.")]),t("SelectBox",{attrs:{type:"output-format",value:e.value,optionFilter:e.filterFormats},on:{input:e.setFormat}}),null!==e.scale?t("p",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.scaleBox,expression:"scaleBox"}],attrs:{type:"checkbox",id:"scale"},domProps:{checked:Array.isArray(e.scaleBox)?e._i(e.scaleBox,null)>-1:e.scaleBox},on:{change:function(t){var s=e.scaleBox,n=t.target,a=!!n.checked;if(Array.isArray(s)){var i=null,o=e._i(s,i);n.checked?o<0&&(e.scaleBox=s.concat([i])):o>-1&&(e.scaleBox=s.slice(0,o).concat(s.slice(o+1)))}else e.scaleBox=a}}}),e._v("  "),t("label",{attrs:{for:"scale"}},[e._v("Scale the values from [-1, 1] to [0, 255] (often required for PNG, GIF or JPEG).")])]):e._e()],1)},a=[],i=s(54737);const o={name:"ChooseFormat",components:{SelectBox:i["default"]},props:{value:{type:String,default:null},scale:{type:Boolean,default:null},gisDataType:{type:String,default:null}},computed:{scaleBox:{get(){return this.scale},set(e){this.$emit("update:scale",e)}},filterFormats(){return this.gisDataType?e=>!Array.isArray(e.gis_data_types)||0===e.gis_data_types.length||e.gis_data_types.includes(this.gisDataType):null}},methods:{setFormat(e){this.scaleBox=["bmp","gif","jpeg","jpg","png","webp"].includes(e.toLowerCase()),this.$emit("input",e)}}},r=o;var l=s(81656),c=(0,l.A)(r,n,a,!1,null,null,null);const u=c.exports},37186:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-processing-mode"},[e.isAuthenticated&&(e.supportsJobs||e.supportsSync)?[t("p",[e._v("Please select how you'd like to execute this workflow?")]),t("ul",{staticClass:"mode"},[e.supportsJobs?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"job",value:"job"},domProps:{checked:e._q(e.mode,"job")},on:{change:function(t){e.mode="job"}}}),t("label",{attrs:{for:"job"}},[t("strong",[e._v("Batch Jobs")]),t("br"),e._v(" Slower processing mode for large amounts of data. Creates and queues a batch job."),t("br"),e._v(" It is recommended to provide a title for the batch job: "),t("input",{directives:[{name:"model",rawName:"v-model",value:e.titleInput,expression:"titleInput"}],ref:"title",attrs:{type:"text"},domProps:{value:e.titleInput},on:{input:function(t){t.target.composing||(e.titleInput=t.target.value)}}})])]):e._e(),e.supportsSync?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"sync",value:"sync"},domProps:{checked:e._q(e.mode,"sync")},on:{change:function(t){e.mode="sync"}}}),e._m(0)]):e._e(),e.supportsSync?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"model",value:""},domProps:{checked:e._q(e.mode,"")},on:{change:function(t){e.mode=""}}}),e._m(1)]):e._e()])]:t("p",[e._v(" The wizard has all information to create the workflow for you."),t("br"),e.isAuthenticated?[e._v("Unforntunately, this back-end can't process data,")]:[e._v("You are not logged in and thus you can't process data directly,")],e._v(" but you can insert the process into the visual model builder now. ")],2)],2)},a=[function(){var e=this,t=e._self._c;return t("label",{attrs:{for:"sync"}},[t("strong",[e._v("Synchronous Processing")]),t("br"),e._v(" Fast processing mode for small amounts of data. ")])},function(){var e=this,t=e._self._c;return t("label",{attrs:{for:"model"}},[t("strong",[e._v("Don't execute")]),t("br"),e._v(" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. ")])}],i=s(2566);const o={name:"ChooseProcessingMode",props:{value:{type:String,default:null},title:{type:String,default:""}},data(){return{mode:this.value}},computed:{...i.A.mapState(["isAuthenticated"]),...i.A.mapGetters(["supports"]),titleInput:{get(){return this.title},set(e){this.$emit("update:title",e)}},supportsJobs(){return this.supports("createJob")&&this.supports("startJob")},supportsSync(){return this.supports("computeResult")}},watch:{value(){this.mode=this.value},mode(){this.$emit("input",this.mode),"job"===this.mode&&this.$refs.title.select()},title(){this.$emit("update:title",this.title)}}},r=o;var l=s(81656),c=(0,l.A)(r,n,a,!1,null,"449febe3",null);const u=c.exports},62804:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-time"},[t("p",[e._v("Please select the days for which you want to download data for.")]),t("TemporalPicker",{attrs:{type:"temporal-interval",intervalType:"date",value:e.value},on:{input:t=>e.$emit("input",t)}})],1)},a=[],i=s(27349);const o={name:"ChooseTime",components:{TemporalPicker:i["default"]},props:{value:{type:Array,default:null}}},r=o;var l=s(81656),c=(0,l.A)(r,n,a,!1,null,null,null);const u=c.exports},63610:(e,t,s)=>{"use strict";s.r(t),s.d(t,{API_TYPES:()=>a,NATIVE_TYPES:()=>i});var n=s(2566);const a=n.A.resolveJsonRefs(s(96318)).definitions,i=["string","integer","number","boolean","array","object"]},45699:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});var n=s(4477);const a={components:{WizardTab:n["default"]},props:{parent:{type:Object,required:!0},options:{type:Object,default:()=>({})}},created(){for(let e in this.options)this[e]=this.options[e]}}},73926:(e,t,s)=>{"use strict";s.d(t,{A:()=>C});var n=s(1685),a=s(86717),i=s(73445),o=s(44294),r=s(21409),l=s(82986),c=s(54602),u=s(58704),d=s(70915),p=s(6933),h=s(29276),m=s(34142),f=s(89718);const g={EXTENTCHANGED:"extentchanged"};class y extends n.Ay{constructor(e){super(g.EXTENTCHANGED),this.extent=e}}class b extends r.A{constructor(e){e=e||{},super(e),this.on,this.once,this.un,this.condition_=e.condition?e.condition:u.Gk,this.extent_=null,this.pointerHandler_=null,this.pixelTolerance_=void 0!==e.pixelTolerance?e.pixelTolerance:10,this.snappedToVertex_=!1,this.extentFeature_=null,this.vertexFeature_=null,e||(e={}),this.extentOverlay_=new l["default"]({source:new c["default"]({useSpatialIndex:!1,wrapX:!!e.wrapX}),style:e.boxStyle?e.boxStyle:x(),updateWhileAnimating:!0,updateWhileInteracting:!0}),this.vertexOverlay_=new l["default"]({source:new c["default"]({useSpatialIndex:!1,wrapX:!!e.wrapX}),style:e.pointerStyle?e.pointerStyle:v(),updateWhileAnimating:!0,updateWhileInteracting:!0}),e.extent&&this.setExtent(e.extent)}snapToVertex_(e,t){const s=t.getCoordinateFromPixelInternal(e),n=function(e,t){return(0,p.$x)(s,e)-(0,p.$x)(s,t)},a=this.getExtentInternal();if(a){const i=A(a);i.sort(n);const o=i[0];let r=(0,p.sG)(s,o);const l=t.getPixelFromCoordinateInternal(r);if((0,p.Io)(e,l)<=this.pixelTolerance_){const e=t.getPixelFromCoordinateInternal(o[0]),s=t.getPixelFromCoordinateInternal(o[1]),n=(0,p.hG)(l,e),a=(0,p.hG)(l,s),i=Math.sqrt(Math.min(n,a));return this.snappedToVertex_=i<=this.pixelTolerance_,this.snappedToVertex_&&(r=n>a?o[1]:o[0]),r}}return null}handlePointerMove_(e){const t=e.pixel,s=e.map;let n=this.snapToVertex_(t,s);n||(n=s.getCoordinateFromPixelInternal(t)),this.createOrUpdatePointerFeature_(n)}createOrUpdateExtentFeature_(e){let t=this.extentFeature_;return t?e?t.setGeometry((0,m.VY)(e)):t.setGeometry(void 0):(t=e?new a["default"]((0,m.VY)(e)):new a["default"]({}),this.extentFeature_=t,this.extentOverlay_.getSource().addFeature(t)),t}createOrUpdatePointerFeature_(e){let t=this.vertexFeature_;if(t){const s=t.getGeometry();s.setCoordinates(e)}else t=new a["default"](new o["default"](e)),this.vertexFeature_=t,this.vertexOverlay_.getSource().addFeature(t);return t}handleEvent(e){return!e.originalEvent||!this.condition_(e)||(e.type!=i.A.POINTERMOVE||this.handlingDownUpSequence||this.handlePointerMove_(e),super.handleEvent(e),!1)}handleDownEvent(e){const t=e.pixel,s=e.map,n=this.getExtentInternal();let a=this.snapToVertex_(t,s);const i=function(e){let t=null,s=null;return e[0]==n[0]?t=n[2]:e[0]==n[2]&&(t=n[0]),e[1]==n[1]?s=n[3]:e[1]==n[3]&&(s=n[1]),null!==t&&null!==s?[t,s]:null};if(a&&n){const e=a[0]==n[0]||a[0]==n[2]?a[0]:null,t=a[1]==n[1]||a[1]==n[3]?a[1]:null;null!==e&&null!==t?this.pointerHandler_=w(i(a)):null!==e?this.pointerHandler_=_(i([e,n[1]]),i([e,n[3]])):null!==t&&(this.pointerHandler_=_(i([n[0],t]),i([n[2],t])))}else a=s.getCoordinateFromPixelInternal(t),this.setExtent([a[0],a[1],a[0],a[1]]),this.pointerHandler_=w(a);return!0}handleDragEvent(e){if(this.pointerHandler_){const t=e.coordinate;this.setExtent(this.pointerHandler_(t)),this.createOrUpdatePointerFeature_(t)}}handleUpEvent(e){this.pointerHandler_=null;const t=this.getExtentInternal();return t&&0!==(0,d.UG)(t)||this.setExtent(null),!1}setMap(e){this.extentOverlay_.setMap(e),this.vertexOverlay_.setMap(e),super.setMap(e)}getExtent(){return(0,f.toUserExtent)(this.getExtentInternal(),this.getMap().getView().getProjection())}getExtentInternal(){return this.extent_}setExtent(e){this.extent_=e||null,this.createOrUpdateExtentFeature_(e),this.dispatchEvent(new y(this.extent_))}}function x(){const e=(0,h.createEditingStyle)();return function(t,s){return e["Polygon"]}}function v(){const e=(0,h.createEditingStyle)();return function(t,s){return e["Point"]}}function w(e){return function(t){return(0,d.Tr)([e,t])}}function _(e,t){return e[0]==t[0]?function(s){return(0,d.Tr)([e,[s[0],t[1]]])}:e[1]==t[1]?function(s){return(0,d.Tr)([e,[t[0],s[1]]])}:null}function A(e){return[[[e[0],e[1]],[e[0],e[3]]],[[e[0],e[3]],[e[2],e[3]]],[[e[2],e[3]],[e[2],e[1]]],[[e[2],e[1]],[e[0],e[1]]]]}const C=b}}]); -//# sourceMappingURL=2388.f7a0871b.js.map \ No newline at end of file +//# sourceMappingURL=2388.8b1d748f.js.map \ No newline at end of file diff --git a/js/2388.f7a0871b.js.map b/js/2388.8b1d748f.js.map similarity index 99% rename from js/2388.f7a0871b.js.map rename to js/2388.8b1d748f.js.map index 13e02891..1a7bd6fd 100644 --- a/js/2388.f7a0871b.js.map +++ b/js/2388.8b1d748f.js.map @@ -1 +1 @@ -{"version":3,"file":"js/2388.f7a0871b.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@kirtandesai/ol-geocoder/dist/ol-geocoder.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?ff2a","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?8dc4","webpack://@openeo/web-editor/./src/components/maps/osmgeocoder.js","webpack://@openeo/web-editor/src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue?9845","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?6e22","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?fc6c","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue","webpack://@openeo/web-editor/src/components/maps/TextControl.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?1df8","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?c848","webpack://@openeo/web-editor/./src/components/wizards/Download.vue","webpack://@openeo/web-editor/src/components/wizards/Download.vue","webpack://@openeo/web-editor/./src/components/wizards/Download.vue?9c4f","webpack://@openeo/web-editor/./src/components/wizards/Download.vue?5331","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?ebe2","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?d2e5","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?3394","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?7107","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?7b7e","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?1611","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?9604","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?365b","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?7251","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?b614","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?9c96","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?2b59","webpack://@openeo/web-editor/./src/components/datatypes/api.js","webpack://@openeo/web-editor/./src/components/wizards/WizardMixin.js","webpack://@openeo/web-editor/./node_modules/ol/interaction/Extent.js"],"sourcesContent":["/*!\n * @kirtandesai/ol-geocoder - v5.0.3\n * A geocoder extension compatible with OpenLayers v7.\n * https://github.com/kirtan-desai/ol-geocoder\n * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time)\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"ol/control/Control\"),require(\"ol/style/Style\"),require(\"ol/style/Icon\"),require(\"ol/layer/Vector\"),require(\"ol/source/Vector\"),require(\"ol/geom/Point\"),require(\"ol/Feature\"),require(\"ol/proj\")):\"function\"==typeof define&&define.amd?define([\"ol/control/Control\",\"ol/style/Style\",\"ol/style/Icon\",\"ol/layer/Vector\",\"ol/source/Vector\",\"ol/geom/Point\",\"ol/Feature\",\"ol/proj\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).Geocoder=t(e.ol.control.Control,e.ol.style.Style,e.ol.style.Icon,e.ol.layer.Vector,e.ol.source.Vector,e.ol.geom.Point,e.ol.Feature,e.ol.proj)}(this,(function(e,t,s,r,n,o,a,i){\"use strict\";function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var c=l(e),d=l(t),u=l(s),p=l(r),h=l(n),m=l(o),g=l(a),y=l(i),f=\"gcd-container\",b=\"gcd-button-control\",w=\"gcd-input-query\",v=\"gcd-input-reset\",$={namespace:\"ol-geocoder\",spin:\"gcd-pseudo-rotate\",hidden:\"gcd-hidden\",address:\"gcd-address\",country:\"gcd-country\",city:\"gcd-city\",road:\"gcd-road\",olControl:\"ol-control\",glass:{container:\"gcd-gl-container\",control:\"gcd-gl-control\",button:\"gcd-gl-btn\",input:\"gcd-gl-input\",expanded:\"gcd-gl-expanded\",reset:\"gcd-gl-reset\",result:\"gcd-gl-result\"},inputText:{container:\"gcd-txt-container\",control:\"gcd-txt-control\",input:\"gcd-txt-input\",reset:\"gcd-txt-reset\",icon:\"gcd-txt-glass\",result:\"gcd-txt-result\"}},k={containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$};const x=Object.freeze({__proto__:null,containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$,default:k}),q=\"addresschosen\",C=\"nominatim\",S=\"reverse\",L=\"glass-button\",j=\"text-input\",E=\"osm\",T=\"mapquest\",N=\"photon\",R=\"bing\",A=\"opencage\",P={provider:E,placeholder:\"Search for an address\",featureStyle:null,targetType:L,lang:\"en-US\",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function I(e,t=\"Assertion failed\"){if(!e){if(\"undefined\"!=typeof Error)throw new Error(t);throw t}}function _(e){const t=function(){if(\"performance\"in window==0&&(window.performance={}),\"now\"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function M(e){return/^\\d+$/u.test(e)}function O(e,t,s){if(Array.isArray(e))return void e.forEach((e=>O(e,t)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])||U(e,r[n],s)}function F(e,t,s){if(Array.isArray(e))return void e.forEach((e=>F(e,t,s)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])&&G(e,r[n],s)}function V(e,t){return e.classList?e.classList.contains(t):B(t).test(e.className)}function D(e,t){return e.replace(/\\{\\s*([\\w-]+)\\s*\\}/gu,((e,s)=>{const r=void 0===t[s]?\"\":t[s];return String(r).replaceAll(\"&\",\"&\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll('\"',\""\").replaceAll(\"'\",\"'\")}))}function Q(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eG(e,t)),s)}function G(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(B(t),\" \").trim(),s&&M(s)&&window.setTimeout((()=>U(e,t)),s)}const z=x.cssClasses;class H{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===j?(t=`${z.namespace} ${z.inputText.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.input),s={container:e,control:e.querySelector(`.${z.inputText.control}`),input:e.querySelector(`.${z.inputText.input}`),reset:e.querySelector(`.${z.inputText.reset}`),result:e.querySelector(`.${z.inputText.result}`)}):(t=`${z.namespace} ${z.glass.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.glass),s={container:e,control:e.querySelector(`.${z.glass.control}`),button:e.querySelector(`.${z.glass.button}`),input:e.querySelector(`.${z.glass.input}`),reset:e.querySelector(`.${z.glass.reset}`),result:e.querySelector(`.${z.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}H.glass=`\\n
          \\n \\n \\n \\n
          \\n
            \\n`,H.input=`\\n
            \\n \\n \\n \\n
            \\n
              \\n`;class K{constructor(){this.settings={url:\"https://photon.komoot.io/api/\",params:{q:\"\",limit:10,lang:\"en\"},langs:[\"de\",\"it\",\"fr\",\"en\"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class J{constructor(){this.settings={url:\"https://nominatim.openstreetmap.org/search/\",params:{q:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||\"\",houseNumber:e.address.house_number||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class W{constructor(){this.settings={url:\"https://open.mapquestapi.com/nominatim/v1/search.php\",params:{q:\"\",key:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:\"json\",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||\"\",road:e.address.road||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class X{constructor(){this.settings={url:\"https://dev.virtualearth.net/REST/v1/Locations\",callbackName:\"jsonp\",params:{query:\"\",key:\"\",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class Y{constructor(){this.settings={url:\"https://api.opencagedata.com/geocode/v1/json?\",params:{q:\"\",key:\"\",limit:10,countrycode:\"\",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||\"\",road:e.components.road||\"\",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const r=function(e,t){t&&\"object\"==typeof t&&(e+=(/\\?/u.test(e)?\"&\":\"?\")+ee(t));return e}(e.url,e.data),n={method:\"GET\",mode:\"cors\",credentials:\"same-origin\"};e.jsonp?function(e,t,s){const{head:r}=document,n=document.createElement(\"script\"),o=`f${Math.round(Math.random()*Date.now())}`;n.setAttribute(\"src\",`${e+(e.indexOf(\"?\")>0?\"&\":\"?\")+t}=${o}`),window[o]=e=>{window[o]=void 0,setTimeout((()=>r.removeChild(n)),0),s(e)},r.append(n)}(r,e.callbackName,t):fetch(r,n).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push(\"object\"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join(\"&\")}const te=x.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=_(\"geocoder-layer-\"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider=\"string\"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery=\"\",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),V(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener(\"keypress\",(e=>{const t=e.target.value.trim();(e.key?\"Enter\"===e.key:e.which?13===e.which:!!e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener(\"click\",(e=>e.stopPropagation()),!1),this.els.input.addEventListener(\"input\",(s=>{const r=s.target.value.trim();0!==r.length?F(this.els.reset,te.hidden):O(this.els.reset,te.hidden),this.options.autoComplete&&r!==t&&(t=r,e&&clearTimeout(e),e=setTimeout((()=>{r.length>=this.options.autoCompleteMinLength&&this.query(r)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener(\"click\",(e=>{this.els.input.focus(),this.els.input.value=\"\",this.lastQuery=\"\",O(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===L&&this.els.button.addEventListener(\"click\",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),O(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),F(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{F(this.els.reset,te.spin);const t=Q(\"li\",\"
              Error! No internet connection?
              \");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;if(this.options.provider===E)s=`${e.address.name}`;else s=this.addressTemplate(e.address);const r=Q(\"li\",`${s}`);r.addEventListener(\"click\",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(r)}))}chosen(e,t,s,r){const n=this.Base.getMap(),o=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],a=n.getView().getProjection(),i=y.default.transform(o,\"EPSG:4326\",a);let{bbox:l}=e;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],\"EPSG:4326\",a));const c={formatted:t,details:s,original:r};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:q,address:c,coordinate:i,bbox:l,place:e});else{l?n.getView().fit(l,{duration:500}):function(e,t,s=500,r=2.388657133911758){e.getView().animate({duration:s,resolution:r},{duration:s,center:t})}(n,i);const t=this.createFeature(i,c);this.Base.dispatchEvent({type:q,address:c,feature:t,coordinate:i,bbox:l,place:e})}}createFeature(e){const t=new g.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(_(\"geocoder-ft-\")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join(\"\")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join(\"\")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join(\"\")),(e.state||e.country)&&t.push(['{state} {country}'].join(\"\")),D(t.join(\"
              \"),e)}newProvider(){switch(this.options.provider){case E:return new J;case T:return new W;case N:return new K;case R:return new X;case A:return new Y;default:return this.options.provider}}expand(){F(this.els.input,te.spin),O(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value=\"\",this.els.input.blur(),O(this.els.reset,te.hidden),F(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener(\"click\",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===L?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class re extends c.default{constructor(e=C,t={}){let s,r;I(\"string\"==typeof e,\"@param `type` should be string!\"),I(e===C||e===S,`@param 'type' should be '${C}'\\n or '${S}'!`),I(\"object\"==typeof t,\"@param `options` should be object!\"),P.featureStyle=[new d.default({image:new u.default({scale:.7,src:\"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png\"})})];const n=new H(t);if(e===C&&(s=n.els.container),super({element:s}),!(this instanceof re))return new re;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(P,t),this.container=s,e===C&&(r=new se(this,n.els),this.layer=r.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return re}));\n//# sourceMappingURL=ol-geocoder.js.map\n","export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"select-container\"},[(_vm.loaded)?[_c('MultiSelect',{key:_vm.type,ref:\"htmlElement\",attrs:{\"label\":\"label\",\"track-by\":\"id\",\"multiple\":_vm.multiple,\"options\":_vm.selectOptions,\"allowEmpty\":false,\"preselectFirst\":_vm.preselect,\"disabled\":!_vm.editable,\"deselectLabel\":_vm.deselectLabel,\"taggable\":_vm.taggable,\"tagPlaceholder\":_vm.tagPlaceholder},on:{\"tag\":_vm.addValue},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),(_vm.showDetails)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Details\"},on:{\"click\":function($event){return _vm.$emit('onDetails')}}},[_c('i',{staticClass:\"fas fa-info\"})]):_vm._e()]:_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading options...\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectBox.vue?vue&type=template&id=4d9e902d\"\nimport script from \"./SelectBox.vue?vue&type=script&lang=js\"\nexport * from \"./SelectBox.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./SelectBox.vue?vue&type=style&index=1&id=4d9e902d&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class OSMGeocoder {\n\tconstructor(url, geojson = false) {\n\t\tthis.url = url;\n\t\tthis.geojson = geojson;\n\t}\n\n\tgetParameters(opt) {\n\t\treturn {\n\t\t\turl: this.url,\n\t\t\tparams: {\n\t\t\t\tq: opt.query,\n\t\t\t\tformat: 'json',\n\t\t\t\tlimit: 10,\n\t\t\t\t'accept-language': 'en',\n\t\t\t\tpolygon_geojson: this.geojson ? 1 : 0,\n\t\t\t\tpolygon_threshold: 0.001,\n\t\t\t},\n\t\t};\n\t}\n\n\thandleResponse(results) {\n\t\tif (results.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn results\n\t\t\t.filter(result => [\"boundary\", \"geological\", \"leisure\", \"natural\", \"place\", \"water\", \"waterway\"].includes(result.class))\n\t\t\t.map(result => ({\n\t\t\t\tlon: result.lon,\n\t\t\t\tlat: result.lat,\n\t\t\t\tbbox: result.boundingbox,\n\t\t\t\taddress: {\n\t\t\t\t\tname: result.display_name\n\t\t\t\t},\n\t\t\t\toriginal: {\n\t\t\t\t\tformatted: result.display_name,\n\t\t\t\t\tdetails: result.address,\n\t\t\t\t\tgeojson: result.geojson\n\t\t\t\t}\n\t\t\t}));\n\t}\n}","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nimport style0 from \"@kirtandesai/ol-geocoder/dist/ol-geocoder.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./GeocoderMixin.vue?vue&type=style&index=1&id=643f6883&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.id}},[_c('ProgressControl',{ref:\"progress\",attrs:{\"map\":_vm.map}}),_c('UserLocationControl',{attrs:{\"map\":_vm.map}}),_c('TextControl',{attrs:{\"text\":_vm.help,\"map\":_vm.map}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapAreaSelect.vue?vue&type=template&id=c6d9ceda\"\nimport script from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nexport * from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"../maps/MapMixin.scss?vue&type=style&index=0&prod&lang=scss&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.texts.length > 0)?_c('div',{staticClass:\"ol-unselectable ol-control value\",class:{pointer: _vm.texts.length > 1},on:{\"click\":_vm.toggle}},[_vm._v(_vm._s(_vm.current))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextControl.vue?vue&type=template&id=52fec35a&scoped=true\"\nimport script from \"./TextControl.vue?vue&type=script&lang=js\"\nexport * from \"./TextControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextControl.vue?vue&type=style&index=0&id=52fec35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52fec35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wizard-tab-content\"},[_c('WizardTab',{attrs:{\"pos\":0,\"parent\":_vm.parent,\"title\":\"Data Source\",\"beforeChange\":() => _vm.collection !== null}},[_c('ChooseCollection',{attrs:{\"value\":_vm.collection},on:{\"input\":_vm.submitCollection}})],1),_c('WizardTab',{attrs:{\"pos\":1,\"parent\":_vm.parent,\"title\":\"Location\",\"beforeChange\":() => _vm.spatial_extent !== null}},[_c('ChooseBoundingBox',{attrs:{\"max\":_vm.max_spatial_extent},model:{value:(_vm.spatial_extent),callback:function ($$v) {_vm.spatial_extent=$$v},expression:\"spatial_extent\"}})],1),_c('WizardTab',{attrs:{\"pos\":2,\"parent\":_vm.parent,\"title\":\"Temporal Coverage\",\"beforeChange\":() => _vm.temporal_extent !== null}},[_c('ChooseTime',{model:{value:(_vm.temporal_extent),callback:function ($$v) {_vm.temporal_extent=$$v},expression:\"temporal_extent\"}})],1),_c('WizardTab',{attrs:{\"pos\":3,\"parent\":_vm.parent,\"title\":\"File Format\",\"beforeChange\":() => _vm.format !== null}},[_c('ChooseFormat',{model:{value:(_vm.format),callback:function ($$v) {_vm.format=$$v},expression:\"format\"}})],1),_c('WizardTab',{attrs:{\"pos\":4,\"parent\":_vm.parent,\"title\":\"Finish\"}},[_c('ChooseProcessingMode',{attrs:{\"title\":_vm.jobTitle},on:{\"update:title\":function($event){_vm.jobTitle=$event}},model:{value:(_vm.mode),callback:function ($$v) {_vm.mode=$$v},expression:\"mode\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Download.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Download.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Download.vue?vue&type=template&id=10f133c8\"\nimport script from \"./Download.vue?vue&type=script&lang=js\"\nexport * from \"./Download.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.active)?_c('div',{staticClass:\"wizard-tab-container\"},[_vm._t(\"default\",null,{\"active\":_vm.active})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WizardTab.vue?vue&type=template&id=9a832c4a\"\nimport script from \"./WizardTab.vue?vue&type=script&lang=js\"\nexport * from \"./WizardTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-bbox\"},[_c('p',[_vm._v(\"Please select the area of interest which you want to download data for. You can add or remove a bounding box by clicking into the map.\")]),_c('MapAreaSelect',{staticClass:\"map\",attrs:{\"show\":_vm.showMap,\"value\":_vm.value,\"showMaxExtent\":_vm.max},on:{\"input\":_vm.update}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseBoundingBox.vue?vue&type=template&id=61a75ac8&scoped=true\"\nimport script from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseBoundingBox.vue?vue&type=style&index=0&id=61a75ac8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61a75ac8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-collection\"},[_c('p',[_vm._v(\"Please select the collection which you want to download data for.\")]),_c('Collections',{attrs:{\"heading\":\"\",\"collections\":_vm.filteredCollections,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show collection details\"},on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseCollection.vue?vue&type=template&id=7801e739\"\nimport script from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseCollection.vue?vue&type=style&index=0&id=7801e739&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-format\"},[_c('p',[_vm._v(\"Please select the file format you want to download data in.\")]),_c('SelectBox',{attrs:{\"type\":\"output-format\",\"value\":_vm.value,\"optionFilter\":_vm.filterFormats},on:{\"input\":_vm.setFormat}}),(_vm.scale !== null)?_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.scaleBox),expression:\"scaleBox\"}],attrs:{\"type\":\"checkbox\",\"id\":\"scale\"},domProps:{\"checked\":Array.isArray(_vm.scaleBox)?_vm._i(_vm.scaleBox,null)>-1:(_vm.scaleBox)},on:{\"change\":function($event){var $$a=_vm.scaleBox,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.scaleBox=$$a.concat([$$v]))}else{$$i>-1&&(_vm.scaleBox=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.scaleBox=$$c}}}}),_vm._v(\"  \"),_c('label',{attrs:{\"for\":\"scale\"}},[_vm._v(\"Scale the values from [-1, 1] to [0, 255] (often required for PNG, GIF or JPEG).\")])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseFormat.vue?vue&type=template&id=399a88f0\"\nimport script from \"./ChooseFormat.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseFormat.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-processing-mode\"},[(_vm.isAuthenticated && (_vm.supportsJobs || _vm.supportsSync))?[_c('p',[_vm._v(\"Please select how you'd like to execute this workflow?\")]),_c('ul',{staticClass:\"mode\"},[(_vm.supportsJobs)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"job\",\"value\":\"job\"},domProps:{\"checked\":_vm._q(_vm.mode,\"job\")},on:{\"change\":function($event){_vm.mode=\"job\"}}}),_c('label',{attrs:{\"for\":\"job\"}},[_c('strong',[_vm._v(\"Batch Jobs\")]),_c('br'),_vm._v(\" Slower processing mode for large amounts of data. Creates and queues a batch job.\"),_c('br'),_vm._v(\" It is recommended to provide a title for the batch job: \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.titleInput),expression:\"titleInput\"}],ref:\"title\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.titleInput)},on:{\"input\":function($event){if($event.target.composing)return;_vm.titleInput=$event.target.value}}})])]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"sync\",\"value\":\"sync\"},domProps:{\"checked\":_vm._q(_vm.mode,\"sync\")},on:{\"change\":function($event){_vm.mode=\"sync\"}}}),_vm._m(0)]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"model\",\"value\":\"\"},domProps:{\"checked\":_vm._q(_vm.mode,\"\")},on:{\"change\":function($event){_vm.mode=\"\"}}}),_vm._m(1)]):_vm._e()])]:_c('p',[_vm._v(\" The wizard has all information to create the workflow for you.\"),_c('br'),(_vm.isAuthenticated)?[_vm._v(\"Unforntunately, this back-end can't process data,\")]:[_vm._v(\"You are not logged in and thus you can't process data directly,\")],_vm._v(\" but you can insert the process into the visual model builder now. \")],2)],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"sync\"}},[_c('strong',[_vm._v(\"Synchronous Processing\")]),_c('br'),_vm._v(\" Fast processing mode for small amounts of data. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"model\"}},[_c('strong',[_vm._v(\"Don't execute\")]),_c('br'),_vm._v(\" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessingMode.vue?vue&type=template&id=449febe3&scoped=true\"\nimport script from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseProcessingMode.vue?vue&type=style&index=0&id=449febe3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"449febe3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(\"Please select the days for which you want to download data for.\")]),_c('TemporalPicker',{attrs:{\"type\":\"temporal-interval\",\"intervalType\":\"date\",\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseTime.vue?vue&type=template&id=4c3899e5\"\nimport script from \"./ChooseTime.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseTime.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Utils from '../../utils';\nexport const API_TYPES = Utils.resolveJsonRefs(require('@openeo/js-processgraphs/assets/subtype-schemas.json')).definitions;\nexport const NATIVE_TYPES = [\n\t'string',\n\t'integer',\n\t'number',\n\t'boolean',\n\t'array',\n\t'object'\n];","import WizardTab from './components/WizardTab.vue';\n\nexport default {\n\tcomponents: {\n\t\tWizardTab\n\t},\n\tprops: {\n\t\tparent: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\toptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t},\n\tcreated() {\n\t\tfor(let key in this.options) {\n\t\t\tthis[key] = this.options[key];\n\t\t}\n\t}\n};","/**\n * @module ol/interaction/Extent\n */\nimport Event from '../events/Event.js';\nimport Feature from '../Feature.js';\nimport MapBrowserEventType from '../MapBrowserEventType.js';\nimport Point from '../geom/Point.js';\nimport PointerInteraction from './Pointer.js';\nimport VectorLayer from '../layer/Vector.js';\nimport VectorSource from '../source/Vector.js';\nimport {always} from '../events/condition.js';\nimport {boundingExtent, getArea} from '../extent.js';\nimport {\n closestOnSegment,\n distance as coordinateDistance,\n squaredDistance as squaredCoordinateDistance,\n squaredDistanceToSegment,\n} from '../coordinate.js';\nimport {createEditingStyle} from '../style/Style.js';\nimport {fromExtent as polygonFromExtent} from '../geom/Polygon.js';\nimport {toUserExtent} from '../proj.js';\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.always}.\n * @property {import(\"../extent.js\").Extent} [extent] Initial extent. Defaults to no\n * initial extent.\n * @property {import(\"../style/Style.js\").StyleLike} [boxStyle]\n * Style for the drawn extent box. Defaults to the `Polygon` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {number} [pixelTolerance=10] Pixel tolerance for considering the\n * pointer close enough to a segment or vertex for editing.\n * @property {import(\"../style/Style.js\").StyleLike} [pointerStyle]\n * Style for the cursor used to draw the extent. Defaults to the `Point` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {boolean} [wrapX=false] Wrap the drawn extent across multiple maps\n * in the X direction? Only affects visuals, not functionality.\n */\n\n/**\n * @enum {string}\n */\nconst ExtentEventType = {\n /**\n * Triggered after the extent is changed\n * @event ExtentEvent#extentchanged\n * @api\n */\n EXTENTCHANGED: 'extentchanged',\n};\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/Extent~Extent} instances are\n * instances of this type.\n */\nexport class ExtentEvent extends Event {\n /**\n * @param {import(\"../extent.js\").Extent} extent the new extent\n */\n constructor(extent) {\n super(ExtentEventType.EXTENTCHANGED);\n\n /**\n * The current extent.\n * @type {import(\"../extent.js\").Extent}\n * @api\n */\n this.extent = extent;\n }\n}\n\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'extentchanged', ExtentEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} ExtentOnSignature\n */\n\n/**\n * @classdesc\n * Allows the user to draw a vector box by clicking and dragging on the map.\n * Once drawn, the vector box can be modified by dragging its vertices or edges.\n * This interaction is only supported for mouse devices.\n *\n * @fires ExtentEvent\n * @api\n */\nclass Extent extends PointerInteraction {\n /**\n * @param {Options} [options] Options.\n */\n constructor(options) {\n options = options || {};\n\n super(/** @type {import(\"./Pointer.js\").Options} */ (options));\n\n /***\n * @type {ExtentOnSignature}\n */\n this.on;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.once;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.un;\n\n /**\n * Condition\n * @type {import(\"../events/condition.js\").Condition}\n * @private\n */\n this.condition_ = options.condition ? options.condition : always;\n\n /**\n * Extent of the drawn box\n * @type {import(\"../extent.js\").Extent}\n * @private\n */\n this.extent_ = null;\n\n /**\n * Handler for pointer move events\n * @type {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null}\n * @private\n */\n this.pointerHandler_ = null;\n\n /**\n * Pixel threshold to snap to extent\n * @type {number}\n * @private\n */\n this.pixelTolerance_ =\n options.pixelTolerance !== undefined ? options.pixelTolerance : 10;\n\n /**\n * Is the pointer snapped to an extent vertex\n * @type {boolean}\n * @private\n */\n this.snappedToVertex_ = false;\n\n /**\n * Feature for displaying the visible extent\n * @type {Feature}\n * @private\n */\n this.extentFeature_ = null;\n\n /**\n * Feature for displaying the visible pointer\n * @type {Feature}\n * @private\n */\n this.vertexFeature_ = null;\n\n if (!options) {\n options = {};\n }\n\n /**\n * Layer for the extentFeature\n * @type {VectorLayer}\n * @private\n */\n this.extentOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.boxStyle\n ? options.boxStyle\n : getDefaultExtentStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n /**\n * Layer for the vertexFeature\n * @type {VectorLayer}\n * @private\n */\n this.vertexOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.pointerStyle\n ? options.pointerStyle\n : getDefaultPointerStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n if (options.extent) {\n this.setExtent(options.extent);\n }\n }\n\n /**\n * @param {import(\"../pixel.js\").Pixel} pixel cursor location\n * @param {import(\"../Map.js\").default} map map\n * @return {import(\"../coordinate.js\").Coordinate|null} snapped vertex on extent\n * @private\n */\n snapToVertex_(pixel, map) {\n const pixelCoordinate = map.getCoordinateFromPixelInternal(pixel);\n const sortByDistance = function (a, b) {\n return (\n squaredDistanceToSegment(pixelCoordinate, a) -\n squaredDistanceToSegment(pixelCoordinate, b)\n );\n };\n const extent = this.getExtentInternal();\n if (extent) {\n //convert extents to line segments and find the segment closest to pixelCoordinate\n const segments = getSegments(extent);\n segments.sort(sortByDistance);\n const closestSegment = segments[0];\n\n let vertex = closestOnSegment(pixelCoordinate, closestSegment);\n const vertexPixel = map.getPixelFromCoordinateInternal(vertex);\n\n //if the distance is within tolerance, snap to the segment\n if (coordinateDistance(pixel, vertexPixel) <= this.pixelTolerance_) {\n //test if we should further snap to a vertex\n const pixel1 = map.getPixelFromCoordinateInternal(closestSegment[0]);\n const pixel2 = map.getPixelFromCoordinateInternal(closestSegment[1]);\n const squaredDist1 = squaredCoordinateDistance(vertexPixel, pixel1);\n const squaredDist2 = squaredCoordinateDistance(vertexPixel, pixel2);\n const dist = Math.sqrt(Math.min(squaredDist1, squaredDist2));\n this.snappedToVertex_ = dist <= this.pixelTolerance_;\n if (this.snappedToVertex_) {\n vertex =\n squaredDist1 > squaredDist2 ? closestSegment[1] : closestSegment[0];\n }\n return vertex;\n }\n }\n return null;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent pointer move event\n * @private\n */\n handlePointerMove_(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n let vertex = this.snapToVertex_(pixel, map);\n if (!vertex) {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n }\n this.createOrUpdatePointerFeature_(vertex);\n }\n\n /**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Feature} extent as featrue\n * @private\n */\n createOrUpdateExtentFeature_(extent) {\n let extentFeature = this.extentFeature_;\n\n if (!extentFeature) {\n if (!extent) {\n extentFeature = new Feature({});\n } else {\n extentFeature = new Feature(polygonFromExtent(extent));\n }\n this.extentFeature_ = extentFeature;\n this.extentOverlay_.getSource().addFeature(extentFeature);\n } else {\n if (!extent) {\n extentFeature.setGeometry(undefined);\n } else {\n extentFeature.setGeometry(polygonFromExtent(extent));\n }\n }\n return extentFeature;\n }\n\n /**\n * @param {import(\"../coordinate.js\").Coordinate} vertex location of feature\n * @return {Feature} vertex as feature\n * @private\n */\n createOrUpdatePointerFeature_(vertex) {\n let vertexFeature = this.vertexFeature_;\n if (!vertexFeature) {\n vertexFeature = new Feature(new Point(vertex));\n this.vertexFeature_ = vertexFeature;\n this.vertexOverlay_.getSource().addFeature(vertexFeature);\n } else {\n const geometry = vertexFeature.getGeometry();\n geometry.setCoordinates(vertex);\n }\n return vertexFeature;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n */\n handleEvent(mapBrowserEvent) {\n if (!mapBrowserEvent.originalEvent || !this.condition_(mapBrowserEvent)) {\n return true;\n }\n //display pointer (if not dragging)\n if (\n mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE &&\n !this.handlingDownUpSequence\n ) {\n this.handlePointerMove_(mapBrowserEvent);\n }\n //call pointer to determine up/down/drag\n super.handleEvent(mapBrowserEvent);\n //return false to stop propagation\n return false;\n }\n\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleDownEvent(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n const extent = this.getExtentInternal();\n let vertex = this.snapToVertex_(pixel, map);\n\n //find the extent corner opposite the passed corner\n const getOpposingPoint = function (point) {\n let x_ = null;\n let y_ = null;\n if (point[0] == extent[0]) {\n x_ = extent[2];\n } else if (point[0] == extent[2]) {\n x_ = extent[0];\n }\n if (point[1] == extent[1]) {\n y_ = extent[3];\n } else if (point[1] == extent[3]) {\n y_ = extent[1];\n }\n if (x_ !== null && y_ !== null) {\n return [x_, y_];\n }\n return null;\n };\n if (vertex && extent) {\n const x =\n vertex[0] == extent[0] || vertex[0] == extent[2] ? vertex[0] : null;\n const y =\n vertex[1] == extent[1] || vertex[1] == extent[3] ? vertex[1] : null;\n\n //snap to point\n if (x !== null && y !== null) {\n this.pointerHandler_ = getPointHandler(getOpposingPoint(vertex));\n //snap to edge\n } else if (x !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([x, extent[1]]),\n getOpposingPoint([x, extent[3]]),\n );\n } else if (y !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([extent[0], y]),\n getOpposingPoint([extent[2], y]),\n );\n }\n //no snap - new bbox\n } else {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n this.setExtent([vertex[0], vertex[1], vertex[0], vertex[1]]);\n this.pointerHandler_ = getPointHandler(vertex);\n }\n return true; //event handled; start downup sequence\n }\n\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n handleDragEvent(mapBrowserEvent) {\n if (this.pointerHandler_) {\n const pixelCoordinate = mapBrowserEvent.coordinate;\n this.setExtent(this.pointerHandler_(pixelCoordinate));\n this.createOrUpdatePointerFeature_(pixelCoordinate);\n }\n }\n\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleUpEvent(mapBrowserEvent) {\n this.pointerHandler_ = null;\n //If bbox is zero area, set to null;\n const extent = this.getExtentInternal();\n if (!extent || getArea(extent) === 0) {\n this.setExtent(null);\n }\n return false; //Stop handling downup sequence\n }\n\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../Map.js\").default} map Map.\n */\n setMap(map) {\n this.extentOverlay_.setMap(map);\n this.vertexOverlay_.setMap(map);\n super.setMap(map);\n }\n\n /**\n * Returns the current drawn extent in the view projection (or user projection if set)\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtent() {\n return toUserExtent(\n this.getExtentInternal(),\n this.getMap().getView().getProjection(),\n );\n }\n\n /**\n * Returns the current drawn extent in the view projection\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtentInternal() {\n return this.extent_;\n }\n\n /**\n * Manually sets the drawn extent, using the view projection.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent\n * @api\n */\n setExtent(extent) {\n //Null extent means no bbox\n this.extent_ = extent ? extent : null;\n this.createOrUpdateExtentFeature_(extent);\n this.dispatchEvent(new ExtentEvent(this.extent_));\n }\n}\n\n/**\n * Returns the default style for the drawn bbox\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default Extent style\n */\nfunction getDefaultExtentStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Polygon'];\n };\n}\n\n/**\n * Returns the default style for the pointer\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default pointer style\n */\nfunction getDefaultPointerStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Point'];\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedPoint corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent} event handler\n */\nfunction getPointHandler(fixedPoint) {\n return function (point) {\n return boundingExtent([fixedPoint, point]);\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedP1 first corner that will be unchanged in the new extent\n * @param {import(\"../coordinate.js\").Coordinate} fixedP2 second corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null} event handler\n */\nfunction getEdgeHandler(fixedP1, fixedP2) {\n if (fixedP1[0] == fixedP2[0]) {\n return function (point) {\n return boundingExtent([fixedP1, [point[0], fixedP2[1]]]);\n };\n }\n if (fixedP1[1] == fixedP2[1]) {\n return function (point) {\n return boundingExtent([fixedP1, [fixedP2[0], point[1]]]);\n };\n }\n return null;\n}\n\n/**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Array>} extent line segments\n */\nfunction getSegments(extent) {\n return [\n [\n [extent[0], extent[1]],\n [extent[0], extent[3]],\n ],\n [\n [extent[0], extent[3]],\n [extent[2], extent[3]],\n ],\n [\n [extent[2], extent[3]],\n [extent[2], extent[1]],\n ],\n [\n [extent[2], extent[1]],\n [extent[0], extent[1]],\n ],\n ];\n}\n\nexport default Extent;\n"],"names":["e","t","module","exports","this","s","r","n","o","a","i","l","default","c","d","u","p","h","m","g","y","f","b","w","v","$","namespace","spin","hidden","address","country","city","road","olControl","glass","container","control","button","input","expanded","reset","result","inputText","icon","k","containerId","buttonControlId","inputQueryId","inputResetId","cssClasses","x","Object","freeze","__proto__","q","C","S","L","j","E","T","N","R","A","P","provider","placeholder","featureStyle","targetType","lang","limit","keepOpen","preventDefault","autoComplete","autoCompleteMinLength","autoCompleteTimeout","debug","I","Error","_","window","performance","Date","now","timing","navigationStart","toString","M","test","O","Array","isArray","forEach","split","length","V","U","F","G","classList","contains","B","className","D","replace","String","replaceAll","Q","document","createElement","id","classname","attr","setAttribute","name","value","innerHTML","createDocumentFragment","childNodes","append","RegExp","add","trim","setTimeout","remove","z","H","constructor","options","els","createControl","querySelector","K","settings","url","params","langs","getParameters","toLowerCase","query","includes","handleResponse","features","map","lon","geometry","coordinates","lat","properties","postcode","state","original","formatted","details","J","format","addressdetails","countrycodes","bbox","boundingbox","display_name","houseNumber","house_number","town","W","key","neighbourhood","X","callbackName","includeNeighborhood","maxResults","resources","resourceSets","point","formattedAddress","Y","countrycode","pretty","no_annotations","results","lng","components","Z","Promise","ee","data","method","mode","credentials","jsonp","head","Math","round","random","indexOf","removeChild","fetch","then","json","catch","keys","reduce","push","encodeURIComponent","join","te","se","Base","layerName","layer","source","newProvider","lastQuery","registeredListeners","mapClick","setListeners","stopPropagation","collapse","expand","addEventListener","target","which","keyCode","clearTimeout","focus","clearResults","firstChild","console","info","createList","listenMapClick","addressTemplate","chosen","getMap","Number","parseFloat","getView","getProjection","transform","transformExtent","dispatchEvent","type","coordinate","place","fit","duration","animate","resolution","center","createFeature","feature","addLayer","setStyle","setId","getSource","addFeature","building","village","blur","getTargetElement","handleEvent","removeEventListener","getLayers","re","image","scale","src","super","element","prototype","hasOwnProperty","call","getLayer","setProvider","setProviderKey","FederationNotice","FederationMissingNotice","props","federation","render","_vm","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","loaded","ref","multiple","selectOptions","preselect","editable","deselectLabel","taggable","tagPlaceholder","addValue","model","selected","callback","$$v","expression","showDetails","$event","_e","_v","MultiSelect","schema","context","optionFilter","computed","collection","$store","find","Utils","isObject","summaries","band","error","bandDimension","values","jobs","files","editor","epsgCodes","fileFormats","getInputTypes","require","types","native","NATIVE_TYPES","assign","API_TYPES","getOutputTypes","serviceTypes","connection","capabilities","listPlans","udfRuntimes","versions","fromEntries","entries","filter","sortByLabel","label","getResourceTitle","title","prettifyString","path","sortByPath","parseInt","toUpperCase","paid","thisYear","getFullYear","years","from","findIndex","customYear","unshift","val","isEnum","getEnumChoices","freeInputIfEmpty","created","loadData","watch","newValue","num","isNaN","preselectFirst","mapActions","loadEpsgCodes","describeCollection","initSelection","$nextTick","elem","$refs","htmlElement","filteredOptions","select","selectedOption","undefined","compareStringCaseInsensitive","OSMGeocoder","geojson","opt","polygon_geojson","polygon_threshold","class","addGeocoder","$config","geocoder","Geocoder","event","bboxOpenEO","west","east","north","south","addControl","help","GeoJsonMixin","GeocoderMixin","MapMixin","TextControl","showMaxExtent","interaction","extent","toExtent","returnAsObject","projectedExtent","outerArea","extentToBBox","update","renderMap","isWebMercatorCompatible","isBboxInWebMercator","createMap","addBasemaps","setExtent","fitMap","style","Style","fill","Fill","color","stroke","Stroke","width","addGeoJson","getFitOptions","condition","pixelSize","getSize","xy","calculateExtent","size","mouseExtent","containsXY","vertexOverlay_","clear","vertexFeature_","handlingDownUpSequence","snapToVertex_","pixel","ExtentInteraction","boxStyle","createDefaultStyle","pixelTolerance","addInteraction","fitOptions","texts","pointer","toggle","_s","current","ControlMixin","text","parent","beforeChange","submitCollection","spatial_extent","max_spatial_extent","temporal_extent","jobTitle","WizardMixin","ChooseBoundingBox","ChooseCollection","ChooseFormat","ChooseProcessingMode","ChooseTime","mapGetters","defaults","collectionDefaults","nextTab","createProcess","Builder","processes","load","load_collection","save","save_result","toJSON","finish","process","modeOptions","active","required","pos","afterChange","validationError","checked","mounted","addTab","beforeDestroy","removeTab","showMap","max","MapAreaSelect","filteredCollections","showCollectionInfo","EventBusMixin","Collections","mapState","broadcast","filterFormats","setFormat","directives","rawName","scaleBox","domProps","_i","$$a","$$el","$$c","$$i","concat","slice","SelectBox","gisDataType","get","set","gis_data_types","isAuthenticated","supportsJobs","supportsSync","_q","titleInput","composing","_m","supports","TemporalPicker","resolveJsonRefs","definitions","WizardTab","ExtentEventType","EXTENTCHANGED","ExtentEvent","Extent","once","un","condition_","extent_","pointerHandler_","pixelTolerance_","snappedToVertex_","extentFeature_","extentOverlay_","useSpatialIndex","wrapX","getDefaultExtentStyleFunction","updateWhileAnimating","updateWhileInteracting","pointerStyle","getDefaultPointerStyleFunction","pixelCoordinate","getCoordinateFromPixelInternal","sortByDistance","getExtentInternal","segments","getSegments","closestSegment","vertex","vertexPixel","getPixelFromCoordinateInternal","pixel1","pixel2","squaredDist1","squaredDist2","dist","sqrt","min","handlePointerMove_","mapBrowserEvent","createOrUpdatePointerFeature_","createOrUpdateExtentFeature_","extentFeature","setGeometry","vertexFeature","getGeometry","setCoordinates","originalEvent","POINTERMOVE","handleDownEvent","getOpposingPoint","x_","y_","getPointHandler","getEdgeHandler","handleDragEvent","handleUpEvent","setMap","getExtent","toUserExtent","createEditingStyle","fixedPoint","fixedP1","fixedP2"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/2388.8b1d748f.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@kirtandesai/ol-geocoder/dist/ol-geocoder.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?ff2a","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?8dc4","webpack://@openeo/web-editor/./src/components/maps/osmgeocoder.js","webpack://@openeo/web-editor/src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue?9845","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?6e22","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?fc6c","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue","webpack://@openeo/web-editor/src/components/maps/TextControl.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?1df8","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?c848","webpack://@openeo/web-editor/./src/components/wizards/Download.vue","webpack://@openeo/web-editor/src/components/wizards/Download.vue","webpack://@openeo/web-editor/./src/components/wizards/Download.vue?9c4f","webpack://@openeo/web-editor/./src/components/wizards/Download.vue?5331","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?ebe2","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?d2e5","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?3394","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?7107","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?7b7e","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?1611","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?9604","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?365b","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?7251","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?b614","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?9c96","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?2b59","webpack://@openeo/web-editor/./src/components/datatypes/api.js","webpack://@openeo/web-editor/./src/components/wizards/WizardMixin.js","webpack://@openeo/web-editor/./node_modules/ol/interaction/Extent.js"],"sourcesContent":["/*!\n * @kirtandesai/ol-geocoder - v5.0.3\n * A geocoder extension compatible with OpenLayers v7.\n * https://github.com/kirtan-desai/ol-geocoder\n * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time)\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"ol/control/Control\"),require(\"ol/style/Style\"),require(\"ol/style/Icon\"),require(\"ol/layer/Vector\"),require(\"ol/source/Vector\"),require(\"ol/geom/Point\"),require(\"ol/Feature\"),require(\"ol/proj\")):\"function\"==typeof define&&define.amd?define([\"ol/control/Control\",\"ol/style/Style\",\"ol/style/Icon\",\"ol/layer/Vector\",\"ol/source/Vector\",\"ol/geom/Point\",\"ol/Feature\",\"ol/proj\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).Geocoder=t(e.ol.control.Control,e.ol.style.Style,e.ol.style.Icon,e.ol.layer.Vector,e.ol.source.Vector,e.ol.geom.Point,e.ol.Feature,e.ol.proj)}(this,(function(e,t,s,r,n,o,a,i){\"use strict\";function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var c=l(e),d=l(t),u=l(s),p=l(r),h=l(n),m=l(o),g=l(a),y=l(i),f=\"gcd-container\",b=\"gcd-button-control\",w=\"gcd-input-query\",v=\"gcd-input-reset\",$={namespace:\"ol-geocoder\",spin:\"gcd-pseudo-rotate\",hidden:\"gcd-hidden\",address:\"gcd-address\",country:\"gcd-country\",city:\"gcd-city\",road:\"gcd-road\",olControl:\"ol-control\",glass:{container:\"gcd-gl-container\",control:\"gcd-gl-control\",button:\"gcd-gl-btn\",input:\"gcd-gl-input\",expanded:\"gcd-gl-expanded\",reset:\"gcd-gl-reset\",result:\"gcd-gl-result\"},inputText:{container:\"gcd-txt-container\",control:\"gcd-txt-control\",input:\"gcd-txt-input\",reset:\"gcd-txt-reset\",icon:\"gcd-txt-glass\",result:\"gcd-txt-result\"}},k={containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$};const x=Object.freeze({__proto__:null,containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$,default:k}),q=\"addresschosen\",C=\"nominatim\",S=\"reverse\",L=\"glass-button\",j=\"text-input\",E=\"osm\",T=\"mapquest\",N=\"photon\",R=\"bing\",A=\"opencage\",P={provider:E,placeholder:\"Search for an address\",featureStyle:null,targetType:L,lang:\"en-US\",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function I(e,t=\"Assertion failed\"){if(!e){if(\"undefined\"!=typeof Error)throw new Error(t);throw t}}function _(e){const t=function(){if(\"performance\"in window==0&&(window.performance={}),\"now\"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function M(e){return/^\\d+$/u.test(e)}function O(e,t,s){if(Array.isArray(e))return void e.forEach((e=>O(e,t)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])||U(e,r[n],s)}function F(e,t,s){if(Array.isArray(e))return void e.forEach((e=>F(e,t,s)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])&&G(e,r[n],s)}function V(e,t){return e.classList?e.classList.contains(t):B(t).test(e.className)}function D(e,t){return e.replace(/\\{\\s*([\\w-]+)\\s*\\}/gu,((e,s)=>{const r=void 0===t[s]?\"\":t[s];return String(r).replaceAll(\"&\",\"&\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll('\"',\""\").replaceAll(\"'\",\"'\")}))}function Q(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eG(e,t)),s)}function G(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(B(t),\" \").trim(),s&&M(s)&&window.setTimeout((()=>U(e,t)),s)}const z=x.cssClasses;class H{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===j?(t=`${z.namespace} ${z.inputText.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.input),s={container:e,control:e.querySelector(`.${z.inputText.control}`),input:e.querySelector(`.${z.inputText.input}`),reset:e.querySelector(`.${z.inputText.reset}`),result:e.querySelector(`.${z.inputText.result}`)}):(t=`${z.namespace} ${z.glass.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.glass),s={container:e,control:e.querySelector(`.${z.glass.control}`),button:e.querySelector(`.${z.glass.button}`),input:e.querySelector(`.${z.glass.input}`),reset:e.querySelector(`.${z.glass.reset}`),result:e.querySelector(`.${z.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}H.glass=`\\n
              \\n \\n \\n \\n
              \\n
                \\n`,H.input=`\\n
                \\n \\n \\n \\n
                \\n
                  \\n`;class K{constructor(){this.settings={url:\"https://photon.komoot.io/api/\",params:{q:\"\",limit:10,lang:\"en\"},langs:[\"de\",\"it\",\"fr\",\"en\"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class J{constructor(){this.settings={url:\"https://nominatim.openstreetmap.org/search/\",params:{q:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||\"\",houseNumber:e.address.house_number||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class W{constructor(){this.settings={url:\"https://open.mapquestapi.com/nominatim/v1/search.php\",params:{q:\"\",key:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:\"json\",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||\"\",road:e.address.road||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class X{constructor(){this.settings={url:\"https://dev.virtualearth.net/REST/v1/Locations\",callbackName:\"jsonp\",params:{query:\"\",key:\"\",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class Y{constructor(){this.settings={url:\"https://api.opencagedata.com/geocode/v1/json?\",params:{q:\"\",key:\"\",limit:10,countrycode:\"\",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||\"\",road:e.components.road||\"\",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const r=function(e,t){t&&\"object\"==typeof t&&(e+=(/\\?/u.test(e)?\"&\":\"?\")+ee(t));return e}(e.url,e.data),n={method:\"GET\",mode:\"cors\",credentials:\"same-origin\"};e.jsonp?function(e,t,s){const{head:r}=document,n=document.createElement(\"script\"),o=`f${Math.round(Math.random()*Date.now())}`;n.setAttribute(\"src\",`${e+(e.indexOf(\"?\")>0?\"&\":\"?\")+t}=${o}`),window[o]=e=>{window[o]=void 0,setTimeout((()=>r.removeChild(n)),0),s(e)},r.append(n)}(r,e.callbackName,t):fetch(r,n).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push(\"object\"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join(\"&\")}const te=x.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=_(\"geocoder-layer-\"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider=\"string\"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery=\"\",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),V(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener(\"keypress\",(e=>{const t=e.target.value.trim();(e.key?\"Enter\"===e.key:e.which?13===e.which:!!e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener(\"click\",(e=>e.stopPropagation()),!1),this.els.input.addEventListener(\"input\",(s=>{const r=s.target.value.trim();0!==r.length?F(this.els.reset,te.hidden):O(this.els.reset,te.hidden),this.options.autoComplete&&r!==t&&(t=r,e&&clearTimeout(e),e=setTimeout((()=>{r.length>=this.options.autoCompleteMinLength&&this.query(r)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener(\"click\",(e=>{this.els.input.focus(),this.els.input.value=\"\",this.lastQuery=\"\",O(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===L&&this.els.button.addEventListener(\"click\",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),O(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),F(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{F(this.els.reset,te.spin);const t=Q(\"li\",\"
                  Error! No internet connection?
                  \");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;if(this.options.provider===E)s=`${e.address.name}`;else s=this.addressTemplate(e.address);const r=Q(\"li\",`${s}`);r.addEventListener(\"click\",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(r)}))}chosen(e,t,s,r){const n=this.Base.getMap(),o=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],a=n.getView().getProjection(),i=y.default.transform(o,\"EPSG:4326\",a);let{bbox:l}=e;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],\"EPSG:4326\",a));const c={formatted:t,details:s,original:r};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:q,address:c,coordinate:i,bbox:l,place:e});else{l?n.getView().fit(l,{duration:500}):function(e,t,s=500,r=2.388657133911758){e.getView().animate({duration:s,resolution:r},{duration:s,center:t})}(n,i);const t=this.createFeature(i,c);this.Base.dispatchEvent({type:q,address:c,feature:t,coordinate:i,bbox:l,place:e})}}createFeature(e){const t=new g.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(_(\"geocoder-ft-\")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join(\"\")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join(\"\")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join(\"\")),(e.state||e.country)&&t.push(['{state} {country}'].join(\"\")),D(t.join(\"
                  \"),e)}newProvider(){switch(this.options.provider){case E:return new J;case T:return new W;case N:return new K;case R:return new X;case A:return new Y;default:return this.options.provider}}expand(){F(this.els.input,te.spin),O(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value=\"\",this.els.input.blur(),O(this.els.reset,te.hidden),F(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener(\"click\",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===L?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class re extends c.default{constructor(e=C,t={}){let s,r;I(\"string\"==typeof e,\"@param `type` should be string!\"),I(e===C||e===S,`@param 'type' should be '${C}'\\n or '${S}'!`),I(\"object\"==typeof t,\"@param `options` should be object!\"),P.featureStyle=[new d.default({image:new u.default({scale:.7,src:\"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png\"})})];const n=new H(t);if(e===C&&(s=n.els.container),super({element:s}),!(this instanceof re))return new re;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(P,t),this.container=s,e===C&&(r=new se(this,n.els),this.layer=r.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return re}));\n//# sourceMappingURL=ol-geocoder.js.map\n","export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"select-container\"},[(_vm.loaded)?[_c('MultiSelect',{key:_vm.type,ref:\"htmlElement\",attrs:{\"label\":\"label\",\"track-by\":\"id\",\"multiple\":_vm.multiple,\"options\":_vm.selectOptions,\"allowEmpty\":false,\"preselectFirst\":_vm.preselect,\"disabled\":!_vm.editable,\"deselectLabel\":_vm.deselectLabel,\"taggable\":_vm.taggable,\"tagPlaceholder\":_vm.tagPlaceholder},on:{\"tag\":_vm.addValue},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),(_vm.showDetails)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Details\"},on:{\"click\":function($event){return _vm.$emit('onDetails')}}},[_c('i',{staticClass:\"fas fa-info\"})]):_vm._e()]:_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading options...\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectBox.vue?vue&type=template&id=4d9e902d\"\nimport script from \"./SelectBox.vue?vue&type=script&lang=js\"\nexport * from \"./SelectBox.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./SelectBox.vue?vue&type=style&index=1&id=4d9e902d&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class OSMGeocoder {\n\tconstructor(url, geojson = false) {\n\t\tthis.url = url;\n\t\tthis.geojson = geojson;\n\t}\n\n\tgetParameters(opt) {\n\t\treturn {\n\t\t\turl: this.url,\n\t\t\tparams: {\n\t\t\t\tq: opt.query,\n\t\t\t\tformat: 'json',\n\t\t\t\tlimit: 10,\n\t\t\t\t'accept-language': 'en',\n\t\t\t\tpolygon_geojson: this.geojson ? 1 : 0,\n\t\t\t\tpolygon_threshold: 0.001,\n\t\t\t},\n\t\t};\n\t}\n\n\thandleResponse(results) {\n\t\tif (results.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn results\n\t\t\t.filter(result => [\"boundary\", \"geological\", \"leisure\", \"natural\", \"place\", \"water\", \"waterway\"].includes(result.class))\n\t\t\t.map(result => ({\n\t\t\t\tlon: result.lon,\n\t\t\t\tlat: result.lat,\n\t\t\t\tbbox: result.boundingbox,\n\t\t\t\taddress: {\n\t\t\t\t\tname: result.display_name\n\t\t\t\t},\n\t\t\t\toriginal: {\n\t\t\t\t\tformatted: result.display_name,\n\t\t\t\t\tdetails: result.address,\n\t\t\t\t\tgeojson: result.geojson\n\t\t\t\t}\n\t\t\t}));\n\t}\n}","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nimport style0 from \"@kirtandesai/ol-geocoder/dist/ol-geocoder.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./GeocoderMixin.vue?vue&type=style&index=1&id=643f6883&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.id}},[_c('ProgressControl',{ref:\"progress\",attrs:{\"map\":_vm.map}}),_c('UserLocationControl',{attrs:{\"map\":_vm.map}}),_c('TextControl',{attrs:{\"text\":_vm.help,\"map\":_vm.map}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapAreaSelect.vue?vue&type=template&id=c6d9ceda\"\nimport script from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nexport * from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"../maps/MapMixin.scss?vue&type=style&index=0&prod&lang=scss&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.texts.length > 0)?_c('div',{staticClass:\"ol-unselectable ol-control value\",class:{pointer: _vm.texts.length > 1},on:{\"click\":_vm.toggle}},[_vm._v(_vm._s(_vm.current))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextControl.vue?vue&type=template&id=52fec35a&scoped=true\"\nimport script from \"./TextControl.vue?vue&type=script&lang=js\"\nexport * from \"./TextControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextControl.vue?vue&type=style&index=0&id=52fec35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52fec35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wizard-tab-content\"},[_c('WizardTab',{attrs:{\"pos\":0,\"parent\":_vm.parent,\"title\":\"Data Source\",\"beforeChange\":() => _vm.collection !== null}},[_c('ChooseCollection',{attrs:{\"value\":_vm.collection},on:{\"input\":_vm.submitCollection}})],1),_c('WizardTab',{attrs:{\"pos\":1,\"parent\":_vm.parent,\"title\":\"Location\",\"beforeChange\":() => _vm.spatial_extent !== null}},[_c('ChooseBoundingBox',{attrs:{\"max\":_vm.max_spatial_extent},model:{value:(_vm.spatial_extent),callback:function ($$v) {_vm.spatial_extent=$$v},expression:\"spatial_extent\"}})],1),_c('WizardTab',{attrs:{\"pos\":2,\"parent\":_vm.parent,\"title\":\"Temporal Coverage\",\"beforeChange\":() => _vm.temporal_extent !== null}},[_c('ChooseTime',{model:{value:(_vm.temporal_extent),callback:function ($$v) {_vm.temporal_extent=$$v},expression:\"temporal_extent\"}})],1),_c('WizardTab',{attrs:{\"pos\":3,\"parent\":_vm.parent,\"title\":\"File Format\",\"beforeChange\":() => _vm.format !== null}},[_c('ChooseFormat',{model:{value:(_vm.format),callback:function ($$v) {_vm.format=$$v},expression:\"format\"}})],1),_c('WizardTab',{attrs:{\"pos\":4,\"parent\":_vm.parent,\"title\":\"Finish\"}},[_c('ChooseProcessingMode',{attrs:{\"title\":_vm.jobTitle},on:{\"update:title\":function($event){_vm.jobTitle=$event}},model:{value:(_vm.mode),callback:function ($$v) {_vm.mode=$$v},expression:\"mode\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Download.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Download.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Download.vue?vue&type=template&id=10f133c8\"\nimport script from \"./Download.vue?vue&type=script&lang=js\"\nexport * from \"./Download.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.active)?_c('div',{staticClass:\"wizard-tab-container\"},[_vm._t(\"default\",null,{\"active\":_vm.active})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WizardTab.vue?vue&type=template&id=9a832c4a\"\nimport script from \"./WizardTab.vue?vue&type=script&lang=js\"\nexport * from \"./WizardTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-bbox\"},[_c('p',[_vm._v(\"Please select the area of interest which you want to download data for. You can add or remove a bounding box by clicking into the map.\")]),_c('MapAreaSelect',{staticClass:\"map\",attrs:{\"show\":_vm.showMap,\"value\":_vm.value,\"showMaxExtent\":_vm.max},on:{\"input\":_vm.update}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseBoundingBox.vue?vue&type=template&id=61a75ac8&scoped=true\"\nimport script from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseBoundingBox.vue?vue&type=style&index=0&id=61a75ac8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61a75ac8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-collection\"},[_c('p',[_vm._v(\"Please select the collection which you want to download data for.\")]),_c('Collections',{attrs:{\"heading\":\"\",\"collections\":_vm.filteredCollections,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show collection details\"},on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseCollection.vue?vue&type=template&id=7801e739\"\nimport script from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseCollection.vue?vue&type=style&index=0&id=7801e739&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-format\"},[_c('p',[_vm._v(\"Please select the file format you want to download data in.\")]),_c('SelectBox',{attrs:{\"type\":\"output-format\",\"value\":_vm.value,\"optionFilter\":_vm.filterFormats},on:{\"input\":_vm.setFormat}}),(_vm.scale !== null)?_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.scaleBox),expression:\"scaleBox\"}],attrs:{\"type\":\"checkbox\",\"id\":\"scale\"},domProps:{\"checked\":Array.isArray(_vm.scaleBox)?_vm._i(_vm.scaleBox,null)>-1:(_vm.scaleBox)},on:{\"change\":function($event){var $$a=_vm.scaleBox,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.scaleBox=$$a.concat([$$v]))}else{$$i>-1&&(_vm.scaleBox=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.scaleBox=$$c}}}}),_vm._v(\"  \"),_c('label',{attrs:{\"for\":\"scale\"}},[_vm._v(\"Scale the values from [-1, 1] to [0, 255] (often required for PNG, GIF or JPEG).\")])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseFormat.vue?vue&type=template&id=399a88f0\"\nimport script from \"./ChooseFormat.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseFormat.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-processing-mode\"},[(_vm.isAuthenticated && (_vm.supportsJobs || _vm.supportsSync))?[_c('p',[_vm._v(\"Please select how you'd like to execute this workflow?\")]),_c('ul',{staticClass:\"mode\"},[(_vm.supportsJobs)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"job\",\"value\":\"job\"},domProps:{\"checked\":_vm._q(_vm.mode,\"job\")},on:{\"change\":function($event){_vm.mode=\"job\"}}}),_c('label',{attrs:{\"for\":\"job\"}},[_c('strong',[_vm._v(\"Batch Jobs\")]),_c('br'),_vm._v(\" Slower processing mode for large amounts of data. Creates and queues a batch job.\"),_c('br'),_vm._v(\" It is recommended to provide a title for the batch job: \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.titleInput),expression:\"titleInput\"}],ref:\"title\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.titleInput)},on:{\"input\":function($event){if($event.target.composing)return;_vm.titleInput=$event.target.value}}})])]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"sync\",\"value\":\"sync\"},domProps:{\"checked\":_vm._q(_vm.mode,\"sync\")},on:{\"change\":function($event){_vm.mode=\"sync\"}}}),_vm._m(0)]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"model\",\"value\":\"\"},domProps:{\"checked\":_vm._q(_vm.mode,\"\")},on:{\"change\":function($event){_vm.mode=\"\"}}}),_vm._m(1)]):_vm._e()])]:_c('p',[_vm._v(\" The wizard has all information to create the workflow for you.\"),_c('br'),(_vm.isAuthenticated)?[_vm._v(\"Unforntunately, this back-end can't process data,\")]:[_vm._v(\"You are not logged in and thus you can't process data directly,\")],_vm._v(\" but you can insert the process into the visual model builder now. \")],2)],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"sync\"}},[_c('strong',[_vm._v(\"Synchronous Processing\")]),_c('br'),_vm._v(\" Fast processing mode for small amounts of data. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"model\"}},[_c('strong',[_vm._v(\"Don't execute\")]),_c('br'),_vm._v(\" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessingMode.vue?vue&type=template&id=449febe3&scoped=true\"\nimport script from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseProcessingMode.vue?vue&type=style&index=0&id=449febe3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"449febe3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(\"Please select the days for which you want to download data for.\")]),_c('TemporalPicker',{attrs:{\"type\":\"temporal-interval\",\"intervalType\":\"date\",\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseTime.vue?vue&type=template&id=4c3899e5\"\nimport script from \"./ChooseTime.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseTime.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Utils from '../../utils';\nexport const API_TYPES = Utils.resolveJsonRefs(require('@openeo/js-processgraphs/assets/subtype-schemas.json')).definitions;\nexport const NATIVE_TYPES = [\n\t'string',\n\t'integer',\n\t'number',\n\t'boolean',\n\t'array',\n\t'object'\n];","import WizardTab from './components/WizardTab.vue';\n\nexport default {\n\tcomponents: {\n\t\tWizardTab\n\t},\n\tprops: {\n\t\tparent: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\toptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t},\n\tcreated() {\n\t\tfor(let key in this.options) {\n\t\t\tthis[key] = this.options[key];\n\t\t}\n\t}\n};","/**\n * @module ol/interaction/Extent\n */\nimport Event from '../events/Event.js';\nimport Feature from '../Feature.js';\nimport MapBrowserEventType from '../MapBrowserEventType.js';\nimport Point from '../geom/Point.js';\nimport PointerInteraction from './Pointer.js';\nimport VectorLayer from '../layer/Vector.js';\nimport VectorSource from '../source/Vector.js';\nimport {always} from '../events/condition.js';\nimport {boundingExtent, getArea} from '../extent.js';\nimport {\n closestOnSegment,\n distance as coordinateDistance,\n squaredDistance as squaredCoordinateDistance,\n squaredDistanceToSegment,\n} from '../coordinate.js';\nimport {createEditingStyle} from '../style/Style.js';\nimport {fromExtent as polygonFromExtent} from '../geom/Polygon.js';\nimport {toUserExtent} from '../proj.js';\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.always}.\n * @property {import(\"../extent.js\").Extent} [extent] Initial extent. Defaults to no\n * initial extent.\n * @property {import(\"../style/Style.js\").StyleLike} [boxStyle]\n * Style for the drawn extent box. Defaults to the `Polygon` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {number} [pixelTolerance=10] Pixel tolerance for considering the\n * pointer close enough to a segment or vertex for editing.\n * @property {import(\"../style/Style.js\").StyleLike} [pointerStyle]\n * Style for the cursor used to draw the extent. Defaults to the `Point` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {boolean} [wrapX=false] Wrap the drawn extent across multiple maps\n * in the X direction? Only affects visuals, not functionality.\n */\n\n/**\n * @enum {string}\n */\nconst ExtentEventType = {\n /**\n * Triggered after the extent is changed\n * @event ExtentEvent#extentchanged\n * @api\n */\n EXTENTCHANGED: 'extentchanged',\n};\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/Extent~Extent} instances are\n * instances of this type.\n */\nexport class ExtentEvent extends Event {\n /**\n * @param {import(\"../extent.js\").Extent} extent the new extent\n */\n constructor(extent) {\n super(ExtentEventType.EXTENTCHANGED);\n\n /**\n * The current extent.\n * @type {import(\"../extent.js\").Extent}\n * @api\n */\n this.extent = extent;\n }\n}\n\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'extentchanged', ExtentEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} ExtentOnSignature\n */\n\n/**\n * @classdesc\n * Allows the user to draw a vector box by clicking and dragging on the map.\n * Once drawn, the vector box can be modified by dragging its vertices or edges.\n * This interaction is only supported for mouse devices.\n *\n * @fires ExtentEvent\n * @api\n */\nclass Extent extends PointerInteraction {\n /**\n * @param {Options} [options] Options.\n */\n constructor(options) {\n options = options || {};\n\n super(/** @type {import(\"./Pointer.js\").Options} */ (options));\n\n /***\n * @type {ExtentOnSignature}\n */\n this.on;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.once;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.un;\n\n /**\n * Condition\n * @type {import(\"../events/condition.js\").Condition}\n * @private\n */\n this.condition_ = options.condition ? options.condition : always;\n\n /**\n * Extent of the drawn box\n * @type {import(\"../extent.js\").Extent}\n * @private\n */\n this.extent_ = null;\n\n /**\n * Handler for pointer move events\n * @type {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null}\n * @private\n */\n this.pointerHandler_ = null;\n\n /**\n * Pixel threshold to snap to extent\n * @type {number}\n * @private\n */\n this.pixelTolerance_ =\n options.pixelTolerance !== undefined ? options.pixelTolerance : 10;\n\n /**\n * Is the pointer snapped to an extent vertex\n * @type {boolean}\n * @private\n */\n this.snappedToVertex_ = false;\n\n /**\n * Feature for displaying the visible extent\n * @type {Feature}\n * @private\n */\n this.extentFeature_ = null;\n\n /**\n * Feature for displaying the visible pointer\n * @type {Feature}\n * @private\n */\n this.vertexFeature_ = null;\n\n if (!options) {\n options = {};\n }\n\n /**\n * Layer for the extentFeature\n * @type {VectorLayer}\n * @private\n */\n this.extentOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.boxStyle\n ? options.boxStyle\n : getDefaultExtentStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n /**\n * Layer for the vertexFeature\n * @type {VectorLayer}\n * @private\n */\n this.vertexOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.pointerStyle\n ? options.pointerStyle\n : getDefaultPointerStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n if (options.extent) {\n this.setExtent(options.extent);\n }\n }\n\n /**\n * @param {import(\"../pixel.js\").Pixel} pixel cursor location\n * @param {import(\"../Map.js\").default} map map\n * @return {import(\"../coordinate.js\").Coordinate|null} snapped vertex on extent\n * @private\n */\n snapToVertex_(pixel, map) {\n const pixelCoordinate = map.getCoordinateFromPixelInternal(pixel);\n const sortByDistance = function (a, b) {\n return (\n squaredDistanceToSegment(pixelCoordinate, a) -\n squaredDistanceToSegment(pixelCoordinate, b)\n );\n };\n const extent = this.getExtentInternal();\n if (extent) {\n //convert extents to line segments and find the segment closest to pixelCoordinate\n const segments = getSegments(extent);\n segments.sort(sortByDistance);\n const closestSegment = segments[0];\n\n let vertex = closestOnSegment(pixelCoordinate, closestSegment);\n const vertexPixel = map.getPixelFromCoordinateInternal(vertex);\n\n //if the distance is within tolerance, snap to the segment\n if (coordinateDistance(pixel, vertexPixel) <= this.pixelTolerance_) {\n //test if we should further snap to a vertex\n const pixel1 = map.getPixelFromCoordinateInternal(closestSegment[0]);\n const pixel2 = map.getPixelFromCoordinateInternal(closestSegment[1]);\n const squaredDist1 = squaredCoordinateDistance(vertexPixel, pixel1);\n const squaredDist2 = squaredCoordinateDistance(vertexPixel, pixel2);\n const dist = Math.sqrt(Math.min(squaredDist1, squaredDist2));\n this.snappedToVertex_ = dist <= this.pixelTolerance_;\n if (this.snappedToVertex_) {\n vertex =\n squaredDist1 > squaredDist2 ? closestSegment[1] : closestSegment[0];\n }\n return vertex;\n }\n }\n return null;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent pointer move event\n * @private\n */\n handlePointerMove_(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n let vertex = this.snapToVertex_(pixel, map);\n if (!vertex) {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n }\n this.createOrUpdatePointerFeature_(vertex);\n }\n\n /**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Feature} extent as featrue\n * @private\n */\n createOrUpdateExtentFeature_(extent) {\n let extentFeature = this.extentFeature_;\n\n if (!extentFeature) {\n if (!extent) {\n extentFeature = new Feature({});\n } else {\n extentFeature = new Feature(polygonFromExtent(extent));\n }\n this.extentFeature_ = extentFeature;\n this.extentOverlay_.getSource().addFeature(extentFeature);\n } else {\n if (!extent) {\n extentFeature.setGeometry(undefined);\n } else {\n extentFeature.setGeometry(polygonFromExtent(extent));\n }\n }\n return extentFeature;\n }\n\n /**\n * @param {import(\"../coordinate.js\").Coordinate} vertex location of feature\n * @return {Feature} vertex as feature\n * @private\n */\n createOrUpdatePointerFeature_(vertex) {\n let vertexFeature = this.vertexFeature_;\n if (!vertexFeature) {\n vertexFeature = new Feature(new Point(vertex));\n this.vertexFeature_ = vertexFeature;\n this.vertexOverlay_.getSource().addFeature(vertexFeature);\n } else {\n const geometry = vertexFeature.getGeometry();\n geometry.setCoordinates(vertex);\n }\n return vertexFeature;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n */\n handleEvent(mapBrowserEvent) {\n if (!mapBrowserEvent.originalEvent || !this.condition_(mapBrowserEvent)) {\n return true;\n }\n //display pointer (if not dragging)\n if (\n mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE &&\n !this.handlingDownUpSequence\n ) {\n this.handlePointerMove_(mapBrowserEvent);\n }\n //call pointer to determine up/down/drag\n super.handleEvent(mapBrowserEvent);\n //return false to stop propagation\n return false;\n }\n\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleDownEvent(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n const extent = this.getExtentInternal();\n let vertex = this.snapToVertex_(pixel, map);\n\n //find the extent corner opposite the passed corner\n const getOpposingPoint = function (point) {\n let x_ = null;\n let y_ = null;\n if (point[0] == extent[0]) {\n x_ = extent[2];\n } else if (point[0] == extent[2]) {\n x_ = extent[0];\n }\n if (point[1] == extent[1]) {\n y_ = extent[3];\n } else if (point[1] == extent[3]) {\n y_ = extent[1];\n }\n if (x_ !== null && y_ !== null) {\n return [x_, y_];\n }\n return null;\n };\n if (vertex && extent) {\n const x =\n vertex[0] == extent[0] || vertex[0] == extent[2] ? vertex[0] : null;\n const y =\n vertex[1] == extent[1] || vertex[1] == extent[3] ? vertex[1] : null;\n\n //snap to point\n if (x !== null && y !== null) {\n this.pointerHandler_ = getPointHandler(getOpposingPoint(vertex));\n //snap to edge\n } else if (x !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([x, extent[1]]),\n getOpposingPoint([x, extent[3]]),\n );\n } else if (y !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([extent[0], y]),\n getOpposingPoint([extent[2], y]),\n );\n }\n //no snap - new bbox\n } else {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n this.setExtent([vertex[0], vertex[1], vertex[0], vertex[1]]);\n this.pointerHandler_ = getPointHandler(vertex);\n }\n return true; //event handled; start downup sequence\n }\n\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n handleDragEvent(mapBrowserEvent) {\n if (this.pointerHandler_) {\n const pixelCoordinate = mapBrowserEvent.coordinate;\n this.setExtent(this.pointerHandler_(pixelCoordinate));\n this.createOrUpdatePointerFeature_(pixelCoordinate);\n }\n }\n\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleUpEvent(mapBrowserEvent) {\n this.pointerHandler_ = null;\n //If bbox is zero area, set to null;\n const extent = this.getExtentInternal();\n if (!extent || getArea(extent) === 0) {\n this.setExtent(null);\n }\n return false; //Stop handling downup sequence\n }\n\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../Map.js\").default} map Map.\n */\n setMap(map) {\n this.extentOverlay_.setMap(map);\n this.vertexOverlay_.setMap(map);\n super.setMap(map);\n }\n\n /**\n * Returns the current drawn extent in the view projection (or user projection if set)\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtent() {\n return toUserExtent(\n this.getExtentInternal(),\n this.getMap().getView().getProjection(),\n );\n }\n\n /**\n * Returns the current drawn extent in the view projection\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtentInternal() {\n return this.extent_;\n }\n\n /**\n * Manually sets the drawn extent, using the view projection.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent\n * @api\n */\n setExtent(extent) {\n //Null extent means no bbox\n this.extent_ = extent ? extent : null;\n this.createOrUpdateExtentFeature_(extent);\n this.dispatchEvent(new ExtentEvent(this.extent_));\n }\n}\n\n/**\n * Returns the default style for the drawn bbox\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default Extent style\n */\nfunction getDefaultExtentStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Polygon'];\n };\n}\n\n/**\n * Returns the default style for the pointer\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default pointer style\n */\nfunction getDefaultPointerStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Point'];\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedPoint corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent} event handler\n */\nfunction getPointHandler(fixedPoint) {\n return function (point) {\n return boundingExtent([fixedPoint, point]);\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedP1 first corner that will be unchanged in the new extent\n * @param {import(\"../coordinate.js\").Coordinate} fixedP2 second corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null} event handler\n */\nfunction getEdgeHandler(fixedP1, fixedP2) {\n if (fixedP1[0] == fixedP2[0]) {\n return function (point) {\n return boundingExtent([fixedP1, [point[0], fixedP2[1]]]);\n };\n }\n if (fixedP1[1] == fixedP2[1]) {\n return function (point) {\n return boundingExtent([fixedP1, [fixedP2[0], point[1]]]);\n };\n }\n return null;\n}\n\n/**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Array>} extent line segments\n */\nfunction getSegments(extent) {\n return [\n [\n [extent[0], extent[1]],\n [extent[0], extent[3]],\n ],\n [\n [extent[0], extent[3]],\n [extent[2], extent[3]],\n ],\n [\n [extent[2], extent[3]],\n [extent[2], extent[1]],\n ],\n [\n [extent[2], extent[1]],\n [extent[0], extent[1]],\n ],\n ];\n}\n\nexport default Extent;\n"],"names":["e","t","module","exports","this","s","r","n","o","a","i","l","default","c","d","u","p","h","m","g","y","f","b","w","v","$","namespace","spin","hidden","address","country","city","road","olControl","glass","container","control","button","input","expanded","reset","result","inputText","icon","k","containerId","buttonControlId","inputQueryId","inputResetId","cssClasses","x","Object","freeze","__proto__","q","C","S","L","j","E","T","N","R","A","P","provider","placeholder","featureStyle","targetType","lang","limit","keepOpen","preventDefault","autoComplete","autoCompleteMinLength","autoCompleteTimeout","debug","I","Error","_","window","performance","Date","now","timing","navigationStart","toString","M","test","O","Array","isArray","forEach","split","length","V","U","F","G","classList","contains","B","className","D","replace","String","replaceAll","Q","document","createElement","id","classname","attr","setAttribute","name","value","innerHTML","createDocumentFragment","childNodes","append","RegExp","add","trim","setTimeout","remove","z","H","constructor","options","els","createControl","querySelector","K","settings","url","params","langs","getParameters","toLowerCase","query","includes","handleResponse","features","map","lon","geometry","coordinates","lat","properties","postcode","state","original","formatted","details","J","format","addressdetails","countrycodes","bbox","boundingbox","display_name","houseNumber","house_number","town","W","key","neighbourhood","X","callbackName","includeNeighborhood","maxResults","resources","resourceSets","point","formattedAddress","Y","countrycode","pretty","no_annotations","results","lng","components","Z","Promise","ee","data","method","mode","credentials","jsonp","head","Math","round","random","indexOf","removeChild","fetch","then","json","catch","keys","reduce","push","encodeURIComponent","join","te","se","Base","layerName","layer","source","newProvider","lastQuery","registeredListeners","mapClick","setListeners","stopPropagation","collapse","expand","addEventListener","target","which","keyCode","clearTimeout","focus","clearResults","firstChild","console","info","createList","listenMapClick","addressTemplate","chosen","getMap","Number","parseFloat","getView","getProjection","transform","transformExtent","dispatchEvent","type","coordinate","place","fit","duration","animate","resolution","center","createFeature","feature","addLayer","setStyle","setId","getSource","addFeature","building","village","blur","getTargetElement","handleEvent","removeEventListener","getLayers","re","image","scale","src","super","element","prototype","hasOwnProperty","call","getLayer","setProvider","setProviderKey","FederationNotice","FederationMissingNotice","props","federation","render","_vm","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","loaded","ref","multiple","selectOptions","preselect","editable","deselectLabel","taggable","tagPlaceholder","addValue","model","selected","callback","$$v","expression","showDetails","$event","_e","_v","MultiSelect","schema","context","optionFilter","computed","collection","$store","find","Utils","isObject","summaries","band","error","bandDimension","values","jobs","files","editor","epsgCodes","fileFormats","getInputTypes","require","types","native","NATIVE_TYPES","assign","API_TYPES","getOutputTypes","serviceTypes","connection","capabilities","listPlans","udfRuntimes","versions","fromEntries","entries","filter","sortByLabel","label","getResourceTitle","title","prettifyString","path","sortByPath","parseInt","toUpperCase","paid","thisYear","getFullYear","years","from","findIndex","customYear","unshift","val","isEnum","getEnumChoices","freeInputIfEmpty","created","loadData","watch","newValue","num","isNaN","preselectFirst","mapActions","loadEpsgCodes","describeCollection","initSelection","$nextTick","elem","$refs","htmlElement","filteredOptions","select","selectedOption","undefined","compareStringCaseInsensitive","OSMGeocoder","geojson","opt","polygon_geojson","polygon_threshold","class","addGeocoder","$config","geocoder","Geocoder","event","bboxOpenEO","west","east","north","south","addControl","help","GeoJsonMixin","GeocoderMixin","MapMixin","TextControl","showMaxExtent","interaction","extent","toExtent","returnAsObject","projectedExtent","outerArea","extentToBBox","update","renderMap","isWebMercatorCompatible","isBboxInWebMercator","createMap","addBasemaps","setExtent","fitMap","style","Style","fill","Fill","color","stroke","Stroke","width","addGeoJson","getFitOptions","condition","pixelSize","getSize","xy","calculateExtent","size","mouseExtent","containsXY","vertexOverlay_","clear","vertexFeature_","handlingDownUpSequence","snapToVertex_","pixel","ExtentInteraction","boxStyle","createDefaultStyle","pixelTolerance","addInteraction","fitOptions","texts","pointer","toggle","_s","current","ControlMixin","text","parent","beforeChange","submitCollection","spatial_extent","max_spatial_extent","temporal_extent","jobTitle","WizardMixin","ChooseBoundingBox","ChooseCollection","ChooseFormat","ChooseProcessingMode","ChooseTime","mapGetters","defaults","collectionDefaults","nextTab","createProcess","Builder","processes","load","load_collection","save","save_result","toJSON","finish","process","modeOptions","active","required","pos","afterChange","validationError","checked","mounted","addTab","beforeDestroy","removeTab","showMap","max","MapAreaSelect","filteredCollections","showCollectionInfo","EventBusMixin","Collections","mapState","broadcast","filterFormats","setFormat","directives","rawName","scaleBox","domProps","_i","$$a","$$el","$$c","$$i","concat","slice","SelectBox","gisDataType","get","set","gis_data_types","isAuthenticated","supportsJobs","supportsSync","_q","titleInput","composing","_m","supports","TemporalPicker","resolveJsonRefs","definitions","WizardTab","ExtentEventType","EXTENTCHANGED","ExtentEvent","Extent","once","un","condition_","extent_","pointerHandler_","pixelTolerance_","snappedToVertex_","extentFeature_","extentOverlay_","useSpatialIndex","wrapX","getDefaultExtentStyleFunction","updateWhileAnimating","updateWhileInteracting","pointerStyle","getDefaultPointerStyleFunction","pixelCoordinate","getCoordinateFromPixelInternal","sortByDistance","getExtentInternal","segments","getSegments","closestSegment","vertex","vertexPixel","getPixelFromCoordinateInternal","pixel1","pixel2","squaredDist1","squaredDist2","dist","sqrt","min","handlePointerMove_","mapBrowserEvent","createOrUpdatePointerFeature_","createOrUpdateExtentFeature_","extentFeature","setGeometry","vertexFeature","getGeometry","setCoordinates","originalEvent","POINTERMOVE","handleDownEvent","getOpposingPoint","x_","y_","getPointHandler","getEdgeHandler","handleDragEvent","handleUpEvent","setMap","getExtent","toUserExtent","createEditingStyle","fixedPoint","fixedP1","fixedP2"],"sourceRoot":""} \ No newline at end of file diff --git a/js/3324.26d659b7.js b/js/3324.bcef36de.js similarity index 99% rename from js/3324.26d659b7.js rename to js/3324.bcef36de.js index 4b5374c6..1d43962a 100644 --- a/js/3324.26d659b7.js +++ b/js/3324.bcef36de.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[3324,5839,2722,9409],{35254:(e,t,s)=>{s.d(t,{A:()=>a});const a={components:{FederationNotice:()=>s.e(2604).then(s.bind(s,52604)),FederationMissingNotice:()=>s.e(5363).then(s.bind(s,35363))},props:{federation:{type:Object,default:()=>({})}}}},17834:(e,t,s)=>{s.d(t,{A:()=>i});var a=s(86975);const r={cpu:"CPU usage",memory:"Memory usage",duration:"Wall time",network:"Network Transfer IO",disk:"Storage IO",storage:"Storage space"},i={computed:{hasUsageMetrics(){return a.A.size(this.usage)>0}},filters:{usageLabel(e){return r[e]?r[e]:a.A.prettifyString(e)},usageValue(e){return"number"===typeof e?e.toLocaleString():e}}}},69748:(e,t,s)=>{s.d(t,{A:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component collections"},[t("SearchableList",{attrs:{data:e.collections,identifierKey:"id",summaryKey:"title",keywordsKey:"keywords",showKeywords:e.showKeywords,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Collection",{attrs:{data:s.item,mapOptions:e.mapOptions,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("collection-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("collection-end",null,null,t)]}},{key:"spatial-extents",fn:function(t){return[e._t("collection-spatial-extents",null,null,t)]}},{key:"temporal-extents",fn:function(t){return[e._t("collection-temporal-extents",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=s(86975),o=s(35254);const n={name:"Collections",components:{Collection:()=>i.A.loadAsyncComponent(Promise.all([s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(3249)]).then(s.bind(s,3249))),SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[o.A],props:{collections:{type:Array,default:()=>[]},mapOptions:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Collections"},collapsed:{type:Boolean,default:null},loadAdditionalData:{type:Function,default:null},showKeywords:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,a,r,!1,null,null,null);const u=d.exports},90334:(e,t,s)=>{s.d(t,{A:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component file-formats"},[t("SearchableList",{attrs:{data:e.fileFormats,summaryKey:"title",keywordsKey:"gis_data_types",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(s){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(s.item.name))]),t("ul",{staticClass:"badges small inline"},[e.showAll&&"input"===s.item.type?t("li",{staticClass:"badge option1"},[e._v("Import")]):e._e(),e.showAll&&"output"===s.item.type?t("li",{staticClass:"badge option2"},[e._v("Export")]):e._e(),Array.isArray(s.item.gis_data_types)?e._l(s.item.gis_data_types,(function(s){return t("li",{key:s,staticClass:"badge gis"},[e._v(e._s(s))])})):e._e()],2),t("br"),t("small",[e._v(e._s(s.summary.summary))])]}),null,s)]}},{key:"details",fn:function(s){return[t("FileFormat",{attrs:{id:s.summary.identifier,format:s.item,type:s.item.type,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("file-format-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("file-format-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=s(86975),o=s(35254);const n={name:"FileFormats",components:{SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152))),FileFormat:()=>i.A.loadAsyncComponent(s.e(3504).then(s.bind(s,13504)))},mixins:[o.A],props:{formats:{type:Object,default:()=>({})},showInput:{type:Boolean,default:!0},showOutput:{type:Boolean,default:!0},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"File Formats"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},computed:{showAll(){return this.showInput&&this.showOutput},typesToShow(){let e=[];return this.showInput&&e.push("input"),this.showOutput&&e.push("output"),e},fileFormats(){let e=[];for(let s of this.typesToShow)for(var t in this.formats[s]){let a=Object.assign({id:`${t}-${s}`,name:t,type:s},this.formats[s][t]);e.push(a)}return e}},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,a,r,!1,null,null,null);const u=d.exports},48312:(e,t,s)=>{s.d(t,{A:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component processes"},[t("SearchableList",{attrs:{data:e.processes,keywordsKey:"categories",showKeywords:e.showCategories,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Process",{attrs:{process:s.item,provideDownload:e.provideDownload,processUrl:e.processUrl,showGraph:e.showGraph,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("process-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("process-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=s(86975),o=s(35254);const n={name:"Processes",components:{Process:()=>i.A.loadAsyncComponent(s.e(6660).then(s.bind(s,34279))),SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[o.A],props:{processes:{type:Array,default:()=>[]},provideDownload:{type:Boolean,default:!0},processUrl:String,searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Processes"},collapsed:{type:Boolean,default:null},showCategories:{type:Boolean,default:!1},showGraph:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},loadAdditionalData:{type:Function,default:null},missing:{type:Array,default:null},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,a,r,!1,null,null,null);const u=d.exports},9409:(e,t,s)=>{s.r(t),s.d(t,{default:()=>c});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component search-box",class:{compact:e.compact}},[t("span",{staticClass:"icon"},[e._v("🔎")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.searchTerm,expression:"searchTerm"}],attrs:{type:"search",placeholder:e.placeholder,minlength:e.minLength,title:e.searchHint},domProps:{value:e.searchTerm},on:{input:function(t){t.target.composing||(e.searchTerm=t.target.value)}}})])},r=[];const i={name:"SearchBox",props:{value:{type:String,default:""},placeholder:{type:String,default:"Search"},minLength:{type:Number,default:1},compact:{type:Boolean,default:!1}},data(){return{searchTerm:this.value}},watch:{searchTerm(e,t){e.length1?`Searching requires at least ${this.minLength} characters.`:null}}},o=i;var n=s(81656),l=(0,n.A)(o,a,r,!1,null,null,null);const c=l.exports},91065:(e,t,s)=>{s.d(t,{A:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component udf-runtimes"},[t("SearchableList",{attrs:{data:e.runtimes,summaryKey:"title",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},{key:"summary",fn:function(s){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(s.summary.identifier))]),t("ul",{staticClass:"badges small inline"},["docker"===s.item.type||s.item.docker&&s.item.tags?[t("li",{staticClass:"badge docker"},[e._v("Docker")]),e._l(s.item.tags,(function(a){return t("li",{key:a,staticClass:"badge version",class:{default:a===s.item.default}},[e._v(e._s(a))])}))]:e._l(s.item.versions,(function(a,r){return t("li",{key:r,staticClass:"badge version",class:{default:r===s.item.default}},[e._v(e._s(r))])}))],2),t("br"),t("small",[e._v(e._s(s.summary.summary))])]}),null,s)]}},{key:"details",fn:function(s){return[t("UdfRuntime",{attrs:{id:s.summary.identifier,runtime:s.item,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(t){return[e._t("udf-runtime-badges",null,null,t)]}},{key:"before-description",fn:function(t){return[e._t("udf-runtime-before-description",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=s(86975),o=s(35254);const n={name:"UdfRuntimes",components:{SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152))),UdfRuntime:()=>i.A.loadAsyncComponent(s.e(3271).then(s.bind(s,33271)))},mixins:[o.A],props:{runtimes:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"UDF Runtimes"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,a,r,!1,null,null,null);const u=d.exports},77754:(e,t,s)=>{s.d(t,{A:()=>y});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"discovery-toolbar"},[t("SearchBox",{model:{value:e.searchTerm,callback:function(t){e.searchTerm=t},expression:"searchTerm"}}),t("div",{staticClass:"filters"},[t("span",{staticClass:"label"},[e._v(" Show ")]),t("label",{staticClass:"show-deprecated",attrs:{title:"Show deprecated elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showDeprecated,expression:"showDeprecated"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showDeprecated)?e._i(e.showDeprecated,null)>-1:e.showDeprecated},on:{change:function(t){var s=e.showDeprecated,a=t.target,r=!!a.checked;if(Array.isArray(s)){var i=null,o=e._i(s,i);a.checked?o<0&&(e.showDeprecated=s.concat([i])):o>-1&&(e.showDeprecated=s.slice(0,o).concat(s.slice(o+1)))}else e.showDeprecated=r}}}),e._v(" deprecated ")]),t("label",{staticClass:"show-experimental",attrs:{title:"Show experimental elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showExperimental,expression:"showExperimental"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showExperimental)?e._i(e.showExperimental,null)>-1:e.showExperimental},on:{change:function(t){var s=e.showExperimental,a=t.target,r=!!a.checked;if(Array.isArray(s)){var i=null,o=e._i(s,i);a.checked?o<0&&(e.showExperimental=s.concat([i])):o>-1&&(e.showExperimental=s.slice(0,o).concat(s.slice(o+1)))}else e.showExperimental=r}}}),e._v(" experimental ")])]),t("div",{staticClass:"search-results"},[t("Collections",{staticClass:"category",attrs:{collections:e.collections,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsLoadCollection},on:{dragstart:function(t){return e.onDrag(t,"collection",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showCollectionInfo(s.id)}}},[t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()]),e.hasCollectionPreview(s)?t("button",{staticClass:"discovery-button",attrs:{type:"button",title:"View on map"},on:{click:function(t){return e.showCollectionPreview(s)}}},[t("i",{staticClass:"fas fa-map"})]):e._e()])]}}])}),t("Processes",{staticClass:"category",attrs:{processes:e.allProcesses,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:"true"},on:{dragstart:function(t){return e.onDrag(t,"process",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showProcess(s)}}},["user"===s.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-sitemap",attrs:{title:"Custom Process"}}):"backend"!==s.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-tag",attrs:{title:`Process from namespace '${s.namespace}'`}}):e._e(),t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.summary?t("small",{attrs:{title:s.summary}},[e._v(e._s(s.summary))]):e._e()])])]}}])}),e.hasUdfRuntimes?t("UdfRuntimes",{staticClass:"category",attrs:{runtimes:e.udfRuntimes,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({summary:s,item:a}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsRunUdf},on:{dragstart:function(t){return e.onDrag(t,"udf",{runtime:s.identifier,version:a.default})}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showUdfInfo(s.identifier,a)}}},[t("strong",{attrs:{title:s.identifier}},[e._v(e._s(s.identifier)+" ("+e._s(a.default)+")")]),s.summary?t("small",{attrs:{title:s.summary}},[e._v(e._s(s.summary))]):e._e()])])]}}],null,!1,92063951)}):e._e(),t("FileFormats",{staticClass:"category",attrs:{formats:e.fileFormats,showInput:!1,heading:"Export File Formats",searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsSaveResult},on:{dragstart:function(t){return e.onDrag(t,"fileformat",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showFileFormatInfo(s)}}},[t("strong",{attrs:{title:s.name}},[e._v(e._s(s.name))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()])])]}}])})],1)],1)},r=[],i=s(61663),o=s(2566),n=s(69748),l=s(90334),c=s(48312),d=s(9409),u=s(91065);const p={name:"DiscoveryToolbar",mixins:[i.A],components:{Collections:n.A,FileFormats:l.A,Processes:c.A,SearchBox:d["default"],UdfRuntimes:u.A},props:{onAddProcess:{type:Function,required:!0},collectionPreview:{type:Boolean,default:!1},persist:{type:Boolean,default:!1}},data(){return{internalSearchTerm:"",collapsed:!0,showDeprecated:this.$config.showDeprecatedByDefault||!1,showExperimental:this.$config.showExperimentalByDefault||!1}},computed:{...o.A.mapState(["collections","udfRuntimes"]),...o.A.mapState("editor",["discoverySearchTerm"]),...o.A.mapGetters(["supports","fileFormats","processes"]),supportsLoadCollection(){return this.processes.has("load_collection")},supportsRunUdf(){return this.processes.has("run_udf")},supportsSaveResult(){return this.processes.has("save_result")},hasUdfRuntimes(){return o.A.size(this.udfRuntimes)},allProcesses(){return this.processes.all()},searchTerm:{get(){return this.persist?this.discoverySearchTerm:this.internalSearchTerm},set(e){this.persist?this.setDiscoverySearchTerm(e):this.internalSearchTerm=e}}},watch:{searchTerm:{immediate:!0,handler(e,t){!e&&t?this.collapsed=!0:e&&!t&&(this.collapsed=!1)}}},methods:{...o.A.mapMutations("editor",["setDiscoverySearchTerm","setModelDnd"]),...o.A.mapActions(["loadProcess"]),onDrag(e,t,s){let a=e=>this.setModelDnd({type:t,data:s,loading:e});"process"===t?(a(!0),this.loadProcess(s).then((()=>a(!1)))):a(!1)},showCollectionInfo(e){this.broadcast("showCollection",e)},hasCollectionPreview(e){return Boolean(this.collectionPreview&&o.A.getPreviewLinkFromSTAC(e))},showCollectionPreview(e){this.broadcast("showCollectionPreview",e)},showProcess(e){this.broadcast("showProcess",e)},showUdfInfo(e,t){this.broadcast("showModal","UdfRuntimeModal",{id:e,data:t,version:t.default})},showFileFormatInfo(e){let t={id:e.name,format:this.fileFormats.output[e.name],type:"output"};this.broadcast("showModal","FileFormatModal",t)}}},h=p;var m=s(81656),f=(0,m.A)(h,a,r,!1,null,"281f64a6",null);const y=f.exports},63036:(e,t,s)=>{s.r(t),s.d(t,{default:()=>k});var a=function(){var e=this,t=e._self._c;return t("Tabs",{ref:"tabs",staticClass:"editor",attrs:{id:"customProcessContent",position:"bottom"}},[t("Tab",{attrs:{id:"visual",name:"Visual Model",icon:"fa-project-diagram",selected:!0,allowShow:e.canSwitchView},on:{show:e.showModel}},[t("VisualEditor",{ref:"graphBuilder",staticClass:"visualEditorTab",attrs:{editable:e.editable,parent:e.parent,parentSchema:e.parentSchema,value:e.modelValue,title:e.title,id:e.id+"_visual",showDiscoveryToolbar:e.showDiscoveryToolbar,showIntro:e.showIntro,defaultValue:e.defaultValue},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1),t("Tab",{attrs:{id:"source",name:"Code",icon:"fa-code",allowShow:e.canSwitchView},on:{show:e.showCode}},[t("TextEditor",{ref:"sourceEditor",staticClass:"textEditorTab",attrs:{editable:e.editable,value:e.codeValue,title:e.title,id:e.id+"_text",language:"processgraph"},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1)],1)},r=[],i=s(2566),o=s(4615),n=s(58379),l=function(){var e=this,t=e._self._c;return t("div",{ref:"visualEditor",staticClass:"visualEditor"},[t("div",{staticClass:"sourceHeader"},[e.title?t("strong",[e._v(e._s(e.title))]):e._e(),t("div",{staticClass:"sourceToolbar"},[e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",title:"New script / Clear current script"},on:{click:e.confirmClear}},[t("i",{staticClass:"fas fa-file"})]),e._t("file-toolbar")],2):e._e(),e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",disabled:!e.canUndo,title:"Revert last change"},on:{click:function(t){return e.$refs.blocks.undo()}}},[t("i",{staticClass:"fas fa-undo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.canRedo,title:"Redo last reverted change"},on:{click:function(t){return e.$refs.blocks.redo()}}},[t("i",{staticClass:"fas fa-redo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.hasSelection,title:"Delete selected elements"},on:{click:function(t){return e.$refs.blocks.deleteSelected()}}},[t("i",{staticClass:"fas fa-trash"})])]):e._e(),e.editable?t("span",{staticClass:"sepr"},[e.parent?e._e():t("button",{attrs:{type:"button",title:"Edit Process Metadata"},on:{click:()=>e.editProcess(e.value)}},[t("i",{staticClass:"fas fa-edit"})]),t("button",{attrs:{type:"button",title:"Add Parameter"},on:{click:e.addParameter}},[t("i",{staticClass:"fas fa-parking"})]),e.supportsMath?t("button",{class:{highlightFormula:e.isMath},attrs:{type:"button",title:"Insert/Edit formula"},on:{click:e.showExpressionModal}},[t("i",{staticClass:"fas fa-square-root-alt"})]):e._e()]):e._e(),t("button",{class:{compactMode:e.compactMode},attrs:{type:"button",title:"Compact Mode"},on:{click:function(t){return e.$refs.blocks.toggleCompact()}}},[t("i",{staticClass:"fas fa-compress-arrows-alt"})]),t("button",{attrs:{type:"button",title:"Scale to perfect size"},on:{click:function(t){return e.$refs.blocks.perfectScale()}}},[t("i",{staticClass:"fas fa-arrows-alt"})]),t("FullscreenButton",{attrs:{element:()=>this.$refs.visualEditor},on:{changed:t=>{this.$refs.blocks.perfectScale(),e.isFullScreen=t}}}),e._t("toolbar")],2)]),t("div",{staticClass:"editorSplitter"},[(e.showDiscoveryToolbar||e.isFullScreen)&&e.editable?t("DiscoveryToolbar",{staticClass:"discoveryToolbar",attrs:{onAddProcess:e.insertProcess}}):e._e(),t("div",{staticClass:"graphBuilder",on:{drop:e.onDrop,dragover:e.allowDrop}},[e.showHelpOverlay?t("div",{staticClass:"model-overlay"},[t("h2",[e._v("Welcome!")]),t("p",[e._v(" What you are seeing in this area of the "+e._s(e.$config.appName)+" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. ")]),t("p",[e._v(" Alternatively, you can also import existing processes into the model builder: "),t("ul",[e.canPaste?t("li",[e._v("Paste the JSON from your clipboard by clicking "),t("button",{attrs:{type:"button",title:"Paste from clipboard"},on:{click:e.paste}},[t("i",{staticClass:"fas fa-paste"})]),e._v(" or use "),t("kbd",[e._v("CTRL")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (Windows, Linux) or "),t("kbd",[e._v("⌘")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (MacOS) when the model builder is in focus.")]):e._e(),t("li",[e._v("Drag and drop a JSON file from your computer")]),t("li",[e._v("Import a JSON file from your computer or another source such as the internet by clicking "),t("button",{attrs:{type:"button",title:"Import process from external source"},on:{click:e.importProcess}},[t("i",{staticClass:"fas fa-cloud-download-alt"})])])])]),e._m(0),t("p",[e._v("Once you start interacting with this area, this message will disappear.")])]):e._e(),t("ModelBuilder",{ref:"blocks",attrs:{editable:e.editable,id:e.id,processes:e.processes,collections:e.collections,parent:e.parent,parentSchema:e.parentSchema,value:e.value},on:{input:e.commit,error:e.errorHandler,showProcess:(t,s)=>e.broadcast("showProcess",{id:t,namespace:s}),showCollection:t=>e.broadcast("showCollection",t),showParameter:(t,s)=>e.broadcast("showProcessParameter",t,s),editParameter:e.editParameter,editArguments:e.openArgumentEditor,compactMode:e=>this.compactMode=e,selectionChanged:e.selectionChanged,historyChanged:e.historyChanged}})],1)],1)])},c=[function(){var e=this,t=e._self._c;return t("p",[e._v(" You can also import the processes from the Python and R client. You need to export your process to JSON first: "),t("ul",[t("li",[e._v("In Python use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export",target:"_blank"}},[t("code",[e._v("print(result.to_json())")])])]),t("li",[e._v("In R use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-r-client/reference/index.html",target:"_blank"}},[t("code",[e._v('toJSON(as(result, "Process"))')])])])]),e._v(" In both cases, "),t("code",[e._v("result")]),e._v(" is your last return value from a data cube process such as "),t("code",[e._v("save_result")]),e._v(". For more details, please read the corresponding chapter in the "),t("a",{attrs:{href:"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json",target:"_blank"}},[e._v("openEO cookbook")]),e._v(". ")])}],d=s(4638),u=s(77754),p=s(61663),h=s(82574),m=s(31572),f=s(47067);const y={name:"VisualEditor",mixins:[p.A],components:{ModelBuilder:d["default"],DiscoveryToolbar:u.A,FullscreenButton:h.A},props:{id:String,editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},title:{type:String},defaultValue:{}},computed:{...i.A.mapState(["connection","collections"]),...i.A.mapGetters(["processes","supportsMath"]),...i.A.mapState("editor",["initialNode"]),...i.A.mapGetters("editor",["getModelNodeFromDnD"]),isMath(){return this.supportsMath&&this.processes.isMath(this.value)}},data(){return{showHelpOverlay:this.showIntro,canUndo:!1,canRedo:!1,canPaste:!1,compactMode:!1,hasSelection:!1,formula:null,isFullScreen:!1}},watch:{value:{immediate:!0,handler(e){if(e&&(this.showHelpOverlay=!1),this.initialNode&&i.A.isObject(e)&&i.A.isObject(e.process_graph))try{let t=this.initialNode;"1"==t&&i.A.size(e.process_graph)&&(t=Object.keys(e.process_graph)[0]),this.openArgumentEditorForNode(t)}catch(t){i.A.exception(this,t)}finally{this.setInitialNode(null)}}}},mounted(){this.canPaste=navigator&&navigator.clipboard&&"function"===typeof navigator.clipboard.readText},methods:{...i.A.mapMutations("editor",["setInitialNode","setModelDnD"]),commit(e){"undefined"!==typeof this.defaultValue&&i.A.isObject(e)&&0===i.A.size(e.process_graph)&&(e=this.defaultValue),this.$emit("input",e)},async paste(){this.canPaste||i.A.error(this,"error","Pasting is not supported by your browser.");try{const e=await navigator.clipboard.readText();let t=JSON.parse(e);await this.$refs.blocks.import(t)}catch(e){i.A.exception(this,e,"Paste Error")}},importProcess(){this.broadcast("importProcess")},errorHandler(e,t=null){i.A.exception(this,e,t)},selectionChanged(e,t){this.hasSelection=Boolean(e.filter((e=>e.$el.allowsDelete)).length||t.length)},historyChanged(e,t){this.canUndo=!!e[t-1],this.canRedo=!!e[t+1]},allowDrop(e){this.showHelpOverlay=!1,e.preventDefault()},async onDrop(e){const t=await this.getModelNodeFromDnD();if(t)return this.insertProcess(t,e.pageX,e.pageY),this.setModelDnD(),e.preventDefault();let s=e.dataTransfer.files;if(1===s.length){let t=e.dataTransfer.files[0];if("application/json"===t.type){var a=new FileReader;return a.onload=async e=>{try{let t=JSON.parse(e.target.result);await this.$refs.blocks.import(t)}catch(t){i.A.exception(this,t,"Parsing JSON file failed")}},a.onerror=e=>i.A.exception(this,e,"Reading JSON file failed"),a.readAsText(t,"UTF-8"),e.preventDefault()}}},getNameField(e=void 0,t="name"){return{value:e,name:t,description:"A unique identifier. Must contain only letters (`a`-`z`), digits (`0`-`9`) and underscores (`_`). `snake_case` is recommended.",label:"Name",schema:{type:"string",pattern:"^\\w+$"},default:null}},getDescriptionField(e=void 0,t=!1,s="description",a="Description"){return{value:e,name:s,description:"Provides a detailed description. CommonMark (Markdown) syntax can be used for rich text formatting.",label:a,optional:t,schema:{type:"string",subtype:"commonmark"}}},getOptionalField(e=void 0){return{value:e,name:"optional",label:"Optional",description:"Parameters by default are required. CHeck this option to make the parameter optional. For optional parameters a default value should be specified.",optional:!0,schema:{type:"boolean"},default:!1}},getDefaultField(e=void 0){return{value:e,name:"default",label:"Default Value",description:"This value is used whenever the user of this process did not specify a value for this parameter.",toggledBy:"optional",optional:!0,schema:{}}},getExperimentalField(e=void 0){return{value:e,name:"experimental",label:"Experimental",description:"Declares that this is experimental, which means that it is unstable and likely to change.",optional:!0,schema:{type:"boolean"},default:!1}},getDeprecatedField(e=void 0){return{value:e,name:"deprecated",label:"Deprecated",description:"Declares that this is deprecated with the potential to be removed in any of the next versions. It should be transitioned out of usage.",optional:!0,schema:{type:"boolean"},default:!1}},getSchemaField(e=void 0,t="schema",s="Data Types"){let a=e?"json-schema":"openeo-datatype";return{value:e,name:t,label:s,description:"Allowed data type(s) as JSON Schema.",schema:[{title:"Single data type",type:"object",subtype:a},{title:"Multiple data types",type:"array",minItems:2,items:{type:"object",subtype:a}}]}},editProcess(e){e=i.A.isObject(e)?e:{};let t=i.A.isObject(e.returns)?e.returns:{};var s=[this.getNameField(e.id,"id"),{value:e.summary,name:"summary",description:"A very short description of the process with usually less than 60 characters.",label:"Summary",optional:!0,schema:{type:"string"}},this.getDescriptionField(e.description,!0),{value:e.categories,name:"categories",label:"Categories",optional:!0,schema:{type:"array",items:{type:"string"}}},this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),{label:"Parameters",description:'The parameters can be edited directly in the "Visual Model" interface.',info:!0},this.getDescriptionField(t.description,!0,"returns_description","Return Value > Description"),this.getSchemaField(t.schema,"returns_schema","Return Value > Data Type"),{value:e.exceptions,name:"exceptions",description:"Declares exceptions (errors) that might occur during execution of this process. This list is just for informative purposes.\n\nThe keys of the object are the error codes, which should only consist of alphanumerical characters. `PascalCase` is recommended.",label:"Errors",optional:!0,schema:{type:"object",additionalProperties:{type:"object",required:["message"],properties:{message:{title:"Error Message",type:"string"},description:{title:"Description",type:"string",subtype:"commonmark"},http:{title:"HTTP Status Code",type:"integer",enum:[400,500,501]}}}}},{value:e.examples,name:"examples",label:"Examples",description:"Example calls for this process with specific values for the parameters (arguments) and the result (return value).",optional:!0,schema:{type:"array",items:{type:"object",required:["arguments"],properties:{title:{title:"Title",type:"string"},title:{title:"Description",type:"string",subtype:"commonmark"},arguments:{title:"Arguments",type:"object",default:{}},returns:{title:"Return Value"}}}}},{value:e.links,name:"links",label:"Links",description:"Links related to this process, e.g. additional documentation.",optional:!0,schema:{type:"array",items:{type:"object",required:["href","rel"],properties:{href:{title:"URL",type:"string"},rel:{title:"Relation",description:"For examples see [IANA relation types](https://www.iana.org/assignments/link-relations/link-relations.xhtml)",type:"string",default:"about"},title:{title:"Title",type:"string"},type:{title:"Media Type",description:"For examples see [IANA media types](https://www.iana.org/assignments/media-types/media-types.xhtml)",type:"string"}}}}}];this.broadcast("showDataForm","Edit Process",s,(async e=>{let t=i.A.pickFromObject(e,["id","summary","description","categories","experimental","deprecated","exception","examples","links"]);("string"===typeof t.description||i.A.isObject(t.schema))&&(t.returns={description:e.returns_description,schema:e.returns_schema});let s=this.$refs.blocks.export(!0),a=Object.assign({},s,t);const r={id:"",summary:"",description:"",categories:[],experimental:!1,deprecated:!1,examples:[],links:[],process_graph:{}};for(let o in r)i.A.equals(r[o],a[o])&&delete a[o];this.commit(a)}))},addParameter(){var e=[this.getNameField(),this.getDescriptionField(),this.getOptionalField(),this.getDefaultField(),this.getExperimentalField(),this.getDeprecatedField(),this.getSchemaField()];this.broadcast("showDataForm","Add Parameter",e,(async e=>{"string"===typeof e.name&&e.name.length>0&&await this.$refs.blocks.addPgParameter(e)}))},editParameter(e,t="Edit Parameter",s=null){var a=[this.getNameField(e.name),this.getDescriptionField(e.description),this.getOptionalField(e.optional),this.getDefaultField(e.default),this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),this.getSchemaField(e.schema)];this.broadcast("showDataForm",t,a,s)},showExpressionModal(){let e=new f.A(this.value,this.processes,this.connection,!0);e.setCallbackParameters(this.$refs.blocks.getPgParameters().map((e=>e.spec)));try{e.parse();let t={process:e},s={save:this.insertNodes};this.broadcast("showModal","ExpressionModal",t,s)}catch(t){i.A.exception(this,t)}},openArgumentEditorForNode(e){let t=i.A.deepClone(this.value),s=t.process_graph[e],a=this.processes.get(s.process_id,s.namespace);Array.isArray(a.parameters)&&a.parameters.length>0&&this.openArgumentEditor(a.parameters.map((e=>new m.ProcessParameter(e))).filter((e=>e.isEditable())),s.arguments,a.id,!0,null,(e=>{Object.assign(s,{arguments:e}),this.commit(t)}))},openArgumentEditor(e,t,s="Edit",a=!0,r=null,i=null,o=null){let n={title:s,parameters:e,data:t,editable:a,selectParameterName:r,parent:o},l={};"function"===typeof i&&(l.save=i),this.broadcast("showModal","ParameterModal",n,l)},confirmClear(){var e=confirm("Do you really want to clear the existing model?");e&&this.clear()},clear(){this.$refs.blocks&&this.$refs.blocks.clear(),this.commit(null)},insertProcess(e,t=null,s=null){try{var a=this.$refs.blocks.getPositionForPageXY(t,s);let r=e.namespace;"backend"!==r&&"user"!==r||(r=null),this.$refs.blocks.addProcess(e.process_id,e.arguments,a,r)}catch(r){i.A.exception(this,r)}},async insertNodes(e,t=!1){return await this.$refs.blocks.import({process_graph:e},{clear:t})}}},g=y;var b=s(81656),v=(0,b.A)(g,l,c,!1,null,null,null);const _=v.exports;var w=s(57497);const C={name:"Editor",components:{VisualEditor:_,TextEditor:w.A,Tabs:o["default"],Tab:n["default"]},props:{id:{type:String,default:()=>`editor_${Date.now()}`},editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},title:{type:String},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},defaultValue:{}},watch:{value(){this.updateTab()}},data(){return{modelValue:null,codeValue:null,error:null}},mounted(){this.updateTab()},methods:{...i.A.mapActions(["loadProcess"]),showModel(){this.error=null,this.modelValue=this.value},showCode(){this.error=null,this.codeValue=this.value,this.$refs.sourceEditor.updateState()},updateTab(){"source"===this.$refs.tabs.getActiveTabId()?this.showCode():this.showModel()},commit(e){this.error=null,this.$emit("input",e)},onError(e){this.error=e},activeEditor(){return"source"===this.$refs.tabs.getActiveTabId()?this.$refs.sourceEditor:this.$refs.graphBuilder},async insertProcess(e){try{await this.loadProcess({id:e.process_id,namespace:e.namespace}),this.activeEditor().insertProcess(e)}catch(t){i.A.exception(this,t)}},canSwitchView(){return!this.editable||null===this.error||(i.A.exception(this,this.error,"Process Invalid Error"),!1)}}},A=C;var x=(0,b.A)(A,a,r,!1,null,null,null);const k=x.exports},78064:(e,t,s)=>{s.r(t),s.d(t,{default:()=>w});var a=function(){var e=this,t=e._self._c;return t("Modal",{attrs:{width:"80%",title:e.title},on:{closed:function(t){return e.$emit("closed")}}},[t("Job",{attrs:{job:e.job,currency:e.currency},scopedSlots:e._u([{key:"process-graph",fn:function(){return[t("Editor",{staticClass:"infoViewer",attrs:{value:e.job.process,editable:!1,id:"jobPgViewer"}})]},proxy:!0}])}),e.resultType?t("section",{staticClass:"vue-component result"},[t("h3",[e._v("Results")]),t("p",[t("em",[e._v("Below the metadata for the results of the batch job are shown.")])]),"Collection"===e.resultType?t("Collection",{attrs:{data:e.result},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"spatial-extents",fn:function(e){return[t("MapExtentViewer",{staticClass:"jobMap",attrs:{footprint:e.extents}})]}}],null,!1,1357273968)}):t("Item",{attrs:{data:e.result},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"location",fn:function(e){return[t("MapExtentViewer",{staticClass:"jobMap",attrs:{footprint:e.geometry||e.bbox}})]}}],null,!1,2460418625)})],1):e._e()],1)},r=[],i=s(2566),o=s(94679),n=function(){var e=this,t=e._self._c;return t("article",{staticClass:"vue-component job"},[e._t("title",(function(){return[t("a",{staticClass:"anchor",attrs:{name:e.job.id}}),t("h2",[e._v(e._s(e.job.title||e.job.id))])]}),null,e.$props),t("section",{staticClass:"progress"},[t("div",{staticClass:"tabular"},[t("label",[e._v("ID:")]),t("code",{staticClass:"value"},[e._v(e._s(e.job.id))])]),t("div",{staticClass:"tabular"},[t("label",[e._v("Submitted:")]),t("span",{staticClass:"value",domProps:{innerHTML:e._s(e.created)}})]),e.updated?t("div",{staticClass:"tabular"},[t("label",[e._v("Updated:")]),t("span",{staticClass:"value",domProps:{innerHTML:e._s(e.updated)}})]):e._e(),e.job.status?t("div",{staticClass:"tabular"},[t("label",[e._v("Status:")]),t("span",{staticClass:"value status",attrs:{"data-value":e.job.status}},[e._v(e._s(e.job.status))])]):e._e(),"number"===typeof e.job.progress?t("div",{staticClass:"tabular"},[t("label",[e._v("Progress:")]),t("div",{staticClass:"value"},[t("div",{staticClass:"progressBar",class:{error:!!e.job.error}},[t("div",{staticClass:"completed",style:"width: "+e.progress},[e.job.progress>50?t("span",{staticClass:"number"},[e._v(e._s(e.progress))]):e._e(),e._v("  ")]),e.job.progress<=50?t("span",{staticClass:"number"},[e._v(e._s(e.progress))]):e._e()])])]):e._e(),e.job.log_level?t("div",{staticClass:"tabular"},[t("label",[e._v("Minimum severity for logs:")]),t("span",{staticClass:"value level",attrs:{"data-value":e.job.log_level}},[e._v(e._s(e.job.log_level))])]):e._e()]),e._t("before-description",null,null,e.$props),e.job.description?t("summary",{staticClass:"description"},[t("h3",[e._v("Description")]),t("Description",{attrs:{description:e.job.description}}),e.job["federation:missing"]?t("FederationMissingNotice",{attrs:{missing:e.job["federation:missing"],federation:e.federation}}):e._e()],1):e._e(),e.hasLinks?t("section",{staticClass:"links"},[t("LinkList",{attrs:{links:e.job.links,heading:"Additional Resources",headingTag:"h3"}})],1):e._e(),e.job.plan||e.costs||e.budget?t("section",{staticClass:"billing"},[t("h3",[e._v("Billing")]),e.job.plan?t("div",{staticClass:"tabular"},[t("label",[e._v("Billing plan:")]),t("span",{staticClass:"value"},[e._v(e._s(e.job.plan))])]):e._e(),e.costs?t("div",{staticClass:"tabular"},[t("label",[e._v("Incurred Costs:")]),t("span",{staticClass:"value"},[e._v(e._s(e.costs))])]):e._e(),e.budget?t("div",{staticClass:"tabular"},[t("label",{attrs:{title:"The allowed maximum costs, specified by the user."}},[e._v("Budget limit:")]),t("span",{staticClass:"value"},[e._v(e._s(e.budget))])]):e._e()]):e._e(),e.hasUsageMetrics?t("section",{staticClass:"usage"},[t("h3",[e._v("Usage Metrics")]),e._l(e.usage,(function(s,a){return t("div",{key:a,staticClass:"tabular"},[t("label",{staticClass:"metric"},[e._v(e._s(e._f("usageLabel")(a)))]),t("span",{staticClass:"value"},[e._v(e._s(e._f("usageValue")(s.value))+" "),t("span",{staticClass:"unit"},[e._v(e._s(s.unit))])])])}))],2):e._e(),t("section",{staticClass:"process"},[t("h3",[e._v("Process")]),t("Process",{staticClass:"inline",attrs:{process:e.job.process,provideDownload:!1,showGraph:!0},scopedSlots:e._u([{key:"process-graph",fn:function(t){return[e._t("process-graph",null,{vBind:t})]}}],null,!0)})],1),e._t("end",null,null,e.$props)],2)},l=[],c=s(86975),d=s(35254),u=s(17834);const p={name:"Job",mixins:[d.A,u.A],components:{Description:()=>Promise.all([s.e(7261),s.e(1194)]).then(s.bind(s,27261)),LinkList:()=>s.e(2810).then(s.bind(s,52810)),Process:()=>s.e(6660).then(s.bind(s,34279))},props:{job:{type:Object,default:()=>({})},currency:{type:String,default:null},...d.A.props},computed:{budget(){return c.A.formatBudget(this.job.budget,this.currency,"No limit specified")},costs(){return c.A.formatCurrency(this.job.costs,this.currency)},created(){return c.A.formatTimestamp(this.job.created,"n/a")},updated(){return c.A.formatTimestamp(this.job.updated,"")},progress(){return"number"===typeof this.job.progress?Math.round(10*this.job.progress)/10+"%":"0%"},usage(){return this.job.usage},hasLinks(){return c.A.size(this.job.links)>0}},beforeCreate(){c.A.enableHtmlProps(this)}},h=p;var m=s(81656),f=(0,m.A)(h,n,l,!1,null,null,null);const y=f.exports;var g=s(63036);const b={name:"JobInfoModal",components:{Collection:()=>Promise.all([s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(3249)]).then(s.bind(s,3249)),Editor:g["default"],Item:()=>s.e(8645).then(s.bind(s,38645)),Job:y,MapExtentViewer:()=>Promise.all([s.e(1160),s.e(5983),s.e(1323),s.e(5624),s.e(1189),s.e(6617),s.e(5640),s.e(2559),s.e(2365),s.e(3800),s.e(3291),s.e(3876),s.e(9882),s.e(3743)]).then(s.bind(s,46818)),Modal:o.A},computed:{...i.A.mapGetters(["currency"]),resultType(){return i.A.isObject(this.result)?"Feature"===this.result.type?"Item":"Collection":null},title(){return"Batch Job: "+(this.job.title||"#"+this.job.id)}},props:{job:{type:Object},result:{type:Object,default:null}}},v=b;var _=(0,m.A)(v,a,r,!1,null,null,null);const w=_.exports},16125:(e,t,s)=>{s.d(t,{A:()=>o});var a=s(14894),r=s(2566);class i extends a.BaseProcess{constructor(e,t){super(e),this.exporter=t}async execute(e){await this.exporter.generateFunction(e)}}class o extends a.ProcessGraph{constructor(e,t,s){super(r.A.isObject(e)?e:{},t),this.connection=s,this.code=[],this.fnCounter=1,this.allowEmpty(),this.fillUndefinedParameters()}createProcessGraphInstance(e){let t=new o(e,this.processRegistry,this.getJsonSchemaValidator());return this.copyProcessGraphInstanceProperties(t)}copyProcessGraphInstanceProperties(e){return e=super.copyProcessGraphInstanceProperties(e),e.connection=this.connection,e}createProcessInstance(e){return new i(e,this)}isKeyword(e){return this.getKeywords().includes(e.toLowerCase())}getKeywords(){return[]}comment(){}generateImports(){}generateConnection(){}generateAuthentication(){}generateBuilder(){}generateMetadata(){}generateMissingParameter(){}async generateFunction(){}generateFunctionParams(e){return e.map((e=>"undefined"!==typeof e.default?`${e.name} = ${this.e(e.default)}`:e.name))}async generateCallback(){}generateResult(){}makeNull(){return"null"}makeBoolean(e){return e?"true":"false"}makeArray(e){return`[${e.join(", ")}]`}makeObject(e){let t=r.A.mapObject(e,((e,t)=>`${this.makeString(t)}: ${e}`));return`{${t.join(", ")}}`}makeString(e){return JSON.stringify(e)}makeNumber(e){return e}e(e){return null===e?this.makeNull():"boolean"===typeof e?this.makeBoolean(e):"number"===typeof e?this.makeNumber(e):"string"===typeof e?this.makeString(e):Array.isArray(e)?this.makeArray(e.map((e=>this.e(e)))):r.A.isObject(e)?this.makeObject(r.A.mapObjectValues(e,(e=>this.e(e)))):"function"===typeof e?e():this.makeNull()}generateMetadata(){let e=!1;for(let t in this.process){if("process_graph"===t)continue;let s=this.process[t];Array.isArray(s)&&0===s.length||("string"===typeof s&&0===s.length||("boolean"!==typeof s||s)&&(e||(this.newLine(),this.comment("Set the metadata for the process"),e=!0),this.generateMetadataEntry(t,s)))}}async resolveArguments(e,t,s){let a=Array.isArray(e)?[]:{};for(let i in e){let n=e[i];if(!s||!s(i,n))if(r.A.isObject(n)){if(n.from_node){a[i]=()=>this.var(n.from_node,this.varPrefix());continue}if(n.from_parameter){a[i]=()=>this.var(n.from_parameter);continue}if(n instanceof o){let e=await t(i);a[i]=()=>e;continue}a[i]=await this.resolveArguments(n,t,s)}else Array.isArray(n)?a[i]=await this.resolveArguments(n,t,s):a[i]=n}return a}async resolveCallback(e,t){let s;if("load_collection"===e.process_id){let a=e.getArgument("properties");s=a[t]}else s=e.getArgument(t);let a=s.getCallbackParameters();await s.execute(a);let r=this.var(`${t}${this.fnCounter++}`,"fn_"),i=await this.generateCallback(s,a,r);return i||r}async generateArguments(e,t=!1,s=null){let a=await this.resolveArguments(e.arguments,(async t=>await this.resolveCallback(e,t)),s);return t&&(a=this.orderArguments(e,a)),a}orderArguments(e,t){let s=e.getProcessGraph().getProcess(e);if(s&&Array.isArray(s.parameters)){let e=s.parameters.map((e=>"undefined"!==typeof t[e.name]?t[e.name]:e.optional?void 0:null)),a=!1;for(let t=e.length-1;t>=0;t--)"undefined"===typeof e[t]?a?e[t]=null:e.pop():a=!0;return e}}varPrefix(){return this.getParent()?"data":"datacube"}var(e,t="var"){return e=String(e),this.isKeyword(e)?`${e}_`:e.match(/^[a-z_]\w*$/)?e:t+e.replace(/[^\w]+/g,"_")}getTab(){return"\t"}addCode(e,t="",s=0){if("string"!==typeof e)return;let a=this.getTab().repeat(s),r=e.trim().split(/\r\n|\r|\n/g);for(let i of r)this.code.push(`${a}${t}${i}\n`)}newLine(e=1){for(let t=0;t0){this.comment("ToDo: Here you need to set values for the parameters");for(let e of t)this.generateMissingParameter(e);this.newLine()}return await this.execute(),e||(this.newLine(),this.comment("The process can be executed synchronously (see below), as batch job or as web service now")),this.generateResult(this.getResultNode(),e),this.code.join("").trim()}async execute(){return await this.validate(),this.reset(),await this.executeNodes(this.getStartNodes()),this.getResultNode()}isMath(){return"undefined"===typeof this._isMath&&(this._isMath=this.processRegistry.isMath(this)),this._isMath}}},47067:(e,t,s)=>{s.d(t,{A:()=>n});var a=s(2566),r=s(16125),i=s(73902);const o=["abstract","arguments","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","eval","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with","yield","builder","connection","formula","openeo","result"];class n extends r.A{constructor(e,t,s,a=!1){super(e,t,s),this.generateFormula=a}createProcessGraphInstance(e){let t=new n(e,this.processRegistry,this.getJsonSchemaValidator(),this.generateFormula);return this.copyProcessGraphInstanceProperties(t)}parse(){this.parsed||super.parse()}getKeywords(){return o}comment(e){this.addCode(e,"// ")}generateImports(){this.addCode("import { OpenEO, Formula } from '@openeo/js-client';")}generateConnection(){this.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`)}generateAuthentication(){this.comment("ToDo: Here you need to add your authentication steps")}generateBuilder(){this.addCode("let builder = await connection.buildProcess();")}generateMetadataEntry(e,t){this.addCode(`builder.${e} = ${this.e(t)};`)}async generateFunction(e){let t=e.getParent()?"this":"builder",s=this.var(e.id,this.varPrefix()),r=await this.generateArguments(e,!e.namespace);if(this.comment(e.description),a.A.isObject(r)){let a=e.namespace?`${e.process_id}@${e.namespace}`:e.process_id;this.addCode(`let ${s} = ${t}.process("${a}", ${this.e(r)});`)}else this.addCode(`let ${s} = ${t}.${e.process_id}(${r.map((e=>this.e(e))).join(", ")});`)}generateMissingParameter(e){this.comment(e.description);let t=this.var(e.name,"param"),s="undefined"!==typeof e.default?e.default:null;this.addCode(`let ${t} = ${this.e(s)};`)}async generateCallback(e,t,s){if(this.generateFormula&&e&&e.isMath()){let t=e.toFormulaString(),s=JSON.stringify(t);return`new Formula(${s})`}{let a=this.generateFunctionParams(t);this.newLine(),this.addCode(`let ${s} = function(${a.join(", ")}) {`),this.addCode(await e.toCode(!0),"",1),this.addCode("}")}}generateResult(e,t){if(!e)return;let s=this.var(e.id,this.varPrefix());t?this.addCode(`return ${s};`):this.addCode(`let result = await connection.computeResult(${s});`)}toFormulaString(){return this.isMath()?this.nodeToFormula(this.getResultNode()):""}getArrayElementPlaceholder(e){if("array_element"===e.process_id&&"parameter"===e.getArgumentType("data")){let t=e.getRawArgument("data").from_parameter,s=this.getCallbackParameters().findIndex((e=>e.name===t));if(s>=0)return"$".repeat(s+1)+(e.getArgument("label")||e.getArgument("index"))}return null}nodeToFormula(e,t=null){if("array_element"===e.process_id){let t=this.getArrayElementPlaceholder(e);if(t)return t}let s=i.Formula.reverseOperatorMapping[e.process_id],r=this.processRegistry.get(e.process_id),o="undefined"!==typeof i.Formula.arrayOperatorMapping[e.process_id],n=t=>{if(a.A.isObject(t))if(t.from_node){let a=e.getProcessGraph().getNode(t.from_node);t=a?this.nodeToFormula(a,s):"#"+t.from_node}else{if(!t.from_parameter)throw new Error("Objects not allowed");t=t.from_parameter}return t},l=[],c=Array.isArray(r.parameters)?r.parameters:[];for(let a of c){let t=n(e.getRawArgument(a.name));if(o&&Array.isArray(t)&&"data"===a.name){l=t.map((e=>n(e)));break}if("undefined"!==typeof t)l.push(t);else{if("undefined"===typeof a.default)throw new Error('Argument for parameter "'+a.name+'" missing');l.push(a.default)}}if(o&&(l=l.filter((e=>null!==e))),s){let e=["/","*"],a=["-","+"],r=l.map((e=>e<0?"("+e+")":e)).join(s);return!t||a.includes(t)&&a.includes(s)||"^"===s||a.includes(t)&&e.includes(s)?r:"("+r+")"}return e.process_id+"("+l.join(", ")+")"}}}}]); -//# sourceMappingURL=3324.26d659b7.js.map \ No newline at end of file +//# sourceMappingURL=3324.bcef36de.js.map \ No newline at end of file diff --git a/js/3324.26d659b7.js.map b/js/3324.bcef36de.js.map similarity index 99% rename from js/3324.26d659b7.js.map rename to js/3324.bcef36de.js.map index 46bfd007..88e3703b 100644 --- a/js/3324.26d659b7.js.map +++ b/js/3324.bcef36de.js.map @@ -1 +1 @@ -{"version":3,"file":"js/3324.26d659b7.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/UsageMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/components/modals/JobInfoModal.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Job.vue?e994","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Job.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Job.vue?3a6c","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Job.vue","webpack://@openeo/web-editor/src/components/modals/JobInfoModal.vue","webpack://@openeo/web-editor/./src/components/modals/JobInfoModal.vue?e17e","webpack://@openeo/web-editor/./src/components/modals/JobInfoModal.vue?a253","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","import Utils from '../../utils';\n\nconst usageLabels = {\n\tcpu: \"CPU usage\",\n\tmemory: \"Memory usage\",\n\tduration: \"Wall time\",\n\tnetwork: \"Network Transfer IO\",\n\tdisk: \"Storage IO\",\n\tstorage: \"Storage space\"\n};\n\nexport default {\n\tcomputed: {\n\t\thasUsageMetrics() {\n\t\t\treturn Utils.size(this.usage) > 0;\n\t\t}\n\t},\n\tfilters: {\n\t\tusageLabel(key) {\n\t\t\tif (usageLabels[key]) {\n\t\t\t\treturn usageLabels[key];\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn Utils.prettifyString(key);\n\t\t\t}\n\t\t},\n\t\tusageValue(num) {\n\t\t\tif (typeof num === 'number') {\n\t\t\t\treturn num.toLocaleString();\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Modal',{attrs:{\"width\":\"80%\",\"title\":_vm.title},on:{\"closed\":function($event){return _vm.$emit('closed')}}},[_c('Job',{attrs:{\"job\":_vm.job,\"currency\":_vm.currency},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(){return [_c('Editor',{staticClass:\"infoViewer\",attrs:{\"value\":_vm.job.process,\"editable\":false,\"id\":\"jobPgViewer\"}})]},proxy:true}])}),(_vm.resultType)?_c('section',{staticClass:\"vue-component result\"},[_c('h3',[_vm._v(\"Results\")]),_c('p',[_c('em',[_vm._v(\"Below the metadata for the results of the batch job are shown.\")])]),(_vm.resultType === 'Collection')?_c('Collection',{attrs:{\"data\":_vm.result},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"spatial-extents\",fn:function(p){return [_c('MapExtentViewer',{staticClass:\"jobMap\",attrs:{\"footprint\":p.extents}})]}}],null,false,1357273968)}):_c('Item',{attrs:{\"data\":_vm.result},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"location\",fn:function(p){return [_c('MapExtentViewer',{staticClass:\"jobMap\",attrs:{\"footprint\":p.geometry || p.bbox}})]}}],null,false,2460418625)})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('article',{staticClass:\"vue-component job\"},[_vm._t(\"title\",function(){return [_c('a',{staticClass:\"anchor\",attrs:{\"name\":_vm.job.id}}),_c('h2',[_vm._v(_vm._s(_vm.job.title || _vm.job.id))])]},null,_vm.$props),_c('section',{staticClass:\"progress\"},[_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"ID:\")]),_c('code',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.job.id))])]),_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Submitted:\")]),_c('span',{staticClass:\"value\",domProps:{\"innerHTML\":_vm._s(_vm.created)}})]),(_vm.updated)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Updated:\")]),_c('span',{staticClass:\"value\",domProps:{\"innerHTML\":_vm._s(_vm.updated)}})]):_vm._e(),(_vm.job.status)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Status:\")]),_c('span',{staticClass:\"value status\",attrs:{\"data-value\":_vm.job.status}},[_vm._v(_vm._s(_vm.job.status))])]):_vm._e(),(typeof _vm.job.progress === 'number')?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Progress:\")]),_c('div',{staticClass:\"value\"},[_c('div',{staticClass:\"progressBar\",class:{error: !!_vm.job.error}},[_c('div',{staticClass:\"completed\",style:('width: ' + _vm.progress)},[(_vm.job.progress > 50)?_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.progress))]):_vm._e(),_vm._v(\"  \")]),(_vm.job.progress <= 50)?_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.progress))]):_vm._e()])])]):_vm._e(),(_vm.job.log_level)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Minimum severity for logs:\")]),_c('span',{staticClass:\"value level\",attrs:{\"data-value\":_vm.job.log_level}},[_vm._v(_vm._s(_vm.job.log_level))])]):_vm._e()]),_vm._t(\"before-description\",null,null,_vm.$props),(_vm.job.description)?_c('summary',{staticClass:\"description\"},[_c('h3',[_vm._v(\"Description\")]),_c('Description',{attrs:{\"description\":_vm.job.description}}),(_vm.job['federation:missing'])?_c('FederationMissingNotice',{attrs:{\"missing\":_vm.job['federation:missing'],\"federation\":_vm.federation}}):_vm._e()],1):_vm._e(),(_vm.hasLinks)?_c('section',{staticClass:\"links\"},[_c('LinkList',{attrs:{\"links\":_vm.job.links,\"heading\":\"Additional Resources\",\"headingTag\":\"h3\"}})],1):_vm._e(),(_vm.job.plan || _vm.costs || _vm.budget)?_c('section',{staticClass:\"billing\"},[_c('h3',[_vm._v(\"Billing\")]),(_vm.job.plan)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Billing plan:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.job.plan))])]):_vm._e(),(_vm.costs)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Incurred Costs:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.costs))])]):_vm._e(),(_vm.budget)?_c('div',{staticClass:\"tabular\"},[_c('label',{attrs:{\"title\":\"The allowed maximum costs, specified by the user.\"}},[_vm._v(\"Budget limit:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.budget))])]):_vm._e()]):_vm._e(),(_vm.hasUsageMetrics)?_c('section',{staticClass:\"usage\"},[_c('h3',[_vm._v(\"Usage Metrics\")]),_vm._l((_vm.usage),function(metric,key){return _c('div',{key:key,staticClass:\"tabular\"},[_c('label',{staticClass:\"metric\"},[_vm._v(_vm._s(_vm._f(\"usageLabel\")(key)))]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm._f(\"usageValue\")(metric.value))+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(_vm._s(metric.unit))])])])})],2):_vm._e(),_c('section',{staticClass:\"process\"},[_c('h3',[_vm._v(\"Process\")]),_c('Process',{staticClass:\"inline\",attrs:{\"process\":_vm.job.process,\"provideDownload\":false,\"showGraph\":true},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(p){return [_vm._t(\"process-graph\",null,{\"vBind\":p})]}}],null,true)})],1),_vm._t(\"end\",null,null,_vm.$props)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Job.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Job.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Job.vue?vue&type=template&id=46e64ee8\"\nimport script from \"./Job.vue?vue&type=script&lang=js\"\nexport * from \"./Job.vue?vue&type=script&lang=js\"\nimport style0 from \"./Job.vue?vue&type=style&index=0&id=46e64ee8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./JobInfoModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./JobInfoModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./JobInfoModal.vue?vue&type=template&id=370fa5d6\"\nimport script from \"./JobInfoModal.vue?vue&type=script&lang=js\"\nexport * from \"./JobInfoModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./JobInfoModal.vue?vue&type=style&index=0&id=370fa5d6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","usageLabels","cpu","memory","duration","network","disk","storage","computed","hasUsageMetrics","size","this","usage","filters","usageLabel","key","prettifyString","usageValue","num","toLocaleString","render","_vm","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","typesToShow","types","push","data","format","assign","id","processes","showCategories","provideDownload","processUrl","showGraph","Process","class","compact","directives","rawName","value","expression","placeholder","minLength","searchHint","domProps","$event","target","composing","Number","watch","newValue","oldValue","length","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","title","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","namespace","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","process","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","click","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","param","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","ModelBuilder","DiscoveryToolbar","FullscreenButton","formula","initialNode","isObject","process_graph","node","keys","openArgumentEditorForNode","error","exception","setInitialNode","mounted","navigator","clipboard","readText","text","JSON","parse","import","message","edges","filter","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","description","label","schema","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","returns","fields","categories","experimental","deprecated","info","exceptions","additionalProperties","properties","http","enum","examples","arguments","links","href","rel","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","parameters","p","ProcessParameter","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","replace","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","job","currency","resultType","extents","geometry","bbox","$props","created","updated","status","progress","style","log_level","plan","costs","budget","metric","_f","unit","UsageMixin","Description","LinkList","formatBudget","formatCurrency","formatTimestamp","Math","round","hasLinks","Editor","Item","Job","MapExtentViewer","Modal","ProcessImpl","BaseProcess","constructor","exporter","super","execute","generateFunction","Exporter","ProcessGraph","registry","code","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","includes","toLowerCase","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","join","makeObject","obj","mapObject","makeString","str","stringify","makeNumber","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","from_node","var","varPrefix","from_parameter","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","async","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","i","pop","getParent","prefix","match","getTab","addCode","level","repeat","lines","trim","split","line","count","getServerUrl","getUrl","toCode","params","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","processId","arg","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","Error","argList","v","strongOps","weakOps"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/3324.bcef36de.js","mappings":"2KAAA,SACCA,WAAY,CACXC,iBAAkB,IAAM,gCACxBC,wBAAyB,IAAM,iCAEhCC,MAAO,CACNC,WAAY,CACXC,KAAMC,OACNC,QAAS,KAAM,CAAG,K,kDCNrB,MAAMC,EAAc,CACnBC,IAAK,YACLC,OAAQ,eACRC,SAAU,YACVC,QAAS,sBACTC,KAAM,aACNC,QAAS,iBAGV,GACCC,SAAU,CACT,eAAAC,GACC,OAAO,IAAMC,KAAKC,KAAKC,OAAS,CACjC,GAEDC,QAAS,CACR,UAAAC,CAAWC,GACV,OAAId,EAAYc,GACRd,EAAYc,GAGZ,IAAMC,eAAeD,EAE9B,EACA,UAAAE,CAAWC,GACV,MAAmB,kBAARA,EACHA,EAAIC,iBAELD,CACR,G,mCC/BF,IAAIE,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,KAAOJ,EAAIK,YAAY,cAAgB,KAAK,WAAa,QAAQ,YAAc,WAAW,aAAeL,EAAIM,aAAa,qBAAsB,EAAM,mBAAqBN,EAAIO,WAAW,uBAAyBP,EAAIQ,eAAe,iBAAmBR,EAAIS,iBAAiB,yBAA2BT,EAAIU,iBAAiB,mBAAqBV,EAAIW,mBAAmB,KAAOX,EAAIY,KAAK,aAAeZ,EAAIa,aAAa,QAAUb,EAAIc,QAAQ,UAAYd,EAAIe,UAAU,mBAAqBf,EAAIgB,mBAAmB,UAAY,IAAIC,GAAG,CAAC,eAAiBjB,EAAIkB,gBAAgBC,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,UAAU2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAItB,EAAW,QAAE,CAACN,IAAI,gBAAgB2B,GAAG,WAAW,MAAO,CAACpB,EAAG,0BAA0B,CAACG,MAAM,CAAC,QAAUJ,EAAIwB,QAAQ,WAAaxB,EAAIxB,cAAc,EAAEiD,OAAM,GAAM,KAAK,CAAC/B,IAAI,UAAU2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAG,CAAC5B,IAAI,UAAU2B,GAAG,SAASK,GAAM,MAAO,CAACzB,EAAG,aAAa,CAACG,MAAM,CAAC,KAAOsB,EAAKC,KAAK,WAAa3B,EAAI4B,WAAW,WAAa5B,EAAIxB,YAAY2C,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,QAAQ2B,GAAG,WAAW,MAAO,CAACpB,EAAG,OAAO,CAACE,YAAY,WAAW,EAAEsB,OAAM,GAAM,CAAC/B,IAAI,qBAAqB2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,gCAAgC,KAAK,KAAKD,GAAO,GAAG,CAAC5B,IAAI,MAAM2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,iBAAiB,KAAK,KAAKD,GAAO,GAAG,CAAC5B,IAAI,kBAAkB2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,6BAA6B,KAAK,KAAKD,GAAO,GAAG,CAAC5B,IAAI,mBAAmB2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,8BAA8B,KAAK,KAAKD,GAAO,IAAI,MAAK,KAAQ,IAAI,MAAK,MAAS,EACpsD,EACIO,EAAkB,G,sBCuCtB,SACCC,KAAM,cACN1D,WAAY,CACX2D,WAAY,IAAM,IAAMC,mBAAmB,gGAC3CC,eAAgB,IAAM,IAAMD,mBAAmB,kCAEhDE,OAAQ,CACPC,EAAA,GAED5D,MAAO,CACN8B,YAAa,CACZ5B,KAAM2D,MACNzD,QAAS,IAAM,IAEhBiD,WAAY,CACXnD,KAAMC,OACNC,QAAS,KAAM,CAAG,IAEnB4B,WAAY,CACX9B,KAAM4D,OACN1D,QAAS,MAEViC,KAAM,CACLnC,KAAM6D,QACN3D,SAAS,GAEVkC,aAAc,CACbpC,KAAM6D,QACN3D,SAAS,GAEVmC,QAAS,CACRrC,KAAM4D,OACN1D,QAAS,eAEVoC,UAAW,CACVtC,KAAM6D,QACN3D,QAAS,MAEVqC,mBAAoB,CACnBvC,KAAM8D,SACN5D,QAAS,MAEV2B,aAAc,CACb7B,KAAM6D,QACN3D,SAAS,GAEV6B,eAAgB,CACf/B,KAAM6D,QACN3D,SAAS,GAEV8B,iBAAkB,CACjBhC,KAAM6D,QACN3D,SAAS,GAEV+B,iBAAkB,CACjBjC,KAAM6D,QACN3D,SAAS,GAEVgC,mBAAoB,CACnBlC,KAAM6D,QACN3D,SAAS,GAEV6C,QAAS,CACR/C,KAAM2D,MACNzD,QAAS,SAEPwD,EAAA,EAAgB5D,OAEpB,YAAAiE,GACC,IAAMC,gBAAgBnD,KACvB,EACAoD,QAAS,CACR,cAAAxB,IAAkByB,GACjBrD,KAAKsD,MAAM,oBAAqBD,EACjC,ICnH2H,I,eCQzHE,GAAY,OACd,EACA9C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAegB,EAAiB,O,mCCnBhC,IAAI9C,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,KAAOJ,EAAI8C,YAAY,WAAa,QAAQ,YAAc,iBAAiB,qBAAsB,EAAM,mBAAqB9C,EAAIO,WAAW,uBAAyBP,EAAIQ,eAAe,iBAAmBR,EAAIS,iBAAiB,yBAA2BT,EAAIU,iBAAiB,mBAAqBV,EAAIW,mBAAmB,KAAOX,EAAIY,KAAK,aAAeZ,EAAIa,aAAa,QAAUb,EAAIc,QAAQ,UAAYd,EAAIe,WAAWE,GAAG,CAAC,eAAiBjB,EAAIkB,gBAAgBC,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,UAAU2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAItB,EAAW,QAAE,CAACN,IAAI,gBAAgB2B,GAAG,WAAW,MAAO,CAACpB,EAAG,0BAA0B,CAACG,MAAM,CAAC,QAAUJ,EAAIwB,QAAQ,WAAaxB,EAAIxB,cAAc,EAAEiD,OAAM,GAAM,KAAK,CAAC/B,IAAI,UAAU2B,GAAG,SAASK,GAAM,MAAO,CAAC1B,EAAIuB,GAAG,WAAU,WAAW,MAAO,CAACtB,EAAG,SAAS,CAACE,YAAY,UAAU,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGtB,EAAKC,KAAKG,SAAS7B,EAAG,KAAK,CAACE,YAAY,uBAAuB,CAAEH,EAAIiD,SAA8B,UAAnBvB,EAAKC,KAAKlD,KAAkBwB,EAAG,KAAK,CAACE,YAAY,iBAAiB,CAACH,EAAI+C,GAAG,YAAY/C,EAAIkD,KAAMlD,EAAIiD,SAA8B,WAAnBvB,EAAKC,KAAKlD,KAAmBwB,EAAG,KAAK,CAACE,YAAY,iBAAiB,CAACH,EAAI+C,GAAG,YAAY/C,EAAIkD,KAAMd,MAAMe,QAAQzB,EAAKC,KAAKyB,gBAAiBpD,EAAIqD,GAAI3B,EAAKC,KAAmB,gBAAE,SAASlD,GAAM,OAAOwB,EAAG,KAAK,CAACP,IAAIjB,EAAK0B,YAAY,aAAa,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGvE,KAAQ,IAAGuB,EAAIkD,MAAM,GAAGjD,EAAG,MAAMA,EAAG,QAAQ,CAACD,EAAI+C,GAAG/C,EAAIgD,GAAGtB,EAAK4B,QAAQA,YAAY,GAAE,KAAK5B,GAAM,GAAG,CAAChC,IAAI,UAAU2B,GAAG,SAASK,GAAM,MAAO,CAACzB,EAAG,aAAa,CAACG,MAAM,CAAC,GAAKsB,EAAK4B,QAAQC,WAAW,OAAS7B,EAAKC,KAAK,KAAOD,EAAKC,KAAKlD,KAAK,WAAauB,EAAIxB,YAAY2C,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,QAAQ2B,GAAG,WAAW,MAAO,CAACpB,EAAG,OAAO,CAACE,YAAY,WAAW,EAAEsB,OAAM,GAAM,CAAC/B,IAAI,SAAS2B,GAAG,WAAW,MAAO,CAACpB,EAAG,OAAO,CAACE,YAAY,WAAW,EAAEsB,OAAM,GAAM,CAAC/B,IAAI,qBAAqB2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,iCAAiC,KAAK,KAAKD,GAAO,GAAG,CAAC5B,IAAI,MAAM2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,kBAAkB,KAAK,KAAKD,GAAO,IAAI,MAAK,KAAQ,IAAI,MAAK,MAAS,EACnkE,EACIO,EAAkB,G,sBC8CtB,SACCC,KAAM,cACN1D,WAAY,CACX6D,eAAgB,IAAM,IAAMD,mBAAmB,iCAC/CwB,WAAY,IAAM,IAAMxB,mBAAmB,kCAE5CE,OAAQ,CACPC,EAAA,GAED5D,MAAO,CACNkF,QAAS,CACRhF,KAAMC,OACNC,QAAS,KAAM,CAAG,IAEnB+E,UAAW,CACVjF,KAAM6D,QACN3D,SAAS,GAEVgF,WAAY,CACXlF,KAAM6D,QACN3D,SAAS,GAEV4B,WAAY,CACX9B,KAAM4D,OACN1D,QAAS,MAEViC,KAAM,CACLnC,KAAM6D,QACN3D,SAAS,GAEVkC,aAAc,CACbpC,KAAM6D,QACN3D,SAAS,GAEVmC,QAAS,CACRrC,KAAM4D,OACN1D,QAAS,gBAEVoC,UAAW,CACVtC,KAAM6D,QACN3D,QAAS,MAEV6B,eAAgB,CACf/B,KAAM6D,QACN3D,SAAS,GAEV8B,iBAAkB,CACjBhC,KAAM6D,QACN3D,SAAS,GAEV+B,iBAAkB,CACjBjC,KAAM6D,QACN3D,SAAS,GAEVgC,mBAAoB,CACnBlC,KAAM6D,QACN3D,SAAS,GAEV6C,QAAS,CACR/C,KAAM2D,MACNzD,QAAS,SAEPwD,EAAA,EAAgB5D,OAEpBY,SAAU,CACT,OAAA8D,GACC,OAAO3D,KAAKoE,WAAapE,KAAKqE,UAC/B,EACA,WAAAC,GACC,IAAIC,EAAQ,GAOZ,OANIvE,KAAKoE,WACRG,EAAMC,KAAK,SAERxE,KAAKqE,YACRE,EAAMC,KAAK,UAELD,CACR,EACA,WAAAf,GACC,IAAIiB,EAAO,GACX,IAAI,IAAItF,KAAQa,KAAKsE,YACpB,IAAI,IAAI9B,KAAQxC,KAAKmE,QAAQhF,GAAO,CACnC,IAAIuF,EAAStF,OAAOuF,OAAO,CAACC,GAAI,GAAGpC,KAAQrD,IAAQqD,OAAMrD,QAAOa,KAAKmE,QAAQhF,GAAMqD,IACnFiC,EAAKD,KAAKE,EACX,CAED,OAAOD,CACR,GAED,YAAAvB,GACC,IAAMC,gBAAgBnD,KACvB,EACAoD,QAAS,CACR,cAAAxB,IAAkByB,GACjBrD,KAAKsD,MAAM,oBAAqBD,EACjC,IC/I2H,I,eCQzHE,GAAY,OACd,EACA9C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAegB,EAAiB,O,mCCnBhC,IAAI9C,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,KAAOJ,EAAImE,UAAU,YAAc,aAAa,aAAenE,EAAIoE,eAAe,qBAAsB,EAAM,mBAAqBpE,EAAIO,WAAW,uBAAyBP,EAAIQ,eAAe,iBAAmBR,EAAIS,iBAAiB,yBAA2BT,EAAIU,iBAAiB,mBAAqBV,EAAIW,mBAAmB,KAAOX,EAAIY,KAAK,aAAeZ,EAAIa,aAAa,QAAUb,EAAIc,QAAQ,UAAYd,EAAIe,UAAU,mBAAqBf,EAAIgB,mBAAmB,UAAY,IAAIC,GAAG,CAAC,eAAiBjB,EAAIkB,gBAAgBC,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,UAAU2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAItB,EAAW,QAAE,CAACN,IAAI,gBAAgB2B,GAAG,WAAW,MAAO,CAACpB,EAAG,0BAA0B,CAACG,MAAM,CAAC,QAAUJ,EAAIwB,QAAQ,WAAaxB,EAAIxB,cAAc,EAAEiD,OAAM,GAAM,KAAK,CAAC/B,IAAI,UAAU2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAG,CAAC5B,IAAI,UAAU2B,GAAG,SAASK,GAAM,MAAO,CAACzB,EAAG,UAAU,CAACG,MAAM,CAAC,QAAUsB,EAAKC,KAAK,gBAAkB3B,EAAIqE,gBAAgB,WAAarE,EAAIsE,WAAW,UAAYtE,EAAIuE,UAAU,WAAavE,EAAIxB,YAAY2C,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,QAAQ2B,GAAG,WAAW,MAAO,CAACpB,EAAG,OAAO,CAACE,YAAY,WAAW,EAAEsB,OAAM,GAAM,CAAC/B,IAAI,qBAAqB2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,6BAA6B,KAAK,KAAKD,GAAO,GAAG,CAAC5B,IAAI,MAAM2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,cAAc,KAAK,KAAKD,GAAO,IAAI,MAAK,KAAQ,IAAI,MAAK,MAAS,EAC9/C,EACIO,EAAkB,G,sBCmCtB,SACCC,KAAM,YACN1D,WAAY,CACXoG,QAAS,IAAM,IAAMxC,mBAAmB,iCACxCC,eAAgB,IAAM,IAAMD,mBAAmB,kCAEhDE,OAAQ,CACPC,EAAA,GAED5D,MAAO,CACN4F,UAAW,CACV1F,KAAM2D,MACNzD,QAAS,IAAM,IAEhB0F,gBAAiB,CAChB5F,KAAM6D,QACN3D,SAAS,GAEV2F,WAAYjC,OACZ9B,WAAY,CACX9B,KAAM4D,OACN1D,QAAS,MAEViC,KAAM,CACLnC,KAAM6D,QACN3D,SAAS,GAEVkC,aAAc,CACbpC,KAAM6D,QACN3D,SAAS,GAEVmC,QAAS,CACRrC,KAAM4D,OACN1D,QAAS,aAEVoC,UAAW,CACVtC,KAAM6D,QACN3D,QAAS,MAEVyF,eAAgB,CACf3F,KAAM6D,QACN3D,SAAS,GAEV4F,UAAW,CACV9F,KAAM6D,QACN3D,SAAS,GAEV6B,eAAgB,CACf/B,KAAM6D,QACN3D,SAAS,GAEV8B,iBAAkB,CACjBhC,KAAM6D,QACN3D,SAAS,GAEV+B,iBAAkB,CACjBjC,KAAM6D,QACN3D,SAAS,GAEVgC,mBAAoB,CACnBlC,KAAM6D,QACN3D,SAAS,GAEVqC,mBAAoB,CACnBvC,KAAM8D,SACN5D,QAAS,MAEV6C,QAAS,CACR/C,KAAM2D,MACNzD,QAAS,SAEPwD,EAAA,EAAgB5D,OAEpB,YAAAiE,GACC,IAAMC,gBAAgBnD,KACvB,EACAoD,QAAS,CACR,cAAAxB,IAAkByB,GACjBrD,KAAKsD,MAAM,oBAAqBD,EACjC,ICpHyH,I,eCQvHE,GAAY,OACd,EACA9C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAegB,EAAiB,O,+CCnBhC,IAAI9C,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,2BAA2BsE,MAAM,CAACC,QAAS1E,EAAI0E,UAAU,CAACzE,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACH,EAAI+C,GAAG,QAAQ9C,EAAG,QAAQ,CAAC0E,WAAW,CAAC,CAAC7C,KAAK,QAAQ8C,QAAQ,UAAUC,MAAO7E,EAAc,WAAE8E,WAAW,eAAe1E,MAAM,CAAC,KAAO,SAAS,YAAcJ,EAAI+E,YAAY,UAAY/E,EAAIgF,UAAU,MAAQhF,EAAIiF,YAAYC,SAAS,CAAC,MAASlF,EAAc,YAAGiB,GAAG,CAAC,MAAQ,SAASkE,GAAWA,EAAOC,OAAOC,YAAiBrF,EAAIO,WAAW4E,EAAOC,OAAOP,MAAK,MACvhB,EACIhD,EAAkB,GCMtB,SACCC,KAAM,YACNvD,MAAO,CACNsG,MAAO,CACNpG,KAAM4D,OACN1D,QAAS,IAEVoG,YAAa,CACZtG,KAAM4D,OACN1D,QAAS,UAEVqG,UAAW,CACVvG,KAAM6G,OACN3G,QAAS,GAEV+F,QAAS,CACRjG,KAAM6D,QACN3D,SAAS,IAGX,IAAAoF,GACC,MAAO,CACNxD,WAAYjB,KAAKuF,MAEnB,EACAU,MAAO,CACN,UAAAhF,CAAWiF,EAAUC,GAChBD,EAASE,OAASpG,KAAK0F,YAC1BQ,EAAW,IAEZlG,KAAKsD,MAAM,QAAS4C,EACrB,GAEDrG,SAAU,CACT,UAAA8F,GACC,OAAI3F,KAAK0F,UAAY,EACb,+BAA+B1F,KAAK0F,wBAErC,IACR,IC/CyH,I,eCQvHnC,GAAY,OACd,EACA9C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAegB,EAAiB,O,mCCnBhC,IAAI9C,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,KAAOJ,EAAI2F,SAAS,WAAa,QAAQ,qBAAsB,EAAM,mBAAqB3F,EAAIO,WAAW,uBAAyBP,EAAIQ,eAAe,iBAAmBR,EAAIS,iBAAiB,yBAA2BT,EAAIU,iBAAiB,mBAAqBV,EAAIW,mBAAmB,KAAOX,EAAIY,KAAK,aAAeZ,EAAIa,aAAa,QAAUb,EAAIc,QAAQ,UAAYd,EAAIe,WAAWE,GAAG,CAAC,eAAiBjB,EAAIkB,gBAAgBC,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,UAAU2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAG,CAAC5B,IAAI,UAAU2B,GAAG,SAASK,GAAM,MAAO,CAAC1B,EAAIuB,GAAG,WAAU,WAAW,MAAO,CAACtB,EAAG,SAAS,CAACE,YAAY,UAAU,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGtB,EAAK4B,QAAQC,eAAetD,EAAG,KAAK,CAACE,YAAY,uBAAuB,CAAqB,WAAnBuB,EAAKC,KAAKlD,MAAsBiD,EAAKC,KAAKiE,QAAUlE,EAAKC,KAAKkE,KAAO,CAAC5F,EAAG,KAAK,CAACE,YAAY,gBAAgB,CAACH,EAAI+C,GAAG,YAAY/C,EAAIqD,GAAI3B,EAAKC,KAAS,MAAE,SAASmE,GAAK,OAAO7F,EAAG,KAAK,CAACP,IAAIoG,EAAI3F,YAAY,gBAAgBsE,MAAM,CAAC9F,QAASmH,IAAQpE,EAAKC,KAAKhD,UAAU,CAACqB,EAAI+C,GAAG/C,EAAIgD,GAAG8C,KAAO,KAAI9F,EAAIqD,GAAI3B,EAAKC,KAAa,UAAE,SAASoE,EAAKC,GAAS,OAAO/F,EAAG,KAAK,CAACP,IAAIsG,EAAQ7F,YAAY,gBAAgBsE,MAAM,CAAC9F,QAASqH,IAAYtE,EAAKC,KAAKhD,UAAU,CAACqB,EAAI+C,GAAG/C,EAAIgD,GAAGgD,KAAW,KAAI,GAAG/F,EAAG,MAAMA,EAAG,QAAQ,CAACD,EAAI+C,GAAG/C,EAAIgD,GAAGtB,EAAK4B,QAAQA,YAAY,GAAE,KAAK5B,GAAM,GAAG,CAAChC,IAAI,UAAU2B,GAAG,SAASK,GAAM,MAAO,CAACzB,EAAG,aAAa,CAACG,MAAM,CAAC,GAAKsB,EAAK4B,QAAQC,WAAW,QAAU7B,EAAKC,KAAK,WAAa3B,EAAIxB,YAAY2C,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,QAAQ2B,GAAG,WAAW,MAAO,CAACpB,EAAG,OAAO,CAACE,YAAY,WAAW,EAAEsB,OAAM,GAAM,CAAC/B,IAAI,SAAS2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,qBAAqB,KAAK,KAAKD,GAAO,GAAG,CAAC5B,IAAI,qBAAqB2B,GAAG,SAASC,GAAO,MAAO,CAACtB,EAAIuB,GAAG,iCAAiC,KAAK,KAAKD,GAAO,IAAI,MAAK,KAAQ,IAAI,MAAK,MAAS,EAC12D,EACIO,EAAkB,G,sBC6CtB,SACCC,KAAM,cACN1D,WAAY,CACX6D,eAAgB,IAAM,IAAMD,mBAAmB,iCAC/CiE,WAAY,IAAM,IAAMjE,mBAAmB,kCAE5CE,OAAQ,CACPC,EAAA,GAED5D,MAAO,CACNoH,SAAW,CACVlH,KAAMC,OACNC,QAAS,KAAM,CAAG,IAEnB4B,WAAY,CACX9B,KAAM4D,OACN1D,QAAS,MAEViC,KAAM,CACLnC,KAAM6D,QACN3D,SAAS,GAEVkC,aAAc,CACbpC,KAAM6D,QACN3D,SAAS,GAEVmC,QAAS,CACRrC,KAAM4D,OACN1D,QAAS,gBAEVoC,UAAW,CACVtC,KAAM6D,QACN3D,QAAS,MAEV6B,eAAgB,CACf/B,KAAM6D,QACN3D,SAAS,GAEV8B,iBAAkB,CACjBhC,KAAM6D,QACN3D,SAAS,GAEV+B,iBAAkB,CACjBjC,KAAM6D,QACN3D,SAAS,GAEVgC,mBAAoB,CACnBlC,KAAM6D,QACN3D,SAAS,MAEPwD,EAAA,EAAgB5D,OAEpB,YAAAiE,GACC,IAAMC,gBAAgBnD,KACvB,EACAoD,QAAS,CACR,cAAAxB,IAAkByB,GACjBrD,KAAKsD,MAAM,oBAAqBD,EACjC,ICzG2H,I,eCQzHE,GAAY,OACd,EACA9C,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAegB,EAAiB,O,mCCnBhC,IAAI9C,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,YAAY,CAACiG,MAAM,CAACrB,MAAO7E,EAAIO,WAAY4F,SAAS,SAAUC,GAAMpG,EAAIO,WAAW6F,CAAG,EAAEtB,WAAW,gBAAgB7E,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,OAAO,CAACE,YAAY,SAAS,CAACH,EAAI+C,GAAG,YAAY9C,EAAG,QAAQ,CAACE,YAAY,kBAAkBC,MAAM,CAAC,MAAQ,8BAA8B,CAACH,EAAG,QAAQ,CAAC0E,WAAW,CAAC,CAAC7C,KAAK,QAAQ8C,QAAQ,UAAUC,MAAO7E,EAAIqG,eAAgBvB,WAAW,mBAAmB1E,MAAM,CAAC,KAAO,YAAY8E,SAAS,CAAC,QAAU9C,MAAMe,QAAQnD,EAAIqG,gBAAgBrG,EAAIsG,GAAGtG,EAAIqG,eAAe,OAAO,EAAGrG,EAAIqG,gBAAiBpF,GAAG,CAAC,OAAS,SAASkE,GAAQ,IAAIoB,EAAIvG,EAAIqG,eAAeG,EAAKrB,EAAOC,OAAOqB,IAAID,EAAKE,QAAuB,GAAGtE,MAAMe,QAAQoD,GAAK,CAAC,IAAIH,EAAI,KAAKO,EAAI3G,EAAIsG,GAAGC,EAAIH,GAAQI,EAAKE,QAASC,EAAI,IAAI3G,EAAIqG,eAAeE,EAAIK,OAAO,CAACR,KAAYO,GAAK,IAAI3G,EAAIqG,eAAeE,EAAIM,MAAM,EAAEF,GAAKC,OAAOL,EAAIM,MAAMF,EAAI,IAAK,MAAM3G,EAAIqG,eAAeI,CAAI,KAAKzG,EAAI+C,GAAG,kBAAkB9C,EAAG,QAAQ,CAACE,YAAY,oBAAoBC,MAAM,CAAC,MAAQ,gCAAgC,CAACH,EAAG,QAAQ,CAAC0E,WAAW,CAAC,CAAC7C,KAAK,QAAQ8C,QAAQ,UAAUC,MAAO7E,EAAI8G,iBAAkBhC,WAAW,qBAAqB1E,MAAM,CAAC,KAAO,YAAY8E,SAAS,CAAC,QAAU9C,MAAMe,QAAQnD,EAAI8G,kBAAkB9G,EAAIsG,GAAGtG,EAAI8G,iBAAiB,OAAO,EAAG9G,EAAI8G,kBAAmB7F,GAAG,CAAC,OAAS,SAASkE,GAAQ,IAAIoB,EAAIvG,EAAI8G,iBAAiBN,EAAKrB,EAAOC,OAAOqB,IAAID,EAAKE,QAAuB,GAAGtE,MAAMe,QAAQoD,GAAK,CAAC,IAAIH,EAAI,KAAKO,EAAI3G,EAAIsG,GAAGC,EAAIH,GAAQI,EAAKE,QAASC,EAAI,IAAI3G,EAAI8G,iBAAiBP,EAAIK,OAAO,CAACR,KAAYO,GAAK,IAAI3G,EAAI8G,iBAAiBP,EAAIM,MAAM,EAAEF,GAAKC,OAAOL,EAAIM,MAAMF,EAAI,IAAK,MAAM3G,EAAI8G,iBAAiBL,CAAI,KAAKzG,EAAI+C,GAAG,sBAAsB9C,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,cAAc,CAACE,YAAY,WAAWC,MAAM,CAAC,YAAcJ,EAAIK,YAAY,WAAaL,EAAIO,WAAW,cAAe,EAAM,UAAYP,EAAIe,UAAU,gBAAkBf,EAAIqG,eAAe,kBAAoBrG,EAAI8G,kBAAkB3F,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,UAAU2B,GAAG,UAAS,KAAEM,IAAQ,MAAO,CAAC1B,EAAG,MAAM,CAACE,YAAY,mBAAmBC,MAAM,CAAC,UAAYJ,EAAI+G,wBAAwB9F,GAAG,CAAC,UAAY,SAASkE,GAAQ,OAAOnF,EAAIgH,OAAO7B,EAAQ,aAAcxD,EAAK,IAAI,CAAC1B,EAAG,MAAM,CAACE,YAAY,iBAAiBc,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAIiH,mBAAmBtF,EAAKuC,GAAG,IAAI,CAACjE,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQuB,EAAKuC,KAAK,CAAClE,EAAI+C,GAAG/C,EAAIgD,GAAGrB,EAAKuC,OAAQvC,EAAKuF,MAAOjH,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQuB,EAAKuF,QAAQ,CAAClH,EAAI+C,GAAG/C,EAAIgD,GAAGrB,EAAKuF,UAAUlH,EAAIkD,OAAQlD,EAAImH,qBAAqBxF,GAAO1B,EAAG,SAAS,CAACE,YAAY,mBAAmBC,MAAM,CAAC,KAAO,SAAS,MAAQ,eAAea,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAIoH,sBAAsBzF,EAAK,IAAI,CAAC1B,EAAG,IAAI,CAACE,YAAY,iBAAiBH,EAAIkD,OAAO,OAAOjD,EAAG,YAAY,CAACE,YAAY,WAAWC,MAAM,CAAC,UAAYJ,EAAIqH,aAAa,WAAarH,EAAIO,WAAW,cAAe,EAAM,UAAYP,EAAIe,UAAU,gBAAkBf,EAAIqG,eAAe,kBAAoBrG,EAAI8G,kBAAkB3F,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,UAAU2B,GAAG,UAAS,KAAEM,IAAQ,MAAO,CAAC1B,EAAG,MAAM,CAACE,YAAY,mBAAmBC,MAAM,CAAC,UAAY,QAAQa,GAAG,CAAC,UAAY,SAASkE,GAAQ,OAAOnF,EAAIgH,OAAO7B,EAAQ,UAAWxD,EAAK,IAAI,CAAC1B,EAAG,MAAM,CAACE,YAAY,iBAAiBc,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAIsH,YAAY3F,EAAK,IAAI,CAAqB,SAAnBA,EAAK4F,UAAsBtH,EAAG,IAAI,CAACE,YAAY,sCAAsCC,MAAM,CAAC,MAAQ,oBAAwC,YAAnBuB,EAAK4F,UAAyBtH,EAAG,IAAI,CAACE,YAAY,kCAAkCC,MAAM,CAAC,MAAQ,2BAA2BuB,EAAK4F,gBAAgBvH,EAAIkD,KAAKjD,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQuB,EAAKuC,KAAK,CAAClE,EAAI+C,GAAG/C,EAAIgD,GAAGrB,EAAKuC,OAAQvC,EAAK2B,QAASrD,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQuB,EAAK2B,UAAU,CAACtD,EAAI+C,GAAG/C,EAAIgD,GAAGrB,EAAK2B,YAAYtD,EAAIkD,SAAS,OAAQlD,EAAIwH,eAAgBvH,EAAG,cAAc,CAACE,YAAY,WAAWC,MAAM,CAAC,SAAWJ,EAAIyH,YAAY,WAAazH,EAAIO,WAAW,cAAe,EAAM,UAAYP,EAAIe,UAAU,gBAAkBf,EAAIqG,eAAe,kBAAoBrG,EAAI8G,kBAAkB3F,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,UAAU2B,GAAG,UAAS,QAAEiC,EAAO,KAAE3B,IAAQ,MAAO,CAAC1B,EAAG,MAAM,CAACE,YAAY,mBAAmBC,MAAM,CAAC,UAAYJ,EAAI0H,gBAAgBzG,GAAG,CAAC,UAAY,SAASkE,GAAQ,OAAOnF,EAAIgH,OAAO7B,EAAQ,MAAO,CAACwC,QAASrE,EAAQC,WAAYyC,QAASrE,EAAKhD,SAAS,IAAI,CAACsB,EAAG,MAAM,CAACE,YAAY,iBAAiBc,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAI4H,YAAYtE,EAAQC,WAAY5B,EAAK,IAAI,CAAC1B,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQkD,EAAQC,aAAa,CAACvD,EAAI+C,GAAG/C,EAAIgD,GAAGM,EAAQC,YAAY,KAAKvD,EAAIgD,GAAGrB,EAAKhD,SAAS,OAAQ2E,EAAQA,QAASrD,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQkD,EAAQA,UAAU,CAACtD,EAAI+C,GAAG/C,EAAIgD,GAAGM,EAAQA,YAAYtD,EAAIkD,SAAS,IAAI,MAAK,EAAM,YAAYlD,EAAIkD,KAAKjD,EAAG,cAAc,CAACE,YAAY,WAAWC,MAAM,CAAC,QAAUJ,EAAI8C,YAAY,WAAY,EAAM,QAAU,sBAAsB,WAAa9C,EAAIO,WAAW,cAAe,EAAM,UAAYP,EAAIe,UAAU,gBAAkBf,EAAIqG,eAAe,kBAAoBrG,EAAI8G,kBAAkB3F,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,UAAU2B,GAAG,UAAS,KAAEM,IAAQ,MAAO,CAAC1B,EAAG,MAAM,CAACE,YAAY,mBAAmBC,MAAM,CAAC,UAAYJ,EAAI6H,oBAAoB5G,GAAG,CAAC,UAAY,SAASkE,GAAQ,OAAOnF,EAAIgH,OAAO7B,EAAQ,aAAcxD,EAAK,IAAI,CAAC1B,EAAG,MAAM,CAACE,YAAY,iBAAiBc,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAI8H,mBAAmBnG,EAAK,IAAI,CAAC1B,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQuB,EAAKG,OAAO,CAAC9B,EAAI+C,GAAG/C,EAAIgD,GAAGrB,EAAKG,SAAUH,EAAKuF,MAAOjH,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQuB,EAAKuF,QAAQ,CAAClH,EAAI+C,GAAG/C,EAAIgD,GAAGrB,EAAKuF,UAAUlH,EAAIkD,SAAS,QAAQ,IAAI,EACj2K,EACIrB,EAAkB,G,2EC0EtB,SACAC,KAAA,mBACAI,OAAA,CAAA6F,EAAAA,GACA3J,WAAA,CACA4J,YAAA,IACAC,YAAA,IACAC,UAAA,IACAC,UAAA,aACAC,YAAAA,EAAAA,GAEA7J,MAAA,CACA8J,aAAA,CACA5J,KAAA8D,SACA+F,UAAA,GAEAC,kBAAA,CACA9J,KAAA6D,QACA3D,SAAA,GAEA6J,QAAA,CACA/J,KAAA6D,QACA3D,SAAA,IAGAoF,IAAAA,GACA,OACA0E,mBAAA,GACA1H,WAAA,EACAsF,eAAA,KAAAqC,QAAAC,0BAAA,EACA7B,iBAAA,KAAA4B,QAAAE,4BAAA,EAEA,EACAzJ,SAAA,IACA0J,EAAAA,EAAAC,SAAA,kCACAD,EAAAA,EAAAC,SAAA,qCACAD,EAAAA,EAAAE,WAAA,wCACAhC,sBAAAA,GACA,YAAA5C,UAAA6E,IAAA,kBACA,EACAtB,cAAAA,GACA,YAAAvD,UAAA6E,IAAA,UACA,EACAnB,kBAAAA,GACA,YAAA1D,UAAA6E,IAAA,cACA,EACAxB,cAAAA,GACA,OAAAqB,EAAAA,EAAAxJ,KAAA,KAAAoI,YACA,EACAJ,YAAAA,GACA,YAAAlD,UAAA8E,KACA,EACA1I,WAAA,CACA2I,GAAAA,GACA,YAAAV,QACA,KAAAW,oBAGA,KAAAV,kBAEA,EACAW,GAAAA,CAAA5D,GACA,KAAAgD,QACA,KAAAa,uBAAA7D,GAGA,KAAAiD,mBAAAjD,CAEA,IAGAD,MAAA,CACAhF,WAAA,CACA+I,WAAA,EACAC,OAAAA,CAAAC,EAAAC,IACAD,GAAAC,EACA,KAAA1I,WAAA,EAEAyI,IAAAC,IACA,KAAA1I,WAAA,EAEA,IAGA2B,QAAA,IACAmG,EAAAA,EAAAa,aAAA,sDACAb,EAAAA,EAAAc,WAAA,iBACA3C,MAAAA,CAAA4C,EAAAnL,EAAAsF,GACA,IAAA1C,EAAAwI,GAAA,KAAAC,YAAA,CAAArL,OAAAsF,OAAA8F,YACA,YAAApL,GACA4C,GAAA,GACA,KAAA0I,YAAAhG,GAAAiG,MAAA,IAAA3I,GAAA,MAGAA,GAAA,EAEA,EACA4F,kBAAAA,CAAA/C,GACA,KAAA+F,UAAA,iBAAA/F,EACA,EACAiD,oBAAAA,CAAA+C,GACA,OAAA5H,QAAA,KAAAiG,mBAAAM,EAAAA,EAAAsB,uBAAAD,GACA,EACA9C,qBAAAA,CAAA8C,GACA,KAAAD,UAAA,wBAAAC,EACA,EACA5C,WAAAA,CAAA8C,GACA,KAAAH,UAAA,cAAAG,EACA,EACAxC,WAAAA,CAAA1D,EAAAH,GACA,KAAAkG,UAAA,+BAAA/F,KAAAH,OAAAiC,QAAAjC,EAAApF,SACA,EACAmJ,kBAAAA,CAAA9D,GACA,IAAAzF,EAAA,CACA2F,GAAAF,EAAAlC,KACAkC,OAAA,KAAAlB,YAAAuH,OAAArG,EAAAlC,MACArD,KAAA,UAEA,KAAAwL,UAAA,8BAAA1L,EACA,IClM+P,I,eCS3PsE,GAAY,OACd,EACA9C,EACA8B,GACA,EACA,KACA,WACA,MAIF,QAAegB,EAAiB,O,gDCpBhC,IAAI9C,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,OAAO,CAACqK,IAAI,OAAOnK,YAAY,SAASC,MAAM,CAAC,GAAK,uBAAuB,SAAW,WAAW,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,SAAS,KAAO,eAAe,KAAO,qBAAqB,UAAW,EAAK,UAAYJ,EAAIuK,eAAetJ,GAAG,CAAC,KAAOjB,EAAIwK,YAAY,CAACvK,EAAG,eAAe,CAACqK,IAAI,eAAenK,YAAY,kBAAkBC,MAAM,CAAC,SAAWJ,EAAIyK,SAAS,OAASzK,EAAI0K,OAAO,aAAe1K,EAAI2K,aAAa,MAAQ3K,EAAI4K,WAAW,MAAQ5K,EAAIkH,MAAM,GAAKlH,EAAIkE,GAAK,UAAU,qBAAuBlE,EAAI6K,qBAAqB,UAAY7K,EAAI8K,UAAU,aAAe9K,EAAI+K,cAAc9J,GAAG,CAAC,MAAQjB,EAAIgL,OAAO,MAAQhL,EAAIiL,SAAS9J,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,eAAe2B,GAAG,WAAW,MAAO,CAACrB,EAAIuB,GAAG,gBAAgB,EAAEE,OAAM,GAAM,CAAC/B,IAAI,UAAU2B,GAAG,WAAW,MAAO,CAACrB,EAAIuB,GAAG,WAAW,EAAEE,OAAM,IAAO,MAAK,MAAS,GAAGxB,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,SAAS,KAAO,OAAO,KAAO,UAAU,UAAYJ,EAAIuK,eAAetJ,GAAG,CAAC,KAAOjB,EAAIkL,WAAW,CAACjL,EAAG,aAAa,CAACqK,IAAI,eAAenK,YAAY,gBAAgBC,MAAM,CAAC,SAAWJ,EAAIyK,SAAS,MAAQzK,EAAImL,UAAU,MAAQnL,EAAIkH,MAAM,GAAKlH,EAAIkE,GAAK,QAAQ,SAAW,gBAAgBjD,GAAG,CAAC,MAAQjB,EAAIgL,OAAO,MAAQhL,EAAIiL,SAAS9J,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,eAAe2B,GAAG,WAAW,MAAO,CAACrB,EAAIuB,GAAG,gBAAgB,EAAEE,OAAM,GAAM,CAAC/B,IAAI,UAAU2B,GAAG,WAAW,MAAO,CAACrB,EAAIuB,GAAG,WAAW,EAAEE,OAAM,IAAO,MAAK,MAAS,IAAI,EACp4C,EACII,EAAkB,G,+BCFlB9B,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACqK,IAAI,eAAenK,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAAEH,EAAIkH,MAAOjH,EAAG,SAAS,CAACD,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAIkH,UAAUlH,EAAIkD,KAAKjD,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAAEH,EAAIyK,SAAUxK,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,qCAAqCa,GAAG,CAAC,MAAQjB,EAAIoL,eAAe,CAACnL,EAAG,IAAI,CAACE,YAAY,kBAAkBH,EAAIuB,GAAG,iBAAiB,GAAGvB,EAAIkD,KAAMlD,EAAIyK,SAAUxK,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,UAAYJ,EAAIqL,QAAQ,MAAQ,sBAAsBpK,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAIsL,MAAMC,OAAOC,MAAM,IAAI,CAACvL,EAAG,IAAI,CAACE,YAAY,sBAAsBF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,UAAYJ,EAAIyL,QAAQ,MAAQ,6BAA6BxK,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAIsL,MAAMC,OAAOG,MAAM,IAAI,CAACzL,EAAG,IAAI,CAACE,YAAY,sBAAsBF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,UAAYJ,EAAI2L,aAAa,MAAQ,4BAA4B1K,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAIsL,MAAMC,OAAOK,gBAAgB,IAAI,CAAC3L,EAAG,IAAI,CAACE,YAAY,qBAAqBH,EAAIkD,KAAMlD,EAAIyK,SAAUxK,EAAG,OAAO,CAACE,YAAY,QAAQ,CAAGH,EAAI0K,OAAmK1K,EAAIkD,KAA/JjD,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,yBAAyBa,GAAG,CAAC,MAAQ4K,IAAM7L,EAAI8L,YAAY9L,EAAI6E,SAAS,CAAC5E,EAAG,IAAI,CAACE,YAAY,kBAA2BF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,iBAAiBa,GAAG,CAAC,MAAQjB,EAAI+L,eAAe,CAAC9L,EAAG,IAAI,CAACE,YAAY,qBAAsBH,EAAIgM,aAAc/L,EAAG,SAAS,CAACwE,MAAM,CAACwH,iBAAkBjM,EAAIkM,QAAQ9L,MAAM,CAAC,KAAO,SAAS,MAAQ,uBAAuBa,GAAG,CAAC,MAAQjB,EAAImM,sBAAsB,CAAClM,EAAG,IAAI,CAACE,YAAY,6BAA6BH,EAAIkD,OAAOlD,EAAIkD,KAAKjD,EAAG,SAAS,CAACwE,MAAM,CAAC2H,YAAapM,EAAIoM,aAAahM,MAAM,CAAC,KAAO,SAAS,MAAQ,gBAAgBa,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAIsL,MAAMC,OAAOc,eAAe,IAAI,CAACpM,EAAG,IAAI,CAACE,YAAY,iCAAiCF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,yBAAyBa,GAAG,CAAC,MAAQ,SAASkE,GAAQ,OAAOnF,EAAIsL,MAAMC,OAAOe,cAAc,IAAI,CAACrM,EAAG,IAAI,CAACE,YAAY,wBAAwBF,EAAG,mBAAmB,CAACG,MAAM,CAAC,QAAUmM,IAAMjN,KAAKgM,MAAMkB,cAAcvL,GAAG,CAAC,QAAUwL,IAAYnN,KAAKgM,MAAMC,OAAOe,eAAgBtM,EAAI0M,aAAeD,CAAO,KAAKzM,EAAIuB,GAAG,YAAY,KAAKtB,EAAG,MAAM,CAACE,YAAY,kBAAkB,EAAGH,EAAI6K,sBAAwB7K,EAAI0M,eAAiB1M,EAAIyK,SAAUxK,EAAG,mBAAmB,CAACE,YAAY,mBAAmBC,MAAM,CAAC,aAAeJ,EAAI2M,iBAAiB3M,EAAIkD,KAAKjD,EAAG,MAAM,CAACE,YAAY,eAAec,GAAG,CAAC,KAAOjB,EAAI4M,OAAO,SAAW5M,EAAI6M,YAAY,CAAE7M,EAAI8M,gBAAiB7M,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,KAAK,CAACD,EAAI+C,GAAG,cAAc9C,EAAG,IAAI,CAACD,EAAI+C,GAAG,4CAA4C/C,EAAIgD,GAAGhD,EAAI0I,QAAQqE,SAAS,yJAAyJ9M,EAAG,IAAI,CAACD,EAAI+C,GAAG,mFAAmF9C,EAAG,KAAK,CAAED,EAAIgN,SAAU/M,EAAG,KAAK,CAACD,EAAI+C,GAAG,mDAAmD9C,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,wBAAwBa,GAAG,CAAC,MAAQjB,EAAIiN,QAAQ,CAAChN,EAAG,IAAI,CAACE,YAAY,mBAAmBH,EAAI+C,GAAG,YAAY9C,EAAG,MAAM,CAACD,EAAI+C,GAAG,UAAU/C,EAAI+C,GAAG,OAAO9C,EAAG,MAAM,CAACD,EAAI+C,GAAG,OAAO/C,EAAI+C,GAAG,yBAAyB9C,EAAG,MAAM,CAACD,EAAI+C,GAAG,OAAO/C,EAAI+C,GAAG,OAAO9C,EAAG,MAAM,CAACD,EAAI+C,GAAG,OAAO/C,EAAI+C,GAAG,kDAAkD/C,EAAIkD,KAAKjD,EAAG,KAAK,CAACD,EAAI+C,GAAG,kDAAkD9C,EAAG,KAAK,CAACD,EAAI+C,GAAG,6FAA6F9C,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,uCAAuCa,GAAG,CAAC,MAAQjB,EAAIkN,gBAAgB,CAACjN,EAAG,IAAI,CAACE,YAAY,sCAAsCH,EAAImN,GAAG,GAAGlN,EAAG,IAAI,CAACD,EAAI+C,GAAG,+EAA+E/C,EAAIkD,KAAKjD,EAAG,eAAe,CAACqK,IAAI,SAASlK,MAAM,CAAC,SAAWJ,EAAIyK,SAAS,GAAKzK,EAAIkE,GAAG,UAAYlE,EAAImE,UAAU,YAAcnE,EAAIK,YAAY,OAASL,EAAI0K,OAAO,aAAe1K,EAAI2K,aAAa,MAAQ3K,EAAI6E,OAAO5D,GAAG,CAAC,MAAQjB,EAAIgL,OAAO,MAAQhL,EAAIoN,aAAa,YAAc9F,CAACpD,EAAIqD,IAAcvH,EAAIiK,UAAU,cAAe,CAAC/F,KAAIqD,cAAY,eAAiBrD,GAAMlE,EAAIiK,UAAU,iBAAkB/F,GAAI,cAAgBmJ,CAACC,EAAOC,IAAWvN,EAAIiK,UAAU,uBAAwBqD,EAAOC,GAAQ,cAAgBvN,EAAIwN,cAAc,cAAgBxN,EAAIyN,mBAAmB,YAAc/I,GAAWpF,KAAK8M,YAAc1H,EAAQ,iBAAmB1E,EAAI0N,iBAAiB,eAAiB1N,EAAI2N,mBAAmB,IAAI,IAC1lJ,EACI9L,EAAkB,CAAC,WAAY,IAAI7B,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,IAAI,CAACD,EAAI+C,GAAG,oHAAoH9C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACD,EAAI+C,GAAG,kBAAkB9C,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,2FAA2F,OAAS,WAAW,CAACH,EAAG,OAAO,CAACD,EAAI+C,GAAG,iCAAiC9C,EAAG,KAAK,CAACD,EAAI+C,GAAG,aAAa9C,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,iEAAiE,OAAS,WAAW,CAACH,EAAG,OAAO,CAACD,EAAI+C,GAAG,yCAA2C/C,EAAI+C,GAAG,oBAAoB9C,EAAG,OAAO,CAACD,EAAI+C,GAAG,YAAY/C,EAAI+C,GAAG,gEAAgE9C,EAAG,OAAO,CAACD,EAAI+C,GAAG,iBAAiB/C,EAAI+C,GAAG,qEAAqE9C,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,wEAAwE,OAAS,WAAW,CAACJ,EAAI+C,GAAG,qBAAqB/C,EAAI+C,GAAG,OACz/B,G,iECqFA,SACAjB,KAAA,eACAI,OAAA,CAAA6F,EAAAA,GACA3J,WAAA,CACAwP,aAAA,aACAC,iBAAA,IACAC,iBAAAA,EAAAA,GAEAvP,MAAA,CACA2F,GAAA7B,OACAoI,SAAA,CACAhM,KAAA6D,QACA3D,SAAA,GAEAkG,MAAA,CACApG,KAAAC,OACAC,QAAAA,IAAA,MAEA+L,OAAA,CACAjM,KAAAC,OACAC,QAAA,MAEAgM,aAAA,CACAlM,KAAAC,OACAC,QAAA,MAEAkM,qBAAA,CACApM,KAAA6D,QACA3D,SAAA,GAEAmM,UAAA,CACArM,KAAA6D,QACA3D,SAAA,GAEAuI,MAAA,CACAzI,KAAA4D,QAEA0I,aAAA,IAEA5L,SAAA,IACA0J,EAAAA,EAAAC,SAAA,iCACAD,EAAAA,EAAAE,WAAA,iCACAF,EAAAA,EAAAC,SAAA,6BACAD,EAAAA,EAAAE,WAAA,kCACAmD,MAAAA,GACA,YAAAF,cAAA,KAAA7H,UAAA+H,OAAA,KAAArH,MACA,GAEAd,IAAAA,GACA,OACA+I,gBAAA,KAAAhC,UACAO,SAAA,EACAI,SAAA,EACAuB,UAAA,EACAZ,aAAA,EACAT,cAAA,EACAoC,QAAA,KACArB,cAAA,EAEA,EACAnH,MAAA,CACAV,MAAA,CACAyE,WAAA,EACAC,OAAAA,CAAA1E,GAIA,GAHAA,IACA,KAAAiI,iBAAA,GAEA,KAAAkB,aAAAnF,EAAAA,EAAAoF,SAAApJ,IAAAgE,EAAAA,EAAAoF,SAAApJ,EAAAqJ,eACA,IACA,IAAAC,EAAA,KAAAH,YACA,KAAAG,GAAAtF,EAAAA,EAAAxJ,KAAAwF,EAAAqJ,iBACAC,EAAAzP,OAAA0P,KAAAvJ,EAAAqJ,eAAA,IAEA,KAAAG,0BAAAF,EACA,OAAAG,GACAzF,EAAAA,EAAA0F,UAAA,KAAAD,EACA,SACA,KAAAE,eAAA,KACA,CAEA,IAGAC,OAAAA,GACA,KAAAzB,SAAA0B,WAAAA,UAAAC,WAAA,oBAAAD,UAAAC,UAAAC,QACA,EACAlM,QAAA,IACAmG,EAAAA,EAAAa,aAAA,2CACAsB,MAAAA,CAAAnG,GAEA,0BAAAkG,cAAAlC,EAAAA,EAAAoF,SAAApJ,IAAA,IAAAgE,EAAAA,EAAAxJ,KAAAwF,EAAAqJ,iBACArJ,EAAA,KAAAkG,cAEA,KAAAnI,MAAA,QAAAiC,EACA,EACA,WAAAoI,GACA,KAAAD,UACAnE,EAAAA,EAAAyF,MAAA,0DAEA,IACA,MAAAO,QAAAH,UAAAC,UAAAC,WACA,IAAAxE,EAAA0E,KAAAC,MAAAF,SACA,KAAAvD,MAAAC,OAAAyD,OAAA5E,EACA,OAAAkE,GACAzF,EAAAA,EAAA0F,UAAA,KAAAD,EAAA,cACA,CACA,EACApB,aAAAA,GACA,KAAAjD,UAAA,gBACA,EACAmD,YAAAA,CAAA6B,EAAA/H,EAAA,MACA2B,EAAAA,EAAA0F,UAAA,KAAAU,EAAA/H,EACA,EACAwG,gBAAAA,CAAAnC,EAAA2D,GACA,KAAAvD,aAAArJ,QAAAiJ,EAAA4D,QAAAC,GAAAA,EAAAC,IAAAC,eAAA5J,QAAAwJ,EAAAxJ,OACA,EACAiI,cAAAA,CAAA4B,EAAAC,GACA,KAAAnE,UAAAkE,EAAAC,EAAA,GACA,KAAA/D,UAAA8D,EAAAC,EAAA,EACA,EACA3C,SAAAA,CAAAjD,GACA,KAAAkD,iBAAA,EACAlD,EAAA6F,gBACA,EACA,YAAA7C,CAAAhD,GACA,MAAAuE,QAAA,KAAAuB,sBACA,GAAAvB,EAGA,OAFA,KAAAxB,cAAAwB,EAAAvE,EAAA+F,MAAA/F,EAAAgG,OACA,KAAAC,cACAjG,EAAA6F,iBAIA,IAAAK,EAAAlG,EAAAmG,aAAAD,MACA,OAAAA,EAAApK,OAAA,CACA,IAAAsK,EAAApG,EAAAmG,aAAAD,MAAA,GACA,wBAAAE,EAAAvR,KAAA,CACA,IAAAwR,EAAA,IAAAC,WAWA,OAVAD,EAAAE,OAAA,UACA,IACA,IAAA/F,EAAA0E,KAAAC,MAAAqB,EAAAhL,OAAAiL,cACA,KAAA/E,MAAAC,OAAAyD,OAAA5E,EACA,OAAAkE,GACAzF,EAAAA,EAAA0F,UAAA,KAAAD,EAAA,2BACA,GAEA2B,EAAAK,QAAAhC,GAAAzF,EAAAA,EAAA0F,UAAA,KAAAD,EAAA,4BACA2B,EAAAM,WAAAP,EAAA,SACApG,EAAA6F,gBACA,CACA,CACA,EACAe,YAAAA,CAAA3L,OAAA4L,EAAA3O,EAAA,QACA,OACA+C,QACA/C,OACA4O,YAAA,iIACAC,MAAA,OACAC,OAAA,CACAnS,KAAA,SACAoS,QAAA,UAEAlS,QAAA,KAEA,EACAmS,mBAAAA,CAAAjM,OAAA4L,EAAAM,GAAA,EAAAjP,EAAA,cAAA6O,EAAA,eACA,OACA9L,QACA/C,OACA4O,YAAA,sGACAC,QACAI,WACAH,OAAA,CACAnS,KAAA,SACAuS,QAAA,cAGA,EACAC,gBAAAA,CAAApM,OAAA4L,GACA,OACA5L,QACA/C,KAAA,WACA6O,MAAA,WACAD,YAAA,qJACAK,UAAA,EACAH,OAAA,CACAnS,KAAA,WAEAE,SAAA,EAEA,EACAuS,eAAAA,CAAArM,OAAA4L,GACA,OACA5L,QACA/C,KAAA,UACA6O,MAAA,gBACAD,YAAA,mGACAS,UAAA,WACAJ,UAAA,EACAH,OAAA,GAEA,EACAQ,oBAAAA,CAAAvM,OAAA4L,GACA,OACA5L,QACA/C,KAAA,eACA6O,MAAA,eACAD,YAAA,4FACAK,UAAA,EACAH,OAAA,CACAnS,KAAA,WAEAE,SAAA,EAEA,EACA0S,kBAAAA,CAAAxM,OAAA4L,GACA,OACA5L,QACA/C,KAAA,aACA6O,MAAA,aACAD,YAAA,yIACAK,UAAA,EACAH,OAAA,CACAnS,KAAA,WAEAE,SAAA,EAEA,EACA2S,cAAAA,CAAAzM,OAAA4L,EAAA3O,EAAA,SAAA6O,EAAA,cACA,IAAAK,EAAAnM,EAAA,gCACA,OACAA,QACA/C,OACA6O,QACAD,YAAA,uCACAE,OAAA,CACA,CACA1J,MAAA,mBACAzI,KAAA,SACAuS,WAEA,CACA9J,MAAA,sBACAzI,KAAA,QACA8S,SAAA,EACAC,MAAA,CACA/S,KAAA,SACAuS,aAKA,EACAlF,WAAAA,CAAA1B,GACAA,EAAAvB,EAAAA,EAAAoF,SAAA7D,GAAAA,EAAA,GACA,IAAAqH,EAAA5I,EAAAA,EAAAoF,SAAA7D,EAAAqH,SAAArH,EAAAqH,QAAA,GACA,IAAAC,EAAA,CACA,KAAAlB,aAAApG,EAAAlG,GAAA,MACA,CACAW,MAAAuF,EAAA9G,QACAxB,KAAA,UACA4O,YAAA,gFACAC,MAAA,UACAI,UAAA,EACAH,OAAA,CACAnS,KAAA,WAGA,KAAAqS,oBAAA1G,EAAAsG,aAAA,GACA,CACA7L,MAAAuF,EAAAuH,WACA7P,KAAA,aACA6O,MAAA,aACAI,UAAA,EACAH,OAAA,CACAnS,KAAA,QACA+S,MAAA,CACA/S,KAAA,YAIA,KAAA2S,qBAAAhH,EAAAwH,cACA,KAAAP,mBAAAjH,EAAAyH,YACA,CACAlB,MAAA,aACAD,YAAA,yEACAoB,MAAA,GAEA,KAAAhB,oBAAAW,EAAAf,aAAA,sDACA,KAAAY,eAAAG,EAAAb,OAAA,6CACA,CACA/L,MAAAuF,EAAA2H,WACAjQ,KAAA,aACA4O,YAAA,kQACAC,MAAA,SACAI,UAAA,EACAH,OAAA,CACAnS,KAAA,SACAuT,qBAAA,CACAvT,KAAA,SACA6J,SAAA,CACA,WAEA2J,WAAA,CACAhD,QAAA,CACA/H,MAAA,gBACAzI,KAAA,UAEAiS,YAAA,CACAxJ,MAAA,cACAzI,KAAA,SACAuS,QAAA,cAEAkB,KAAA,CACAhL,MAAA,mBACAzI,KAAA,UACA0T,KAAA,CACA,IACA,IACA,UAOA,CACAtN,MAAAuF,EAAAgI,SACAtQ,KAAA,WACA6O,MAAA,WACAD,YAAA,oHACAK,UAAA,EACAH,OAAA,CACAnS,KAAA,QACA+S,MAAA,CACA/S,KAAA,SACA6J,SAAA,CACA,aAEA2J,WAAA,CACA/K,MAAA,CACAA,MAAA,QACAzI,KAAA,UAEAyI,MAAA,CACAA,MAAA,cACAzI,KAAA,SACAuS,QAAA,cAEAqB,UAAA,CACAnL,MAAA,YACAzI,KAAA,SACAE,QAAA,IAEA8S,QAAA,CACAvK,MAAA,oBAMA,CACArC,MAAAuF,EAAAkI,MACAxQ,KAAA,QACA6O,MAAA,QACAD,YAAA,gEACAK,UAAA,EACAH,OAAA,CACAnS,KAAA,QACA+S,MAAA,CACA/S,KAAA,SACA6J,SAAA,CACA,OACA,OAEA2J,WAAA,CACAM,KAAA,CACArL,MAAA,MACAzI,KAAA,UAEA+T,IAAA,CACAtL,MAAA,WACAwJ,YAAA,+GACAjS,KAAA,SACAE,QAAA,SAEAuI,MAAA,CACAA,MAAA,QACAzI,KAAA,UAEAA,KAAA,CACAyI,MAAA,aACAwJ,YAAA,sGACAjS,KAAA,eAOA,KAAAwL,UAAA,8BAAAyH,GAAA,UACA,IAAAe,EAAA5J,EAAAA,EAAA6J,eAAA3O,EAAA,yGACA,kBAAA0O,EAAA/B,aAAA7H,EAAAA,EAAAoF,SAAAwE,EAAA7B,WACA6B,EAAAhB,QAAA,CACAf,YAAA3M,EAAA4O,oBACA/B,OAAA7M,EAAA6O,iBAIA,IAAAxI,EAAA,KAAAkB,MAAAC,OAAAsH,QAAA,GACAC,EAAApU,OAAAuF,OAAA,GAAAmG,EAAAqI,GACA,MAAAM,EAAA,CACA7O,GAAA,GACAZ,QAAA,GACAoN,YAAA,GACAiB,WAAA,GACAC,cAAA,EACAC,YAAA,EACAO,SAAA,GACAE,MAAA,GACApE,cAAA,IAGA,QAAAxO,KAAAqT,EACAlK,EAAAA,EAAAmK,OAAAD,EAAArT,GAAAoT,EAAApT,YACAoT,EAAApT,GAGA,KAAAsL,OAAA8H,EAAA,GAEA,EACA/G,YAAAA,GACA,IAAA2F,EAAA,CACA,KAAAlB,eACA,KAAAM,sBACA,KAAAG,mBACA,KAAAC,kBACA,KAAAE,uBACA,KAAAC,qBACA,KAAAC,kBAEA,KAAArH,UAAA,+BAAAyH,GAAA,UACA,kBAAA3N,EAAAjC,MAAAiC,EAAAjC,KAAA4D,OAAA,SACA,KAAA4F,MAAAC,OAAA0H,eAAAlP,EACA,GAEA,EACAyJ,aAAAA,CAAA0F,EAAAhM,EAAA,iBAAAiM,EAAA,MACA,IAAAzB,EAAA,CACA,KAAAlB,aAAA0C,EAAApR,MACA,KAAAgP,oBAAAoC,EAAAxC,aACA,KAAAO,iBAAAiC,EAAAnC,UACA,KAAAG,gBAAAgC,EAAAvU,SACA,KAAAyS,qBAAA8B,EAAAtB,cACA,KAAAP,mBAAA6B,EAAArB,YACA,KAAAP,eAAA4B,EAAAtC,SAEA,KAAA3G,UAAA,eAAA/C,EAAAwK,EAAAyB,EACA,EACAhH,mBAAAA,GACA,IAAAiH,EAAA,IAAAC,EAAAA,EAAA,KAAAxO,MAAA,KAAAV,UAAA,KAAAmP,YAAA,GACAF,EAAAG,sBAAA,KAAAjI,MAAAC,OAAAiI,kBAAAC,KAAArE,GAAAA,EAAAsE,QACA,IACAN,EAAArE,QACA,IAAAxQ,EAAA,CACA6L,QAAAgJ,GAEAO,EAAA,CACAC,KAAA,KAAAC,aAEA,KAAA5J,UAAA,8BAAA1L,EAAAoV,EACA,OAAArF,GACAzF,EAAAA,EAAA0F,UAAA,KAAAD,EACA,CACA,EACAD,yBAAAA,CAAAyF,GACA,IAAA1J,EAAAvB,EAAAA,EAAAkL,UAAA,KAAAlP,OACAsJ,EAAA/D,EAAA8D,cAAA4F,GACAE,EAAA,KAAA7P,UAAA+E,IAAAiF,EAAA8F,WAAA9F,EAAA5G,WACAnF,MAAAe,QAAA6Q,EAAAE,aAAAF,EAAAE,WAAAxO,OAAA,GACA,KAAA+H,mBACAuG,EAAAE,WAAAT,KAAAU,GAAA,IAAAC,EAAAA,iBAAAD,KAAAhF,QAAAgF,GAAAA,EAAAE,eACAlG,EAAAkE,UACA2B,EAAA9P,IACA,EACA,MACAH,IACArF,OAAAuF,OAAAkK,EAAA,CAAAkE,UAAAtO,IACA,KAAAiH,OAAAZ,EAAA,GAIA,EACAqD,kBAAAA,CAAAyG,EAAAnQ,EAAAmD,EAAA,OAAAuD,GAAA,EAAA6J,EAAA,KAAAnB,EAAA,KAAAzI,EAAA,MACA,IAAAnM,EAAA,CACA2I,QACAgN,aACAnQ,OACA0G,WACA6J,sBACA5J,UAEAiJ,EAAA,GACA,oBAAAR,IACAQ,EAAAC,KAAAT,GAEA,KAAAlJ,UAAA,6BAAA1L,EAAAoV,EACA,EACAvI,YAAAA,GACA,IAAAmJ,EAAAC,QAAA,mDACAD,GACA,KAAAE,OAEA,EACAA,KAAAA,GACA,KAAAnJ,MAAAC,QACA,KAAAD,MAAAC,OAAAkJ,QAEA,KAAAzJ,OAAA,KACA,EACA2B,aAAAA,CAAAwB,EAAAuG,EAAA,KAAAC,EAAA,MACA,IACA,IAAAC,EAAA,KAAAtJ,MAAAC,OAAAsJ,qBAAAH,EAAAC,GACA,IAAApN,EAAA4G,EAAA5G,UACA,YAAAA,GAAA,SAAAA,IACAA,EAAA,MAEA,KAAA+D,MAAAC,OAAAuJ,WAAA3G,EAAA8F,WAAA9F,EAAAkE,UAAAuC,EAAArN,EACA,OAAA+G,GACAzF,EAAAA,EAAA0F,UAAA,KAAAD,EACA,CACA,EACA,iBAAAuF,CAAAkB,EAAAC,GAAA,GACA,kBAAA1J,MAAAC,OAAAyD,OAAA,CACAd,cAAA6G,GACA,CACAN,MAAAO,GAEA,IClnB2P,I,eCQvPnS,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,QAAeA,EAAiB,Q,eCKhC,SACAf,KAAA,SACA1D,WAAA,CACA6W,aAAA,EACAC,WAAA,IACAC,KAAA,aACAC,IAAAA,EAAAA,YAEA7W,MAAA,CACA2F,GAAA,CACAzF,KAAA4D,OACA1D,QAAAA,IAAA,UAAA0W,KAAAC,SAEA7K,SAAA,CACAhM,KAAA6D,QACA3D,SAAA,GAEAkG,MAAA,CACApG,KAAAC,OACAC,QAAAA,IAAA,MAEAuI,MAAA,CACAzI,KAAA4D,QAEAqI,OAAA,CACAjM,KAAAC,OACAC,QAAA,MAEAgM,aAAA,CACAlM,KAAAC,OACAC,QAAA,MAEAkM,qBAAA,CACApM,KAAA6D,QACA3D,SAAA,GAEAmM,UAAA,CACArM,KAAA6D,QACA3D,SAAA,GAEAoM,aAAA,IAEAxF,MAAA,CACAV,KAAAA,GACA,KAAA0Q,WACA,GAEAxR,IAAAA,GACA,OACA6G,WAAA,KACAO,UAAA,KACAmD,MAAA,KAEA,EACAG,OAAAA,GACA,KAAA8G,WACA,EACA7S,QAAA,IACAmG,EAAAA,EAAAc,WAAA,iBACAa,SAAAA,GACA,KAAA8D,MAAA,KACA,KAAA1D,WAAA,KAAA/F,KACA,EACAqG,QAAAA,GACA,KAAAoD,MAAA,KACA,KAAAnD,UAAA,KAAAtG,MACA,KAAAyG,MAAAkK,aAAAC,aACA,EACAF,SAAAA,GACA,gBAAAjK,MAAAoK,KAAAC,iBACA,KAAAzK,WAGA,KAAAV,WAEA,EACAQ,MAAAA,CAAAnG,GACA,KAAAyJ,MAAA,KACA,KAAA1L,MAAA,QAAAiC,EACA,EACAoG,OAAAA,CAAAqD,GACA,KAAAA,MAAAA,CACA,EACAsH,YAAAA,GACA,sBAAAtK,MAAAoK,KAAAC,iBACA,KAAArK,MAAAkK,aAGA,KAAAlK,MAAAuK,YAEA,EACA,mBAAAlJ,CAAAwB,GACA,UACA,KAAApE,YAAA,CAAA7F,GAAAiK,EAAA8F,WAAA1M,UAAA4G,EAAA5G,YACA,KAAAqO,eAAAjJ,cAAAwB,EACA,OAAAG,GACAzF,EAAAA,EAAA0F,UAAA,KAAAD,EACA,CACA,EACA/D,aAAAA,GACA,YAAAE,UAAA,YAAA6D,QACAzF,EAAAA,EAAA0F,UAAA,UAAAD,MAAA,0BACA,EAGA,ICjIqP,ICQrP,IAAI,GAAY,OACd,EACAvO,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAe,EAAiB,O,gDCnBhC,IAAI9B,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQ,MAAM,MAAQJ,EAAIkH,OAAOjG,GAAG,CAAC,OAAS,SAASkE,GAAQ,OAAOnF,EAAI4C,MAAM,SAAS,IAAI,CAAC3C,EAAG,MAAM,CAACG,MAAM,CAAC,IAAMJ,EAAI8V,IAAI,SAAW9V,EAAI+V,UAAU5U,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,gBAAgB2B,GAAG,WAAW,MAAO,CAACpB,EAAG,SAAS,CAACE,YAAY,aAAaC,MAAM,CAAC,MAAQJ,EAAI8V,IAAI1L,QAAQ,UAAW,EAAM,GAAK,iBAAiB,EAAE3I,OAAM,OAAWzB,EAAIgW,WAAY/V,EAAG,UAAU,CAACE,YAAY,wBAAwB,CAACF,EAAG,KAAK,CAACD,EAAI+C,GAAG,aAAa9C,EAAG,IAAI,CAACA,EAAG,KAAK,CAACD,EAAI+C,GAAG,sEAA0F,eAAnB/C,EAAIgW,WAA6B/V,EAAG,aAAa,CAACG,MAAM,CAAC,KAAOJ,EAAIqQ,QAAQlP,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,QAAQ2B,GAAG,WAAW,MAAO,CAACpB,EAAG,OAAO,CAACE,YAAY,WAAW,EAAEsB,OAAM,GAAM,CAAC/B,IAAI,kBAAkB2B,GAAG,SAAS8S,GAAG,MAAO,CAAClU,EAAG,kBAAkB,CAACE,YAAY,SAASC,MAAM,CAAC,UAAY+T,EAAE8B,WAAW,IAAI,MAAK,EAAM,cAAchW,EAAG,OAAO,CAACG,MAAM,CAAC,KAAOJ,EAAIqQ,QAAQlP,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,QAAQ2B,GAAG,WAAW,MAAO,CAACpB,EAAG,OAAO,CAACE,YAAY,WAAW,EAAEsB,OAAM,GAAM,CAAC/B,IAAI,WAAW2B,GAAG,SAAS8S,GAAG,MAAO,CAAClU,EAAG,kBAAkB,CAACE,YAAY,SAASC,MAAM,CAAC,UAAY+T,EAAE+B,UAAY/B,EAAEgC,QAAQ,IAAI,MAAK,EAAM,eAAe,GAAGnW,EAAIkD,MAAM,EACtuC,EACIrB,EAAkB,G,qBCFlB,EAAS,WAAkB,IAAI7B,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,UAAU,CAACE,YAAY,qBAAqB,CAACH,EAAIuB,GAAG,SAAQ,WAAW,MAAO,CAACtB,EAAG,IAAI,CAACE,YAAY,SAASC,MAAM,CAAC,KAAOJ,EAAI8V,IAAI5R,MAAMjE,EAAG,KAAK,CAACD,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAI8V,IAAI5O,OAASlH,EAAI8V,IAAI5R,OAAO,GAAE,KAAKlE,EAAIoW,QAAQnW,EAAG,UAAU,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACD,EAAI+C,GAAG,SAAS9C,EAAG,OAAO,CAACE,YAAY,SAAS,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAI8V,IAAI5R,SAASjE,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACD,EAAI+C,GAAG,gBAAgB9C,EAAG,OAAO,CAACE,YAAY,QAAQ+E,SAAS,CAAC,UAAYlF,EAAIgD,GAAGhD,EAAIqW,cAAerW,EAAW,QAAEC,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACD,EAAI+C,GAAG,cAAc9C,EAAG,OAAO,CAACE,YAAY,QAAQ+E,SAAS,CAAC,UAAYlF,EAAIgD,GAAGhD,EAAIsW,cAActW,EAAIkD,KAAMlD,EAAI8V,IAAU,OAAE7V,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACD,EAAI+C,GAAG,aAAa9C,EAAG,OAAO,CAACE,YAAY,eAAeC,MAAM,CAAC,aAAaJ,EAAI8V,IAAIS,SAAS,CAACvW,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAI8V,IAAIS,aAAavW,EAAIkD,KAAkC,kBAArBlD,EAAI8V,IAAIU,SAAuBvW,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACD,EAAI+C,GAAG,eAAe9C,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,MAAM,CAACE,YAAY,cAAcsE,MAAM,CAAC6J,QAAStO,EAAI8V,IAAIxH,QAAQ,CAACrO,EAAG,MAAM,CAACE,YAAY,YAAYsW,MAAO,UAAYzW,EAAIwW,UAAW,CAAExW,EAAI8V,IAAIU,SAAW,GAAIvW,EAAG,OAAO,CAACE,YAAY,UAAU,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAIwW,aAAaxW,EAAIkD,KAAKlD,EAAI+C,GAAG,QAAS/C,EAAI8V,IAAIU,UAAY,GAAIvW,EAAG,OAAO,CAACE,YAAY,UAAU,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAIwW,aAAaxW,EAAIkD,WAAWlD,EAAIkD,KAAMlD,EAAI8V,IAAa,UAAE7V,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACD,EAAI+C,GAAG,gCAAgC9C,EAAG,OAAO,CAACE,YAAY,cAAcC,MAAM,CAAC,aAAaJ,EAAI8V,IAAIY,YAAY,CAAC1W,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAI8V,IAAIY,gBAAgB1W,EAAIkD,OAAOlD,EAAIuB,GAAG,qBAAqB,KAAK,KAAKvB,EAAIoW,QAASpW,EAAI8V,IAAe,YAAE7V,EAAG,UAAU,CAACE,YAAY,eAAe,CAACF,EAAG,KAAK,CAACD,EAAI+C,GAAG,iBAAiB9C,EAAG,cAAc,CAACG,MAAM,CAAC,YAAcJ,EAAI8V,IAAIpF,eAAgB1Q,EAAI8V,IAAI,sBAAuB7V,EAAG,0BAA0B,CAACG,MAAM,CAAC,QAAUJ,EAAI8V,IAAI,sBAAsB,WAAa9V,EAAIxB,cAAcwB,EAAIkD,MAAM,GAAGlD,EAAIkD,KAAMlD,EAAY,SAAEC,EAAG,UAAU,CAACE,YAAY,SAAS,CAACF,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQJ,EAAI8V,IAAIxD,MAAM,QAAU,uBAAuB,WAAa,SAAS,GAAGtS,EAAIkD,KAAMlD,EAAI8V,IAAIa,MAAQ3W,EAAI4W,OAAS5W,EAAI6W,OAAQ5W,EAAG,UAAU,CAACE,YAAY,WAAW,CAACF,EAAG,KAAK,CAACD,EAAI+C,GAAG,aAAc/C,EAAI8V,IAAQ,KAAE7V,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACD,EAAI+C,GAAG,mBAAmB9C,EAAG,OAAO,CAACE,YAAY,SAAS,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAI8V,IAAIa,WAAW3W,EAAIkD,KAAMlD,EAAS,MAAEC,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACD,EAAI+C,GAAG,qBAAqB9C,EAAG,OAAO,CAACE,YAAY,SAAS,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAI4W,YAAY5W,EAAIkD,KAAMlD,EAAU,OAAEC,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQ,sDAAsD,CAACJ,EAAI+C,GAAG,mBAAmB9C,EAAG,OAAO,CAACE,YAAY,SAAS,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAI6W,aAAa7W,EAAIkD,OAAOlD,EAAIkD,KAAMlD,EAAmB,gBAAEC,EAAG,UAAU,CAACE,YAAY,SAAS,CAACF,EAAG,KAAK,CAACD,EAAI+C,GAAG,mBAAmB/C,EAAIqD,GAAIrD,EAAS,OAAE,SAAS8W,EAAOpX,GAAK,OAAOO,EAAG,MAAM,CAACP,IAAIA,EAAIS,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACE,YAAY,UAAU,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAI+W,GAAG,aAAP/W,CAAqBN,OAASO,EAAG,OAAO,CAACE,YAAY,SAAS,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAGhD,EAAI+W,GAAG,aAAP/W,CAAqB8W,EAAOjS,QAAQ,KAAK5E,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACH,EAAI+C,GAAG/C,EAAIgD,GAAG8T,EAAOE,YAAY,KAAI,GAAGhX,EAAIkD,KAAKjD,EAAG,UAAU,CAACE,YAAY,WAAW,CAACF,EAAG,KAAK,CAACD,EAAI+C,GAAG,aAAa9C,EAAG,UAAU,CAACE,YAAY,SAASC,MAAM,CAAC,QAAUJ,EAAI8V,IAAI1L,QAAQ,iBAAkB,EAAM,WAAY,GAAMjJ,YAAYnB,EAAIoB,GAAG,CAAC,CAAC1B,IAAI,gBAAgB2B,GAAG,SAAS8S,GAAG,MAAO,CAACnU,EAAIuB,GAAG,gBAAgB,KAAK,CAAC,MAAQ4S,IAAI,IAAI,MAAK,MAAS,GAAGnU,EAAIuB,GAAG,MAAM,KAAK,KAAKvB,EAAIoW,SAAS,EACrlH,EACI,EAAkB,G,iCCqGtB,SACCtU,KAAM,MACNI,OAAQ,CACPC,EAAA,EACA8U,EAAA,GAED7Y,WAAY,CACX8Y,YAAa,IAAM,yDACnBC,SAAU,IAAM,gCAChB3S,QAAS,IAAM,iCAEhBjG,MAAO,CACNuX,IAAK,CACJrX,KAAMC,OACNC,QAAS,KAAM,CAAG,IAEnBoX,SAAU,CACTtX,KAAM4D,OACN1D,QAAS,SAEPwD,EAAA,EAAgB5D,OAEpBY,SAAU,CACT,MAAA0X,GACC,OAAO,IAAMO,aAAa9X,KAAKwW,IAAIe,OAAQvX,KAAKyW,SAAU,qBAC3D,EACA,KAAAa,GACC,OAAO,IAAMS,eAAe/X,KAAKwW,IAAIc,MAAOtX,KAAKyW,SAClD,EACA,OAAAM,GACC,OAAO,IAAMiB,gBAAgBhY,KAAKwW,IAAIO,QAAS,MAChD,EACA,OAAAC,GACC,OAAO,IAAMgB,gBAAgBhY,KAAKwW,IAAIQ,QAAS,GAChD,EACA,QAAAE,GACC,MAAiC,kBAAtBlX,KAAKwW,IAAIU,SACZe,KAAKC,MAAwB,GAAlBlY,KAAKwW,IAAIU,UAAa,GAAK,IAGtC,IAET,EACA,KAAAjX,GACC,OAAOD,KAAKwW,IAAIvW,KACjB,EACA,QAAAkY,GACC,OAAO,IAAMpY,KAAKC,KAAKwW,IAAIxD,OAAS,CACrC,GAED,YAAA9P,GACC,IAAMC,gBAAgBnD,KACvB,GC3JoH,I,eCQjHuD,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,QAAeA,EAAiB,Q,eCchC,SACAf,KAAA,eACA1D,WAAA,CACA2D,WAAAA,IAAA,+FACA2V,OAAA,aACAC,KAAAA,IAAA,gCACAC,IAAA,EACAC,gBAAAA,IAAA,iLACAC,MAAAA,EAAAA,GAEA3Y,SAAA,IACA0J,EAAAA,EAAAE,WAAA,cACAiN,UAAAA,GACA,OAAAnN,EAAAA,EAAAoF,SAAA,KAAAoC,QACA,iBAAAA,OAAA5R,KACA,OAGA,aAGA,IACA,EACAyI,KAAAA,GACA,0BAAA4O,IAAA5O,OAAA,SAAA4O,IAAA5R,GACA,GAEA3F,MAAA,CACAuX,IAAA,CACArX,KAAAC,QAEA2R,OAAA,CACA5R,KAAAC,OACAC,QAAA,QClEoQ,ICQpQ,IAAI,GAAY,OACd,EACAoB,EACA8B,GACA,EACA,KACA,KACA,MAIF,QAAe,EAAiB,O,4DChBhC,MAAMkW,UAAoBC,EAAAA,YACzBC,WAAAA,CAAY7N,EAAS8N,GACpBC,MAAM/N,GACN9K,KAAK4Y,SAAWA,CACjB,CACA,aAAME,CAAQjK,SACP7O,KAAK4Y,SAASG,iBAAiBlK,EACtC,EAGc,MAAMmK,UAAiBC,EAAAA,aAErCN,WAAAA,CAAY7N,EAASoO,EAAUlF,GAC9B6E,MAAMtP,EAAAA,EAAMoF,SAAS7D,GAAWA,EAAU,CAAC,EAAGoO,GAC9ClZ,KAAKgU,WAAaA,EAClBhU,KAAKmZ,KAAO,GACZnZ,KAAKoZ,UAAY,EACjBpZ,KAAKqZ,aACLrZ,KAAKsZ,yBACN,CAIAC,0BAAAA,CAA2BzO,GAC1B,IAAI0O,EAAK,IAAIR,EAASlO,EAAS9K,KAAKyZ,gBAAiBzZ,KAAK0Z,0BAC1D,OAAO1Z,KAAK2Z,mCAAmCH,EAChD,CAEAG,kCAAAA,CAAmCH,GAGlC,OAFAA,EAAKX,MAAMc,mCAAmCH,GAC9CA,EAAGxF,WAAahU,KAAKgU,WACdwF,CACR,CAEAI,qBAAAA,CAAsB9O,GACrB,OAAO,IAAI2N,EAAY3N,EAAS9K,KACjC,CAEA6Z,SAAAA,CAAUC,GACT,OAAO9Z,KAAK+Z,cAAcC,SAASF,EAAQG,cAC5C,CAIAF,WAAAA,GACC,MAAO,EACR,CAEAG,OAAAA,GAAsB,CAEtBC,eAAAA,GAAmB,CAEnBC,kBAAAA,GAAsB,CAEtBC,sBAAAA,GAA0B,CAE1BC,eAAAA,GAAmB,CAEnBC,gBAAAA,GAAkC,CAElCC,wBAAAA,GAA4B,CAE5B,sBAAMzB,GAA4B,CAElC0B,sBAAAA,CAAuB7F,GACtB,OAAOA,EAAWT,KAAIU,GACI,qBAAdA,EAAExV,QACL,GAAGwV,EAAErS,UAAUxC,KAAK8Q,EAAE+D,EAAExV,WAGxBwV,EAAErS,MAGZ,CAEA,sBAAMkY,GAAsD,CAE5DC,cAAAA,GAA0C,CAE1CC,QAAAA,GACC,MAAO,MACR,CACAC,WAAAA,CAAYC,GACX,OAAOA,EAAM,OAAS,OACvB,CACAC,SAAAA,CAAUC,GACT,MAAO,IAAIA,EAAIC,KAAK,QACrB,CACAC,UAAAA,CAAWC,GACV,IAAIH,EAAMzR,EAAAA,EAAM6R,UAAUD,GAAK,CAACL,EAAK1a,IAAQ,GAAGJ,KAAKqb,WAAWjb,OAAS0a,MACzE,MAAO,IAAIE,EAAIC,KAAK,QACrB,CACAI,UAAAA,CAAWC,GACV,OAAO9L,KAAK+L,UAAUD,EACvB,CACAE,UAAAA,CAAWjb,GACV,OAAOA,CACR,CAIAuQ,CAAAA,CAAEvL,GACD,OAAc,OAAVA,EACIvF,KAAK4a,WAEa,mBAAVrV,EACRvF,KAAK6a,YAAYtV,GAEC,kBAAVA,EACRvF,KAAKwb,WAAWjW,GAEE,kBAAVA,EACRvF,KAAKqb,WAAW9V,GAEfzC,MAAMe,QAAQ0B,GACfvF,KAAK+a,UAAUxV,EAAM4O,KAAI2G,GAAO9a,KAAK8Q,EAAEgK,MAEtCvR,EAAAA,EAAMoF,SAASpJ,GAChBvF,KAAKkb,WAAW3R,EAAAA,EAAMkS,gBAAgBlW,GAAOuV,GAAO9a,KAAK8Q,EAAEgK,MAEzC,oBAAVvV,EACRA,IAGAvF,KAAK4a,UAEd,CAEAL,gBAAAA,GACC,IAAImB,GAAa,EACjB,IAAI,IAAItb,KAAOJ,KAAK8K,QAAS,CAC5B,GAAY,kBAAR1K,EACH,SAED,IAAI0a,EAAM9a,KAAK8K,QAAQ1K,GACnB0C,MAAMe,QAAQiX,IAAuB,IAAfA,EAAI1U,SAGN,kBAAR0U,GAAmC,IAAfA,EAAI1U,SAGhB,mBAAR0U,GAAsBA,KAGjCY,IACJ1b,KAAK2b,UACL3b,KAAKka,QAAQ,oCACbwB,GAAa,GAEd1b,KAAK4b,sBAAsBxb,EAAK0a,IACjC,CACD,CAEA,sBAAMe,CAAiBxY,EAAMyY,EAAYjM,GACxC,IAAIkM,EAAUjZ,MAAMe,QAAQR,GAAQ,GAAK,CAAC,EAC1C,IAAI,IAAIjD,KAAOiD,EAAM,CACpB,IAAIkC,EAAQlC,EAAKjD,GACjB,IAAIyP,IAAUA,EAAOzP,EAAKmF,GAG1B,GAAIgE,EAAAA,EAAMoF,SAASpJ,GAAQ,CAC1B,GAAIA,EAAMyW,UAAW,CACpBD,EAAQ3b,GAAO,IAAMJ,KAAKic,IAAI1W,EAAMyW,UAAWhc,KAAKkc,aACpD,QACD,CACK,GAAI3W,EAAM4W,eAAgB,CAC9BJ,EAAQ3b,GAAO,IAAMJ,KAAKic,IAAI1W,EAAM4W,gBACpC,QACD,CACK,GAAI5W,aAAiByT,EAAU,CACnC,IAAIoD,QAAeN,EAAW1b,GAC9B2b,EAAQ3b,GAAO,IAAMgc,EACrB,QACD,CAECL,EAAQ3b,SAAaJ,KAAK6b,iBAAiBtW,EAAOuW,EAAYjM,EAEhE,MACS/M,MAAMe,QAAQ0B,GACtBwW,EAAQ3b,SAAaJ,KAAK6b,iBAAiBtW,EAAOuW,EAAYjM,GAG9DkM,EAAQ3b,GAAOmF,CAEjB,CACA,OAAOwW,CACR,CAEA,qBAAMM,CAAgBxN,EAAMzO,GAC3B,IAAIyG,EACJ,GAAwB,oBAApBgI,EAAK8F,WAAkC,CAC1C,IAAIhC,EAAa9D,EAAKyN,YAAY,cAClCzV,EAAW8L,EAAWvS,EACvB,MAECyG,EAAWgI,EAAKyN,YAAYlc,GAE7B,IAAIwU,EAAa/N,EAAS0V,8BACpB1V,EAASiS,QAAQlE,GACvB,IAAIwH,EAASpc,KAAKic,IAAI,GAAG7b,IAAMJ,KAAKoZ,cAAe,OAC/CoD,QAAoBxc,KAAK0a,iBAAiB7T,EAAU+N,EAAYwH,GACpE,OAAOI,GAA4BJ,CACpC,CAEA,uBAAMK,CAAkB5N,EAAM6N,GAAU,EAAO7M,EAAS,MACvD,IAAIxM,QAAarD,KAAK6b,iBAAiBhN,EAAKkE,WAAW4J,eAAmB3c,KAAKqc,gBAAgBxN,EAAMzO,IAAMyP,GAI3G,OAHI6M,IACHrZ,EAAOrD,KAAK4c,eAAe/N,EAAMxL,IAE3BA,CACR,CAEAuZ,cAAAA,CAAe/N,EAAMxL,GACpB,IAAIyH,EAAU+D,EAAKgO,kBAAkBC,WAAWjO,GAChD,GAAI/D,GAAWhI,MAAMe,QAAQiH,EAAQ8J,YAAa,CACjD,IAAImI,EAAcjS,EAAQ8J,WAAWT,KAAInG,GACR,qBAArB3K,EAAK2K,EAAMxL,MACda,EAAK2K,EAAMxL,MAETwL,EAAMyD,cAIf,EAHO,OAMLuL,GAAoB,EACxB,IAAI,IAAIC,EAAIF,EAAY3W,OAAO,EAAG6W,GAAK,EAAGA,IACX,qBAAnBF,EAAYE,GAClBD,EACHD,EAAYE,GAAK,KAGjBF,EAAYG,MAIbF,GAAoB,EAGtB,OAAOD,CACR,CACD,CAEAb,SAAAA,GACC,OAAKlc,KAAKmd,YAIF,OAHA,UAKT,CAEAlB,IAAIrX,EAAIwY,EAAS,OAEhB,OADAxY,EAAK7B,OAAO6B,GACR5E,KAAK6Z,UAAUjV,GACX,GAAGA,KAENA,EAAGyY,MAAM,eAINzY,EAHAwY,EAASxY,EAAG8Q,QAAQ,UAAW,IAKxC,CAEA4H,MAAAA,GACC,MAAO,IACR,CAEAC,OAAAA,CAAQpE,EAAMiE,EAAS,GAAII,EAAQ,GAClC,GAAoB,kBAATrE,EACV,OAED,IAAI/C,EAAOpW,KAAKsd,SAASG,OAAOD,GAC5BE,EAAQvE,EAAKwE,OAAOC,MAAM,eAC9B,IAAI,IAAIC,KAAQH,EACf1d,KAAKmZ,KAAK3U,KAAK,GAAG4R,IAAOgH,IAASS,MAEpC,CAEAlC,OAAAA,CAAQmC,EAAQ,GACf,IAAI,IAAIb,EAAI,EAAGA,EAAIa,EAAOb,IACzBjd,KAAKud,QAAQ,GAEf,CAEAQ,YAAAA,GACC,OAAO/d,KAAKgU,WAAWgK,QACxB,CAEA,YAAMC,CAAOpX,GAAW,GACvB7G,KAAKmZ,KAAO,GACPtS,IACJ7G,KAAKka,QAAQ,4BACbla,KAAKma,kBACLna,KAAK2b,UACL3b,KAAKka,QAAQ,2BACbla,KAAKoa,qBACLpa,KAAKqa,yBACLra,KAAK2b,UACL3b,KAAKsa,kBACLta,KAAKua,mBACLva,KAAK2b,WAEN,IAAIuC,EAASle,KAAKme,uBAClB,GAAID,EAAO9X,OAAS,EAAG,CACtBpG,KAAKka,QAAQ,wDACb,IAAI,IAAIlM,KAASkQ,EAChBle,KAAKwa,yBAAyBxM,GAE/BhO,KAAK2b,SACN,CAOA,aANM3b,KAAK8Y,UACNjS,IACJ7G,KAAK2b,UACL3b,KAAKka,QAAQ,8FAEdla,KAAK2a,eAAe3a,KAAKoe,gBAAiBvX,GACnC7G,KAAKmZ,KAAK8B,KAAK,IAAI0C,MAC3B,CAEA,aAAM7E,GAIL,aAHM9Y,KAAKqe,WACXre,KAAKse,cACCte,KAAKue,aAAave,KAAKwe,iBACtBxe,KAAKoe,eACb,CAEAxR,MAAAA,GAKC,MAJ4B,qBAAjB5M,KAAKye,UAEfze,KAAKye,QAAUze,KAAKyZ,gBAAgB7M,OAAO5M,OAErCA,KAAKye,OACb,E,uEC9UD,MAAMC,EAAW,CAChB,WACA,YACA,QACA,UACA,QACA,OACA,OACA,QACA,OACA,QACA,QACA,WACA,WACA,UACA,SACA,KACA,SACA,OACA,OACA,OACA,SACA,UACA,QACA,QACA,UACA,QACA,MACA,WACA,OACA,KACA,aACA,SACA,KACA,aACA,MACA,YACA,MACA,OACA,SACA,MACA,OACA,UACA,UACA,YACA,SACA,SACA,QACA,SACA,QACA,SACA,eACA,OACA,QACA,SACA,YACA,OACA,MACA,SACA,MACA,OACA,WACA,QACA,OACA,QAEA,UACA,aACA,UACA,SACA,UAGc,MAAM3K,UAAmBiF,EAAAA,EAEvCL,WAAAA,CAAY7N,EAASoO,EAAUlF,EAAY2K,GAAkB,GAC5D9F,MAAM/N,EAASoO,EAAUlF,GACzBhU,KAAK2e,gBAAkBA,CACxB,CAEApF,0BAAAA,CAA2BzO,GAC1B,IAAI0O,EAAK,IAAIzF,EAAWjJ,EAAS9K,KAAKyZ,gBAAiBzZ,KAAK0Z,yBAA0B1Z,KAAK2e,iBAC3F,OAAO3e,KAAK2Z,mCAAmCH,EAChD,CAEA/J,KAAAA,GACKzP,KAAK4e,QAGT/F,MAAMpJ,OACP,CAEAsK,WAAAA,GACC,OAAO2E,CACR,CAEAxE,OAAAA,CAAQA,GACPla,KAAKud,QAAQrD,EAAS,MACvB,CAEAC,eAAAA,GACCna,KAAKud,QAAQ,uDACd,CAEAnD,kBAAAA,GACCpa,KAAKud,QAAQ,0CAA0Cvd,KAAK+d,oBAC7D,CAEA1D,sBAAAA,GACCra,KAAKka,QAAQ,uDACd,CAEAI,eAAAA,GACCta,KAAKud,QAAQ,iDACd,CAEA3B,qBAAAA,CAAsBxb,EAAKmF,GAC1BvF,KAAKud,QAAQ,WAAWnd,OAASJ,KAAK8Q,EAAEvL,MACzC,CAEA,sBAAMwT,CAAiBlK,GACtB,IAAIgQ,EAAchQ,EAAKsO,YAAc,OAAS,UAC1C2B,EAAW9e,KAAKic,IAAIpN,EAAKjK,GAAI5E,KAAKkc,aAClC7Y,QAAarD,KAAKyc,kBAAkB5N,GAAOA,EAAK5G,WAGpD,GADAjI,KAAKka,QAAQrL,EAAKuC,aACd7H,EAAAA,EAAMoF,SAAStL,GAAO,CACzB,IAAI0b,EAAYlQ,EAAK5G,UAAY,GAAG4G,EAAK8F,cAAc9F,EAAK5G,YAAc4G,EAAK8F,WAC/E3U,KAAKud,QAAQ,OAAOuB,OAAcD,cAAwBE,OAAe/e,KAAK8Q,EAAEzN,OACjF,MAECrD,KAAKud,QAAQ,OAAOuB,OAAcD,KAAehQ,EAAK8F,cAActR,EAAK8Q,KAAI6K,GAAOhf,KAAK8Q,EAAEkO,KAAM/D,KAAK,UAExG,CAEAT,wBAAAA,CAAyB5G,GACxB5T,KAAKka,QAAQtG,EAAUxC,aACvB,IAAI6N,EAAYjf,KAAKic,IAAIrI,EAAUpR,KAAM,SACrC+C,EAAqC,qBAAtBqO,EAAUvU,QAA0BuU,EAAUvU,QAAU,KAC3EW,KAAKud,QAAQ,OAAO0B,OAAejf,KAAK8Q,EAAEvL,MAC3C,CAEA,sBAAMmV,CAAiB7T,EAAU+N,EAAYkK,GAC5C,GAAI9e,KAAK2e,iBAAmB9X,GAAYA,EAAS+F,SAAU,CAC1D,IAAI6B,EAAU5H,EAASqY,kBACnBC,EAAU3P,KAAK+L,UAAU9M,GAC7B,MAAO,eAAe0Q,IACvB,CACK,CACJ,IAAIjB,EAASle,KAAKya,uBAAuB7F,GACzC5U,KAAK2b,UACL3b,KAAKud,QAAQ,OAAOuB,gBAAuBZ,EAAOjD,KAAK,YACvDjb,KAAKud,cAAc1W,EAASoX,QAAO,GAAO,GAAI,GAC9Cje,KAAKud,QAAQ,IACd,CACD,CAEA5C,cAAAA,CAAeyE,EAAYvY,GAC1B,IAAKuY,EACJ,OAED,IAAIN,EAAW9e,KAAKic,IAAImD,EAAWxa,GAAI5E,KAAKkc,aACxCrV,EACH7G,KAAKud,QAAQ,UAAUuB,MAGvB9e,KAAKud,QAAQ,+CAA+CuB,MAE9D,CAEAI,eAAAA,GACC,OAAIlf,KAAK4M,SACD5M,KAAKqf,cAAcrf,KAAKoe,iBAGxB,EAET,CAEAkB,0BAAAA,CAA2BzQ,GAC1B,GAAwB,kBAApBA,EAAK8F,YAC6B,cAAjC9F,EAAK0Q,gBAAgB,QAAyB,CACjD,IAAI3L,EAAY/E,EAAK2Q,eAAe,QAAQrD,eACxCjM,EAAQlQ,KAAKuc,wBAAwBkD,WAAUzR,GAASA,EAAMxL,OAASoR,IAC3E,GAAI1D,GAAS,EACZ,MAAO,IAAIuN,OAAOvN,EAAM,IAAMrB,EAAKyN,YAAY,UAAYzN,EAAKyN,YAAY,SAE9E,CAED,OAAO,IACR,CAEA+C,aAAAA,CAAcxQ,EAAM6Q,EAAiB,MACpC,GAAwB,kBAApB7Q,EAAK8F,WAAgC,CACxC,IAAIgL,EAAe3f,KAAKsf,2BAA2BzQ,GACnD,GAAI8Q,EACH,OAAOA,CAET,CAEA,IAAIC,EAAWC,EAAAA,QAAQC,uBAAuBjR,EAAK8F,YAC/C7J,EAAU9K,KAAKyZ,gBAAgB7P,IAAIiF,EAAK8F,YACxCoL,EAAwE,qBAAlDF,EAAAA,QAAQG,qBAAqBnR,EAAK8F,YAExDsL,EAAe1a,IAClB,GAAIgE,EAAAA,EAAMoF,SAASpJ,GAClB,GAAIA,EAAMyW,UAAW,CACpB,IAAIkE,EAAUrR,EAAKgO,kBAAkBsD,QAAQ5a,EAAMyW,WAElDzW,EADG2a,EACKlgB,KAAKqf,cAAca,EAASN,GAG5B,IAAMra,EAAMyW,SAEtB,KACK,KAAIzW,EAAM4W,eAId,MAAM,IAAIiE,MAAM,uBAHhB7a,EAAQA,EAAM4W,cAIf,CAED,OAAO5W,CAAK,EAIT8a,EAAU,GACVnC,EAASpb,MAAMe,QAAQiH,EAAQ8J,YAAc9J,EAAQ8J,WAAa,GACtE,IAAI,IAAIhB,KAAasK,EAAQ,CAC5B,IAAI3Y,EAAQ0a,EAAapR,EAAK2Q,eAAe5L,EAAUpR,OAEvD,GAAIud,GAAejd,MAAMe,QAAQ0B,IAA6B,SAAnBqO,EAAUpR,KAAiB,CACrE6d,EAAU9a,EAAM4O,KAAImM,GAAKL,EAAaK,KACtC,KACD,CACK,GAAoB,qBAAV/a,EACd8a,EAAQ7b,KAAKe,OAET,IAAgC,qBAAtBqO,EAAUvU,QAIxB,MAAM,IAAI+gB,MAAM,2BAA6BxM,EAAUpR,KAAO,aAH9D6d,EAAQ7b,KAAKoP,EAAUvU,QAIxB,CACD,CAOA,GAJI0gB,IACHM,EAAUA,EAAQxQ,QAAOyQ,GAAW,OAANA,KAG3BV,EAAU,CACb,IAAIW,EAAY,CAAC,IAAK,KAClBC,EAAU,CAAC,IAAK,KAChB/R,EAAU4R,EACZlM,KAAImM,GAAKA,EAAI,EAAI,IAAMA,EAAI,IAAMA,IACjCrF,KAAK2E,GAGP,OAEEF,GAEGc,EAAQxG,SAAS0F,IAAmBc,EAAQxG,SAAS4F,IAIzC,MAAbA,GAECY,EAAQxG,SAAS0F,IAAmBa,EAAUvG,SAAS4F,GAEpDnR,EAGA,IAAMA,EAAU,GAEzB,CAEC,OAAOI,EAAK8F,WAAa,IAAM0L,EAAQpF,KAAK,MAAQ,GAEtD,E","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/UsageMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/components/modals/JobInfoModal.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Job.vue?e994","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Job.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Job.vue?3a6c","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Job.vue","webpack://@openeo/web-editor/src/components/modals/JobInfoModal.vue","webpack://@openeo/web-editor/./src/components/modals/JobInfoModal.vue?e17e","webpack://@openeo/web-editor/./src/components/modals/JobInfoModal.vue?a253","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","import Utils from '../../utils';\n\nconst usageLabels = {\n\tcpu: \"CPU usage\",\n\tmemory: \"Memory usage\",\n\tduration: \"Wall time\",\n\tnetwork: \"Network Transfer IO\",\n\tdisk: \"Storage IO\",\n\tstorage: \"Storage space\"\n};\n\nexport default {\n\tcomputed: {\n\t\thasUsageMetrics() {\n\t\t\treturn Utils.size(this.usage) > 0;\n\t\t}\n\t},\n\tfilters: {\n\t\tusageLabel(key) {\n\t\t\tif (usageLabels[key]) {\n\t\t\t\treturn usageLabels[key];\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn Utils.prettifyString(key);\n\t\t\t}\n\t\t},\n\t\tusageValue(num) {\n\t\t\tif (typeof num === 'number') {\n\t\t\t\treturn num.toLocaleString();\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Modal',{attrs:{\"width\":\"80%\",\"title\":_vm.title},on:{\"closed\":function($event){return _vm.$emit('closed')}}},[_c('Job',{attrs:{\"job\":_vm.job,\"currency\":_vm.currency},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(){return [_c('Editor',{staticClass:\"infoViewer\",attrs:{\"value\":_vm.job.process,\"editable\":false,\"id\":\"jobPgViewer\"}})]},proxy:true}])}),(_vm.resultType)?_c('section',{staticClass:\"vue-component result\"},[_c('h3',[_vm._v(\"Results\")]),_c('p',[_c('em',[_vm._v(\"Below the metadata for the results of the batch job are shown.\")])]),(_vm.resultType === 'Collection')?_c('Collection',{attrs:{\"data\":_vm.result},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"spatial-extents\",fn:function(p){return [_c('MapExtentViewer',{staticClass:\"jobMap\",attrs:{\"footprint\":p.extents}})]}}],null,false,1357273968)}):_c('Item',{attrs:{\"data\":_vm.result},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"location\",fn:function(p){return [_c('MapExtentViewer',{staticClass:\"jobMap\",attrs:{\"footprint\":p.geometry || p.bbox}})]}}],null,false,2460418625)})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('article',{staticClass:\"vue-component job\"},[_vm._t(\"title\",function(){return [_c('a',{staticClass:\"anchor\",attrs:{\"name\":_vm.job.id}}),_c('h2',[_vm._v(_vm._s(_vm.job.title || _vm.job.id))])]},null,_vm.$props),_c('section',{staticClass:\"progress\"},[_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"ID:\")]),_c('code',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.job.id))])]),_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Submitted:\")]),_c('span',{staticClass:\"value\",domProps:{\"innerHTML\":_vm._s(_vm.created)}})]),(_vm.updated)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Updated:\")]),_c('span',{staticClass:\"value\",domProps:{\"innerHTML\":_vm._s(_vm.updated)}})]):_vm._e(),(_vm.job.status)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Status:\")]),_c('span',{staticClass:\"value status\",attrs:{\"data-value\":_vm.job.status}},[_vm._v(_vm._s(_vm.job.status))])]):_vm._e(),(typeof _vm.job.progress === 'number')?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Progress:\")]),_c('div',{staticClass:\"value\"},[_c('div',{staticClass:\"progressBar\",class:{error: !!_vm.job.error}},[_c('div',{staticClass:\"completed\",style:('width: ' + _vm.progress)},[(_vm.job.progress > 50)?_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.progress))]):_vm._e(),_vm._v(\"  \")]),(_vm.job.progress <= 50)?_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.progress))]):_vm._e()])])]):_vm._e(),(_vm.job.log_level)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Minimum severity for logs:\")]),_c('span',{staticClass:\"value level\",attrs:{\"data-value\":_vm.job.log_level}},[_vm._v(_vm._s(_vm.job.log_level))])]):_vm._e()]),_vm._t(\"before-description\",null,null,_vm.$props),(_vm.job.description)?_c('summary',{staticClass:\"description\"},[_c('h3',[_vm._v(\"Description\")]),_c('Description',{attrs:{\"description\":_vm.job.description}}),(_vm.job['federation:missing'])?_c('FederationMissingNotice',{attrs:{\"missing\":_vm.job['federation:missing'],\"federation\":_vm.federation}}):_vm._e()],1):_vm._e(),(_vm.hasLinks)?_c('section',{staticClass:\"links\"},[_c('LinkList',{attrs:{\"links\":_vm.job.links,\"heading\":\"Additional Resources\",\"headingTag\":\"h3\"}})],1):_vm._e(),(_vm.job.plan || _vm.costs || _vm.budget)?_c('section',{staticClass:\"billing\"},[_c('h3',[_vm._v(\"Billing\")]),(_vm.job.plan)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Billing plan:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.job.plan))])]):_vm._e(),(_vm.costs)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Incurred Costs:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.costs))])]):_vm._e(),(_vm.budget)?_c('div',{staticClass:\"tabular\"},[_c('label',{attrs:{\"title\":\"The allowed maximum costs, specified by the user.\"}},[_vm._v(\"Budget limit:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.budget))])]):_vm._e()]):_vm._e(),(_vm.hasUsageMetrics)?_c('section',{staticClass:\"usage\"},[_c('h3',[_vm._v(\"Usage Metrics\")]),_vm._l((_vm.usage),function(metric,key){return _c('div',{key:key,staticClass:\"tabular\"},[_c('label',{staticClass:\"metric\"},[_vm._v(_vm._s(_vm._f(\"usageLabel\")(key)))]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm._f(\"usageValue\")(metric.value))+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(_vm._s(metric.unit))])])])})],2):_vm._e(),_c('section',{staticClass:\"process\"},[_c('h3',[_vm._v(\"Process\")]),_c('Process',{staticClass:\"inline\",attrs:{\"process\":_vm.job.process,\"provideDownload\":false,\"showGraph\":true},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(p){return [_vm._t(\"process-graph\",null,{\"vBind\":p})]}}],null,true)})],1),_vm._t(\"end\",null,null,_vm.$props)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Job.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Job.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Job.vue?vue&type=template&id=46e64ee8\"\nimport script from \"./Job.vue?vue&type=script&lang=js\"\nexport * from \"./Job.vue?vue&type=script&lang=js\"\nimport style0 from \"./Job.vue?vue&type=style&index=0&id=46e64ee8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./JobInfoModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./JobInfoModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./JobInfoModal.vue?vue&type=template&id=370fa5d6\"\nimport script from \"./JobInfoModal.vue?vue&type=script&lang=js\"\nexport * from \"./JobInfoModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./JobInfoModal.vue?vue&type=style&index=0&id=370fa5d6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","usageLabels","cpu","memory","duration","network","disk","storage","computed","hasUsageMetrics","size","this","usage","filters","usageLabel","key","prettifyString","usageValue","num","toLocaleString","render","_vm","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","typesToShow","types","push","data","format","assign","id","processes","showCategories","provideDownload","processUrl","showGraph","Process","class","compact","directives","rawName","value","expression","placeholder","minLength","searchHint","domProps","$event","target","composing","Number","watch","newValue","oldValue","length","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","title","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","namespace","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","process","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","click","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","param","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","ModelBuilder","DiscoveryToolbar","FullscreenButton","formula","initialNode","isObject","process_graph","node","keys","openArgumentEditorForNode","error","exception","setInitialNode","mounted","navigator","clipboard","readText","text","JSON","parse","import","message","edges","filter","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","description","label","schema","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","returns","fields","categories","experimental","deprecated","info","exceptions","additionalProperties","properties","http","enum","examples","arguments","links","href","rel","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","parameters","p","ProcessParameter","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","replace","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","job","currency","resultType","extents","geometry","bbox","$props","created","updated","status","progress","style","log_level","plan","costs","budget","metric","_f","unit","UsageMixin","Description","LinkList","formatBudget","formatCurrency","formatTimestamp","Math","round","hasLinks","Editor","Item","Job","MapExtentViewer","Modal","ProcessImpl","BaseProcess","constructor","exporter","super","execute","generateFunction","Exporter","ProcessGraph","registry","code","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","includes","toLowerCase","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","join","makeObject","obj","mapObject","makeString","str","stringify","makeNumber","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","from_node","var","varPrefix","from_parameter","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","async","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","i","pop","getParent","prefix","match","getTab","addCode","level","repeat","lines","trim","split","line","count","getServerUrl","getUrl","toCode","params","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","processId","arg","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","Error","argList","v","strongOps","weakOps"],"sourceRoot":""} \ No newline at end of file diff --git a/js/3592.c0f60bc4.js b/js/3592.2cfdaec3.js similarity index 98% rename from js/3592.c0f60bc4.js rename to js/3592.2cfdaec3.js index a0c8b47e..0c7041f5 100644 --- a/js/3592.c0f60bc4.js +++ b/js/3592.2cfdaec3.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[3592],{51001:(e,t,s)=>{s.r(t),s.d(t,{default:()=>u});var o=function(){var e=this,t=e._self._c;return e.content?t("Splitpanes",{staticClass:"default-theme",attrs:{horizontal:""}},[t("Pane",{attrs:{id:"table"}},[e.content?t("div",{staticClass:"tableViewer"},[t("table",[t("thead",[t("tr",e._l(e.header,(function(s,o){return t("th",{key:o},[0!==o?t("input",{directives:[{name:"model",rawName:"v-model",value:e.showCols,expression:"showCols"}],attrs:{type:"checkbox",title:"Add column to diagram"},domProps:{value:o,checked:Array.isArray(e.showCols)?e._i(e.showCols,o)>-1:e.showCols},on:{change:function(t){var s=e.showCols,a=t.target,r=!!a.checked;if(Array.isArray(s)){var n=o,h=e._i(s,n);a.checked?h<0&&(e.showCols=s.concat([n])):h>-1&&(e.showCols=s.slice(0,h).concat(s.slice(h+1)))}else e.showCols=r}}}):e._e(),t("br"),e._v(" "+e._s(s)+" ")])})),0)]),t("tbody",e._l(e.content,(function(s,o){return t("tr",{key:o},e._l(s,(function(s,a){return t(0===a?"th":"td",{key:a,tag:"component",class:typeof s},[0===a?t("input",{directives:[{name:"model",rawName:"v-model",value:e.showRows,expression:"showRows"}],attrs:{type:"checkbox",title:"Add row to diagram"},domProps:{value:o,checked:Array.isArray(e.showRows)?e._i(e.showRows,o)>-1:e.showRows},on:{change:function(t){var s=e.showRows,a=t.target,r=!!a.checked;if(Array.isArray(s)){var n=o,h=e._i(s,n);a.checked?h<0&&(e.showRows=s.concat([n])):h>-1&&(e.showRows=s.slice(0,h).concat(s.slice(h+1)))}else e.showRows=r}}}):e._e(),e._v(" "+e._s(e._f("locale")(s))+" ")])})),1)})),0)])]):t("em",[e._v("No data retrieved.")])]),e.chart?t("Pane",{attrs:{id:"chart",size:50}},[t("ScatterChart",e._b({},"ScatterChart",e.chart,!1))],1):e._e()],1):e._e()},a=[],r=(s(17642),s(58004),s(33853),s(45876),s(32475),s(15024),s(31698),s(44304)),n=s(38363),h=s(40772),i=s(75024);const l={name:"TableViewer",components:{Pane:r.Z,ScatterChart:n.A,Splitpanes:r.S},props:{data:{type:Object,required:!0}},data(){return{header:null,content:null,showRows:[],showCols:[]}},filters:{locale(e){return"number"===typeof e?e.toLocaleString():e}},computed:{chart(){if(0===this.showCols.length&&0===this.showRows.length)return null;if(this.showCols.length>0&&this.showRows.length>0)return{error:"You can only add either rows or columns to the diagram. Please unselect either all rows or all columns."};let e,t;return this.showCols.length>0?(e=this.content.map((e=>e[0])),t=this.showCols.map((e=>({label:this.header[e],data:this.content.map((t=>t[e]))})))):(e=this.header.slice(1),t=this.showRows.map((e=>({label:this.content[e][0],data:this.content[e].slice(1)})))),{labels:e,datasets:t}}},async created(){if(this.data instanceof h.A){let e=this.data.getData();Array.isArray(e)&&e.length>0&&(this.header=e.shift(),this.content=e,this.content.every((e=>!e||"number"===typeof e))||(this.header.unshift("Row"),this.content.forEach(((e,t)=>e.unshift(String(t+1))))))}else if(this.data instanceof i.A){let e=this.data.getData(),t=Object.keys(e),s=Object.values(e),o=new Set;s.forEach((e=>Object.keys(e).forEach((e=>o.add(e))))),this.header=Array.from(o),this.content=s.map((e=>this.header.map((t=>Array.isArray(e[t])&&1===e[t].length?e[t][0]:e[t])))),this.header.unshift(""),this.content.forEach(((e,s)=>e.unshift(t[s])))}else Utils.error(this,"The format is not supported to be shown in a table.")},mounted(){this.$emit("mounted",this)}},c=l;var d=s(81656),w=(0,d.A)(c,o,a,!1,null,null,null);const u=w.exports}}]); -//# sourceMappingURL=3592.c0f60bc4.js.map \ No newline at end of file +//# sourceMappingURL=3592.2cfdaec3.js.map \ No newline at end of file diff --git a/js/3592.c0f60bc4.js.map b/js/3592.2cfdaec3.js.map similarity index 99% rename from js/3592.c0f60bc4.js.map rename to js/3592.2cfdaec3.js.map index 7b5101bf..5ef8a8b8 100644 --- a/js/3592.c0f60bc4.js.map +++ b/js/3592.2cfdaec3.js.map @@ -1 +1 @@ -{"version":3,"file":"js/3592.c0f60bc4.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/viewer/TableViewer.vue","webpack://@openeo/web-editor/src/components/viewer/TableViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/TableViewer.vue?9583","webpack://@openeo/web-editor/./src/components/viewer/TableViewer.vue?e58d"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.content)?_c('Splitpanes',{staticClass:\"default-theme\",attrs:{\"horizontal\":\"\"}},[_c('Pane',{attrs:{\"id\":\"table\"}},[(_vm.content)?_c('div',{staticClass:\"tableViewer\"},[_c('table',[_c('thead',[_c('tr',_vm._l((_vm.header),function(label,col){return _c('th',{key:col},[(col !== 0)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showCols),expression:\"showCols\"}],attrs:{\"type\":\"checkbox\",\"title\":\"Add column to diagram\"},domProps:{\"value\":col,\"checked\":Array.isArray(_vm.showCols)?_vm._i(_vm.showCols,col)>-1:(_vm.showCols)},on:{\"change\":function($event){var $$a=_vm.showCols,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=col,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showCols=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showCols=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showCols=$$c}}}}):_vm._e(),_c('br'),_vm._v(\" \"+_vm._s(label)+\" \")])}),0)]),_c('tbody',_vm._l((_vm.content),function(cols,row){return _c('tr',{key:row},_vm._l((cols),function(value,col){return _c(col === 0 ? 'th': 'td',{key:col,tag:\"component\",class:(typeof value)},[(col === 0)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showRows),expression:\"showRows\"}],attrs:{\"type\":\"checkbox\",\"title\":\"Add row to diagram\"},domProps:{\"value\":row,\"checked\":Array.isArray(_vm.showRows)?_vm._i(_vm.showRows,row)>-1:(_vm.showRows)},on:{\"change\":function($event){var $$a=_vm.showRows,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=row,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showRows=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showRows=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showRows=$$c}}}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm._f(\"locale\")(value))+\" \")])}),1)}),0)])]):_c('em',[_vm._v(\"No data retrieved.\")])]),(_vm.chart)?_c('Pane',{attrs:{\"id\":\"chart\",\"size\":50}},[_c('ScatterChart',_vm._b({},'ScatterChart',_vm.chart,false))],1):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TableViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TableViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TableViewer.vue?vue&type=template&id=4494a226\"\nimport script from \"./TableViewer.vue?vue&type=script&lang=js\"\nexport * from \"./TableViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./TableViewer.vue?vue&type=style&index=0&id=4494a226&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","content","staticClass","attrs","_l","header","label","col","key","directives","name","rawName","value","showCols","expression","domProps","Array","isArray","_i","on","$event","$$a","$$el","target","$$c","checked","$$v","$$i","concat","slice","_e","_v","_s","cols","row","tag","class","showRows","_f","chart","_b","staticRenderFns","components","Pane","ScatterChart","Splitpanes","props","data","type","Object","required","filters","locale","toLocaleString","computed","length","error","labels","datasets","map","rows","created","CSV","array","getData","shift","every","x","unshift","forEach","arr","i","String","JSON_","keys","values","headers","Set","add","from","Utils","mounted","$emit","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/3592.2cfdaec3.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/viewer/TableViewer.vue","webpack://@openeo/web-editor/src/components/viewer/TableViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/TableViewer.vue?9583","webpack://@openeo/web-editor/./src/components/viewer/TableViewer.vue?e58d"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.content)?_c('Splitpanes',{staticClass:\"default-theme\",attrs:{\"horizontal\":\"\"}},[_c('Pane',{attrs:{\"id\":\"table\"}},[(_vm.content)?_c('div',{staticClass:\"tableViewer\"},[_c('table',[_c('thead',[_c('tr',_vm._l((_vm.header),function(label,col){return _c('th',{key:col},[(col !== 0)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showCols),expression:\"showCols\"}],attrs:{\"type\":\"checkbox\",\"title\":\"Add column to diagram\"},domProps:{\"value\":col,\"checked\":Array.isArray(_vm.showCols)?_vm._i(_vm.showCols,col)>-1:(_vm.showCols)},on:{\"change\":function($event){var $$a=_vm.showCols,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=col,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showCols=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showCols=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showCols=$$c}}}}):_vm._e(),_c('br'),_vm._v(\" \"+_vm._s(label)+\" \")])}),0)]),_c('tbody',_vm._l((_vm.content),function(cols,row){return _c('tr',{key:row},_vm._l((cols),function(value,col){return _c(col === 0 ? 'th': 'td',{key:col,tag:\"component\",class:(typeof value)},[(col === 0)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showRows),expression:\"showRows\"}],attrs:{\"type\":\"checkbox\",\"title\":\"Add row to diagram\"},domProps:{\"value\":row,\"checked\":Array.isArray(_vm.showRows)?_vm._i(_vm.showRows,row)>-1:(_vm.showRows)},on:{\"change\":function($event){var $$a=_vm.showRows,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=row,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showRows=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showRows=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showRows=$$c}}}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm._f(\"locale\")(value))+\" \")])}),1)}),0)])]):_c('em',[_vm._v(\"No data retrieved.\")])]),(_vm.chart)?_c('Pane',{attrs:{\"id\":\"chart\",\"size\":50}},[_c('ScatterChart',_vm._b({},'ScatterChart',_vm.chart,false))],1):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TableViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TableViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TableViewer.vue?vue&type=template&id=4494a226\"\nimport script from \"./TableViewer.vue?vue&type=script&lang=js\"\nexport * from \"./TableViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./TableViewer.vue?vue&type=style&index=0&id=4494a226&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","content","staticClass","attrs","_l","header","label","col","key","directives","name","rawName","value","showCols","expression","domProps","Array","isArray","_i","on","$event","$$a","$$el","target","$$c","checked","$$v","$$i","concat","slice","_e","_v","_s","cols","row","tag","class","showRows","_f","chart","_b","staticRenderFns","components","Pane","ScatterChart","Splitpanes","props","data","type","Object","required","filters","locale","toLocaleString","computed","length","error","labels","datasets","map","rows","created","CSV","array","getData","shift","every","x","unshift","forEach","arr","i","String","JSON_","keys","values","headers","Set","add","from","Utils","mounted","$emit","component"],"sourceRoot":""} \ No newline at end of file diff --git a/js/4285.89373946.js b/js/4285.54ff3b9e.js similarity index 98% rename from js/4285.89373946.js rename to js/4285.54ff3b9e.js index 37f66fec..e5719c91 100644 --- a/js/4285.89373946.js +++ b/js/4285.54ff3b9e.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[4285],{94285:(e,t,i)=>{i.r(t),i.d(t,{default:()=>c});var a=function(){var e=this,t=e._self._c;return t("div",{ref:"imageViewer",staticClass:"imageViewer",class:{fullscreen:e.fullScreen}},[e.error?[e._v(e._s(e.error))]:[t("div",{staticClass:"toolbar"},[e.play?e._e():t("span",{staticClass:"value",attrs:{title:e.valueTitle}},[e._v(e._s(e.valueText))]),t("FullscreenButton",{staticClass:"fullscreen-button",attrs:{element:()=>e.$refs.imageViewer},on:{changed:e.fullscreenToggled}}),t("button",{staticClass:"play-button",attrs:{title:"Play animation (if available)"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),e.togglePlay.apply(null,arguments)}}},[e.play?t("i",{staticClass:"fas fa-stop"}):t("i",{staticClass:"fas fa-play"})])],1),t("div",{directives:[{name:"show",rawName:"v-show",value:!e.context,expression:"!context"}],staticClass:"no-data"},[t("i",{staticClass:"fas fa-spinner fa-spin"}),e._v(" Loading image...")]),t("canvas",{directives:[{name:"show",rawName:"v-show",value:e.context&&!e.play,expression:"context && !play"}],ref:"canvas",style:e.style,attrs:{title:e.title},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),e.resize.apply(null,arguments)},mousemove:e.getPixelValue,mouseout:e.resetPixelValue}}),t("iframe",{directives:[{name:"show",rawName:"v-show",value:e.context&&e.play,expression:"context && play"}],ref:"iframe"},[t("body",{ref:"body",staticStyle:{margin:"auto",width:"100%",height:"100%","text-align":"center"}},[t("img",{ref:"image",style:e.style,attrs:{title:e.title},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),e.resize.apply(null,arguments)}}})])])]],2)},s=[],l=i(82574);const n="-",r={name:"ImageViewer",components:{FullscreenButton:l.A},props:{data:{type:Object,required:!0}},data(){return{fullScreen:!1,fullSize:!1,img:null,error:null,context:null,value:n,play:!1}},async mounted(){this.$emit("mounted",this),this.img=await this.data.getData()},computed:{style(){return this.fullSize||this.fullScreen?{"max-width":"none","max-height":"none","object-fit":"none",cursor:this.fullScreen?"auto":"zoom-out","box-sizing":"border-box"}:{"max-width":"100%","max-height":"100%",cursor:"zoom-in","object-fit":"contain","box-sizing":"border-box"}},title(){return this.fullScreen?"":this.fullSize?"Click to shrink (fit to screen)":"Click to enlarge (full size)"},valueTitle(){return this.fullScreen||this.fullSize?"":"Show in full size to get precise values"},valueText(){return this.fullScreen||this.fullSize?`Pixel Value: ${this.value}`:`Estimated Pixel Value: ${this.value}`}},watch:{img:{immediate:!0,handler(){this.updateContent()}},play:{immediate:!0,handler(){this.updateContent()}}},methods:{updateContent(){if(this.img)try{this.play?(this.$refs.image.src=this.img.src,this.$refs.iframe.contentWindow.document.body=this.$refs.body,this.$refs.iframe.style.width=`${this.img.naturalWidth}px`,this.$refs.iframe.style.height=`${this.img.naturalHeight}px`):(this.$refs.canvas.width=this.img.naturalWidth,this.$refs.canvas.height=this.img.naturalHeight,this.context=this.$refs.canvas.getContext("2d",{willReadFrequently:!0}),this.context.drawImage(this.img,0,0))}catch(e){this.error=e}},togglePlay(){this.play=!this.play},fullscreenToggled(e){this.fullScreen=e},resize(){this.fullScreen||(this.fullSize=!this.fullSize)},resetPixelValue(){this.value=n},getPixelValue(e){try{const t=this.$refs.canvas.getBoundingClientRect(),i=this.img.naturalWidth/t.width,a=this.img.naturalHeight/t.height,s=e.offsetX*i,l=e.offsetY*a,n=Array.from(this.context.getImageData(Math.ceil(s),Math.ceil(l),1,1).data),r=n.pop();0===r?this.value="no data":n.every((e=>e===n[0]))?this.value=n[0]:this.value=n.join(" / ")}catch(t){this.value=n}}}},o=r;var u=i(81656),h=(0,u.A)(o,a,s,!1,null,"bb3bb0f6",null);const c=h.exports}}]); -//# sourceMappingURL=4285.89373946.js.map \ No newline at end of file +//# sourceMappingURL=4285.54ff3b9e.js.map \ No newline at end of file diff --git a/js/4285.89373946.js.map b/js/4285.54ff3b9e.js.map similarity index 99% rename from js/4285.89373946.js.map rename to js/4285.54ff3b9e.js.map index 864a7fd5..10878199 100644 --- a/js/4285.89373946.js.map +++ b/js/4285.54ff3b9e.js.map @@ -1 +1 @@ -{"version":3,"file":"js/4285.89373946.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/viewer/ImageViewer.vue","webpack://@openeo/web-editor/src/components/viewer/ImageViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/ImageViewer.vue?ec02","webpack://@openeo/web-editor/./src/components/viewer/ImageViewer.vue?f113"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"imageViewer\",staticClass:\"imageViewer\",class:{'fullscreen': _vm.fullScreen}},[(_vm.error)?[_vm._v(_vm._s(_vm.error))]:[_c('div',{staticClass:\"toolbar\"},[(!_vm.play)?_c('span',{staticClass:\"value\",attrs:{\"title\":_vm.valueTitle}},[_vm._v(_vm._s(_vm.valueText))]):_vm._e(),_c('FullscreenButton',{staticClass:\"fullscreen-button\",attrs:{\"element\":() => _vm.$refs.imageViewer},on:{\"changed\":_vm.fullscreenToggled}}),_c('button',{staticClass:\"play-button\",attrs:{\"title\":\"Play animation (if available)\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.togglePlay.apply(null, arguments)}}},[(_vm.play)?_c('i',{staticClass:\"fas fa-stop\"}):_c('i',{staticClass:\"fas fa-play\"})])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.context),expression:\"!context\"}],staticClass:\"no-data\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading image...\")]),_c('canvas',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.context && !_vm.play),expression:\"context && !play\"}],ref:\"canvas\",style:(_vm.style),attrs:{\"title\":_vm.title},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.resize.apply(null, arguments)},\"mousemove\":_vm.getPixelValue,\"mouseout\":_vm.resetPixelValue}}),_c('iframe',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.context && _vm.play),expression:\"context && play\"}],ref:\"iframe\"},[_c('body',{ref:\"body\",staticStyle:{\"margin\":\"auto\",\"width\":\"100%\",\"height\":\"100%\",\"text-align\":\"center\"}},[_c('img',{ref:\"image\",style:(_vm.style),attrs:{\"title\":_vm.title},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.resize.apply(null, arguments)}}})])])]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ImageViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ImageViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageViewer.vue?vue&type=template&id=bb3bb0f6&scoped=true\"\nimport script from \"./ImageViewer.vue?vue&type=script&lang=js\"\nexport * from \"./ImageViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./ImageViewer.vue?vue&type=style&index=0&id=bb3bb0f6&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bb3bb0f6\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","ref","staticClass","class","fullScreen","error","_v","_s","play","_e","attrs","valueTitle","valueText","element","$refs","imageViewer","on","fullscreenToggled","$event","preventDefault","stopPropagation","togglePlay","apply","arguments","directives","name","rawName","value","context","expression","style","title","resize","getPixelValue","resetPixelValue","staticStyle","staticRenderFns","unknown","components","FullscreenButton","props","data","type","Object","required","fullSize","img","mounted","$emit","getData","computed","watch","immediate","handler","updateContent","methods","image","src","iframe","contentWindow","document","body","width","naturalWidth","height","naturalHeight","canvas","getContext","willReadFrequently","drawImage","open","event","size","getBoundingClientRect","xScale","yScale","x","offsetX","y","offsetY","rgba","Array","from","getImageData","Math","ceil","alpha","pop","every","v","join","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/4285.54ff3b9e.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/viewer/ImageViewer.vue","webpack://@openeo/web-editor/src/components/viewer/ImageViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/ImageViewer.vue?ec02","webpack://@openeo/web-editor/./src/components/viewer/ImageViewer.vue?f113"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"imageViewer\",staticClass:\"imageViewer\",class:{'fullscreen': _vm.fullScreen}},[(_vm.error)?[_vm._v(_vm._s(_vm.error))]:[_c('div',{staticClass:\"toolbar\"},[(!_vm.play)?_c('span',{staticClass:\"value\",attrs:{\"title\":_vm.valueTitle}},[_vm._v(_vm._s(_vm.valueText))]):_vm._e(),_c('FullscreenButton',{staticClass:\"fullscreen-button\",attrs:{\"element\":() => _vm.$refs.imageViewer},on:{\"changed\":_vm.fullscreenToggled}}),_c('button',{staticClass:\"play-button\",attrs:{\"title\":\"Play animation (if available)\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.togglePlay.apply(null, arguments)}}},[(_vm.play)?_c('i',{staticClass:\"fas fa-stop\"}):_c('i',{staticClass:\"fas fa-play\"})])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.context),expression:\"!context\"}],staticClass:\"no-data\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading image...\")]),_c('canvas',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.context && !_vm.play),expression:\"context && !play\"}],ref:\"canvas\",style:(_vm.style),attrs:{\"title\":_vm.title},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.resize.apply(null, arguments)},\"mousemove\":_vm.getPixelValue,\"mouseout\":_vm.resetPixelValue}}),_c('iframe',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.context && _vm.play),expression:\"context && play\"}],ref:\"iframe\"},[_c('body',{ref:\"body\",staticStyle:{\"margin\":\"auto\",\"width\":\"100%\",\"height\":\"100%\",\"text-align\":\"center\"}},[_c('img',{ref:\"image\",style:(_vm.style),attrs:{\"title\":_vm.title},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.resize.apply(null, arguments)}}})])])]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ImageViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ImageViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageViewer.vue?vue&type=template&id=bb3bb0f6&scoped=true\"\nimport script from \"./ImageViewer.vue?vue&type=script&lang=js\"\nexport * from \"./ImageViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./ImageViewer.vue?vue&type=style&index=0&id=bb3bb0f6&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bb3bb0f6\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","ref","staticClass","class","fullScreen","error","_v","_s","play","_e","attrs","valueTitle","valueText","element","$refs","imageViewer","on","fullscreenToggled","$event","preventDefault","stopPropagation","togglePlay","apply","arguments","directives","name","rawName","value","context","expression","style","title","resize","getPixelValue","resetPixelValue","staticStyle","staticRenderFns","unknown","components","FullscreenButton","props","data","type","Object","required","fullSize","img","mounted","$emit","getData","computed","watch","immediate","handler","updateContent","methods","image","src","iframe","contentWindow","document","body","width","naturalWidth","height","naturalHeight","canvas","getContext","willReadFrequently","drawImage","open","event","size","getBoundingClientRect","xScale","yScale","x","offsetX","y","offsetY","rgba","Array","from","getImageData","Math","ceil","alpha","pop","every","v","join","component"],"sourceRoot":""} \ No newline at end of file diff --git a/js/4368.cc37d5bf.js b/js/4368.a38c89d2.js similarity index 99% rename from js/4368.cc37d5bf.js rename to js/4368.a38c89d2.js index aec85a3c..276ab88a 100644 --- a/js/4368.cc37d5bf.js +++ b/js/4368.a38c89d2.js @@ -6,4 +6,4 @@ * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time) */ !function(t,s){e.exports=s(i(10972),i(29276),i(49700),i(82986),i(54602),i(44294),i(86717),i(89718))}(0,(function(e,t,i,s,r,n,o,a){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=l(e),h=l(t),u=l(i),d=l(s),p=l(r),g=l(n),m=l(o),f=l(a),y="gcd-container",v="gcd-button-control",_="gcd-input-query",S="gcd-input-reset",w={namespace:"ol-geocoder",spin:"gcd-pseudo-rotate",hidden:"gcd-hidden",address:"gcd-address",country:"gcd-country",city:"gcd-city",road:"gcd-road",olControl:"ol-control",glass:{container:"gcd-gl-container",control:"gcd-gl-control",button:"gcd-gl-btn",input:"gcd-gl-input",expanded:"gcd-gl-expanded",reset:"gcd-gl-reset",result:"gcd-gl-result"},inputText:{container:"gcd-txt-container",control:"gcd-txt-control",input:"gcd-txt-input",reset:"gcd-txt-reset",icon:"gcd-txt-glass",result:"gcd-txt-result"}},T={containerId:y,buttonControlId:v,inputQueryId:_,inputResetId:S,cssClasses:w};const b=Object.freeze({__proto__:null,containerId:y,buttonControlId:v,inputQueryId:_,inputResetId:S,cssClasses:w,default:T}),x="addresschosen",D="nominatim",C="reverse",A="glass-button",E="text-input",M="osm",L="mapquest",F="photon",R="bing",P="opencage",I={provider:M,placeholder:"Search for an address",featureStyle:null,targetType:A,lang:"en-US",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function N(e,t="Assertion failed"){if(!e){if("undefined"!=typeof Error)throw new Error(t);throw t}}function $(e){const t=function(){if("performance"in window==0&&(window.performance={}),"now"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function j(e){return/^\d+$/u.test(e)}function k(e,t,i){if(Array.isArray(e))return void e.forEach((e=>k(e,t)));const s=Array.isArray(t)?t:t.split(/\s+/u);let r=s.length;for(;r--;)O(e,s[r])||U(e,s[r],i)}function G(e,t,i){if(Array.isArray(e))return void e.forEach((e=>G(e,t,i)));const s=Array.isArray(t)?t:t.split(/\s+/u);let r=s.length;for(;r--;)O(e,s[r])&&q(e,s[r],i)}function O(e,t){return e.classList?e.classList.contains(t):B(t).test(e.className)}function z(e,t){return e.replace(/\{\s*([\w-]+)\s*\}/gu,((e,i)=>{const s=void 0===t[i]?"":t[i];return String(s).replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}))}function V(e,t){let i;if(Array.isArray(e)){if(i=document.createElement(e[0]),e[1].id&&(i.id=e[1].id),e[1].classname&&(i.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eq(e,t)),i)}function q(e,t,i){e.classList?e.classList.remove(t):e.className=e.className.replace(B(t)," ").trim(),i&&j(i)&&window.setTimeout((()=>U(e,t)),i)}const W=b.cssClasses;class X{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,i;return this.options.targetType===E?(t=`${W.namespace} ${W.inputText.container}`,e=V(["div",{id:b.containerId,classname:t}],X.input),i={container:e,control:e.querySelector(`.${W.inputText.control}`),input:e.querySelector(`.${W.inputText.input}`),reset:e.querySelector(`.${W.inputText.reset}`),result:e.querySelector(`.${W.inputText.result}`)}):(t=`${W.namespace} ${W.glass.container}`,e=V(["div",{id:b.containerId,classname:t}],X.glass),i={container:e,control:e.querySelector(`.${W.glass.control}`),button:e.querySelector(`.${W.glass.button}`),input:e.querySelector(`.${W.glass.input}`),reset:e.querySelector(`.${W.glass.reset}`),result:e.querySelector(`.${W.glass.result}`)}),i.input.placeholder=this.options.placeholder,i}}X.glass=`\n
                  \n \n \n \n
                  \n
                    \n`,X.input=`\n
                    \n \n \n \n
                    \n
                      \n`;class H{constructor(){this.settings={url:"https://photon.komoot.io/api/",params:{q:"",limit:10,lang:"en"},langs:["de","it","fr","en"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class K{constructor(){this.settings={url:"https://nominatim.openstreetmap.org/search/",params:{q:"",format:"json",addressdetails:1,limit:10,countrycodes:"","accept-language":"en-US"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,"accept-language":e.lang||this.settings.params["accept-language"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||"",houseNumber:e.address.house_number||"",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class Y{constructor(){this.settings={url:"https://open.mapquestapi.com/nominatim/v1/search.php",params:{q:"",key:"",format:"json",addressdetails:1,limit:10,countrycodes:"","accept-language":"en-US"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:"json",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,"accept-language":e.lang||this.settings.params["accept-language"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||"",road:e.address.road||"",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class Z{constructor(){this.settings={url:"https://dev.virtualearth.net/REST/v1/Locations",callbackName:"jsonp",params:{query:"",key:"",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class Q{constructor(){this.settings={url:"https://api.opencagedata.com/geocode/v1/json?",params:{q:"",key:"",limit:10,countrycode:"",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||"",road:e.components.road||"",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function J(e){return new Promise(((t,i)=>{const s=function(e,t){return t&&"object"==typeof t&&(e+=(/\?/u.test(e)?"&":"?")+ee(t)),e}(e.url,e.data),r={method:"GET",mode:"cors",credentials:"same-origin"};e.jsonp?function(e,t,i){const{head:s}=document,r=document.createElement("script"),n=`f${Math.round(Math.random()*Date.now())}`;r.setAttribute("src",`${e+(e.indexOf("?")>0?"&":"?")+t}=${n}`),window[n]=e=>{window[n]=void 0,setTimeout((()=>s.removeChild(r)),0),i(e)},s.append(r)}(s,e.callbackName,t):fetch(s,r).then((e=>e.json())).then(t).catch(i)}))}function ee(e){return Object.keys(e).reduce(((t,i)=>(t.push("object"==typeof e[i]?ee(e[i]):`${encodeURIComponent(i)}=${encodeURIComponent(e[i])}`),t)),[]).join("&")}const te=b.cssClasses;class ie{constructor(e,t){this.Base=e,this.layerName=$("geocoder-layer-"),this.layer=new d.default({name:this.layerName,source:new p.default}),this.options=e.options,this.options.provider="string"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery="",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const i=e=>{e.stopPropagation(),O(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener("keypress",(e=>{const t=e.target.value.trim();(e.key?"Enter"===e.key:e.which?13===e.which:e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener("click",(e=>e.stopPropagation()),!1),this.els.input.addEventListener("input",(i=>{const s=i.target.value.trim();0!==s.length?G(this.els.reset,te.hidden):k(this.els.reset,te.hidden),this.options.autoComplete&&s!==t&&(t=s,e&&clearTimeout(e),e=setTimeout((()=>{s.length>=this.options.autoCompleteMinLength&&this.query(s)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener("click",(e=>{this.els.input.focus(),this.els.input.value="",this.lastQuery="",k(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===A&&this.els.button.addEventListener("click",i,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),k(this.els.reset,te.spin);const i={url:t.url,data:t.params};t.callbackName&&(i.jsonp=!0,i.callbackName=t.callbackName),J(i).then((e=>{this.options.debug&&console.info(e),G(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{G(this.els.reset,te.spin);const t=V("li","
                      Error! No internet connection?
                      ");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let i;i=this.options.provider===M?`${e.address.name}`:this.addressTemplate(e.address);const s=V("li",`${i}`);s.addEventListener("click",(t=>{t.preventDefault(),this.chosen(e,i,e.address,e.original)}),!1),t.append(s)}))}chosen(e,t,i,s){const r=this.Base.getMap(),n=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],o=r.getView().getProjection(),a=f.default.transform(n,"EPSG:4326",o);let{bbox:l}=e;l&&(l=f.default.transformExtent([l[2],l[1],l[3],l[0]],"EPSG:4326",o));const c={formatted:t,details:i,original:s};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:x,address:c,coordinate:a,bbox:l,place:e});else{l?r.getView().fit(l,{duration:500}):function(e,t,i=500,s=2.388657133911758){e.getView().animate({duration:i,resolution:s},{duration:i,center:t})}(r,a);const t=this.createFeature(a,c);this.Base.dispatchEvent({type:x,address:c,feature:t,coordinate:a,bbox:l,place:e})}}createFeature(e){const t=new m.default(new g.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId($("geocoder-ft-")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join("")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join("")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join("")),(e.state||e.country)&&t.push(['{state} {country}'].join("")),z(t.join("
                      "),e)}newProvider(){switch(this.options.provider){case M:return new K;case L:return new Y;case F:return new H;case R:return new Z;case P:return new Q;default:return this.options.provider}}expand(){G(this.els.input,te.spin),k(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value="",this.els.input.blur(),k(this.els.reset,te.hidden),G(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener("click",{handleEvent(i){e.clearResults(!0),t.removeEventListener(i.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===A?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class se extends c.default{constructor(e=D,t={}){let i,s;N("string"==typeof e,"@param `type` should be string!"),N(e===D||e===C,`@param 'type' should be '${D}'\n or '${C}'!`),N("object"==typeof t,"@param `options` should be object!"),I.featureStyle=[new h.default({image:new u.default({scale:.7,src:"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png"})})];const r=new X(t);if(e===D&&(i=r.els.container),super({element:i}),!(this instanceof se))return new se;this.options=function(e,t){const i={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(i[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(i[e]=t[e])})),i}(I,t),this.container=i,e===D&&(s=new ie(this,r.els),this.layer=s.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return se}))},31660:(e,t,i)=>{"use strict";i.d(t,{A:()=>d});var s=i(66684),r=i.n(s);class n{constructor(e,t=!1){this.url=e,this.geojson=t}getParameters(e){return{url:this.url,params:{q:e.query,format:"json",limit:10,"accept-language":"en",polygon_geojson:this.geojson?1:0,polygon_threshold:.001}}}handleResponse(e){return 0===e.length?[]:e.filter((e=>["boundary","geological","leisure","natural","place","water","waterway"].includes(e.class))).map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name},original:{formatted:e.display_name,details:e.address,geojson:e.geojson}})))}}const o={methods:{addGeocoder(e,t=!1){if(!this.$config.geocoder)return;const i={provider:new n(this.$config.geocoder,t),placeholder:"Search for ...",keepOpen:!0,preventDefault:!0},s=new(r())("nominatim",i);s.on("addresschosen",(i=>{if(t)e(i.place?.original?.geojson,i);else if(i.place.bbox){let t=i.place.bbox.map((e=>parseFloat(e))),s={west:t[2],east:t[3],north:t[1],south:t[0]};e(s,i)}else e(null,i)})),this.map.addControl(s)}}},a=o;var l,c,h=i(81656),u=(0,h.A)(a,l,c,!1,null,null,null);const d=u.exports},55193:(e,t,i)=>{"use strict";i.d(t,{A:()=>h});var s=function(){var e=this,t=e._self._c;return e.texts.length>0?t("div",{staticClass:"ol-unselectable ol-control value",class:{pointer:e.texts.length>1},on:{click:e.toggle}},[e._v(e._s(e.current))]):e._e()},r=[],n=i(23634);const o={name:"TextControl",mixins:[n.A],data(){return{i:0}},computed:{texts(){return Array.isArray(this.text)?this.text:"string"===typeof this.text&&this.text.length>0?[this.text]:[]},current(){return 0===this.texts.length?"":this.texts[this.i%this.text.length]}},props:{text:{text:[String,Array],default:""}},methods:{toggle(){this.i++}}},a=o;var l=i(81656),c=(0,l.A)(a,s,r,!1,null,"52fec35a",null);const h=c.exports},13324:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>ji});var s=function(){var e=this,t=e._self._c;return t("Splitpanes",{staticClass:"default-theme",attrs:{horizontal:""}},[t("Pane",{attrs:{id:"map"}},[t("div",{staticClass:"map-viewer",attrs:{id:e.id}},[t("ProgressControl",{ref:"progress",attrs:{map:e.map}}),t("UserLocationControl",{attrs:{map:e.map}}),t("AddDataControl",{attrs:{map:e.map},on:{add:e.addData}}),e.isGeoTiff?[t("TextControl",{attrs:{text:e.textControlText}}),t("div",{staticClass:"ol-unselectable ol-control geotiff-channels"},[e._l(e.geotiffs,(function(i){return[i.colorMap?e._e():t("ChannelControl",{key:i.layer.id,attrs:{bands:i.bands,defaultChannels:i.defaultChannels,title:e.geotiffs.length>1?i.layer.get("title"):""},on:{update:(t,s)=>e.updateGeoTiffStyle(i,t,s)}})]}))],2)]:e._e(),e.loading?t("div",{staticClass:"map-loading"},[t("i",{staticClass:"fas fa-spinner fa-spin"}),t("span",[e._v("Loading map...")])]):e._e()],2)]),e.chart?t("Pane",{attrs:{id:"chart",size:33}},[t("span",{staticClass:"close",on:{click:e.closeChart}},[t("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})]),t("ScatterChart",e._b({attrs:{height:220}},"ScatterChart",e.chart,!1))],1):e._e()],1)},r=[],n=(i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698),i(2566)),o=i(76130),a=i(75024),l=i(44304),c=i(38363),h=function(){var e=this,t=e._self._c;return t("div",{staticClass:"ol-add-data ol-unselectable ol-control",staticStyle:{"pointer-events":"auto"}},[t("button",{attrs:{type:"button",title:"Add external data source"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),e.openModal.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-image"})])])},u=[],d=i(23634),p=i(61663);const g={name:"AddDataControl",mixins:[d.A,p.A],methods:{openModal(){let e={save:this.addLayer};this.broadcast("showModal","AddMapDataModal",{},e)},addLayer(e){this.$emit("add",e)}}},m=g;var f=i(81656),y=(0,f.A)(m,h,u,!1,null,"046026ef",null);const v=y.exports;var _=function(){var e=this,t=e._self._c;return t("div",{directives:[{name:"show",rawName:"v-show",value:e.channels.length>0,expression:"channels.length > 0"}],staticClass:"channels"},[t("table",[t("thead",[e.title?t("tr",[t("th",{attrs:{colspan:e.cols}},[e._v(e._s(e.title))])]):e._e(),t("tr",[e.isGray?e._e():t("th",[e._v("Channel")]),e.multiBand?t("th",[e._v("Band")]):e._e(),t("th",[e._v("Min")]),t("th",[e._v("Max")])])]),t("tbody",e._l(e.channels,(function(i,s){return t("tr",{key:s},[e.isGray?e._e():t("th",[e._v(e._s(e.labels[s]))]),e.multiBand?t("td",[t("select",{directives:[{name:"model",rawName:"v-model.number",value:i.id,expression:"channel.id",modifiers:{number:!0}}],on:{change:function(t){var s=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(t){var i="_value"in t?t._value:t.value;return e._n(i)}));e.$set(i,"id",t.target.multiple?s:s[0])}}},e._l(e.bands,(function(i){return t("option",{key:i.id,domProps:{value:i.id}},[e._v(e._s(i.name||i.id))])})),0)]):e._e(),t("td",[t("input",{directives:[{name:"model",rawName:"v-model.number",value:i.min,expression:"channel.min",modifiers:{number:!0}}],attrs:{type:"number",required:""},domProps:{value:i.min},on:{input:function(t){t.target.composing||e.$set(i,"min",e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}})]),t("td",[t("input",{directives:[{name:"model",rawName:"v-model.number",value:i.max,expression:"channel.max",modifiers:{number:!0}}],attrs:{type:"number",required:""},domProps:{value:i.max},on:{input:function(t){t.target.composing||e.$set(i,"max",e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}})])])})),0),e.multiBand?t("tfoot",[t("tr",[t("td",{attrs:{colspan:e.cols}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.isGray,expression:"isGray"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.isGray)?e._i(e.isGray,null)>-1:e.isGray},on:{change:function(t){var i=e.isGray,s=t.target,r=!!s.checked;if(Array.isArray(i)){var n=null,o=e._i(i,n);s.checked?o<0&&(e.isGray=i.concat([n])):o>-1&&(e.isGray=i.slice(0,o).concat(i.slice(o+1)))}else e.isGray=r}}}),e._v(" Grayscale ")])])]):e._e()])])},S=[];const w={name:"ChannelControl",mixins:[d.A],props:{title:{type:String,default:""},bands:{type:Array,default:()=>[]},defaultChannels:{type:Array,default:()=>[]}},computed:{multiBand(){return this.bands.length>1},cols(){return this.isGray?this.multiBand?3:2:4},labels(){return this.isGray?["Grayscale"]:["Red","Green","Blue"]}},data(){return{channels:this.defaultChannels,isGray:1===this.defaultChannels.length||1===this.bands.length}},mounted(){},watch:{bands:{immediate:!0,handler(){1===this.bands.length&&(this.isGray=!0),this.updateChannels()}},isGray(){this.updateChannels(),this.emit()},channels:{deep:!0,handler(){this.emit()}}},methods:{isValid(e){return"number"===typeof e},updateChannels(){this.defaultChannels.length>0?(this.channels=this.defaultChannels,1===this.defaultChannels.length&&(this.isGray=!0)):this.channels=this.bands.slice(0,this.isGray?1:3).map((e=>Object.assign({},e))),2===this.channels.length&&this.channels.push(Object.assign({},this.channels[1]))},emit(){this.channels.filter((e=>this.isValid(e.min)&&this.isValid(e.max))).length>0&&this.$emit("update","channels",this.channels)}}},T=w;var b=(0,f.A)(T,_,S,!1,null,"5223a7ca",null);const x=b.exports;var D=i(66451),C=i(31660),A=i(95104),E=i(55193),M=i(50071),L=i(35598),F=i(30945),R=i(10702),P=i(4087);function I(e,t){return X().createElementNS(e,t)}function N(e,t){return $(e,t,[]).join("")}function $(e,t,i){if(e.nodeType==Node.CDATA_SECTION_NODE||e.nodeType==Node.TEXT_NODE)t?i.push(String(e.nodeValue).replace(/(\r\n|\r|\n)/g,"")):i.push(e.nodeValue);else{let s;for(s=e.firstChild;s;s=s.nextSibling)$(s,t,i)}return i}function j(e){return"documentElement"in e}function k(e){return(new DOMParser).parseFromString(e,"application/xml")}function G(e,t){return function(i,s){const r=e.call(void 0!==t?t:this,i,s);if(void 0!==r){const e=s[s.length-1];e.push(r)}}}function O(e,t,i){return function(s,r){const n=e.call(void 0!==i?i:this,s,r);if(void 0!==n){const e=r[r.length-1],i=void 0!==t?t:s.localName;let o;i in e?o=e[i]:(o=[],e[i]=o),o.push(n)}}}function z(e,t,i){return function(s,r){const n=e.call(void 0!==i?i:this,s,r);if(void 0!==n){const e=r[r.length-1],i=void 0!==t?t:s.localName;e[i]=n}}}function V(e,t){return function(i,s,r){const n=s[s.length-1],o=n.node;let a=e;void 0===a&&(a=r);const l=void 0!==t?t:o.namespaceURI;return I(l,a)}}V();function B(e,t,i){let s,r;for(i=void 0!==i?i:{},s=0,r=e.length;s0)||i.find((function(i){return t[h]==i[c]||!t[h].includes(":")&&e[h]+":"+t[h]===i[c]})),l){r.push(t[h]);const e=28e-5*t[u]/y,i=t[p],l=t[g];v?n.push([t[d][1],t[d][0]]):n.push(t[d]),s.push(e),o.push(i==l?i:[i,l]),a.push([t["MatrixWidth"],t["MatrixHeight"]])}})),new gt({extent:t,origins:n,resolutions:s,matrixIds:r,tileSizes:o,sizes:a})}var ft=i(42654);class yt extends ht.A{constructor(e){const t=void 0!==e.requestEncoding?e.requestEncoding:"KVP",i=e.tileGrid;let s=e.urls;void 0===s&&void 0!==e.url&&(s=(0,ft.Uu)(e.url)),super({attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:e.interpolate,projection:e.projection,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileClass:e.tileClass,tileGrid:i,tileLoadFunction:e.tileLoadFunction,tilePixelRatio:e.tilePixelRatio,urls:s,wrapX:void 0!==e.wrapX&&e.wrapX,transition:e.transition,zDirection:e.zDirection}),this.version_=void 0!==e.version?e.version:"1.0.0",this.format_=void 0!==e.format?e.format:"image/jpeg",this.dimensions_=void 0!==e.dimensions?e.dimensions:{},this.layer_=e.layer,this.matrixSet_=e.matrixSet,this.style_=e.style,this.requestEncoding_=t,this.setKey(this.getKeyForDimensions_()),s&&s.length>0&&(this.tileUrlFunction=(0,ft.FD)(s.map(this.createFromWMTSTemplate.bind(this))))}setUrls(e){this.urls=e;const t=e.join("\n");this.setTileUrlFunction((0,ft.FD)(e.map(this.createFromWMTSTemplate.bind(this))),t)}getDimensions(){return this.dimensions_}getFormat(){return this.format_}getLayer(){return this.layer_}getMatrixSet(){return this.matrixSet_}getRequestEncoding(){return this.requestEncoding_}getStyle(){return this.style_}getVersion(){return this.version_}getKeyForDimensions_(){const e=this.urls?this.urls.slice(0):[];for(const t in this.dimensions_)e.push(t+"-"+this.dimensions_[t]);return e.join("/")}updateDimensions(e){Object.assign(this.dimensions_,e),this.setKey(this.getKeyForDimensions_())}createFromWMTSTemplate(e){const t=this.requestEncoding_,i={layer:this.layer_,style:this.style_,tilematrixset:this.matrixSet_};"KVP"==t&&Object.assign(i,{Service:"WMTS",Request:"GetTile",Version:this.version_,Format:this.format_}),e="KVP"==t?ut(e,i):e.replace(/\{(\w+?)\}/g,(function(e,t){return t.toLowerCase()in i?i[t.toLowerCase()]:e}));const s=this.tileGrid,r=this.dimensions_;return function(i,n,o){if(!i)return;const a={TileMatrix:s.getMatrixId(i[0]),TileCol:i[1],TileRow:i[2]};Object.assign(a,r);let l=e;return l="KVP"==t?ut(l,a):l.replace(/\{(\w+?)\}/g,(function(e,t){return a[t]})),l}}}const vt=yt;function _t(e,t){const i=e["Contents"]["Layer"],s=i?.find((function(e){return e["Identifier"]==t["layer"]}));if(!s)return null;const r=e["Contents"]["TileMatrixSet"];let n;n=s["TileMatrixSetLink"].length>1?"projection"in t?s["TileMatrixSetLink"].findIndex((function(e){const i=r.find((function(t){return t["Identifier"]==e["TileMatrixSet"]})),s=i["SupportedCRS"],n=(0,pt.get)(s),o=(0,pt.get)(t["projection"]);return n&&o?(0,pt.equivalent)(n,o):s==t["projection"]})):s["TileMatrixSetLink"].findIndex((function(e){return e["TileMatrixSet"]==t["matrixSet"]})):0,n<0&&(n=0);const o=s["TileMatrixSetLink"][n]["TileMatrixSet"],a=s["TileMatrixSetLink"][n]["TileMatrixSetLimits"];let l=s["Format"][0];"format"in t&&(l=t["format"]),n=s["Style"].findIndex((function(e){return"style"in t?e["Title"]==t["style"]:e["isDefault"]})),n<0&&(n=0);const c=s["Style"][n]["Identifier"],h={};"Dimension"in s&&s["Dimension"].forEach((function(e,t,i){const s=e["Identifier"];let r=e["Default"];void 0===r&&(r=e["Value"][0]),h[s]=r}));const u=e["Contents"]["TileMatrixSet"],d=u.find((function(e){return e["Identifier"]==o}));let p;const g=d["SupportedCRS"];if(g&&(p=(0,pt.get)(g)),"projection"in t){const e=(0,pt.get)(t["projection"]);e&&(p&&!(0,pt.equivalent)(e,p)||(p=e))}let m=!1;const f="ne"==p.getAxisOrientation().substr(0,2);let y=d.TileMatrix[0],v={MinTileCol:0,MinTileRow:0,MaxTileCol:y.MatrixWidth-1,MaxTileRow:y.MatrixHeight-1};if(a){v=a[a.length-1];const e=d.TileMatrix.find((e=>e.Identifier===v.TileMatrix||d.Identifier+":"+e.Identifier===v.TileMatrix));e&&(y=e)}const _=28e-5*y.ScaleDenominator/p.getMetersPerUnit(),S=f?[y.TopLeftCorner[1],y.TopLeftCorner[0]]:y.TopLeftCorner,w=y.TileWidth*_,T=y.TileHeight*_;let b=d["BoundingBox"];b&&f&&(b=[b[1],b[0],b[3],b[2]]);let x=[S[0]+w*v.MinTileCol,S[1]-T*(1+v.MaxTileRow),S[0]+w*(1+v.MaxTileCol),S[1]-T*v.MinTileRow];if(void 0!==b&&!(0,Ie.ms)(b,x)){const e=s["WGS84BoundingBox"],t=(0,pt.get)("EPSG:4326").getExtent();if(x=b,e)m=e[0]===t[0]&&e[2]===t[2];else{const e=(0,pt.transformExtent)(b,d["SupportedCRS"],"EPSG:4326");m=e[0]-1e-10<=t[0]&&e[2]+1e-10>=t[2]}}const D=mt(d,x,a),C=[];let A=t["requestEncoding"];if(A=void 0!==A?A:"","OperationsMetadata"in e&&"GetTile"in e["OperationsMetadata"]){const t=e["OperationsMetadata"]["GetTile"]["DCP"]["HTTP"]["Get"];for(let e=0,i=t.length;e=1?e++:e=Math.min(1,e+.1),e=Math.round(100*e)/100,this.refresh(e)}.bind(this)}),this.addButton({className:"ol-zoom-out",handleClick:function(){var e=this.get("zoom");e>1?e--:e-=.1,e=Math.round(100*e)/100,this.refresh(e)}.bind(this)})),this._intervalDiv=Tt.A.create("DIV",{className:"ol-center-date",parent:this.element}),this.element.addEventListener("mouseover",function(){this._select&&this._select.elt.classList.remove("ol-select")}.bind(this));var i=null;this._scrollDiv.addEventListener("scroll",function(){this._setScrollLeft(),i&&(clearTimeout(i),i=null),i=setTimeout(function(){this.dispatchEvent({type:"scroll",date:this.getDate(),dateStart:this.getDate("start"),dateEnd:this.getDate("end")})}.bind(this),e.scrollTimeout||15)}.bind(this)),Tt.A.scrollDiv(this._scrollDiv,{onmove:function(e){this._moving=e}.bind(this)}),this._tline=[],this._scrollLeft=0,this.set("maxWidth",e.maxWidth||2e3),this.set("minDate",e.minDate||1/0),this.set("maxDate",e.maxDate||-1/0),this.set("graduation",e.graduation),this.set("minZoom",e.minZoom||.2),this.set("maxZoom",e.maxZoom||4),this.setInterval(e.interval),e.getHTML&&(this._getHTML=e.getHTML),e.getFeatureDate&&(this._getFeatureDate=e.getFeatureDate),e.endFeatureDate&&(this._endFeatureDate=e.endFeatureDate),this.setFeatures(e.features||e.source,e.zoom)}setMap(e){super.setMap(e),this.refresh(this.get("zoom")||1,!0)}addButton(e){this.element.classList.add("ol-hasbutton"),Tt.A.create("BUTTON",{className:e.className||void 0,title:e.title,html:e.html,click:e.handleClick,parent:this._buttons})}setInterval(e){"string"===typeof e&&(e=/s$/.test(e)?1e3*parseFloat(e):/mn$/.test(e)?1e3*parseFloat(e)*60:/h$/.test(e)?1e3*parseFloat(e)*3600:/d$/.test(e)?1e3*parseFloat(e)*3600*24:/y$/.test(e)?1e3*parseFloat(e)*3600*24*365:0),this.set("interval",e||0),e?this.element.classList.add("ol-interval"):this.element.classList.remove("ol-interval"),this.refresh(this.get("zoom"))}_getHTML(e){return e.get("name")||""}_getFeatureDate(e){return e&&e.get?e.get("date"):null}_endFeatureDate(){}isCollapsed(){return this.element.classList.contains("ol-collapsed")}collapse(e){e?this.element.classList.add("ol-collapsed"):this.element.classList.remove("ol-collapsed"),this.dispatchEvent({type:"collapse",collapsed:this.isCollapsed()})}toggle(){this.element.classList.toggle("ol-collapsed"),this.dispatchEvent({type:"collapse",collapsed:this.isCollapsed()})}setFeatures(e,t){this._features=this._source=null,e instanceof St["default"]?this._source=e:this._features=e instanceof Array?e:[],this.refresh(t)}getFeatures(){return this._features||this._source.getFeatures()}refresh(e,t){if(this.getMap()){e||(e=this.get("zoom")),e=Math.min(this.get("maxZoom"),Math.max(this.get("minZoom"),e||1)),this.set("zoom",e),this._scrollDiv.innerHTML="";var i,s,r=this.getFeatures(),n=this._tline=[];r.forEach(function(e){(i=this._getFeatureDate(e))&&(i instanceof Date||(i=new Date(i)),this._endFeatureDate&&(s=this._endFeatureDate(e),s instanceof Date||(s=new Date(s))),isNaN(i)||n.push({date:i,end:isNaN(s)?null:s,feature:e}))}.bind(this)),n.sort((function(e,t){return e.dateh?h/c:1)*e;a=this._minDate=this._minDate-10/u,c=(l-a)*u,Tt.A.setStyle(o,{width:c,maxWidth:"unset"}),this._drawTime(o,a,l,u),this.get("interval")?Tt.A.setStyle(this._intervalDiv,{width:this.get("interval")*u}):Tt.A.setStyle(this._intervalDiv,{width:""});var d=[],p=Tt.A.getStyle(this._scrollDiv,"lineHeight"),g=Tt.A.create("DIV",{className:"ol-features",parent:o});n.forEach(function(e){for(var t=e.date,i=e.elt=Tt.A.create("DIV",{className:"ol-feature",style:{left:Math.round((t-a)*u)},html:this._getHTML(e.feature),parent:g}),s=i.querySelectorAll("img"),r=0;ro)break;d[n]=l+Tt.A.getStyle(i,"width"),Tt.A.setStyle(i,{top:n*p})}.bind(this)),this._nbline=d.length,t&&this.setDate(this._minDate,{anim:!1,position:"start"}),this.dispatchEvent({type:"scroll",date:this.getDate(),dateStart:this.getDate("start"),dateEnd:this.getDate("end")})}}_getOffsetFromDate(e){return(e-this._minDate)*this._scale}_getDateFromOffset(e){return e/this._scale+this._minDate}_setScrollLeft(e){this._scrollLeft=e,void 0!==e&&(this._scrollDiv.scrollLeft=e)}_getScrollLeft(){return void 0===this._scrollLeft?this._scrollDiv.scrollLeft:this._scrollLeft}_drawTime(e,t,i,s){var r,n,o,a,l=Tt.A.create("DIV",{className:"ol-times",parent:e}),c=Tt.A.getStyle(l,"left"),h=Tt.A.getStyle(l,"height"),u=new Date(this._minDate).getFullYear();n=(new Date(0).setFullYear(String(u))-new Date(0).setFullYear(String(u-1)))*s;var d=Math.round(2*h/n)+1;while(1){if(r=new Date(0).setFullYear(u),r>this._maxDate)break;Tt.A.create("DIV",{className:"ol-time ol-year",style:{left:this._getOffsetFromDate(r)-c},html:u,parent:l}),u+=d}if(/day|month/.test(this.get("graduation"))&&(n=(new Date(0,0,1).setFullYear(String(u))-new Date(0,0,1).setFullYear(String(u-1)))*s,a=Math.max(1,Math.round(12/Math.round(n/h/2))),a<12)){u=new Date(this._minDate).getFullYear(),o=a+1;while(1){if(r=new Date(0,0,1),r.setFullYear(u),r.setMonth(o-1),r>this._maxDate)break;Tt.A.create("DIV",{className:"ol-time ol-month",style:{left:this._getOffsetFromDate(r)-c},html:r.toLocaleDateString(void 0,{month:"short"}),parent:l}),o+=a,o>12&&(u++,o=a+1)}}if("day"===this.get("graduation")){n=(new Date(0,1,1)-new Date(0,0,1))*s;var p=Math.max(1,Math.round(31/Math.round(n/h/2)));if(p<31){u=new Date(this._minDate).getFullYear(),o=0;var g=p;while(1)if(r=new Date(0,0,1),r.setFullYear(u),r.setMonth(o),r.setDate(g),isNaN(r))o++,o>12&&(o=1,u++),g=p;else{if(r>this._maxDate)break;if(g>1){var m=this._getOffsetFromDate(r);this._getOffsetFromDate(new Date(u,o+1,1))-m>h&&Tt.A.create("DIV",{className:"ol-time ol-day",style:{left:m-c},html:g,parent:l})}u=r.getFullYear(),o=r.getMonth(),g=r.getDate()+p,g>new Date(u,o+1,0).getDate()&&(o++,g=p)}}}}setDate(e,t){var i;if(t=t||{},e instanceof Date?i=e:(this.getFeatures().indexOf(e)>=0&&(i=this._getFeatureDate(e)),!i||i instanceof Date||(i=new Date(i)),i&&!isNaN(i)||(i=new Date(String(e)))),!isNaN(i)){!1===t.anim&&this._scrollDiv.classList.add("ol-move");var s=this._getOffsetFromDate(i);if("start"===t.position?s+=Tt.A.outerWidth(this._scrollDiv)/2-Tt.A.getStyle(this._scrollDiv,"marginLeft")/2:"end"===t.position&&(s-=Tt.A.outerWidth(this._scrollDiv)/2-Tt.A.getStyle(this._scrollDiv,"marginLeft")/2),this._setScrollLeft(s),!1===t.anim&&this._scrollDiv.classList.remove("ol-move"),e)for(var r,n=0;r=this._tline[n];n++)r.feature===e?(r.elt.classList.add("ol-select"),this._select=r):r.elt.classList.remove("ol-select")}}roundDate(e,t){switch(t){case"mn":return new Date(this._roundTo(e,6e4));case"hour":return new Date(this._roundTo(e,36e5));case"day":return new Date(this._roundTo(e,864e5));case"month":return e=new Date(this._roundTo(e,864e5)),e.getDate()>15&&(e=new Date(e.setMonth(e.getMonth()+1))),e=e.setDate(1),new Date(e);default:return new Date(e)}}getDate(e,t){var i;switch(t||(t=e),e){case"start":i=this.get("interval")?-Tt.A.getStyle(this._intervalDiv,"width")/2+Tt.A.getStyle(this._scrollDiv,"marginLeft")/2:-Tt.A.outerWidth(this._scrollDiv)/2+Tt.A.getStyle(this._scrollDiv,"marginLeft")/2;break;case"end":i=this.get("interval")?Tt.A.getStyle(this._intervalDiv,"width")/2-Tt.A.getStyle(this._scrollDiv,"marginLeft")/2:Tt.A.outerWidth(this._scrollDiv)/2-Tt.A.getStyle(this._scrollDiv,"marginLeft")/2;break;default:i=0;break}var s=this._getDateFromOffset(this._getScrollLeft()+i);return s=this.roundDate(s,t),new Date(s)}_roundTo(e,t){return Math.round(e/t)*t}getStartDate(){return new Date(this.get("minDate"))}getEndDate(){return new Date(this.get("maxDate"))}};const xt=bt,Dt={mixins:[D.A],data(){return{WMTSCapabilities:{},timeline:null}},methods:{async addWebService(e){switch(e.type.toLowerCase()){case"xyz":return this.updateXYZLayer(e);case"wmts":return await this.updateWMTSLayer(e);default:return n.A.error(this,"Sorry, this web service type is not supported."),null}},getWMTSTimes(e,t){const i=e.Contents.Layer||[];let s=i.find((e=>e.Identifier==t));if(!s||!s.Dimension)return[];let r=s.Dimension.find((e=>"TIME"===e.Identifier));return r?r.Value.sort():[]},async initWMTSLayer(e){if(!this.WMTSCapabilities[e.url])try{let i=new URL(e.url);i.searchParams.set("service","wmts"),i.searchParams.set("request","GetCapabilities");let s=await axios.get(i.toString(),{responseType:"text"});var t=new ct;this.WMTSCapabilities[e.url]=t.read(s.data)}catch(error){n.A.exception(this,error,"WMTS Discovery failed")}return this.WMTSCapabilities[e.url]},async updateWMTSLayer(e,t="Service"){let i=e.attributes||{},s=await this.initWMTSLayer(e);s||n.A.exception(this,error,"WMTS Discovery failed");let r,o=null,a=null,l=null,c=null,h=n.A.getResourceTitle(e,t),u=new M.A;Array.isArray(i.layers)?r=i.layers:Array.isArray(s.Contents.Layer)&&(r=layers.map((e=>e.Identifier)));for(let g of r){if(!g)continue;let t=_t(s,{layer:g,matrixSet:"EPSG:3857"});l||(l=new Date(t.dimensions.TIME));let r=this.getWMTSTimes(s,g);if(r.length){let e=new Date(r[0]),t=new Date(r[r.length-1]);(!o||ea)&&(a=t)}n.A.isObject(i.dimensions)&&Object.assign(t.dimensions,e.attributes.dimensions),c=new vt(t);var d=new F.A({title:h,source:this.trackTileProgress(c),noSwitcherDelete:!0});u.push(d)}if(o&&a){let e;this.timeline=new xt({className:"ol-pointer",graduation:"day",minDate:o,maxDate:a}),this.timeline.on("scroll",(function(t){!t.date||t.date>a||t.date{try{let e=t.date.toISOString().substr(0,10);c.updateDimensions({TIME:e});let i=document.getElementsByClassName("timeline-date-label");i[0].innerText=e,i[0].disabled=!0}catch(error){console.log(error)}e=null}),500))})),this.map.addControl(this.timeline),this.timeline.addButton({className:"timeline-date-label",title:`The date that is shown on the map for the collection '${h}'`,html:"No date"}),this.timeline.setDate(l)}let p=new L.A({id:e.id,title:h,layers:u});return p.on("change:visible",(()=>{this.timeline&&this.timeline.element&&(this.timeline.element.style.display=p.getVisible()?"block":"none")})),this.addLayerToMap(p),this.timeline&&this.map.getLayers().on("remove",(e=>{e.element===p&&(this.map.removeControl(this.timeline),this.timeline=null)})),p},updateXYZLayer(e,t="Service"){let i=n.A.replaceParam(e.url,"__editorSessionId",(new Date).getTime()).replace(/%7B/g,"{").replace(/%7D/g,"}"),s=n.A.getResourceTitle(e,t),r=new F.A({title:s,source:this.trackTileProgress(new R.A({url:i})),noSwitcherDelete:!0}),o=new L.A({id:e.id,title:s,layers:[r]});if(this.addLayerToMap(o),n.A.isObject(e.process)&&n.A.isObject(e.process.process_graph)){const t="urn:ogc:def:crs:OGC:1.3:CRS84",i="EPSG:4326";Object.values(e.process.process_graph).filter((e=>"load_collection"===e.process_id&&n.A.isObject(e.arguments)&&e.arguments.spatial_extent)).forEach((e=>{let s=e.arguments.spatial_extent,r=(s.west||s.east||s.south||s.north)&&(!s.crs||4326===s.crs||s.crs===i),o=s.type&&(!s.crs||n.A.isObject(s.crs)&&"name"===s.crs.type&&(s.crs.properties?.name===i||s.properties?.name===t));(r||o)&&this.addExtent(s,!1)}))}return o}}},Ct=Dt;var At,Et,Mt=(0,f.A)(Ct,At,Et,!1,null,null,null);const Lt=Mt.exports;class Ft{constructor(e){this.layer=null,this.colorMap=e.getColorMap(),this.noData=e.getNoData(),this.bands=e.getBands(),this.defaultChannels=this.bands.slice(0,3),this.channels=this.bands.slice(0,3),this.file=e}getBandVar(e){return["band",["var",`${e}band`]]}getFormula(e){let t=["var",`${e}min`],i=["var",`${e}max`],s=this.getBandVar(e),r=["*",["/",["-",s,t],["-",i,t]],255];return["clamp",r,0,255]}getNoDataFormula(){let e=this.getBandVar("alpha");return["case",["==",e,0],0,1]}setStyle(){if(!this.layer)return;let e={};for(let i in this.channels){let t=this.channels[i];e[`${i}band`]=t.id,e[`${i}min`]=t.min,e[`${i}max`]=t.max}e.alphaband=this.bands.length+1;let t=[];if(this.colorMap)t.push("palette"),t.push(["band",1]),t.push(this.colorMap);else{if(0===this.channels.length)return null;if(1===this.channels.length){t.push("color");let e=this.getFormula(0);t.push(e),t.push(e),t.push(e),this.noData.length>0&&t.push(this.getNoDataFormula())}else t.push("color"),t.push(this.getFormula(0)),t.push(this.getFormula(1)),t.push(this.getFormula(2)),this.noData.length>0&&t.push(this.getNoDataFormula())}this.layer.setStyle({variables:e,color:t})}}var Rt=i(88022);Rt.A.prototype.getSampleByteSize=function(e){if(this.fileDirectory.BitsPerSample&&0!==this.fileDirectory.BitsPerSample.length)return e>=this.fileDirectory.BitsPerSample.length&&(e=0),Math.ceil(this.fileDirectory.BitsPerSample[e]/8)},Rt.A.prototype.getReaderForSample=function(e){const t=this.getSampleFormat(e),i=this.getBitsPerSample(e);switch(t){case 1:if(i<=8)return DataView.prototype.getUint8;if(i<=16)return DataView.prototype.getUint16;if(i<=32)return DataView.prototype.getUint32;break;case 2:if(i<=8)return DataView.prototype.getInt8;if(i<=16)return DataView.prototype.getInt16;if(i<=32)return DataView.prototype.getInt32;break;case 3:switch(i){case 16:return function(e,t){return getFloat16(this,e,t)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")},Rt.A.prototype.getSampleFormat=function(e=0){return this.fileDirectory.SampleFormat&&0!==this.fileDirectory.SampleFormat.length?"undefined"!==typeof this.fileDirectory.SampleFormat[e]?this.fileDirectory.SampleFormat[e]:this.fileDirectory.SampleFormat[0]:1},Rt.A.prototype.getBitsPerSample=function(e=0){if(this.fileDirectory.BitsPerSample&&0!==this.fileDirectory.BitsPerSample.length)return"undefined"!==typeof this.fileDirectory.BitsPerSample[e]?this.fileDirectory.BitsPerSample[e]:this.fileDirectory.BitsPerSample[0]};var Pt=i(73902),It=i(86717),Nt=i(34142),$t=i(82986),jt=i(22808),kt=i(75332),Gt=i(566),Ot=i(49825),zt=i(15477);function Vt(e,t,i){const s=(0,Ot.SR)();return s.style=e.style,(0,zt.nR)(t,i,s,e)}function Bt(e,t){const i=`\n attribute vec2 ${Gt.eS.TEXTURE_COORD};\n uniform mat4 ${Gt.gF.TILE_TRANSFORM};\n uniform float ${Gt.gF.TEXTURE_PIXEL_WIDTH};\n uniform float ${Gt.gF.TEXTURE_PIXEL_HEIGHT};\n uniform float ${Gt.gF.TEXTURE_RESOLUTION};\n uniform float ${Gt.gF.TEXTURE_ORIGIN_X};\n uniform float ${Gt.gF.TEXTURE_ORIGIN_Y};\n uniform float ${Gt.gF.DEPTH};\n\n varying vec2 v_textureCoord;\n varying vec2 v_mapCoord;\n\n void main() {\n v_textureCoord = ${Gt.eS.TEXTURE_COORD};\n v_mapCoord = vec2(\n ${Gt.gF.TEXTURE_ORIGIN_X} + ${Gt.gF.TEXTURE_RESOLUTION} * ${Gt.gF.TEXTURE_PIXEL_WIDTH} * v_textureCoord[0],\n ${Gt.gF.TEXTURE_ORIGIN_Y} - ${Gt.gF.TEXTURE_RESOLUTION} * ${Gt.gF.TEXTURE_PIXEL_HEIGHT} * v_textureCoord[1]\n );\n gl_Position = ${Gt.gF.TILE_TRANSFORM} * vec4(${Gt.eS.TEXTURE_COORD}, ${Gt.gF.DEPTH}, 1.0);\n }\n `,s={...(0,zt.z0)(),inFragmentShader:!0,bandCount:t,style:e},r=[];if(void 0!==e.color){const t=Vt(s,e.color,Ot.mE);r.push(`color = ${t};`)}if(void 0!==e.contrast){const t=Vt(s,e.contrast,Ot.wl);r.push(`color.rgb = clamp((${t} + 1.0) * color.rgb - (${t} / 2.0), vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`)}if(void 0!==e.exposure){const t=Vt(s,e.exposure,Ot.wl);r.push(`color.rgb = clamp((${t} + 1.0) * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`)}if(void 0!==e.saturation){const t=Vt(s,e.saturation,Ot.wl);r.push(`\n float saturation = ${t} + 1.0;\n float sr = (1.0 - saturation) * 0.2126;\n float sg = (1.0 - saturation) * 0.7152;\n float sb = (1.0 - saturation) * 0.0722;\n mat3 saturationMatrix = mat3(\n sr + saturation, sr, sr,\n sg, sg + saturation, sg,\n sb, sb, sb + saturation\n );\n color.rgb = clamp(saturationMatrix * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));\n `)}if(void 0!==e.gamma){const t=Vt(s,e.gamma,Ot.wl);r.push(`color.rgb = pow(color.rgb, vec3(1.0 / ${t}));`)}if(void 0!==e.brightness){const t=Vt(s,e.brightness,Ot.wl);r.push(`color.rgb = clamp(color.rgb + ${t}, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`)}const n={},o=Object.keys(s.variables).length;if(o>1&&!e.variables)throw new Error(`Missing variables in style (expected ${s.variables})`);for(let u=0;u ${Gt.gF.RENDER_EXTENT}[2] ||\n v_mapCoord[1] > ${Gt.gF.RENDER_EXTENT}[3]\n ) {\n discard;\n }\n\n vec4 color = texture2D(${Gt.gF.TILE_TEXTURE_ARRAY}[0], v_textureCoord);\n\n ${r.join("\n")}\n\n gl_FragColor = color;\n gl_FragColor.rgb *= gl_FragColor.a;\n gl_FragColor *= ${Gt.gF.TRANSITION_ALPHA};\n }`;return{vertexShader:i,fragmentShader:h,uniforms:n,paletteTextures:s.paletteTextures}}class Ut extends jt.A{constructor(e){e=e?Object.assign({},e):{};const t=e.style||{};delete e.style;const i=e.cacheSize;delete e.cacheSize,super(e),this.sources_=e.sources,this.renderedSource_=null,this.renderedResolution_=NaN,this.style_=t,this.cacheSize_=i,this.styleVariables_=this.style_.variables||{},this.addChangeListener(kt.A.SOURCE,this.handleSourceUpdate_)}getSources(e,t){const i=this.getSource();return this.sources_?"function"===typeof this.sources_?this.sources_(e,t):this.sources_:i?[i]:[]}getRenderSource(){return this.renderedSource_||this.getSource()}getSourceState(){const e=this.getRenderSource();return e?e.getState():"undefined"}handleSourceUpdate_(){this.hasRenderer()&&this.getRenderer().clearCache(),this.getSource()&&this.setStyle(this.style_)}getSourceBandCount_(){const e=Number.MAX_SAFE_INTEGER,t=this.getSources([-e,-e,e,e],e);return t&&t.length&&"bandCount"in t[0]?t[0].bandCount:4}createRenderer(){const e=Bt(this.style_,this.getSourceBandCount_());return new Gt.Ay(this,{vertexShader:e.vertexShader,fragmentShader:e.fragmentShader,uniforms:e.uniforms,cacheSize:this.cacheSize_,paletteTextures:e.paletteTextures})}renderSources(e,t){const i=this.getRenderer();let s;for(let r=0,n=t.length;r{"ready"==e.getState()&&(e.removeEventListener("change",t),this.changed())};e.addEventListener("change",t)}r=r&&"ready"==t}const n=this.renderSources(e,s);if(this.getRenderer().renderComplete&&r)return this.renderedResolution_=i.resolution,n;if(this.renderedResolution_>.5*i.resolution){const t=this.getSources(e.extent,this.renderedResolution_).filter((e=>!s.includes(e)));if(t.length>0)return this.renderSources(e,t)}return n}setStyle(e){this.styleVariables_=e.variables||{},this.style_=e;const t=Bt(this.style_,this.getSourceBandCount_()),i=this.getRenderer();i.reset({vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,uniforms:t.uniforms,paletteTextures:t.paletteTextures}),this.changed()}updateStyleVariables(e){Object.assign(this.styleVariables_,e),this.changed()}}Ut.prototype.dispose;const qt=Ut;var Wt=i(27607),Xt=i(6837),Ht=i(98596),Kt=i(70061),Yt=i(18469),Zt=i(66017),Qt=i(11078),Jt=i(4863),ei=i(40186),ti=i(74238),ii=i(6782);class si extends Zt.A{constructor(e){const t=void 0===e.projection?"EPSG:3857":e.projection;let i=e.tileGrid;void 0===i&&t&&(i=(0,Jt.EN)({extent:(0,Jt.kZ)(t),maxResolution:e.maxResolution,maxZoom:e.maxZoom,minZoom:e.minZoom,tileSize:e.tileSize})),super({cacheSize:.1,attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,projection:t,tileGrid:i,opaque:e.opaque,state:e.state,wrapX:e.wrapX,transition:e.transition,interpolate:e.interpolate}),this.gutter_=void 0!==e.gutter?e.gutter:0,this.tileSize_=e.tileSize?(0,ii.xq)(e.tileSize):null,this.tileSizes_=null,this.tileLoadingKeys_={},this.loader_=e.loader,this.handleTileChange_=this.handleTileChange_.bind(this),this.bandCount=void 0===e.bandCount?4:e.bandCount,this.tileGridForProjection_={},this.tileCacheForProjection_={}}setTileSizes(e){this.tileSizes_=e}getTileSize(e){if(this.tileSizes_)return this.tileSizes_[e];if(this.tileSize_)return this.tileSize_;const t=this.getTileGrid();return t?(0,ii.xq)(t.getTileSize(e)):[256,256]}getGutterForProjection(e){const t=this.getProjection();return!t||(0,pt.equivalent)(t,e)?this.gutter_:0}setLoader(e){this.loader_=e}getReprojTile_(e,t,i,s,r){const n=this.getTileCacheForProjection(s),o=(0,ei.dp)(e,t,i);if(n.containsKey(o)){const e=n.get(o);if(e&&e.key==this.getKey())return e}const a=this.getTileGrid(),l=Math.max.apply(null,a.getResolutions().map(((e,t)=>{const i=(0,ii.xq)(a.getTileSize(t)),s=this.getTileSize(t);return Math.max(s[0]/i[0],s[1]/i[1])}))),c=this.getTileGridForProjection(r),h=this.getTileGridForProjection(s),u=[e,t,i],d=this.getTileCoordForTileUrlFunction(u,s),p=Object.assign({sourceProj:r,sourceTileGrid:c,targetProj:s,targetTileGrid:h,tileCoord:u,wrappedTileCoord:d,pixelRatio:l,gutter:this.getGutterForProjection(r),getTileFunction:(e,t,i,s)=>this.getTile(e,t,i,s,r)},this.tileOptions),g=new Ht.A(p);return g.key=this.getKey(),g}getTile(e,t,i,s,r){const n=this.getProjection();if(n&&r&&!(0,pt.equivalent)(n,r))return this.getReprojTile_(e,t,i,r,n);const o=this.getTileSize(e),a=(0,ei.dp)(e,t,i);if(this.tileCache.containsKey(a))return this.tileCache.get(a);const l=this.loader_;function c(){return(0,ti.hq)((function(){return l(e,t,i)}))}const h=Object.assign({tileCoord:[e,t,i],loader:c,size:o},this.tileOptions),u=new Wt.Ay(h);return u.key=this.getKey(),u.addEventListener(Xt.A.CHANGE,this.handleTileChange_),this.tileCache.set(a,u),u}handleTileChange_(e){const t=e.target,i=(0,P.v6)(t),s=t.getState();let r;s==Qt.A.LOADING?(this.tileLoadingKeys_[i]=!0,r=Yt.A.TILELOADSTART):i in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[i],r=s==Qt.A.ERROR?Yt.A.TILELOADERROR:s==Qt.A.LOADED?Yt.A.TILELOADEND:void 0),r&&this.dispatchEvent(new Zt.c(r,t))}getTileGridForProjection(e){const t=this.getProjection();if(this.tileGrid&&(!t||(0,pt.equivalent)(t,e)))return this.tileGrid;const i=(0,P.v6)(e);return i in this.tileGridForProjection_||(this.tileGridForProjection_[i]=(0,Jt.pr)(e)),this.tileGridForProjection_[i]}setTileGridForProjection(e,t){const i=(0,pt.get)(e);if(i){const e=(0,P.v6)(i);e in this.tileGridForProjection_||(this.tileGridForProjection_[e]=t)}}getTileCacheForProjection(e){const t=this.getProjection();if(!t||(0,pt.equivalent)(t,e))return this.tileCache;const i=(0,P.v6)(e);return i in this.tileCacheForProjection_||(this.tileCacheForProjection_[i]=new Kt.A(.1)),this.tileCacheForProjection_[i]}expireCache(e,t){const i=this.getTileCacheForProjection(e);this.tileCache.expireCache(this.tileCache==i?t:{});for(const s in this.tileCacheForProjection_){const e=this.tileCacheForProjection_[s];e.expireCache(e==i?t:{})}}clear(){super.clear();for(const e in this.tileCacheForProjection_)this.tileCacheForProjection_[e].clear()}}const ri=si;var ni=i(98622),oi=i(70851);const ai="undefined"!==typeof navigator&&navigator.hardwareConcurrency||2;class li{constructor(e=ai,t){this.workers=null,this._awaitingDecoder=null,this.size=e,this.messageId=0,e&&(this._awaitingDecoder=t?Promise.resolve(t):new Promise((e=>{i.e(9989).then(i.bind(i,79989)).then((t=>{e(t.create)}))})),this._awaitingDecoder.then((t=>{this._awaitingDecoder=null,this.workers=[];for(let i=0;ii.decode(e,t))):new Promise((i=>{const s=this.workers.find((e=>e.idle))||this.workers[Math.floor(Math.random()*this.size)];s.idle=!1;const r=this.messageId++,n=e=>{e.data.id===r&&(s.idle=!0,i(e.data.decoded),s.worker.removeEventListener("message",n))};s.worker.addEventListener("message",n),s.worker.postMessage({fileDirectory:e,buffer:t,id:r},[t])}))}destroy(){this.workers&&(this.workers.forEach((e=>{e.worker.terminate()})),this.workers=null)}}const ci=li;var hi=i(34099),ui=i(61597),di=i(54422),pi=i(8100);function gi(e){const t=e.fileDirectory,i=t.NewSubfileType||0;return 4===(4&i)}function mi(e,t){if(!e)return!1;if(!0===e)return!0;if(3!==t.getSamplesPerPixel())return!1;const i=t.fileDirectory.PhotometricInterpretation,s=ni.ub;return i===s.CMYK||i===s.YCbCr||i===s.CIELab||i===s.ICCLab}const fi="STATISTICS_MAXIMUM",yi="STATISTICS_MINIMUM",vi=256;let _i;function Si(){return _i||(_i=new ci),_i}function wi(e){try{return e.getBoundingBox()}catch(t){return[0,0,e.getWidth(),e.getHeight()]}}function Ti(e){try{return e.getOrigin().slice(0,2)}catch(t){return[0,e.getHeight()]}}function bi(e,t){try{return e.getResolution(t)}catch(i){return[t.getWidth()/e.getWidth(),t.getHeight()/e.getHeight()]}}function xi(e){const t=e.geoKeys;if(!t)return null;if(t.ProjectedCSTypeGeoKey&&32767!==t.ProjectedCSTypeGeoKey){const e="EPSG:"+t.ProjectedCSTypeGeoKey;let i=(0,pt.get)(e);if(!i){const s=(0,pi.q)(t.ProjLinearUnitsGeoKey);s&&(i=new pt.Projection({code:e,units:s}))}return i}if(t.GeographicTypeGeoKey&&32767!==t.GeographicTypeGeoKey){const e="EPSG:"+t.GeographicTypeGeoKey;let i=(0,pt.get)(e);if(!i){const s=(0,pi.q)(t.GeogAngularUnitsGeoKey);s&&(i=new pt.Projection({code:e,units:s}))}return i}return null}function Di(e){return e.getImageCount().then((function(t){const i=new Array(t);for(let s=0;si*e)throw new Error(s)}function Ei(e){return e instanceof Int8Array?-128:e instanceof Int16Array?-32768:e instanceof Int32Array?-2147483648:e instanceof Float32Array?12e-39:0}function Mi(e){return e instanceof Int8Array?127:e instanceof Uint8Array||e instanceof Uint8ClampedArray?255:e instanceof Int16Array?32767:e instanceof Uint16Array?65535:e instanceof Int32Array?2147483647:e instanceof Uint32Array?4294967295:e instanceof Float32Array?34e37:255}class Li extends ri{constructor(e){super({state:"loading",tileGrid:null,projection:e.projection||null,opaque:e.opaque,transition:e.transition,interpolate:!1!==e.interpolate,wrapX:e.wrapX}),this.sourceInfo_=e.sources;const t=this.sourceInfo_.length;this.sourceOptions_=e.sourceOptions,this.sourceImagery_=new Array(t),this.sourceMasks_=new Array(t),this.resolutionFactors_=new Array(t),this.samplesPerPixel_,this.nodataValues_,this.metadata_,this.normalize_=!1!==e.normalize,this.addAlpha_=!1,this.error_=null,this.convertToRGB_=e.convertToRGB||!1,this.setKey(this.sourceInfo_.map((e=>e.url)).join(","));const i=this,s=new Array(t);for(let r=0;r=0;--i){const e=t[i],s=xi(e);if(s){this.projection=s;break}}}configure_(e){let t,i,s,r,n;const o=new Array(e.length),a=new Array(e.length),l=new Array(e.length);let c=0;const h=e.length;for(let g=0;g{gi(e)?u.push(e):h.push(e)}));const d=h.length;if(u.length>0&&u.length!==d)throw new Error(`Expected one mask per image found ${u.length} masks and ${d} images`);let p,m;const f=new Array(d),y=new Array(d),v=new Array(d);a[g]=new Array(d),l[g]=new Array(d);for(let e=0;ev.length&&(c=n.length-v.length);const e=n[n.length-1]/v[v.length-1];this.resolutionFactors_[g]=e;const t=v.map((t=>t*e)),i=`Resolution mismatch for source ${g}, got [${t}] but expected [${n}]`;Ai(n.slice(c,n.length),t,.02,i,this.viewRejector)}else n=v,this.resolutionFactors_[g]=1;s?Ai(s.slice(c,s.length),y,.01,`Tile size mismatch for source ${g}`,this.viewRejector):s=y,r?Ai(r.slice(c,r.length),f,0,`Tile size mismatch for source ${g}`,this.viewRejector):r=f,this.sourceImagery_[g]=h.reverse(),this.sourceMasks_[g]=u.reverse()}for(let g=0,m=this.sourceImagery_.length;g=0&&this.getMap()&&(this.layers[i].right?e[t].un(["precompose","prerender"],this.precomposeRight_):e[t].un(["precompose","prerender"],this.precomposeLeft_),e[t].un(["postcompose","postrender"],this.postcompose_),this.layers.splice(i,1))}if(this.getMap())try{this.getMap().renderSync()}catch(s){}}getRectangle(){var e;return"vertical"===this.get("orientation")?(e=this.getMap().getSize(),[0,0,e[0]*this.get("position"),e[1]]):(e=this.getMap().getSize(),[0,0,e[0],e[1]*this.get("position")])}move(e){var t,i=this;switch(this._movefn||(this._movefn=this.move.bind(this)),e.type){case"touchcancel":case"touchend":case"mouseup":i.isMoving=!1,["mouseup","mousemove","touchend","touchcancel","touchmove"].forEach((function(e){document.removeEventListener(e,i._movefn)})),this.layers.forEach((function(e){e.layer.getImageRatio&&e.layer.changed()}));break;case"mousedown":case"touchstart":i.isMoving=!0,["mouseup","mousemove","touchend","touchcancel","touchmove"].forEach((function(e){document.addEventListener(e,i._movefn)}));case"mousemove":case"touchmove":if(i.isMoving)if("vertical"===i.get("orientation")){var s=e.pageX||e.touches&&e.touches.length&&e.touches[0].pageX||e.changedTouches&&e.changedTouches.length&&e.changedTouches[0].pageX;if(!s)break;s-=i.getMap().getTargetElement().getBoundingClientRect().left+window.pageXOffset-document.documentElement.clientLeft,t=i.getMap().getSize()[0];var r=t-Math.min(Math.max(0,t-s),t);t=r/t,i.set("position",t),i.dispatchEvent({type:"moving",size:[r,i.getMap().getSize()[1]],position:[t,0]})}else{var n=e.pageY||e.touches&&e.touches.length&&e.touches[0].pageY||e.changedTouches&&e.changedTouches.length&&e.changedTouches[0].pageY;if(!n)break;n-=i.getMap().getTargetElement().getBoundingClientRect().top+window.pageYOffset-document.documentElement.clientTop,t=i.getMap().getSize()[1];var o=t-Math.min(Math.max(0,t-n),t);t=o/t,i.set("position",t),i.dispatchEvent({type:"moving",size:[i.getMap().getSize()[0],o],position:[0,t]})}break;default:break}}_transformPt(e,t){var i=e.inversePixelTransform,s=t[0],r=t[1];return t[0]=i[0]*s+i[2]*r+i[4],t[1]=i[1]*s+i[3]*r+i[5],t}_drawRect(e,t){var i=e.inversePixelTransform;if(i){var s=[[t[0][0],t[0][1]],[t[0][0],t[1][1]],[t[1][0],t[1][1]],[t[1][0],t[0][1]],[t[0][0],t[0][1]]];if(e.context.save(),e.target.getImageRatio){var r=-Math.atan2(e.frameState.pixelToCoordinateTransform[1],e.frameState.pixelToCoordinateTransform[0]);e.context.translate(e.frameState.size[0]/2,e.frameState.size[1]/2),e.context.rotate(r),e.context.translate(-e.frameState.size[0]/2,-e.frameState.size[1]/2)}s.forEach((function(t,s){t=[t[0]*i[0]-t[1]*i[1]+i[4],-t[0]*i[2]+t[1]*i[3]+i[5]],s?e.context.lineTo(t[0],t[1]):e.context.moveTo(t[0],t[1])})),e.context.restore()}else{var n=e.frameState.pixelRatio;e.context.rect(t[0][0]*n,t[0][1]*n,t[1][0]*n,t[1][1]*n)}}precomposeLeft(e){var t=e.context;if(t instanceof WebGLRenderingContext){if("prerender"===e.type){this._lefttime!=e.frameState.time&&(t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),this._lefttime=e.frameState.time),t.enable(t.SCISSOR_TEST);var i,s,r=this.getMap().getSize(),n=this._transformPt(e,[0,r[1]]),o=this._transformPt(e,[r[0],0]),a=o[0]-n[0],l=o[1]-n[1];"vertical"===this.get("orientation")?(i=Math.round(a*this.get("position")),s=l):(i=a,s=Math.round(l*this.get("position")),n[1]+=l-s),t.scissor(n[0],n[1],i,s),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)}}else{var c=e.frameState.size;t.save(),t.beginPath();var h=[[0,0],[c[0],c[1]]];"vertical"===this.get("orientation")?h[1]=[.5*c[0]+this.getMap().getSize()[0]*(this.get("position")-.5),c[1]]:h[1]=[c[0],.5*c[1]+this.getMap().getSize()[1]*(this.get("position")-.5)],this._drawRect(e,h),t.clip()}}precomposeRight(e){var t=e.context;if(t instanceof WebGLRenderingContext){if("prerender"===e.type){this._righttime!=e.frameState.time&&(t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),this._righttime=e.frameState.time),t.enable(t.SCISSOR_TEST);var i,s,r=this.getMap().getSize(),n=this._transformPt(e,[0,r[1]]),o=this._transformPt(e,[r[0],0]),a=o[0]-n[0],l=o[1]-n[1];"vertical"===this.get("orientation")?(s=l,i=Math.round(a*(1-this.get("position"))),n[0]+=a-i):(i=a,s=Math.round(l*(1-this.get("position")))),t.scissor(n[0],n[1],i,s),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)}}else{var c=e.frameState.size;t.save(),t.beginPath();var h=[[0,0],[c[0],c[1]]];"vertical"===this.get("orientation")?h[0]=[.5*c[0]+this.getMap().getSize()[0]*(this.get("position")-.5),0]:h[0]=[0,.5*c[1]+this.getMap().getSize()[1]*(this.get("position")-.5)],this._drawRect(e,h),t.clip()}}postcompose(e){if(e.context instanceof WebGLRenderingContext){if("postrender"===e.type){var t=e.context;t.disable(t.SCISSOR_TEST)}}else e.target.getClassName&&"ol-layer"!==e.target.getClassName()&&e.target.get("declutter")?setTimeout((function(){e.context.restore()}),0):e.context.restore()}};const Pi=Ri,Ii={name:"MapViewer",mixins:[D.A,C.A,A.A,Lt],components:{AddDataControl:v,ChannelControl:x,Pane:l.Z,ScatterChart:c.A,Splitpanes:l.S,TextControl:E.A},props:{data:{}},data(){return{textControlText:"Value: -",loading:!0,chart:null,geotiffs:[],swipe:null,layerId:0}},computed:{...n.A.mapState(["connection"]),...n.A.mapState("editor",["appMode"]),isWebService(){return this.data instanceof Pt.Service&&"string"===typeof this.data.type},isGeoTiff(){return this.data instanceof o.A},isGeoJson(){return this.data instanceof a.A&&this.data.isGeoJson}},mounted(){this.$emit("mounted",this)},methods:{async renderMap(){try{let e,t;if(this.isGeoJson)t=await this.data.loadData(this.connection);else if(this.isGeoTiff){t=await this.data.loadData(this.connection);let i=t.getProjection();i&&(e=i)}else{if(!this.isWebService||!n.A.isMapServiceSupported(this.data.type))throw new Error("Sorry, the given data can't be shown on a web map.");if("wmts"===this.data.type.toLowerCase()){await this.initWMTSLayer(this.data)}}await this.createMap(e);const i=this.map.getLayers();if(i.on("add",(e=>{const t=e.element.get("geotiff");t&&(this.geotiffs.push(t),this.updateSwiper())})),i.on("remove",(e=>{const t=e.element.get("geotiff"),i=this.geotiffs.indexOf(t);i>-1&&(this.geotiffs.splice(i,1),this.updateSwiper())})),this.addLayerSwitcher(),this.addGeocoder((e=>{if(!e)return;let t=this.toExtent(e);t=(0,pt.transformExtent)(t,"EPSG:4326",this.map.getView().getProjection()),this.map.getView().fit(t,this.getFitOptions())})),this.isGeoJson)this.addBasemaps(),this.addGeoJson(t,!0);else if(this.isGeoTiff){let e=this.map.getView().getProjection();(e.basemap||["EPSG:3857","EPSG:4326"].includes(e.getCode()))&&this.addBasemaps(),this.addGeoTiff(t,t.title);let i=this.data.getContext();i&&this.addExtent(i,!1)}else this.isWebService&&n.A.isMapServiceSupported(this.data.type)&&(this.addBasemaps(),this.addWebService(this.data));this.$listeners&&this.$listeners.drop&&(this.map.getViewport().addEventListener("dragover",(e=>e.preventDefault())),this.map.getViewport().addEventListener("drop",this.$listeners.drop)),this.map.on("pointermove",this.onPointerMove),this.map.on("click",this.onClick)}catch(error){n.A.exception(this,error)}this.loading=!1},async addCollection(){let e=this.showWebService(this.data);try{let t=service.attributes.bbox,i=[...this.fromLonLat([t.west,t.south]),...this.fromLonLat([t.east,t.north])],s=new $t["default"]({title:"Extent",noSwitcherDelete:!0,source:new St["default"]({features:[new It["default"]((0,Nt.VY)(i))],projection:"EPSG:4326",wrapX:!1})});this.removeLayerFill(s),e.getLayers().push(s),this.map.getView().fit(i,this.getFitOptions(10))}catch(error){console.log(error)}},getPixelValues(e){return this.geotiffs.map((t=>{const i=t.layer;let s=i.getData(e);s=s?Array.from(s):[];const r=t.noData,n=r.length>0?s.pop():void 0;s=s.map((e=>0===n||r.includes(e)?NaN:e));const o=s.map(((e,i)=>{const s=t.bands[i];if(s){const e=String(s.name||s.id);if(e.length>0)return e}return String(i)}));return{title:i.get("title"),data:s,labels:o}}))},formatCoords(e){return e.map((e=>String(parseFloat(e.toFixed(6))))).join(", ")},formatValue({data:e}){return Array.isArray(e)&&0!==e.length?e.map((e=>(e=parseFloat(e.toFixed(6)),isNaN(e)?"no data":e))).join(" / "):"-"},onPointerMove(e){const t=this.getPixelValues(e.pixel);let i="-";1===t.length?i=this.formatValue(t[0]):t.length>1&&(i=t.map((e=>`\r\n- ${e.title}: ${this.formatValue(e)}`)).join(""));const s=t.length>1?"s":"",r=this.formatCoords(e.coordinate);this.textControlText=[`Value${s}: ${i}`,`Pixel Value${s}: ${i}\r\nCoordinate: ${r}`]},onClick(e){const t=this.getPixelValues(e.pixel),i=t.map((e=>e.data)).flat().filter((e=>isFinite(e)));if(i.length<2)return void(this.chart=null);let s=t.map((e=>e.labels)).flat();s=Array.from(new Set(s));const r=t.map((e=>{const t={};for(let i in e.data)t[e.labels[i]]=e.data[i];return{label:e.title,data:t}})),n=this.formatCoords(e.coordinate);this.chart={title:`Coordinate: ${n}`,labels:s,datasets:r}},closeChart(){this.chart=null},async addGeoTiff(e,t="GeoTiff"){const i=new Ft(e),s={nodata:i.noData[0]};e.getBlob()?s.blob=e.getBlob():s.url=e.getUrl();const r=new Fi({interpolate:!1,normalize:!1,convertToRGB:e.convertToRGB,sources:[s]}),n=new qt({id:e.getUrl(),title:t,source:r,className:"geotiff"+this.layerId++,cacheSize:2048});i.layer=n,n.set("geotiff",i),n.once("prerender",(()=>i.setStyle())),n.on("change:visible",(()=>this.updateSwiper())),this.addLayerToMap(n);let o=e.getExtent();return o&&this.map.getView().fit(o,this.getFitOptions(10)),n},async addData(e){if(e.length>5&&!n.A.confirmOpenAll(e))return;const t=e.map((async e=>(await e.loadData(this.connection),e instanceof o.A?await this.addGeoTiff(e,e.title):e instanceof a.A&&e.isGeoJson?await this.addGeoJson(e,!1,e.title):void n.A.error(this,new Error(`Sorry, the given data at ${e.href} is not supported.`)))));await Promise.all(t)},updateSwiper(){const e=this.map.getLayers().getArray().filter((e=>e.get("geotiff")&&e.getVisible()));if(2===e.length){if(this.swipe&&e.every(((e,t)=>e===this.swipe.layers[t])))return;const t={layers:e[0],rightLayers:e[1]},i=new Pi(t);this.swipe={control:i,layers:e},this.map.addControl(i)}else 2!==e.length&&this.swipe&&(this.map.removeControl(this.swipe.control),this.swipe=null)},updateGeoTiffStyle(e,t,i){switch(t){case"channels":e.channels=i,this.setOptions("channels",i);break}e.setStyle()}}},Ni=Ii;var $i=(0,f.A)(Ni,s,r,!1,null,null,null);const ji=$i.exports}}]); -//# sourceMappingURL=4368.cc37d5bf.js.map \ No newline at end of file +//# sourceMappingURL=4368.a38c89d2.js.map \ No newline at end of file diff --git a/js/4368.cc37d5bf.js.map b/js/4368.a38c89d2.js.map similarity index 99% rename from js/4368.cc37d5bf.js.map rename to js/4368.a38c89d2.js.map index d5ab66d9..7415034a 100644 --- a/js/4368.cc37d5bf.js.map +++ b/js/4368.a38c89d2.js.map @@ -1 +1 @@ -{"version":3,"file":"js/4368.cc37d5bf.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@kirtandesai/ol-geocoder/dist/ol-geocoder.js","webpack://@openeo/web-editor/./src/components/maps/osmgeocoder.js","webpack://@openeo/web-editor/src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue?9845","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue","webpack://@openeo/web-editor/src/components/maps/TextControl.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?1df8","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?c848","webpack://@openeo/web-editor/./src/components/viewer/MapViewer.vue","webpack://@openeo/web-editor/./src/components/maps/AddDataControl.vue","webpack://@openeo/web-editor/src/components/maps/AddDataControl.vue","webpack://@openeo/web-editor/./src/components/maps/AddDataControl.vue?91fa","webpack://@openeo/web-editor/./src/components/maps/AddDataControl.vue?3c55","webpack://@openeo/web-editor/./src/components/maps/ChannelControl.vue","webpack://@openeo/web-editor/src/components/maps/ChannelControl.vue","webpack://@openeo/web-editor/./src/components/maps/ChannelControl.vue?bc38","webpack://@openeo/web-editor/./src/components/maps/ChannelControl.vue?9e5e","webpack://@openeo/web-editor/./node_modules/ol/xml.js","webpack://@openeo/web-editor/./node_modules/ol/format/XML.js","webpack://@openeo/web-editor/./node_modules/ol/format/xlink.js","webpack://@openeo/web-editor/./node_modules/ol/format/xsd.js","webpack://@openeo/web-editor/./node_modules/ol/format/OWS.js","webpack://@openeo/web-editor/./node_modules/ol/format/WMTSCapabilities.js","webpack://@openeo/web-editor/./node_modules/ol/uri.js","webpack://@openeo/web-editor/./node_modules/ol/tilegrid/WMTS.js","webpack://@openeo/web-editor/./node_modules/ol/source/WMTS.js","webpack://@openeo/web-editor/./node_modules/ol-ext/control/Timeline.js","webpack://@openeo/web-editor/src/components/maps/WebServiceMixin.vue","webpack://@openeo/web-editor/./src/components/maps/WebServiceMixin.vue?c34d","webpack://@openeo/web-editor/./src/components/maps/WebServiceMixin.vue","webpack://@openeo/web-editor/./src/components/maps/geotiff/state.js","webpack://@openeo/web-editor/./src/components/maps/geotiff/fix.js","webpack://@openeo/web-editor/./node_modules/ol/webgl/styleparser.js","webpack://@openeo/web-editor/./node_modules/ol/layer/WebGLTile.js","webpack://@openeo/web-editor/./node_modules/ol/source/DataTile.js","webpack://@openeo/web-editor/./node_modules/geotiff/dist-module/pool.js","webpack://@openeo/web-editor/./node_modules/ol/source/GeoTIFF.js","webpack://@openeo/web-editor/./src/components/maps/Swipe.js","webpack://@openeo/web-editor/src/components/viewer/MapViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/MapViewer.vue?dbd2","webpack://@openeo/web-editor/./src/components/viewer/MapViewer.vue?e73e"],"sourcesContent":["/*!\n * @kirtandesai/ol-geocoder - v5.0.3\n * A geocoder extension compatible with OpenLayers v7.\n * https://github.com/kirtan-desai/ol-geocoder\n * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time)\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"ol/control/Control\"),require(\"ol/style/Style\"),require(\"ol/style/Icon\"),require(\"ol/layer/Vector\"),require(\"ol/source/Vector\"),require(\"ol/geom/Point\"),require(\"ol/Feature\"),require(\"ol/proj\")):\"function\"==typeof define&&define.amd?define([\"ol/control/Control\",\"ol/style/Style\",\"ol/style/Icon\",\"ol/layer/Vector\",\"ol/source/Vector\",\"ol/geom/Point\",\"ol/Feature\",\"ol/proj\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).Geocoder=t(e.ol.control.Control,e.ol.style.Style,e.ol.style.Icon,e.ol.layer.Vector,e.ol.source.Vector,e.ol.geom.Point,e.ol.Feature,e.ol.proj)}(this,(function(e,t,s,r,n,o,a,i){\"use strict\";function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var c=l(e),d=l(t),u=l(s),p=l(r),h=l(n),m=l(o),g=l(a),y=l(i),f=\"gcd-container\",b=\"gcd-button-control\",w=\"gcd-input-query\",v=\"gcd-input-reset\",$={namespace:\"ol-geocoder\",spin:\"gcd-pseudo-rotate\",hidden:\"gcd-hidden\",address:\"gcd-address\",country:\"gcd-country\",city:\"gcd-city\",road:\"gcd-road\",olControl:\"ol-control\",glass:{container:\"gcd-gl-container\",control:\"gcd-gl-control\",button:\"gcd-gl-btn\",input:\"gcd-gl-input\",expanded:\"gcd-gl-expanded\",reset:\"gcd-gl-reset\",result:\"gcd-gl-result\"},inputText:{container:\"gcd-txt-container\",control:\"gcd-txt-control\",input:\"gcd-txt-input\",reset:\"gcd-txt-reset\",icon:\"gcd-txt-glass\",result:\"gcd-txt-result\"}},k={containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$};const x=Object.freeze({__proto__:null,containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$,default:k}),q=\"addresschosen\",C=\"nominatim\",S=\"reverse\",L=\"glass-button\",j=\"text-input\",E=\"osm\",T=\"mapquest\",N=\"photon\",R=\"bing\",A=\"opencage\",P={provider:E,placeholder:\"Search for an address\",featureStyle:null,targetType:L,lang:\"en-US\",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function I(e,t=\"Assertion failed\"){if(!e){if(\"undefined\"!=typeof Error)throw new Error(t);throw t}}function _(e){const t=function(){if(\"performance\"in window==0&&(window.performance={}),\"now\"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function M(e){return/^\\d+$/u.test(e)}function O(e,t,s){if(Array.isArray(e))return void e.forEach((e=>O(e,t)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])||U(e,r[n],s)}function F(e,t,s){if(Array.isArray(e))return void e.forEach((e=>F(e,t,s)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])&&G(e,r[n],s)}function V(e,t){return e.classList?e.classList.contains(t):B(t).test(e.className)}function D(e,t){return e.replace(/\\{\\s*([\\w-]+)\\s*\\}/gu,((e,s)=>{const r=void 0===t[s]?\"\":t[s];return String(r).replaceAll(\"&\",\"&\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll('\"',\""\").replaceAll(\"'\",\"'\")}))}function Q(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eG(e,t)),s)}function G(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(B(t),\" \").trim(),s&&M(s)&&window.setTimeout((()=>U(e,t)),s)}const z=x.cssClasses;class H{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===j?(t=`${z.namespace} ${z.inputText.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.input),s={container:e,control:e.querySelector(`.${z.inputText.control}`),input:e.querySelector(`.${z.inputText.input}`),reset:e.querySelector(`.${z.inputText.reset}`),result:e.querySelector(`.${z.inputText.result}`)}):(t=`${z.namespace} ${z.glass.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.glass),s={container:e,control:e.querySelector(`.${z.glass.control}`),button:e.querySelector(`.${z.glass.button}`),input:e.querySelector(`.${z.glass.input}`),reset:e.querySelector(`.${z.glass.reset}`),result:e.querySelector(`.${z.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}H.glass=`\\n
                      \\n \\n \\n \\n
                      \\n
                        \\n`,H.input=`\\n
                        \\n \\n \\n \\n
                        \\n
                          \\n`;class K{constructor(){this.settings={url:\"https://photon.komoot.io/api/\",params:{q:\"\",limit:10,lang:\"en\"},langs:[\"de\",\"it\",\"fr\",\"en\"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class J{constructor(){this.settings={url:\"https://nominatim.openstreetmap.org/search/\",params:{q:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||\"\",houseNumber:e.address.house_number||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class W{constructor(){this.settings={url:\"https://open.mapquestapi.com/nominatim/v1/search.php\",params:{q:\"\",key:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:\"json\",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||\"\",road:e.address.road||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class X{constructor(){this.settings={url:\"https://dev.virtualearth.net/REST/v1/Locations\",callbackName:\"jsonp\",params:{query:\"\",key:\"\",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class Y{constructor(){this.settings={url:\"https://api.opencagedata.com/geocode/v1/json?\",params:{q:\"\",key:\"\",limit:10,countrycode:\"\",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||\"\",road:e.components.road||\"\",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const r=function(e,t){t&&\"object\"==typeof t&&(e+=(/\\?/u.test(e)?\"&\":\"?\")+ee(t));return e}(e.url,e.data),n={method:\"GET\",mode:\"cors\",credentials:\"same-origin\"};e.jsonp?function(e,t,s){const{head:r}=document,n=document.createElement(\"script\"),o=`f${Math.round(Math.random()*Date.now())}`;n.setAttribute(\"src\",`${e+(e.indexOf(\"?\")>0?\"&\":\"?\")+t}=${o}`),window[o]=e=>{window[o]=void 0,setTimeout((()=>r.removeChild(n)),0),s(e)},r.append(n)}(r,e.callbackName,t):fetch(r,n).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push(\"object\"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join(\"&\")}const te=x.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=_(\"geocoder-layer-\"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider=\"string\"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery=\"\",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),V(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener(\"keypress\",(e=>{const t=e.target.value.trim();(e.key?\"Enter\"===e.key:e.which?13===e.which:!!e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener(\"click\",(e=>e.stopPropagation()),!1),this.els.input.addEventListener(\"input\",(s=>{const r=s.target.value.trim();0!==r.length?F(this.els.reset,te.hidden):O(this.els.reset,te.hidden),this.options.autoComplete&&r!==t&&(t=r,e&&clearTimeout(e),e=setTimeout((()=>{r.length>=this.options.autoCompleteMinLength&&this.query(r)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener(\"click\",(e=>{this.els.input.focus(),this.els.input.value=\"\",this.lastQuery=\"\",O(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===L&&this.els.button.addEventListener(\"click\",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),O(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),F(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{F(this.els.reset,te.spin);const t=Q(\"li\",\"
                          Error! No internet connection?
                          \");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;if(this.options.provider===E)s=`${e.address.name}`;else s=this.addressTemplate(e.address);const r=Q(\"li\",`${s}`);r.addEventListener(\"click\",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(r)}))}chosen(e,t,s,r){const n=this.Base.getMap(),o=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],a=n.getView().getProjection(),i=y.default.transform(o,\"EPSG:4326\",a);let{bbox:l}=e;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],\"EPSG:4326\",a));const c={formatted:t,details:s,original:r};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:q,address:c,coordinate:i,bbox:l,place:e});else{l?n.getView().fit(l,{duration:500}):function(e,t,s=500,r=2.388657133911758){e.getView().animate({duration:s,resolution:r},{duration:s,center:t})}(n,i);const t=this.createFeature(i,c);this.Base.dispatchEvent({type:q,address:c,feature:t,coordinate:i,bbox:l,place:e})}}createFeature(e){const t=new g.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(_(\"geocoder-ft-\")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join(\"\")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join(\"\")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join(\"\")),(e.state||e.country)&&t.push(['{state} {country}'].join(\"\")),D(t.join(\"
                          \"),e)}newProvider(){switch(this.options.provider){case E:return new J;case T:return new W;case N:return new K;case R:return new X;case A:return new Y;default:return this.options.provider}}expand(){F(this.els.input,te.spin),O(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value=\"\",this.els.input.blur(),O(this.els.reset,te.hidden),F(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener(\"click\",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===L?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class re extends c.default{constructor(e=C,t={}){let s,r;I(\"string\"==typeof e,\"@param `type` should be string!\"),I(e===C||e===S,`@param 'type' should be '${C}'\\n or '${S}'!`),I(\"object\"==typeof t,\"@param `options` should be object!\"),P.featureStyle=[new d.default({image:new u.default({scale:.7,src:\"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png\"})})];const n=new H(t);if(e===C&&(s=n.els.container),super({element:s}),!(this instanceof re))return new re;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(P,t),this.container=s,e===C&&(r=new se(this,n.els),this.layer=r.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return re}));\n//# sourceMappingURL=ol-geocoder.js.map\n","export default class OSMGeocoder {\n\tconstructor(url, geojson = false) {\n\t\tthis.url = url;\n\t\tthis.geojson = geojson;\n\t}\n\n\tgetParameters(opt) {\n\t\treturn {\n\t\t\turl: this.url,\n\t\t\tparams: {\n\t\t\t\tq: opt.query,\n\t\t\t\tformat: 'json',\n\t\t\t\tlimit: 10,\n\t\t\t\t'accept-language': 'en',\n\t\t\t\tpolygon_geojson: this.geojson ? 1 : 0,\n\t\t\t\tpolygon_threshold: 0.001,\n\t\t\t},\n\t\t};\n\t}\n\n\thandleResponse(results) {\n\t\tif (results.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn results\n\t\t\t.filter(result => [\"boundary\", \"geological\", \"leisure\", \"natural\", \"place\", \"water\", \"waterway\"].includes(result.class))\n\t\t\t.map(result => ({\n\t\t\t\tlon: result.lon,\n\t\t\t\tlat: result.lat,\n\t\t\t\tbbox: result.boundingbox,\n\t\t\t\taddress: {\n\t\t\t\t\tname: result.display_name\n\t\t\t\t},\n\t\t\t\toriginal: {\n\t\t\t\t\tformatted: result.display_name,\n\t\t\t\t\tdetails: result.address,\n\t\t\t\t\tgeojson: result.geojson\n\t\t\t\t}\n\t\t\t}));\n\t}\n}","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nimport style0 from \"@kirtandesai/ol-geocoder/dist/ol-geocoder.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./GeocoderMixin.vue?vue&type=style&index=1&id=643f6883&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.texts.length > 0)?_c('div',{staticClass:\"ol-unselectable ol-control value\",class:{pointer: _vm.texts.length > 1},on:{\"click\":_vm.toggle}},[_vm._v(_vm._s(_vm.current))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextControl.vue?vue&type=template&id=52fec35a&scoped=true\"\nimport script from \"./TextControl.vue?vue&type=script&lang=js\"\nexport * from \"./TextControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextControl.vue?vue&type=style&index=0&id=52fec35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52fec35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Splitpanes',{staticClass:\"default-theme\",attrs:{\"horizontal\":\"\"}},[_c('Pane',{attrs:{\"id\":\"map\"}},[_c('div',{staticClass:\"map-viewer\",attrs:{\"id\":_vm.id}},[_c('ProgressControl',{ref:\"progress\",attrs:{\"map\":_vm.map}}),_c('UserLocationControl',{attrs:{\"map\":_vm.map}}),_c('AddDataControl',{attrs:{\"map\":_vm.map},on:{\"add\":_vm.addData}}),(_vm.isGeoTiff)?[_c('TextControl',{attrs:{\"text\":_vm.textControlText}}),_c('div',{staticClass:\"ol-unselectable ol-control geotiff-channels\"},[_vm._l((_vm.geotiffs),function(state){return [(!state.colorMap)?_c('ChannelControl',{key:state.layer.id,attrs:{\"bands\":state.bands,\"defaultChannels\":state.defaultChannels,\"title\":_vm.geotiffs.length > 1 ? state.layer.get('title') : ''},on:{\"update\":(type, data) => _vm.updateGeoTiffStyle(state, type, data)}}):_vm._e()]})],2)]:_vm._e(),(_vm.loading)?_c('div',{staticClass:\"map-loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_c('span',[_vm._v(\"Loading map...\")])]):_vm._e()],2)]),(_vm.chart)?_c('Pane',{attrs:{\"id\":\"chart\",\"size\":33}},[_c('span',{staticClass:\"close\",on:{\"click\":_vm.closeChart}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})]),_c('ScatterChart',_vm._b({attrs:{\"height\":220}},'ScatterChart',_vm.chart,false))],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ol-add-data ol-unselectable ol-control\",staticStyle:{\"pointer-events\":\"auto\"}},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add external data source\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-image\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddDataControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddDataControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AddDataControl.vue?vue&type=template&id=046026ef&scoped=true\"\nimport script from \"./AddDataControl.vue?vue&type=script&lang=js\"\nexport * from \"./AddDataControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./AddDataControl.vue?vue&type=style&index=0&id=046026ef&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"046026ef\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.channels.length > 0),expression:\"channels.length > 0\"}],staticClass:\"channels\"},[_c('table',[_c('thead',[(_vm.title)?_c('tr',[_c('th',{attrs:{\"colspan\":_vm.cols}},[_vm._v(_vm._s(_vm.title))])]):_vm._e(),_c('tr',[(!_vm.isGray)?_c('th',[_vm._v(\"Channel\")]):_vm._e(),(_vm.multiBand)?_c('th',[_vm._v(\"Band\")]):_vm._e(),_c('th',[_vm._v(\"Min\")]),_c('th',[_vm._v(\"Max\")])])]),_c('tbody',_vm._l((_vm.channels),function(channel,i){return _c('tr',{key:i},[(!_vm.isGray)?_c('th',[_vm._v(_vm._s(_vm.labels[i]))]):_vm._e(),(_vm.multiBand)?_c('td',[_c('select',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(channel.id),expression:\"channel.id\",modifiers:{\"number\":true}}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return _vm._n(val)}); _vm.$set(channel, \"id\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.bands),function(band){return _c('option',{key:band.id,domProps:{\"value\":band.id}},[_vm._v(_vm._s(band.name || band.id))])}),0)]):_vm._e(),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(channel.min),expression:\"channel.min\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"required\":\"\"},domProps:{\"value\":(channel.min)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(channel, \"min\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(channel.max),expression:\"channel.max\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"required\":\"\"},domProps:{\"value\":(channel.max)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(channel, \"max\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}})])])}),0),(_vm.multiBand)?_c('tfoot',[_c('tr',[_c('td',{attrs:{\"colspan\":_vm.cols}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isGray),expression:\"isGray\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.isGray)?_vm._i(_vm.isGray,null)>-1:(_vm.isGray)},on:{\"change\":function($event){var $$a=_vm.isGray,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isGray=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isGray=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isGray=$$c}}}}),_vm._v(\" Grayscale \")])])]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChannelControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChannelControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChannelControl.vue?vue&type=template&id=5223a7ca&scoped=true\"\nimport script from \"./ChannelControl.vue?vue&type=script&lang=js\"\nexport * from \"./ChannelControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChannelControl.vue?vue&type=style&index=0&id=5223a7ca&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5223a7ca\",\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/xml\n */\nimport {extend} from './array.js';\n\n/**\n * When using {@link module:ol/xml.makeChildAppender} or\n * {@link module:ol/xml.makeSimpleNodeFactory}, the top `objectStack` item needs\n * to have this structure.\n * @typedef {Object} NodeStackItem\n * @property {Element} node Node.\n */\n\n/**\n * @typedef {function(Element, Array<*>): void} Parser\n */\n\n/**\n * @typedef {function(Element, *, Array<*>): void} Serializer\n */\n\n/**\n * @type {string}\n */\nexport const XML_SCHEMA_INSTANCE_URI =\n 'http://www.w3.org/2001/XMLSchema-instance';\n\n/**\n * @param {string} namespaceURI Namespace URI.\n * @param {string} qualifiedName Qualified name.\n * @return {Element} Node.\n */\nexport function createElementNS(namespaceURI, qualifiedName) {\n return getDocument().createElementNS(namespaceURI, qualifiedName);\n}\n\n/**\n * Recursively grab all text content of child nodes into a single string.\n * @param {Node} node Node.\n * @param {boolean} normalizeWhitespace Normalize whitespace: remove all line\n * breaks.\n * @return {string} All text content.\n * @api\n */\nexport function getAllTextContent(node, normalizeWhitespace) {\n return getAllTextContent_(node, normalizeWhitespace, []).join('');\n}\n\n/**\n * Recursively grab all text content of child nodes into a single string.\n * @param {Node} node Node.\n * @param {boolean} normalizeWhitespace Normalize whitespace: remove all line\n * breaks.\n * @param {Array} accumulator Accumulator.\n * @private\n * @return {Array} Accumulator.\n */\nexport function getAllTextContent_(node, normalizeWhitespace, accumulator) {\n if (\n node.nodeType == Node.CDATA_SECTION_NODE ||\n node.nodeType == Node.TEXT_NODE\n ) {\n if (normalizeWhitespace) {\n accumulator.push(String(node.nodeValue).replace(/(\\r\\n|\\r|\\n)/g, ''));\n } else {\n accumulator.push(node.nodeValue);\n }\n } else {\n let n;\n for (n = node.firstChild; n; n = n.nextSibling) {\n getAllTextContent_(n, normalizeWhitespace, accumulator);\n }\n }\n return accumulator;\n}\n\n/**\n * @param {Object} object Object.\n * @return {boolean} Is a document.\n */\nexport function isDocument(object) {\n return 'documentElement' in object;\n}\n\n/**\n * @param {Element} node Node.\n * @param {?string} namespaceURI Namespace URI.\n * @param {string} name Attribute name.\n * @return {string} Value\n */\nexport function getAttributeNS(node, namespaceURI, name) {\n return node.getAttributeNS(namespaceURI, name) || '';\n}\n\n/**\n * Parse an XML string to an XML Document.\n * @param {string} xml XML.\n * @return {Document} Document.\n * @api\n */\nexport function parse(xml) {\n return new DOMParser().parseFromString(xml, 'application/xml');\n}\n\n/**\n * Make an array extender function for extending the array at the top of the\n * object stack.\n * @param {function(this: T, Node, Array<*>): (Array<*>|undefined)} valueReader Value reader.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeArrayExtender(valueReader, thisArg) {\n return (\n /**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n const array = /** @type {Array<*>} */ (\n objectStack[objectStack.length - 1]\n );\n extend(array, value);\n }\n }\n );\n}\n\n/**\n * Make an array pusher function for pushing to the array at the top of the\n * object stack.\n * @param {function(this: T, Element, Array<*>): *} valueReader Value reader.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeArrayPusher(valueReader, thisArg) {\n return (\n /**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n const array = /** @type {Array<*>} */ (\n objectStack[objectStack.length - 1]\n );\n array.push(value);\n }\n }\n );\n}\n\n/**\n * Make an object stack replacer function for replacing the object at the\n * top of the stack.\n * @param {function(this: T, Node, Array<*>): *} valueReader Value reader.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeReplacer(valueReader, thisArg) {\n return (\n /**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n objectStack[objectStack.length - 1] = value;\n }\n }\n );\n}\n\n/**\n * Make an object property pusher function for adding a property to the\n * object at the top of the stack.\n * @param {function(this: T, Element, Array<*>): *} valueReader Value reader.\n * @param {string} [property] Property.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeObjectPropertyPusher(valueReader, property, thisArg) {\n return (\n /**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n const object = /** @type {!Object} */ (\n objectStack[objectStack.length - 1]\n );\n const name = property !== undefined ? property : node.localName;\n let array;\n if (name in object) {\n array = object[name];\n } else {\n array = [];\n object[name] = array;\n }\n array.push(value);\n }\n }\n );\n}\n\n/**\n * Make an object property setter function.\n * @param {function(this: T, Element, Array<*>): *} valueReader Value reader.\n * @param {string} [property] Property.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeObjectPropertySetter(valueReader, property, thisArg) {\n return (\n /**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n const object = /** @type {!Object} */ (\n objectStack[objectStack.length - 1]\n );\n const name = property !== undefined ? property : node.localName;\n object[name] = value;\n }\n }\n );\n}\n\n/**\n * Create a serializer that appends nodes written by its `nodeWriter` to its\n * designated parent. The parent is the `node` of the\n * {@link module:ol/xml~NodeStackItem} at the top of the `objectStack`.\n * @param {function(this: T, Node, V, Array<*>): void} nodeWriter Node writer.\n * @param {T} [thisArg] The object to use as `this` in `nodeWriter`.\n * @return {Serializer} Serializer.\n * @template T, V\n */\nexport function makeChildAppender(nodeWriter, thisArg) {\n return function (node, value, objectStack) {\n nodeWriter.call(\n thisArg !== undefined ? thisArg : this,\n node,\n value,\n objectStack,\n );\n const parent = /** @type {NodeStackItem} */ (\n objectStack[objectStack.length - 1]\n );\n const parentNode = parent.node;\n parentNode.appendChild(node);\n };\n}\n\n/**\n * Create a serializer that calls the provided `nodeWriter` from\n * {@link module:ol/xml.serialize}. This can be used by the parent writer to have the\n * `nodeWriter` called with an array of values when the `nodeWriter` was\n * designed to serialize a single item. An example would be a LineString\n * geometry writer, which could be reused for writing MultiLineString\n * geometries.\n * @param {function(this: T, Element, V, Array<*>): void} nodeWriter Node writer.\n * @param {T} [thisArg] The object to use as `this` in `nodeWriter`.\n * @return {Serializer} Serializer.\n * @template T, V\n */\nexport function makeArraySerializer(nodeWriter, thisArg) {\n let serializersNS, nodeFactory;\n return function (node, value, objectStack) {\n if (serializersNS === undefined) {\n serializersNS = {};\n const serializers = {};\n serializers[node.localName] = nodeWriter;\n serializersNS[node.namespaceURI] = serializers;\n nodeFactory = makeSimpleNodeFactory(node.localName);\n }\n serialize(serializersNS, nodeFactory, value, objectStack);\n };\n}\n\n/**\n * Create a node factory which can use the `keys` passed to\n * {@link module:ol/xml.serialize} or {@link module:ol/xml.pushSerializeAndPop} as node names,\n * or a fixed node name. The namespace of the created nodes can either be fixed,\n * or the parent namespace will be used.\n * @param {string} [fixedNodeName] Fixed node name which will be used for all\n * created nodes. If not provided, the 3rd argument to the resulting node\n * factory needs to be provided and will be the nodeName.\n * @param {string} [fixedNamespaceURI] Fixed namespace URI which will be used for\n * all created nodes. If not provided, the namespace of the parent node will\n * be used.\n * @return {function(*, Array<*>, string=): (Node|undefined)} Node factory.\n */\nexport function makeSimpleNodeFactory(fixedNodeName, fixedNamespaceURI) {\n return (\n /**\n * @param {*} value Value.\n * @param {Array<*>} objectStack Object stack.\n * @param {string} [newNodeName] Node name.\n * @return {Node} Node.\n */\n function (value, objectStack, newNodeName) {\n const context = /** @type {NodeStackItem} */ (\n objectStack[objectStack.length - 1]\n );\n const node = context.node;\n let nodeName = fixedNodeName;\n if (nodeName === undefined) {\n nodeName = newNodeName;\n }\n\n const namespaceURI =\n fixedNamespaceURI !== undefined ? fixedNamespaceURI : node.namespaceURI;\n return createElementNS(namespaceURI, /** @type {string} */ (nodeName));\n }\n );\n}\n\n/**\n * A node factory that creates a node using the parent's `namespaceURI` and the\n * `nodeName` passed by {@link module:ol/xml.serialize} or\n * {@link module:ol/xml.pushSerializeAndPop} to the node factory.\n * @const\n * @type {function(*, Array<*>, string=): (Node|undefined)}\n */\nexport const OBJECT_PROPERTY_NODE_FACTORY = makeSimpleNodeFactory();\n\n/**\n * Create an array of `values` to be used with {@link module:ol/xml.serialize} or\n * {@link module:ol/xml.pushSerializeAndPop}, where `orderedKeys` has to be provided as\n * `key` argument.\n * @param {Object} object Key-value pairs for the sequence. Keys can\n * be a subset of the `orderedKeys`.\n * @param {Array} orderedKeys Keys in the order of the sequence.\n * @return {Array<*>} Values in the order of the sequence. The resulting array\n * has the same length as the `orderedKeys` array. Values that are not\n * present in `object` will be `undefined` in the resulting array.\n */\nexport function makeSequence(object, orderedKeys) {\n const length = orderedKeys.length;\n const sequence = new Array(length);\n for (let i = 0; i < length; ++i) {\n sequence[i] = object[orderedKeys[i]];\n }\n return sequence;\n}\n\n/**\n * Create a namespaced structure, using the same values for each namespace.\n * This can be used as a starting point for versioned parsers, when only a few\n * values are version specific.\n * @param {Array} namespaceURIs Namespace URIs.\n * @param {T} structure Structure.\n * @param {Object} [structureNS] Namespaced structure to add to.\n * @return {Object} Namespaced structure.\n * @template T\n */\nexport function makeStructureNS(namespaceURIs, structure, structureNS) {\n structureNS = structureNS !== undefined ? structureNS : {};\n let i, ii;\n for (i = 0, ii = namespaceURIs.length; i < ii; ++i) {\n structureNS[namespaceURIs[i]] = structure;\n }\n return structureNS;\n}\n\n/**\n * Parse a node using the parsers and object stack.\n * @param {Object>} parsersNS\n * Parsers by namespace.\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @param {*} [thisArg] The object to use as `this`.\n */\nexport function parseNode(parsersNS, node, objectStack, thisArg) {\n let n;\n for (n = node.firstElementChild; n; n = n.nextElementSibling) {\n const parsers = parsersNS[n.namespaceURI];\n if (parsers !== undefined) {\n const parser = parsers[n.localName];\n if (parser !== undefined) {\n parser.call(thisArg, n, objectStack);\n }\n }\n }\n}\n\n/**\n * Push an object on top of the stack, parse and return the popped object.\n * @param {T} object Object.\n * @param {Object>} parsersNS\n * Parsers by namespace.\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @param {*} [thisArg] The object to use as `this`.\n * @return {T} Object.\n * @template T\n */\nexport function pushParseAndPop(object, parsersNS, node, objectStack, thisArg) {\n objectStack.push(object);\n parseNode(parsersNS, node, objectStack, thisArg);\n return /** @type {T} */ (objectStack.pop());\n}\n\n/**\n * Walk through an array of `values` and call a serializer for each value.\n * @param {Object>} serializersNS\n * Namespaced serializers.\n * @param {function(this: T, *, Array<*>, (string|undefined)): (Node|undefined)} nodeFactory\n * Node factory. The `nodeFactory` creates the node whose namespace and name\n * will be used to choose a node writer from `serializersNS`. This\n * separation allows us to decide what kind of node to create, depending on\n * the value we want to serialize. An example for this would be different\n * geometry writers based on the geometry type.\n * @param {Array<*>} values Values to serialize. An example would be an array\n * of {@link module:ol/Feature~Feature} instances.\n * @param {Array<*>} objectStack Node stack.\n * @param {Array} [keys] Keys of the `values`. Will be passed to the\n * `nodeFactory`. This is used for serializing object literals where the\n * node name relates to the property key. The array length of `keys` has\n * to match the length of `values`. For serializing a sequence, `keys`\n * determines the order of the sequence.\n * @param {T} [thisArg] The object to use as `this` for the node factory and\n * serializers.\n * @template T\n */\nexport function serialize(\n serializersNS,\n nodeFactory,\n values,\n objectStack,\n keys,\n thisArg,\n) {\n const length = (keys !== undefined ? keys : values).length;\n let value, node;\n for (let i = 0; i < length; ++i) {\n value = values[i];\n if (value !== undefined) {\n node = nodeFactory.call(\n thisArg !== undefined ? thisArg : this,\n value,\n objectStack,\n keys !== undefined ? keys[i] : undefined,\n );\n if (node !== undefined) {\n serializersNS[node.namespaceURI][node.localName].call(\n thisArg,\n node,\n value,\n objectStack,\n );\n }\n }\n }\n}\n\n/**\n * @param {O} object Object.\n * @param {Object>} serializersNS\n * Namespaced serializers.\n * @param {function(this: T, *, Array<*>, (string|undefined)): (Node|undefined)} nodeFactory\n * Node factory. The `nodeFactory` creates the node whose namespace and name\n * will be used to choose a node writer from `serializersNS`. This\n * separation allows us to decide what kind of node to create, depending on\n * the value we want to serialize. An example for this would be different\n * geometry writers based on the geometry type.\n * @param {Array<*>} values Values to serialize. An example would be an array\n * of {@link module:ol/Feature~Feature} instances.\n * @param {Array<*>} objectStack Node stack.\n * @param {Array} [keys] Keys of the `values`. Will be passed to the\n * `nodeFactory`. This is used for serializing object literals where the\n * node name relates to the property key. The array length of `keys` has\n * to match the length of `values`. For serializing a sequence, `keys`\n * determines the order of the sequence.\n * @param {T} [thisArg] The object to use as `this` for the node factory and\n * serializers.\n * @return {O|undefined} Object.\n * @template O, T\n */\nexport function pushSerializeAndPop(\n object,\n serializersNS,\n nodeFactory,\n values,\n objectStack,\n keys,\n thisArg,\n) {\n objectStack.push(object);\n serialize(serializersNS, nodeFactory, values, objectStack, keys, thisArg);\n return /** @type {O|undefined} */ (objectStack.pop());\n}\n\nlet xmlSerializer_ = undefined;\n\n/**\n * Register a XMLSerializer. Can be used to inject a XMLSerializer\n * where there is no globally available implementation.\n *\n * @param {XMLSerializer} xmlSerializer A XMLSerializer.\n * @api\n */\nexport function registerXMLSerializer(xmlSerializer) {\n xmlSerializer_ = xmlSerializer;\n}\n\n/**\n * @return {XMLSerializer} The XMLSerializer.\n */\nexport function getXMLSerializer() {\n if (xmlSerializer_ === undefined && typeof XMLSerializer !== 'undefined') {\n xmlSerializer_ = new XMLSerializer();\n }\n return xmlSerializer_;\n}\n\nlet document_ = undefined;\n\n/**\n * Register a Document to use when creating nodes for XML serializations. Can be used\n * to inject a Document where there is no globally available implementation.\n *\n * @param {Document} document A Document.\n * @api\n */\nexport function registerDocument(document) {\n document_ = document;\n}\n\n/**\n * Get a document that should be used when creating nodes for XML serializations.\n * @return {Document} The document.\n */\nexport function getDocument() {\n if (document_ === undefined && typeof document !== 'undefined') {\n document_ = document.implementation.createDocument('', '', null);\n }\n return document_;\n}\n","/**\n * @module ol/format/XML\n */\nimport {abstract} from '../util.js';\nimport {isDocument, parse} from '../xml.js';\n\n/**\n * @classdesc\n * Generic format for reading non-feature XML data\n *\n * @abstract\n */\nclass XML {\n /**\n * Read the source document.\n *\n * @param {Document|Element|string} source The XML source.\n * @return {Object|null} An object representing the source.\n * @api\n */\n read(source) {\n if (!source) {\n return null;\n }\n if (typeof source === 'string') {\n const doc = parse(source);\n return this.readFromDocument(doc);\n }\n if (isDocument(source)) {\n return this.readFromDocument(/** @type {Document} */ (source));\n }\n return this.readFromNode(/** @type {Element} */ (source));\n }\n\n /**\n * @param {Document} doc Document.\n * @return {Object|null} Object\n */\n readFromDocument(doc) {\n for (let n = doc.firstChild; n; n = n.nextSibling) {\n if (n.nodeType == Node.ELEMENT_NODE) {\n return this.readFromNode(/** @type {Element} */ (n));\n }\n }\n return null;\n }\n\n /**\n * @abstract\n * @param {Element} node Node.\n * @return {Object|null} Object\n */\n readFromNode(node) {\n abstract();\n }\n}\n\nexport default XML;\n","/**\n * @module ol/format/xlink\n */\n\n/**\n * @const\n * @type {string}\n */\nconst NAMESPACE_URI = 'http://www.w3.org/1999/xlink';\n\n/**\n * @param {Element} node Node.\n * @return {string|null} href.\n */\nexport function readHref(node) {\n return node.getAttributeNS(NAMESPACE_URI, 'href');\n}\n","/**\n * @module ol/format/xsd\n */\nimport {getAllTextContent, getDocument} from '../xml.js';\nimport {padNumber} from '../string.js';\n\n/**\n * @param {Node} node Node.\n * @return {boolean|undefined} Boolean.\n */\nexport function readBoolean(node) {\n const s = getAllTextContent(node, false);\n return readBooleanString(s);\n}\n\n/**\n * @param {string} string String.\n * @return {boolean|undefined} Boolean.\n */\nexport function readBooleanString(string) {\n const m = /^\\s*(true|1)|(false|0)\\s*$/.exec(string);\n if (m) {\n return m[1] !== undefined || false;\n }\n return undefined;\n}\n\n/**\n * @param {Node} node Node.\n * @return {number|undefined} DateTime in seconds.\n */\nexport function readDateTime(node) {\n const s = getAllTextContent(node, false);\n const dateTime = Date.parse(s);\n return isNaN(dateTime) ? undefined : dateTime / 1000;\n}\n\n/**\n * @param {Node} node Node.\n * @return {number|undefined} Decimal.\n */\nexport function readDecimal(node) {\n const s = getAllTextContent(node, false);\n return readDecimalString(s);\n}\n\n/**\n * @param {string} string String.\n * @return {number|undefined} Decimal.\n */\nexport function readDecimalString(string) {\n // FIXME check spec\n const m = /^\\s*([+\\-]?\\d*\\.?\\d+(?:e[+\\-]?\\d+)?)\\s*$/i.exec(string);\n if (m) {\n return parseFloat(m[1]);\n }\n return undefined;\n}\n\n/**\n * @param {Node} node Node.\n * @return {number|undefined} Non negative integer.\n */\nexport function readPositiveInteger(node) {\n const s = getAllTextContent(node, false);\n return readNonNegativeIntegerString(s);\n}\n\n/**\n * @param {string} string String.\n * @return {number|undefined} Non negative integer.\n */\nexport function readNonNegativeIntegerString(string) {\n const m = /^\\s*(\\d+)\\s*$/.exec(string);\n if (m) {\n return parseInt(m[1], 10);\n }\n return undefined;\n}\n\n/**\n * @param {Node} node Node.\n * @return {string|undefined} String.\n */\nexport function readString(node) {\n return getAllTextContent(node, false).trim();\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the boolean to.\n * @param {boolean} bool Boolean.\n */\nexport function writeBooleanTextNode(node, bool) {\n writeStringTextNode(node, bool ? '1' : '0');\n}\n\n/**\n * @param {Node} node Node to append a CDATA Section with the string to.\n * @param {string} string String.\n */\nexport function writeCDATASection(node, string) {\n node.appendChild(getDocument().createCDATASection(string));\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the dateTime to.\n * @param {number} dateTime DateTime in seconds.\n */\nexport function writeDateTimeTextNode(node, dateTime) {\n const date = new Date(dateTime * 1000);\n const string =\n date.getUTCFullYear() +\n '-' +\n padNumber(date.getUTCMonth() + 1, 2) +\n '-' +\n padNumber(date.getUTCDate(), 2) +\n 'T' +\n padNumber(date.getUTCHours(), 2) +\n ':' +\n padNumber(date.getUTCMinutes(), 2) +\n ':' +\n padNumber(date.getUTCSeconds(), 2) +\n 'Z';\n node.appendChild(getDocument().createTextNode(string));\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the decimal to.\n * @param {number} decimal Decimal.\n */\nexport function writeDecimalTextNode(node, decimal) {\n const string = decimal.toPrecision();\n node.appendChild(getDocument().createTextNode(string));\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the decimal to.\n * @param {number} nonNegativeInteger Non negative integer.\n */\nexport function writeNonNegativeIntegerTextNode(node, nonNegativeInteger) {\n const string = nonNegativeInteger.toString();\n node.appendChild(getDocument().createTextNode(string));\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the string to.\n * @param {string} string String.\n */\nexport function writeStringTextNode(node, string) {\n node.appendChild(getDocument().createTextNode(string));\n}\n","/**\n * @module ol/format/OWS\n */\nimport XML from './XML.js';\nimport {\n makeObjectPropertyPusher,\n makeObjectPropertySetter,\n makeStructureNS,\n pushParseAndPop,\n} from '../xml.js';\nimport {readHref} from './xlink.js';\nimport {readString} from './xsd.js';\n\n/**\n * @const\n * @type {Array}\n */\nconst NAMESPACE_URIS = [null, 'http://www.opengis.net/ows/1.1'];\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'ServiceIdentification': makeObjectPropertySetter(readServiceIdentification),\n 'ServiceProvider': makeObjectPropertySetter(readServiceProvider),\n 'OperationsMetadata': makeObjectPropertySetter(readOperationsMetadata),\n});\n\nclass OWS extends XML {\n constructor() {\n super();\n }\n\n /**\n * @param {Element} node Node.\n * @return {Object|null} Object\n */\n readFromNode(node) {\n const owsObject = pushParseAndPop({}, PARSERS, node, []);\n return owsObject ? owsObject : null;\n }\n}\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst ADDRESS_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'DeliveryPoint': makeObjectPropertySetter(readString),\n 'City': makeObjectPropertySetter(readString),\n 'AdministrativeArea': makeObjectPropertySetter(readString),\n 'PostalCode': makeObjectPropertySetter(readString),\n 'Country': makeObjectPropertySetter(readString),\n 'ElectronicMailAddress': makeObjectPropertySetter(readString),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst ALLOWED_VALUES_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Value': makeObjectPropertyPusher(readValue),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst CONSTRAINT_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'AllowedValues': makeObjectPropertySetter(readAllowedValues),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst CONTACT_INFO_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Phone': makeObjectPropertySetter(readPhone),\n 'Address': makeObjectPropertySetter(readAddress),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst DCP_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'HTTP': makeObjectPropertySetter(readHttp),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst HTTP_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Get': makeObjectPropertyPusher(readGet),\n 'Post': undefined, // TODO\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst OPERATION_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'DCP': makeObjectPropertySetter(readDcp),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst OPERATIONS_METADATA_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Operation': readOperation,\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst PHONE_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Voice': makeObjectPropertySetter(readString),\n 'Facsimile': makeObjectPropertySetter(readString),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst REQUEST_METHOD_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Constraint': makeObjectPropertyPusher(readConstraint),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst SERVICE_CONTACT_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'IndividualName': makeObjectPropertySetter(readString),\n 'PositionName': makeObjectPropertySetter(readString),\n 'ContactInfo': makeObjectPropertySetter(readContactInfo),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst SERVICE_IDENTIFICATION_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Abstract': makeObjectPropertySetter(readString),\n 'AccessConstraints': makeObjectPropertySetter(readString),\n 'Fees': makeObjectPropertySetter(readString),\n 'Title': makeObjectPropertySetter(readString),\n 'ServiceTypeVersion': makeObjectPropertySetter(readString),\n 'ServiceType': makeObjectPropertySetter(readString),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst SERVICE_PROVIDER_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'ProviderName': makeObjectPropertySetter(readString),\n 'ProviderSite': makeObjectPropertySetter(readHref),\n 'ServiceContact': makeObjectPropertySetter(readServiceContact),\n});\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The address.\n */\nfunction readAddress(node, objectStack) {\n return pushParseAndPop({}, ADDRESS_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The values.\n */\nfunction readAllowedValues(node, objectStack) {\n return pushParseAndPop({}, ALLOWED_VALUES_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The constraint.\n */\nfunction readConstraint(node, objectStack) {\n const name = node.getAttribute('name');\n if (!name) {\n return undefined;\n }\n return pushParseAndPop({'name': name}, CONSTRAINT_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The contact info.\n */\nfunction readContactInfo(node, objectStack) {\n return pushParseAndPop({}, CONTACT_INFO_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The DCP.\n */\nfunction readDcp(node, objectStack) {\n return pushParseAndPop({}, DCP_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The GET object.\n */\nfunction readGet(node, objectStack) {\n const href = readHref(node);\n if (!href) {\n return undefined;\n }\n return pushParseAndPop(\n {'href': href},\n REQUEST_METHOD_PARSERS,\n node,\n objectStack,\n );\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The HTTP object.\n */\nfunction readHttp(node, objectStack) {\n return pushParseAndPop({}, HTTP_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The operation.\n */\nfunction readOperation(node, objectStack) {\n const name = node.getAttribute('name');\n const value = pushParseAndPop({}, OPERATION_PARSERS, node, objectStack);\n if (!value) {\n return undefined;\n }\n const object = /** @type {Object} */ (objectStack[objectStack.length - 1]);\n object[name] = value;\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The operations metadata.\n */\nfunction readOperationsMetadata(node, objectStack) {\n return pushParseAndPop({}, OPERATIONS_METADATA_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The phone.\n */\nfunction readPhone(node, objectStack) {\n return pushParseAndPop({}, PHONE_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The service identification.\n */\nfunction readServiceIdentification(node, objectStack) {\n return pushParseAndPop({}, SERVICE_IDENTIFICATION_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The service contact.\n */\nfunction readServiceContact(node, objectStack) {\n return pushParseAndPop({}, SERVICE_CONTACT_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The service provider.\n */\nfunction readServiceProvider(node, objectStack) {\n return pushParseAndPop({}, SERVICE_PROVIDER_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {string|undefined} The value.\n */\nfunction readValue(node, objectStack) {\n return readString(node);\n}\n\nexport default OWS;\n","/**\n * @module ol/format/WMTSCapabilities\n */\nimport OWS from './OWS.js';\nimport XML from './XML.js';\nimport {boundingExtent} from '../extent.js';\nimport {\n makeArrayPusher,\n makeObjectPropertyPusher,\n makeObjectPropertySetter,\n makeStructureNS,\n pushParseAndPop,\n} from '../xml.js';\nimport {readDecimal, readPositiveInteger, readString} from './xsd.js';\nimport {readHref} from './xlink.js';\n\n/**\n * @const\n * @type {Array}\n */\nconst NAMESPACE_URIS = [null, 'http://www.opengis.net/wmts/1.0'];\n\n/**\n * @const\n * @type {Array}\n */\nconst OWS_NAMESPACE_URIS = [null, 'http://www.opengis.net/ows/1.1'];\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Contents': makeObjectPropertySetter(readContents),\n});\n\n/**\n * @classdesc\n * Format for reading WMTS capabilities data.\n *\n * @api\n */\nclass WMTSCapabilities extends XML {\n constructor() {\n super();\n\n /**\n * @type {OWS}\n * @private\n */\n this.owsParser_ = new OWS();\n }\n\n /**\n * @param {Element} node Node.\n * @return {Object|null} Object\n */\n readFromNode(node) {\n let version = node.getAttribute('version');\n if (version) {\n version = version.trim();\n }\n let WMTSCapabilityObject = this.owsParser_.readFromNode(node);\n if (!WMTSCapabilityObject) {\n return null;\n }\n WMTSCapabilityObject['version'] = version;\n WMTSCapabilityObject = pushParseAndPop(\n WMTSCapabilityObject,\n PARSERS,\n node,\n [],\n );\n return WMTSCapabilityObject ? WMTSCapabilityObject : null;\n }\n}\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst CONTENTS_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Layer': makeObjectPropertyPusher(readLayer),\n 'TileMatrixSet': makeObjectPropertyPusher(readTileMatrixSet),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst LAYER_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'Style': makeObjectPropertyPusher(readStyle),\n 'Format': makeObjectPropertyPusher(readString),\n 'TileMatrixSetLink': makeObjectPropertyPusher(readTileMatrixSetLink),\n 'Dimension': makeObjectPropertyPusher(readDimensions),\n 'ResourceURL': makeObjectPropertyPusher(readResourceUrl),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'Title': makeObjectPropertySetter(readString),\n 'Abstract': makeObjectPropertySetter(readString),\n 'WGS84BoundingBox': makeObjectPropertySetter(readBoundingBox),\n 'BoundingBox': makeObjectPropertyPusher(readBoundingBoxWithCrs),\n 'Identifier': makeObjectPropertySetter(readString),\n }),\n);\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst STYLE_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'LegendURL': makeObjectPropertyPusher(readLegendUrl),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'Title': makeObjectPropertySetter(readString),\n 'Identifier': makeObjectPropertySetter(readString),\n }),\n);\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TMS_LINKS_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'TileMatrixSet': makeObjectPropertySetter(readString),\n 'TileMatrixSetLimits': makeObjectPropertySetter(readTileMatrixLimitsList),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TMS_LIMITS_LIST_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'TileMatrixLimits': makeArrayPusher(readTileMatrixLimits),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TMS_LIMITS_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'TileMatrix': makeObjectPropertySetter(readString),\n 'MinTileRow': makeObjectPropertySetter(readPositiveInteger),\n 'MaxTileRow': makeObjectPropertySetter(readPositiveInteger),\n 'MinTileCol': makeObjectPropertySetter(readPositiveInteger),\n 'MaxTileCol': makeObjectPropertySetter(readPositiveInteger),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst DIMENSION_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'Default': makeObjectPropertySetter(readString),\n 'Value': makeObjectPropertyPusher(readString),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'Identifier': makeObjectPropertySetter(readString),\n }),\n);\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst WGS84_BBOX_READERS = makeStructureNS(OWS_NAMESPACE_URIS, {\n 'LowerCorner': makeArrayPusher(readCoordinates),\n 'UpperCorner': makeArrayPusher(readCoordinates),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TMS_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'WellKnownScaleSet': makeObjectPropertySetter(readString),\n 'TileMatrix': makeObjectPropertyPusher(readTileMatrix),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'SupportedCRS': makeObjectPropertySetter(readString),\n 'Identifier': makeObjectPropertySetter(readString),\n 'BoundingBox': makeObjectPropertySetter(readBoundingBox),\n }),\n);\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TM_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'TopLeftCorner': makeObjectPropertySetter(readCoordinates),\n 'ScaleDenominator': makeObjectPropertySetter(readDecimal),\n 'TileWidth': makeObjectPropertySetter(readPositiveInteger),\n 'TileHeight': makeObjectPropertySetter(readPositiveInteger),\n 'MatrixWidth': makeObjectPropertySetter(readPositiveInteger),\n 'MatrixHeight': makeObjectPropertySetter(readPositiveInteger),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'Identifier': makeObjectPropertySetter(readString),\n }),\n);\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Attribution object.\n */\nfunction readContents(node, objectStack) {\n return pushParseAndPop({}, CONTENTS_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Layers object.\n */\nfunction readLayer(node, objectStack) {\n return pushParseAndPop({}, LAYER_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Tile Matrix Set object.\n */\nfunction readTileMatrixSet(node, objectStack) {\n return pushParseAndPop({}, TMS_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Style object.\n */\nfunction readStyle(node, objectStack) {\n const style = pushParseAndPop({}, STYLE_PARSERS, node, objectStack);\n if (!style) {\n return undefined;\n }\n const isDefault = node.getAttribute('isDefault') === 'true';\n style['isDefault'] = isDefault;\n return style;\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Tile Matrix Set Link object.\n */\nfunction readTileMatrixSetLink(node, objectStack) {\n return pushParseAndPop({}, TMS_LINKS_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Dimension object.\n */\nfunction readDimensions(node, objectStack) {\n return pushParseAndPop({}, DIMENSION_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Resource URL object.\n */\nfunction readResourceUrl(node, objectStack) {\n const format = node.getAttribute('format');\n const template = node.getAttribute('template');\n const resourceType = node.getAttribute('resourceType');\n const resource = {};\n if (format) {\n resource['format'] = format;\n }\n if (template) {\n resource['template'] = template;\n }\n if (resourceType) {\n resource['resourceType'] = resourceType;\n }\n return resource;\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} BBox object.\n */\nfunction readBoundingBox(node, objectStack) {\n const coordinates = pushParseAndPop(\n [],\n WGS84_BBOX_READERS,\n node,\n objectStack,\n );\n if (coordinates.length != 2) {\n return undefined;\n }\n return boundingExtent(coordinates);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} BBox object.\n */\nfunction readBoundingBoxWithCrs(node, objectStack) {\n const crs = node.getAttribute('crs');\n const coordinates = pushParseAndPop(\n [],\n WGS84_BBOX_READERS,\n node,\n objectStack,\n );\n if (coordinates.length != 2) {\n return undefined;\n }\n return {extent: boundingExtent(coordinates), crs: crs};\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Legend object.\n */\nfunction readLegendUrl(node, objectStack) {\n const legend = {};\n legend['format'] = node.getAttribute('format');\n legend['href'] = readHref(node);\n return legend;\n}\n\n/**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Coordinates object.\n */\nfunction readCoordinates(node, objectStack) {\n const coordinates = readString(node).split(/\\s+/);\n if (!coordinates || coordinates.length != 2) {\n return undefined;\n }\n const x = +coordinates[0];\n const y = +coordinates[1];\n if (isNaN(x) || isNaN(y)) {\n return undefined;\n }\n return [x, y];\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} TileMatrix object.\n */\nfunction readTileMatrix(node, objectStack) {\n return pushParseAndPop({}, TM_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} TileMatrixSetLimits Object.\n */\nfunction readTileMatrixLimitsList(node, objectStack) {\n return pushParseAndPop([], TMS_LIMITS_LIST_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} TileMatrixLimits Array.\n */\nfunction readTileMatrixLimits(node, objectStack) {\n return pushParseAndPop({}, TMS_LIMITS_PARSERS, node, objectStack);\n}\n\nexport default WMTSCapabilities;\n","/**\n * @module ol/uri\n */\n\n/**\n * Appends query parameters to a URI.\n *\n * @param {string} uri The original URI, which may already have query data.\n * @param {!Object} params An object where keys are URI-encoded parameter keys,\n * and the values are arbitrary types or arrays.\n * @return {string} The new URI.\n */\nexport function appendParams(uri, params) {\n /** @type {Array} */\n const keyParams = [];\n // Skip any null or undefined parameter values\n Object.keys(params).forEach(function (k) {\n if (params[k] !== null && params[k] !== undefined) {\n keyParams.push(k + '=' + encodeURIComponent(params[k]));\n }\n });\n const qs = keyParams.join('&');\n // remove any trailing ? or &\n uri = uri.replace(/[?&]$/, '');\n // append ? or & depending on whether uri has existing parameters\n uri += uri.includes('?') ? '&' : '?';\n return uri + qs;\n}\n","/**\n * @module ol/tilegrid/WMTS\n */\n\nimport TileGrid from './TileGrid.js';\nimport {get as getProjection} from '../proj.js';\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../extent.js\").Extent} [extent] Extent for the tile grid. No tiles\n * outside this extent will be requested by {@link module:ol/source/Tile~TileSource} sources.\n * When no `origin` or `origins` are configured, the `origin` will be set to the\n * top-left corner of the extent.\n * @property {import(\"../coordinate.js\").Coordinate} [origin] The tile grid origin, i.e.\n * where the `x` and `y` axes meet (`[z, 0, 0]`). Tile coordinates increase left\n * to right and downwards. If not specified, `extent` or `origins` must be provided.\n * @property {Array} [origins] Tile grid origins,\n * i.e. where the `x` and `y` axes meet (`[z, 0, 0]`), for each zoom level. If\n * given, the array length should match the length of the `resolutions` array, i.e.\n * each resolution can have a different origin. Tile coordinates increase left to\n * right and downwards. If not specified, `extent` or `origin` must be provided.\n * @property {!Array} resolutions Resolutions. The array index of each\n * resolution needs to match the zoom level. This means that even if a `minZoom`\n * is configured, the resolutions array will have a length of `maxZoom + 1`\n * @property {!Array} matrixIds matrix IDs. The length of this array needs\n * to match the length of the `resolutions` array.\n * @property {Array} [sizes] Number of tile rows and columns\n * of the grid for each zoom level. The values here are the `TileMatrixWidth` and\n * `TileMatrixHeight` advertised in the GetCapabilities response of the WMTS, and\n * define each zoom level's extent together with the `origin` or `origins`.\n * A grid `extent` can be configured in addition, and will further limit the extent for\n * which tile requests are made by sources. If the bottom-left corner of\n * an extent is used as `origin` or `origins`, then the `y` value must be\n * negative because OpenLayers tile coordinates use the top left as the origin.\n * @property {number|import(\"../size.js\").Size} [tileSize] Tile size.\n * @property {Array} [tileSizes] Tile sizes. The length of\n * this array needs to match the length of the `resolutions` array.\n */\n\n/**\n * @classdesc\n * Set the grid pattern for sources accessing WMTS tiled-image servers.\n * @api\n */\nclass WMTSTileGrid extends TileGrid {\n /**\n * @param {Options} options WMTS options.\n */\n constructor(options) {\n super({\n extent: options.extent,\n origin: options.origin,\n origins: options.origins,\n resolutions: options.resolutions,\n tileSize: options.tileSize,\n tileSizes: options.tileSizes,\n sizes: options.sizes,\n });\n\n /**\n * @private\n * @type {!Array}\n */\n this.matrixIds_ = options.matrixIds;\n }\n\n /**\n * @param {number} z Z.\n * @return {string} MatrixId..\n */\n getMatrixId(z) {\n return this.matrixIds_[z];\n }\n\n /**\n * Get the list of matrix identifiers.\n * @return {Array} MatrixIds.\n * @api\n */\n getMatrixIds() {\n return this.matrixIds_;\n }\n}\n\nexport default WMTSTileGrid;\n\n/**\n * Create a tile grid from a WMTS capabilities matrix set and an\n * optional TileMatrixSetLimits.\n * @param {Object} matrixSet An object representing a matrixSet in the\n * capabilities document.\n * @param {import(\"../extent.js\").Extent} [extent] An optional extent to restrict the tile\n * ranges the server provides.\n * @param {Array} [matrixLimits] An optional object representing\n * the available matrices for tileGrid.\n * @return {WMTSTileGrid} WMTS tileGrid instance.\n * @api\n */\nexport function createFromCapabilitiesMatrixSet(\n matrixSet,\n extent,\n matrixLimits,\n) {\n /** @type {!Array} */\n const resolutions = [];\n /** @type {!Array} */\n const matrixIds = [];\n /** @type {!Array} */\n const origins = [];\n /** @type {!Array} */\n const tileSizes = [];\n /** @type {!Array} */\n const sizes = [];\n\n matrixLimits = matrixLimits !== undefined ? matrixLimits : [];\n\n const supportedCRSPropName = 'SupportedCRS';\n const matrixIdsPropName = 'TileMatrix';\n const identifierPropName = 'Identifier';\n const scaleDenominatorPropName = 'ScaleDenominator';\n const topLeftCornerPropName = 'TopLeftCorner';\n const tileWidthPropName = 'TileWidth';\n const tileHeightPropName = 'TileHeight';\n\n const code = matrixSet[supportedCRSPropName];\n const projection = getProjection(code);\n const metersPerUnit = projection.getMetersPerUnit();\n // swap origin x and y coordinates if axis orientation is lat/long\n const switchOriginXY = projection.getAxisOrientation().substr(0, 2) == 'ne';\n\n matrixSet[matrixIdsPropName].sort(function (a, b) {\n return b[scaleDenominatorPropName] - a[scaleDenominatorPropName];\n });\n\n matrixSet[matrixIdsPropName].forEach(function (elt) {\n let matrixAvailable;\n // use of matrixLimits to filter TileMatrices from GetCapabilities\n // TileMatrixSet from unavailable matrix levels.\n if (matrixLimits.length > 0) {\n matrixAvailable = matrixLimits.find(function (elt_ml) {\n if (elt[identifierPropName] == elt_ml[matrixIdsPropName]) {\n return true;\n }\n // Fallback for tileMatrix identifiers that don't get prefixed\n // by their tileMatrixSet identifiers.\n if (!elt[identifierPropName].includes(':')) {\n return (\n matrixSet[identifierPropName] + ':' + elt[identifierPropName] ===\n elt_ml[matrixIdsPropName]\n );\n }\n return false;\n });\n } else {\n matrixAvailable = true;\n }\n\n if (matrixAvailable) {\n matrixIds.push(elt[identifierPropName]);\n const resolution =\n (elt[scaleDenominatorPropName] * 0.28e-3) / metersPerUnit;\n const tileWidth = elt[tileWidthPropName];\n const tileHeight = elt[tileHeightPropName];\n if (switchOriginXY) {\n origins.push([\n elt[topLeftCornerPropName][1],\n elt[topLeftCornerPropName][0],\n ]);\n } else {\n origins.push(elt[topLeftCornerPropName]);\n }\n resolutions.push(resolution);\n tileSizes.push(\n tileWidth == tileHeight ? tileWidth : [tileWidth, tileHeight],\n );\n sizes.push([elt['MatrixWidth'], elt['MatrixHeight']]);\n }\n });\n\n return new WMTSTileGrid({\n extent: extent,\n origins: origins,\n resolutions: resolutions,\n matrixIds: matrixIds,\n tileSizes: tileSizes,\n sizes: sizes,\n });\n}\n","/**\n * @module ol/source/WMTS\n */\n\nimport TileImage from './TileImage.js';\nimport {appendParams} from '../uri.js';\nimport {containsExtent} from '../extent.js';\nimport {createFromCapabilitiesMatrixSet} from '../tilegrid/WMTS.js';\nimport {createFromTileUrlFunctions, expandUrl} from '../tileurlfunction.js';\nimport {equivalent, get as getProjection, transformExtent} from '../proj.js';\n\n/**\n * Request encoding. One of 'KVP', 'REST'.\n * @typedef {'KVP' | 'REST'} RequestEncoding\n */\n\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {number} [cacheSize] Initial tile cache size. Will auto-grow to hold at least the number of tiles in the viewport.\n * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that\n * you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.\n * @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,\n * linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.\n * @property {import(\"../tilegrid/WMTS.js\").default} tileGrid Tile grid.\n * @property {import(\"../proj.js\").ProjectionLike} [projection] Projection. Default is the view projection.\n * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).\n * Higher values can increase reprojection performance, but decrease precision.\n * @property {RequestEncoding} [requestEncoding='KVP'] Request encoding.\n * @property {string} layer Layer name as advertised in the WMTS capabilities.\n * @property {string} style Style name as advertised in the WMTS capabilities.\n * @property {typeof import(\"../ImageTile.js\").default} [tileClass] Class used to instantiate image tiles. Default is {@link module:ol/ImageTile~ImageTile}.\n * @property {number} [tilePixelRatio=1] The pixel ratio used by the tile service.\n * For example, if the tile service advertizes 256px by 256px tiles but actually sends 512px\n * by 512px images (for retina/hidpi devices) then `tilePixelRatio`\n * should be set to `2`.\n * @property {string} [format='image/jpeg'] Image format. Only used when `requestEncoding` is `'KVP'`.\n * @property {string} [version='1.0.0'] WMTS version.\n * @property {string} matrixSet Matrix set.\n * @property {!Object} [dimensions] Additional \"dimensions\" for tile requests.\n * This is an object with properties named like the advertised WMTS dimensions.\n * @property {string} [url] A URL for the service.\n * For the RESTful request encoding, this is a URL\n * template. For KVP encoding, it is normal URL. A `{?-?}` template pattern,\n * for example `subdomain{a-f}.domain.com`, may be used instead of defining\n * each one separately in the `urls` option.\n * @property {import(\"../Tile.js\").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is\n * ```js\n * function(imageTile, src) {\n * imageTile.getImage().src = src;\n * };\n * ```\n * @property {Array} [urls] An array of URLs.\n * Requests will be distributed among the URLs in this array.\n * @property {boolean} [wrapX=false] Whether to wrap the world horizontally.\n * @property {number} [transition] Duration of the opacity transition for rendering.\n * To disable the opacity transition, pass `transition: 0`.\n * @property {number|import(\"../array.js\").NearestDirectionFunction} [zDirection=0]\n * Choose whether to use tiles with a higher or lower zoom level when between integer\n * zoom levels. See {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution}.\n */\n\n/**\n * @classdesc\n * Layer source for tile data from WMTS servers.\n * @api\n */\nclass WMTS extends TileImage {\n /**\n * @param {Options} options WMTS options.\n */\n constructor(options) {\n // TODO: add support for TileMatrixLimits\n\n const requestEncoding =\n options.requestEncoding !== undefined ? options.requestEncoding : 'KVP';\n\n // FIXME: should we create a default tileGrid?\n // we could issue a getCapabilities xhr to retrieve missing configuration\n const tileGrid = options.tileGrid;\n\n let urls = options.urls;\n if (urls === undefined && options.url !== undefined) {\n urls = expandUrl(options.url);\n }\n\n super({\n attributions: options.attributions,\n attributionsCollapsible: options.attributionsCollapsible,\n cacheSize: options.cacheSize,\n crossOrigin: options.crossOrigin,\n interpolate: options.interpolate,\n projection: options.projection,\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\n tileClass: options.tileClass,\n tileGrid: tileGrid,\n tileLoadFunction: options.tileLoadFunction,\n tilePixelRatio: options.tilePixelRatio,\n urls: urls,\n wrapX: options.wrapX !== undefined ? options.wrapX : false,\n transition: options.transition,\n zDirection: options.zDirection,\n });\n\n /**\n * @private\n * @type {string}\n */\n this.version_ = options.version !== undefined ? options.version : '1.0.0';\n\n /**\n * @private\n * @type {string}\n */\n this.format_ = options.format !== undefined ? options.format : 'image/jpeg';\n\n /**\n * @private\n * @type {!Object}\n */\n this.dimensions_ =\n options.dimensions !== undefined ? options.dimensions : {};\n\n /**\n * @private\n * @type {string}\n */\n this.layer_ = options.layer;\n\n /**\n * @private\n * @type {string}\n */\n this.matrixSet_ = options.matrixSet;\n\n /**\n * @private\n * @type {string}\n */\n this.style_ = options.style;\n\n // FIXME: should we guess this requestEncoding from options.url(s)\n // structure? that would mean KVP only if a template is not provided.\n\n /**\n * @private\n * @type {RequestEncoding}\n */\n this.requestEncoding_ = requestEncoding;\n\n this.setKey(this.getKeyForDimensions_());\n\n if (urls && urls.length > 0) {\n this.tileUrlFunction = createFromTileUrlFunctions(\n urls.map(this.createFromWMTSTemplate.bind(this)),\n );\n }\n }\n\n /**\n * Set the URLs to use for requests.\n * URLs may contain OGC conform URL Template Variables: {TileMatrix}, {TileRow}, {TileCol}.\n * @param {Array} urls URLs.\n */\n setUrls(urls) {\n this.urls = urls;\n const key = urls.join('\\n');\n this.setTileUrlFunction(\n createFromTileUrlFunctions(\n urls.map(this.createFromWMTSTemplate.bind(this)),\n ),\n key,\n );\n }\n\n /**\n * Get the dimensions, i.e. those passed to the constructor through the\n * \"dimensions\" option, and possibly updated using the updateDimensions\n * method.\n * @return {!Object} Dimensions.\n * @api\n */\n getDimensions() {\n return this.dimensions_;\n }\n\n /**\n * Return the image format of the WMTS source.\n * @return {string} Format.\n * @api\n */\n getFormat() {\n return this.format_;\n }\n\n /**\n * Return the layer of the WMTS source.\n * @return {string} Layer.\n * @api\n */\n getLayer() {\n return this.layer_;\n }\n\n /**\n * Return the matrix set of the WMTS source.\n * @return {string} MatrixSet.\n * @api\n */\n getMatrixSet() {\n return this.matrixSet_;\n }\n\n /**\n * Return the request encoding, either \"KVP\" or \"REST\".\n * @return {RequestEncoding} Request encoding.\n * @api\n */\n getRequestEncoding() {\n return this.requestEncoding_;\n }\n\n /**\n * Return the style of the WMTS source.\n * @return {string} Style.\n * @api\n */\n getStyle() {\n return this.style_;\n }\n\n /**\n * Return the version of the WMTS source.\n * @return {string} Version.\n * @api\n */\n getVersion() {\n return this.version_;\n }\n\n /**\n * @private\n * @return {string} The key for the current dimensions.\n */\n getKeyForDimensions_() {\n const res = this.urls ? this.urls.slice(0) : [];\n for (const key in this.dimensions_) {\n res.push(key + '-' + this.dimensions_[key]);\n }\n return res.join('/');\n }\n\n /**\n * Update the dimensions.\n * @param {Object} dimensions Dimensions.\n * @api\n */\n updateDimensions(dimensions) {\n Object.assign(this.dimensions_, dimensions);\n this.setKey(this.getKeyForDimensions_());\n }\n\n /**\n * @param {string} template Template.\n * @return {import(\"../Tile.js\").UrlFunction} Tile URL function.\n */\n createFromWMTSTemplate(template) {\n const requestEncoding = this.requestEncoding_;\n\n // context property names are lower case to allow for a case insensitive\n // replacement as some services use different naming conventions\n const context = {\n 'layer': this.layer_,\n 'style': this.style_,\n 'tilematrixset': this.matrixSet_,\n };\n\n if (requestEncoding == 'KVP') {\n Object.assign(context, {\n 'Service': 'WMTS',\n 'Request': 'GetTile',\n 'Version': this.version_,\n 'Format': this.format_,\n });\n }\n\n // TODO: we may want to create our own appendParams function so that params\n // order conforms to wmts spec guidance, and so that we can avoid to escape\n // special template params\n\n template =\n requestEncoding == 'KVP'\n ? appendParams(template, context)\n : template.replace(/\\{(\\w+?)\\}/g, function (m, p) {\n return p.toLowerCase() in context ? context[p.toLowerCase()] : m;\n });\n\n const tileGrid = /** @type {import(\"../tilegrid/WMTS.js\").default} */ (\n this.tileGrid\n );\n const dimensions = this.dimensions_;\n\n return (\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {string|undefined} Tile URL.\n */\n function (tileCoord, pixelRatio, projection) {\n if (!tileCoord) {\n return undefined;\n }\n const localContext = {\n 'TileMatrix': tileGrid.getMatrixId(tileCoord[0]),\n 'TileCol': tileCoord[1],\n 'TileRow': tileCoord[2],\n };\n Object.assign(localContext, dimensions);\n let url = template;\n if (requestEncoding == 'KVP') {\n url = appendParams(url, localContext);\n } else {\n url = url.replace(/\\{(\\w+?)\\}/g, function (m, p) {\n return localContext[p];\n });\n }\n return url;\n }\n );\n }\n}\n\nexport default WMTS;\n\n/**\n * Generate source options from a capabilities object.\n * @param {Object} wmtsCap An object representing the capabilities document.\n * @param {!Object} config Configuration properties for the layer. Defaults for\n * the layer will apply if not provided.\n *\n * Required config properties:\n * - layer - {string} The layer identifier.\n *\n * Optional config properties:\n * - matrixSet - {string} The matrix set identifier, required if there is\n * more than one matrix set in the layer capabilities.\n * - projection - {string} The desired CRS when no matrixSet is specified.\n * eg: \"EPSG:3857\". If the desired projection is not available,\n * an error is thrown.\n * - requestEncoding - {string} url encoding format for the layer. Default is\n * the first tile url format found in the GetCapabilities response.\n * - style - {string} The name of the style\n * - format - {string} Image format for the layer. Default is the first\n * format returned in the GetCapabilities response.\n * - crossOrigin - {string|null|undefined} Cross origin. Default is `undefined`.\n * @return {Options|null} WMTS source options object or `null` if the layer was not found.\n * @api\n */\nexport function optionsFromCapabilities(wmtsCap, config) {\n const layers = wmtsCap['Contents']['Layer'];\n const l = layers?.find(function (elt) {\n return elt['Identifier'] == config['layer'];\n });\n if (!l) {\n return null;\n }\n const tileMatrixSets = wmtsCap['Contents']['TileMatrixSet'];\n let idx;\n if (l['TileMatrixSetLink'].length > 1) {\n if ('projection' in config) {\n idx = l['TileMatrixSetLink'].findIndex(function (elt) {\n const tileMatrixSet = tileMatrixSets.find(function (el) {\n return el['Identifier'] == elt['TileMatrixSet'];\n });\n const supportedCRS = tileMatrixSet['SupportedCRS'];\n const proj1 = getProjection(supportedCRS);\n const proj2 = getProjection(config['projection']);\n if (proj1 && proj2) {\n return equivalent(proj1, proj2);\n }\n return supportedCRS == config['projection'];\n });\n } else {\n idx = l['TileMatrixSetLink'].findIndex(function (elt) {\n return elt['TileMatrixSet'] == config['matrixSet'];\n });\n }\n } else {\n idx = 0;\n }\n if (idx < 0) {\n idx = 0;\n }\n const matrixSet =\n /** @type {string} */\n (l['TileMatrixSetLink'][idx]['TileMatrixSet']);\n const matrixLimits =\n /** @type {Array} */\n (l['TileMatrixSetLink'][idx]['TileMatrixSetLimits']);\n\n let format = /** @type {string} */ (l['Format'][0]);\n if ('format' in config) {\n format = config['format'];\n }\n idx = l['Style'].findIndex(function (elt) {\n if ('style' in config) {\n return elt['Title'] == config['style'];\n }\n return elt['isDefault'];\n });\n if (idx < 0) {\n idx = 0;\n }\n const style = /** @type {string} */ (l['Style'][idx]['Identifier']);\n\n const dimensions = {};\n if ('Dimension' in l) {\n l['Dimension'].forEach(function (elt, index, array) {\n const key = elt['Identifier'];\n let value = elt['Default'];\n if (value === undefined) {\n value = elt['Value'][0];\n }\n dimensions[key] = value;\n });\n }\n\n const matrixSets = wmtsCap['Contents']['TileMatrixSet'];\n const matrixSetObj = matrixSets.find(function (elt) {\n return elt['Identifier'] == matrixSet;\n });\n\n let projection;\n const code = matrixSetObj['SupportedCRS'];\n if (code) {\n projection = getProjection(code);\n }\n if ('projection' in config) {\n const projConfig = getProjection(config['projection']);\n if (projConfig) {\n if (!projection || equivalent(projConfig, projection)) {\n projection = projConfig;\n }\n }\n }\n\n let wrapX = false;\n const switchXY = projection.getAxisOrientation().substr(0, 2) == 'ne';\n\n let matrix = matrixSetObj.TileMatrix[0];\n\n // create default matrixLimit\n let selectedMatrixLimit = {\n MinTileCol: 0,\n MinTileRow: 0,\n // subtract one to end up at tile top left\n MaxTileCol: matrix.MatrixWidth - 1,\n MaxTileRow: matrix.MatrixHeight - 1,\n };\n\n //in case of matrix limits, use matrix limits to calculate extent\n if (matrixLimits) {\n selectedMatrixLimit = matrixLimits[matrixLimits.length - 1];\n const m = matrixSetObj.TileMatrix.find(\n (tileMatrixValue) =>\n tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix ||\n matrixSetObj.Identifier + ':' + tileMatrixValue.Identifier ===\n selectedMatrixLimit.TileMatrix,\n );\n if (m) {\n matrix = m;\n }\n }\n\n const resolution =\n (matrix.ScaleDenominator * 0.00028) / projection.getMetersPerUnit(); // WMTS 1.0.0: standardized rendering pixel size\n const origin = switchXY\n ? [matrix.TopLeftCorner[1], matrix.TopLeftCorner[0]]\n : matrix.TopLeftCorner;\n const tileSpanX = matrix.TileWidth * resolution;\n const tileSpanY = matrix.TileHeight * resolution;\n let matrixSetExtent = matrixSetObj['BoundingBox'];\n if (matrixSetExtent && switchXY) {\n matrixSetExtent = [\n matrixSetExtent[1],\n matrixSetExtent[0],\n matrixSetExtent[3],\n matrixSetExtent[2],\n ];\n }\n let extent = [\n origin[0] + tileSpanX * selectedMatrixLimit.MinTileCol,\n // add one to get proper bottom/right coordinate\n origin[1] - tileSpanY * (1 + selectedMatrixLimit.MaxTileRow),\n origin[0] + tileSpanX * (1 + selectedMatrixLimit.MaxTileCol),\n origin[1] - tileSpanY * selectedMatrixLimit.MinTileRow,\n ];\n\n if (\n matrixSetExtent !== undefined &&\n !containsExtent(matrixSetExtent, extent)\n ) {\n const wgs84BoundingBox = l['WGS84BoundingBox'];\n const wgs84ProjectionExtent = getProjection('EPSG:4326').getExtent();\n extent = matrixSetExtent;\n if (wgs84BoundingBox) {\n wrapX =\n wgs84BoundingBox[0] === wgs84ProjectionExtent[0] &&\n wgs84BoundingBox[2] === wgs84ProjectionExtent[2];\n } else {\n const wgs84MatrixSetExtent = transformExtent(\n matrixSetExtent,\n matrixSetObj['SupportedCRS'],\n 'EPSG:4326',\n );\n // Ignore slight deviation from the correct x limits\n wrapX =\n wgs84MatrixSetExtent[0] - 1e-10 <= wgs84ProjectionExtent[0] &&\n wgs84MatrixSetExtent[2] + 1e-10 >= wgs84ProjectionExtent[2];\n }\n }\n\n const tileGrid = createFromCapabilitiesMatrixSet(\n matrixSetObj,\n extent,\n matrixLimits,\n );\n\n /** @type {!Array} */\n const urls = [];\n let requestEncoding = config['requestEncoding'];\n requestEncoding = requestEncoding !== undefined ? requestEncoding : '';\n\n if (\n 'OperationsMetadata' in wmtsCap &&\n 'GetTile' in wmtsCap['OperationsMetadata']\n ) {\n const gets = wmtsCap['OperationsMetadata']['GetTile']['DCP']['HTTP']['Get'];\n\n for (let i = 0, ii = gets.length; i < ii; ++i) {\n if (gets[i]['Constraint']) {\n const constraint = gets[i]['Constraint'].find(function (element) {\n return element['name'] == 'GetEncoding';\n });\n const encodings = constraint['AllowedValues']['Value'];\n\n if (requestEncoding === '') {\n // requestEncoding not provided, use the first encoding from the list\n requestEncoding = encodings[0];\n }\n if (requestEncoding === 'KVP') {\n if (encodings.includes('KVP')) {\n urls.push(/** @type {string} */ (gets[i]['href']));\n }\n } else {\n break;\n }\n } else if (gets[i]['href']) {\n requestEncoding = 'KVP';\n urls.push(/** @type {string} */ (gets[i]['href']));\n }\n }\n }\n if (urls.length === 0) {\n requestEncoding = 'REST';\n l['ResourceURL'].forEach(function (element) {\n if (element['resourceType'] === 'tile') {\n format = element['format'];\n urls.push(/** @type {string} */ (element['template']));\n }\n });\n }\n\n return {\n urls: urls,\n layer: config['layer'],\n matrixSet: matrixSet,\n format: format,\n projection: projection,\n requestEncoding: requestEncoding,\n tileGrid: tileGrid,\n style: style,\n dimensions: dimensions,\n wrapX: wrapX,\n crossOrigin: config['crossOrigin'],\n };\n}\n","/*eslint no-constant-condition: [\"error\", { \"checkLoops\": false }]*/\r\nimport ol_source_Vector from 'ol/source/Vector.js'\r\nimport ol_control_Control from 'ol/control/Control.js'\r\nimport ol_ext_element from '../util/element.js'\r\n\r\n/** Timeline control\r\n *\r\n * @constructor\r\n * @extends {ol.control.Control}\r\n * @fires select\r\n * @fires scroll\r\n * @fires collapse\r\n * @param {Object=} options Control options.\r\n *\t@param {String} options.className class of the control\r\n *\t@param {Array} options.features Features to show in the timeline\r\n *\t@param {ol.SourceImageOptions.vector} options.source class of the control\r\n *\t@param {Number} options.interval time interval length in ms or a text with a format d, h, mn, s (31 days = '31d'), default none\r\n *\t@param {String} options.maxWidth width of the time line in px, default 2000px\r\n *\t@param {String} options.minDate minimum date \r\n *\t@param {String} options.maxDate maximum date \r\n *\t@param {Number} options.minZoom Minimum zoom for the line, default .2\r\n *\t@param {Number} options.maxZoom Maximum zoom for the line, default 4\r\n *\t@param {boolean} options.zoomButton Are zoom buttons avaliable, default false\r\n *\t@param {function} options.getHTML a function that takes a feature and returns the html to display\r\n *\t@param {function} options.getFeatureDate a function that takes a feature and returns its date, default the date propertie\r\n *\t@param {function} options.endFeatureDate a function that takes a feature and returns its end date, default no end date\r\n *\t@param {String} options.graduation day|month to show month or day graduation, default show only years\r\n *\t@param {String} options.scrollTimeout Time in milliseconds to get a scroll event, default 15ms\r\n */\r\nvar ol_control_Timeline = class olcontrolTimeline extends ol_control_Control {\r\n constructor(options) {\r\n\r\n var element = ol_ext_element.create('DIV', {\r\n className: (options.className || '') + ' ol-timeline'\r\n + (options.target ? '' : ' ol-unselectable ol-control')\r\n + (options.zoomButton ? ' ol-hasbutton' : '')\r\n });\r\n\r\n // Initialize\r\n super({\r\n element: element,\r\n target: options.target\r\n });\r\n\r\n // Scroll div\r\n this._scrollDiv = ol_ext_element.create('DIV', {\r\n className: 'ol-scroll',\r\n parent: this.element\r\n });\r\n\r\n // Add a button bar\r\n this._buttons = ol_ext_element.create('DIV', {\r\n className: 'ol-buttons',\r\n parent: this.element\r\n });\r\n // Zoom buttons\r\n if (options.zoomButton) {\r\n // Zoom in\r\n this.addButton({\r\n className: 'ol-zoom-in',\r\n handleClick: function () {\r\n var zoom = this.get('zoom');\r\n if (zoom >= 1) {\r\n zoom++;\r\n } else {\r\n zoom = Math.min(1, zoom + 0.1);\r\n }\r\n zoom = Math.round(zoom * 100) / 100;\r\n this.refresh(zoom);\r\n }.bind(this)\r\n });\r\n // Zoom out\r\n this.addButton({\r\n className: 'ol-zoom-out',\r\n handleClick: function () {\r\n var zoom = this.get('zoom');\r\n if (zoom > 1) {\r\n zoom--;\r\n } else {\r\n zoom -= 0.1;\r\n }\r\n zoom = Math.round(zoom * 100) / 100;\r\n this.refresh(zoom);\r\n }.bind(this)\r\n });\r\n }\r\n\r\n // Draw center date\r\n this._intervalDiv = ol_ext_element.create('DIV', {\r\n className: 'ol-center-date',\r\n parent: this.element\r\n });\r\n\r\n // Remove selection\r\n this.element.addEventListener('mouseover', function () {\r\n if (this._select)\r\n this._select.elt.classList.remove('ol-select');\r\n }.bind(this));\r\n\r\n // Trigger scroll event\r\n var scrollListener = null;\r\n this._scrollDiv.addEventListener('scroll', function () {\r\n this._setScrollLeft();\r\n if (scrollListener) {\r\n clearTimeout(scrollListener);\r\n scrollListener = null;\r\n }\r\n scrollListener = setTimeout(function () {\r\n this.dispatchEvent({\r\n type: 'scroll',\r\n date: this.getDate(),\r\n dateStart: this.getDate('start'),\r\n dateEnd: this.getDate('end')\r\n });\r\n }.bind(this), options.scrollTimeout || 15);\r\n }.bind(this));\r\n // Magic to give \"live\" scroll events on touch devices\r\n // this._scrollDiv.addEventListener('gesturechange', function() {});\r\n // Scroll timeline\r\n ol_ext_element.scrollDiv(this._scrollDiv, {\r\n onmove: function (b) {\r\n // Prevent selection on moving\r\n this._moving = b;\r\n }.bind(this)\r\n });\r\n\r\n this._tline = [];\r\n\r\n // Parameters\r\n this._scrollLeft = 0;\r\n this.set('maxWidth', options.maxWidth || 2000);\r\n this.set('minDate', options.minDate || Infinity);\r\n this.set('maxDate', options.maxDate || -Infinity);\r\n this.set('graduation', options.graduation);\r\n this.set('minZoom', options.minZoom || .2);\r\n this.set('maxZoom', options.maxZoom || 4);\r\n this.setInterval(options.interval);\r\n if (options.getHTML)\r\n this._getHTML = options.getHTML;\r\n if (options.getFeatureDate)\r\n this._getFeatureDate = options.getFeatureDate;\r\n if (options.endFeatureDate)\r\n this._endFeatureDate = options.endFeatureDate;\r\n\r\n // Feature source \r\n this.setFeatures(options.features || options.source, options.zoom);\r\n }\r\n /**\r\n * Set the map instance the control is associated with\r\n * and add interaction attached to it to this map.\r\n * @param {_ol_Map_} map The map instance.\r\n */\r\n setMap(map) {\r\n super.setMap(map);\r\n this.refresh(this.get('zoom') || 1, true);\r\n }\r\n /** Add a button on the timeline\r\n * @param {*} button\r\n * @param {string} button.className\r\n * @param {title} button.className\r\n * @param {Element|string} button.html Content of the element\r\n * @param {function} button.click a function called when the button is clicked\r\n */\r\n addButton(button) {\r\n this.element.classList.add('ol-hasbutton');\r\n ol_ext_element.create('BUTTON', {\r\n className: button.className || undefined,\r\n title: button.title,\r\n html: button.html,\r\n click: button.handleClick,\r\n parent: this._buttons\r\n });\r\n }\r\n /** Set an interval\r\n * @param {number|string} length the interval length in ms or a farmatted text ie. end with y, 1d, h, mn, s (31 days = '31d'), default none\r\n */\r\n setInterval(length) {\r\n if (typeof (length) === 'string') {\r\n if (/s$/.test(length)) {\r\n length = parseFloat(length) * 1000;\r\n } else if (/mn$/.test(length)) {\r\n length = parseFloat(length) * 1000 * 60;\r\n } else if (/h$/.test(length)) {\r\n length = parseFloat(length) * 1000 * 3600;\r\n } else if (/d$/.test(length)) {\r\n length = parseFloat(length) * 1000 * 3600 * 24;\r\n } else if (/y$/.test(length)) {\r\n length = parseFloat(length) * 1000 * 3600 * 24 * 365;\r\n } else {\r\n length = 0;\r\n }\r\n }\r\n this.set('interval', length || 0);\r\n if (length)\r\n this.element.classList.add('ol-interval');\r\n else\r\n this.element.classList.remove('ol-interval');\r\n this.refresh(this.get('zoom'));\r\n }\r\n /** Default html to show in the line\r\n * @param {ol.Feature} feature\r\n * @return {DOMElement|string}\r\n * @private\r\n */\r\n _getHTML(feature) {\r\n return feature.get('name') || '';\r\n }\r\n /** Default function to get the date of a feature, returns the date attribute\r\n * @param {ol.Feature} feature\r\n * @return {Data|string}\r\n * @private\r\n */\r\n _getFeatureDate(feature) {\r\n return (feature && feature.get) ? feature.get('date') : null;\r\n }\r\n /** Default function to get the end date of a feature, return undefined\r\n * @param {ol.Feature} feature\r\n * @return {Data|string}\r\n * @private\r\n */\r\n _endFeatureDate( /* feature */) {\r\n return undefined;\r\n }\r\n /** Is the line collapsed\r\n * @return {boolean}\r\n */\r\n isCollapsed() {\r\n return this.element.classList.contains('ol-collapsed');\r\n }\r\n /** Collapse the line\r\n * @param {boolean} b\r\n */\r\n collapse(b) {\r\n if (b)\r\n this.element.classList.add('ol-collapsed');\r\n else\r\n this.element.classList.remove('ol-collapsed');\r\n this.dispatchEvent({ type: 'collapse', collapsed: this.isCollapsed() });\r\n }\r\n /** Collapse the line\r\n */\r\n toggle() {\r\n this.element.classList.toggle('ol-collapsed');\r\n this.dispatchEvent({ type: 'collapse', collapsed: this.isCollapsed() });\r\n }\r\n /** Set the features to display in the timeline\r\n * @param {Array|ol.source.Vector} features An array of features or a vector source\r\n * @param {number} zoom zoom to draw the line default 1\r\n */\r\n setFeatures(features, zoom) {\r\n this._features = this._source = null;\r\n if (features instanceof ol_source_Vector)\r\n this._source = features;\r\n else if (features instanceof Array)\r\n this._features = features;\r\n else\r\n this._features = [];\r\n this.refresh(zoom);\r\n }\r\n /**\r\n * Get features\r\n * @return {Array}\r\n */\r\n getFeatures() {\r\n return this._features || this._source.getFeatures();\r\n }\r\n /**\r\n * Refresh the timeline with new data\r\n * @param {Number} zoom Zoom factor from 0.25 to 10, default 1\r\n */\r\n refresh(zoom, first) {\r\n if (!this.getMap())\r\n return;\r\n if (!zoom)\r\n zoom = this.get('zoom');\r\n zoom = Math.min(this.get('maxZoom'), Math.max(this.get('minZoom'), zoom || 1));\r\n this.set('zoom', zoom);\r\n this._scrollDiv.innerHTML = '';\r\n var features = this.getFeatures();\r\n var d, d2;\r\n\r\n // Get features sorted by date\r\n var tline = this._tline = [];\r\n features.forEach(function (f) {\r\n if (d = this._getFeatureDate(f)) {\r\n if (!(d instanceof Date)) {\r\n d = new Date(d);\r\n }\r\n if (this._endFeatureDate) {\r\n d2 = this._endFeatureDate(f);\r\n if (!(d2 instanceof Date)) {\r\n d2 = new Date(d2);\r\n }\r\n }\r\n if (!isNaN(d)) {\r\n tline.push({\r\n date: d,\r\n end: isNaN(d2) ? null : d2,\r\n feature: f\r\n });\r\n }\r\n }\r\n }.bind(this));\r\n\r\n tline.sort(function (a, b) {\r\n return (a.date < b.date ? -1 : (a.date === b.date ? 0 : 1));\r\n });\r\n\r\n // Draw\r\n var div = ol_ext_element.create('DIV', {\r\n parent: this._scrollDiv\r\n });\r\n\r\n // Calculate width\r\n var min = this._minDate = Math.min(this.get('minDate'), tline.length ? tline[0].date : Infinity);\r\n var max = this._maxDate = Math.max(this.get('maxDate'), tline.length ? tline[tline.length - 1].date : -Infinity);\r\n if (!isFinite(min))\r\n this._minDate = min = new Date();\r\n if (!isFinite(max))\r\n this._maxDate = max = new Date();\r\n var delta = (max - min);\r\n var maxWidth = this.get('maxWidth');\r\n var scale = this._scale = (delta > maxWidth ? maxWidth / delta : 1) * zoom;\r\n // Leave 10px on right\r\n min = this._minDate = this._minDate - 10 / scale;\r\n delta = (max - min) * scale;\r\n ol_ext_element.setStyle(div, {\r\n width: delta,\r\n maxWidth: 'unset'\r\n });\r\n\r\n // Draw time's bar\r\n this._drawTime(div, min, max, scale);\r\n\r\n // Set interval\r\n if (this.get('interval')) {\r\n ol_ext_element.setStyle(this._intervalDiv, { width: this.get('interval') * scale });\r\n } else {\r\n ol_ext_element.setStyle(this._intervalDiv, { width: '' });\r\n }\r\n\r\n // Draw features\r\n var line = [];\r\n var lineHeight = ol_ext_element.getStyle(this._scrollDiv, 'lineHeight');\r\n\r\n // Wrapper\r\n var fdiv = ol_ext_element.create('DIV', {\r\n className: 'ol-features',\r\n parent: div\r\n });\r\n\r\n // Add features on the line\r\n tline.forEach(function (f) {\r\n var d = f.date;\r\n var t = f.elt = ol_ext_element.create('DIV', {\r\n className: 'ol-feature',\r\n style: {\r\n left: Math.round((d - min) * scale),\r\n },\r\n html: this._getHTML(f.feature),\r\n parent: fdiv\r\n });\r\n // Prevent image dragging\r\n var img = t.querySelectorAll('img');\r\n for (var i = 0; i < img.length; i++) {\r\n img[i].ondragstart = function () { return false; };\r\n }\r\n\r\n // Calculate image width\r\n if (f.end) {\r\n ol_ext_element.setStyle(t, {\r\n minWidth: (f.end - d) * scale,\r\n width: (f.end - d) * scale,\r\n maxWidth: 'unset'\r\n });\r\n }\r\n var left = ol_ext_element.getStyle(t, 'left');\r\n // Select on click\r\n t.addEventListener('click', function () {\r\n if (!this._moving) {\r\n this.dispatchEvent({ type: 'select', feature: f.feature });\r\n }\r\n }.bind(this));\r\n\r\n // Find first free Y position\r\n var pos, l;\r\n for (pos = 0; l = line[pos]; pos++) {\r\n if (left > l) {\r\n break;\r\n }\r\n }\r\n line[pos] = left + ol_ext_element.getStyle(t, 'width');\r\n ol_ext_element.setStyle(t, { top: pos * lineHeight });\r\n }.bind(this));\r\n this._nbline = line.length;\r\n\r\n if (first)\r\n this.setDate(this._minDate, { anim: false, position: 'start' });\r\n // Dispatch scroll event\r\n this.dispatchEvent({\r\n type: 'scroll',\r\n date: this.getDate(),\r\n dateStart: this.getDate('start'),\r\n dateEnd: this.getDate('end')\r\n });\r\n }\r\n /** Get offset given a date\r\n * @param {Date} date\r\n * @return {number}\r\n * @private\r\n */\r\n _getOffsetFromDate(date) {\r\n return (date - this._minDate) * this._scale;\r\n }\r\n /** Get date given an offset\r\n * @param {Date} date\r\n * @return {number}\r\n * @private\r\n */\r\n _getDateFromOffset(offset) {\r\n return offset / this._scale + this._minDate;\r\n }\r\n /** Set the current position\r\n * @param {number} scrollLeft current position (undefined when scrolling)\r\n * @returns {number}\r\n * @private\r\n */\r\n _setScrollLeft(scrollLeft) {\r\n this._scrollLeft = scrollLeft;\r\n if (scrollLeft !== undefined) {\r\n this._scrollDiv.scrollLeft = scrollLeft;\r\n }\r\n }\r\n /** Get the current position\r\n * @returns {number}\r\n * @private\r\n */\r\n _getScrollLeft() {\r\n // Unset when scrolling\r\n if (this._scrollLeft === undefined) {\r\n return this._scrollDiv.scrollLeft;\r\n } else {\r\n // St by user\r\n return this._scrollLeft;\r\n }\r\n }\r\n /**\r\n * Draw dates on line\r\n * @private\r\n */\r\n _drawTime(div, min, max, scale) {\r\n // Times div\r\n var tdiv = ol_ext_element.create('DIV', {\r\n className: 'ol-times',\r\n parent: div\r\n });\r\n var d, dt, month, dmonth;\r\n var dx = ol_ext_element.getStyle(tdiv, 'left');\r\n var heigth = ol_ext_element.getStyle(tdiv, 'height');\r\n // Year\r\n var year = (new Date(this._minDate)).getFullYear();\r\n dt = ((new Date(0)).setFullYear(String(year)) - new Date(0).setFullYear(String(year - 1))) * scale;\r\n var dyear = Math.round(2 * heigth / dt) + 1;\r\n while (true) {\r\n d = new Date(0).setFullYear(year);\r\n if (d > this._maxDate)\r\n break;\r\n ol_ext_element.create('DIV', {\r\n className: 'ol-time ol-year',\r\n style: {\r\n left: this._getOffsetFromDate(d) - dx\r\n },\r\n html: year,\r\n parent: tdiv\r\n });\r\n year += dyear;\r\n }\r\n // Month\r\n if (/day|month/.test(this.get('graduation'))) {\r\n dt = ((new Date(0, 0, 1)).setFullYear(String(year)) - new Date(0, 0, 1).setFullYear(String(year - 1))) * scale;\r\n dmonth = Math.max(1, Math.round(12 / Math.round(dt / heigth / 2)));\r\n if (dmonth < 12) {\r\n year = (new Date(this._minDate)).getFullYear();\r\n month = dmonth + 1;\r\n while (true) {\r\n d = new Date(0, 0, 1);\r\n d.setFullYear(year);\r\n d.setMonth(month - 1);\r\n if (d > this._maxDate)\r\n break;\r\n ol_ext_element.create('DIV', {\r\n className: 'ol-time ol-month',\r\n style: {\r\n left: this._getOffsetFromDate(d) - dx\r\n },\r\n html: d.toLocaleDateString(undefined, { month: 'short' }),\r\n parent: tdiv\r\n });\r\n month += dmonth;\r\n if (month > 12) {\r\n year++;\r\n month = dmonth + 1;\r\n }\r\n }\r\n }\r\n }\r\n // Day\r\n if (this.get('graduation') === 'day') {\r\n dt = (new Date(0, 1, 1) - new Date(0, 0, 1)) * scale;\r\n var dday = Math.max(1, Math.round(31 / Math.round(dt / heigth / 2)));\r\n if (dday < 31) {\r\n year = (new Date(this._minDate)).getFullYear();\r\n month = 0;\r\n var day = dday;\r\n while (true) {\r\n d = new Date(0, 0, 1);\r\n d.setFullYear(year);\r\n d.setMonth(month);\r\n d.setDate(day);\r\n if (isNaN(d)) {\r\n month++;\r\n if (month > 12) {\r\n month = 1;\r\n year++;\r\n }\r\n day = dday;\r\n } else {\r\n if (d > this._maxDate)\r\n break;\r\n if (day > 1) {\r\n var offdate = this._getOffsetFromDate(d);\r\n if (this._getOffsetFromDate(new Date(year, month + 1, 1)) - offdate > heigth) {\r\n ol_ext_element.create('DIV', {\r\n className: 'ol-time ol-day',\r\n style: {\r\n left: offdate - dx\r\n },\r\n html: day,\r\n parent: tdiv\r\n });\r\n }\r\n }\r\n year = d.getFullYear();\r\n month = d.getMonth();\r\n day = d.getDate() + dday;\r\n if (day > new Date(year, month + 1, 0).getDate()) {\r\n month++;\r\n day = dday;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n /** Center timeline on a date\r\n * @param {Date|String|ol.feature} feature a date or a feature with a date\r\n * @param {Object} options\r\n * @param {boolean} options.anim animate scroll\r\n * @param {string} options.position start, end or middle, default middle\r\n */\r\n setDate(feature, options) {\r\n var date;\r\n options = options || {};\r\n // It's a date\r\n if (feature instanceof Date) {\r\n date = feature;\r\n } else {\r\n // Get date from Feature\r\n if (this.getFeatures().indexOf(feature) >= 0) {\r\n date = this._getFeatureDate(feature);\r\n }\r\n if (date && !(date instanceof Date)) {\r\n date = new Date(date);\r\n }\r\n if (!date || isNaN(date)) {\r\n date = new Date(String(feature));\r\n }\r\n }\r\n if (!isNaN(date)) {\r\n if (options.anim === false)\r\n this._scrollDiv.classList.add('ol-move');\r\n var scrollLeft = this._getOffsetFromDate(date);\r\n if (options.position === 'start') {\r\n scrollLeft += ol_ext_element.outerWidth(this._scrollDiv) / 2 - ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n } else if (options.position === 'end') {\r\n scrollLeft -= ol_ext_element.outerWidth(this._scrollDiv) / 2 - ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n }\r\n this._setScrollLeft(scrollLeft);\r\n if (options.anim === false)\r\n this._scrollDiv.classList.remove('ol-move');\r\n if (feature) {\r\n for (var i = 0, f; f = this._tline[i]; i++) {\r\n if (f.feature === feature) {\r\n f.elt.classList.add('ol-select');\r\n this._select = f;\r\n } else {\r\n f.elt.classList.remove('ol-select');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n /** Get round date (sticked to mn, hour day or month)\r\n * @param {Date} d\r\n * @param {string} stick sticking option to stick date to: 'mn', 'hour', 'day', 'month', default no stick\r\n * @return {Date}\r\n */\r\n roundDate(d, stick) {\r\n switch (stick) {\r\n case 'mn': {\r\n return new Date(this._roundTo(d, 60 * 1000));\r\n }\r\n case 'hour': {\r\n return new Date(this._roundTo(d, 60 * 60 * 1000));\r\n }\r\n case 'day': {\r\n return new Date(this._roundTo(d, 24 * 60 * 60 * 1000));\r\n }\r\n case 'month': {\r\n d = new Date(this._roundTo(d, 24 * 60 * 60 * 1000));\r\n if (d.getDate() > 15) {\r\n d = new Date(d.setMonth(d.getMonth() + 1));\r\n }\r\n d = d.setDate(1);\r\n return new Date(d);\r\n }\r\n default: return new Date(d);\r\n }\r\n }\r\n /** Get the date of the center\r\n * @param {string} position position to get 'start', 'end' or 'middle', default middle\r\n * @param {string} stick sticking option to stick date to: 'mn', 'hour', 'day', 'month', default no stick\r\n * @return {Date}\r\n */\r\n getDate(position, stick) {\r\n var pos;\r\n if (!stick)\r\n stick = position;\r\n switch (position) {\r\n case 'start': {\r\n if (this.get('interval')) {\r\n pos = -ol_ext_element.getStyle(this._intervalDiv, 'width') / 2 + ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n } else {\r\n pos = -ol_ext_element.outerWidth(this._scrollDiv) / 2 + ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n }\r\n break;\r\n }\r\n case 'end': {\r\n if (this.get('interval')) {\r\n pos = ol_ext_element.getStyle(this._intervalDiv, 'width') / 2 - ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n } else {\r\n pos = ol_ext_element.outerWidth(this._scrollDiv) / 2 - ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n }\r\n break;\r\n }\r\n default: {\r\n pos = 0;\r\n break;\r\n }\r\n }\r\n var d = this._getDateFromOffset(this._getScrollLeft() + pos);\r\n d = this.roundDate(d, stick);\r\n return new Date(d);\r\n }\r\n /** Round number to\r\n * @param {number} d\r\n * @param {number} r\r\n * @return {number}\r\n * @private\r\n */\r\n _roundTo(d, r) {\r\n return Math.round(d / r) * r;\r\n }\r\n /** Get the start date of the control\r\n * @return {Date}\r\n */\r\n getStartDate() {\r\n return new Date(this.get('minDate'));\r\n }\r\n /** Get the end date of the control\r\n * @return {Date}\r\n */\r\n getEndDate() {\r\n return new Date(this.get('maxDate'));\r\n }\r\n}\r\n\r\nexport default ol_control_Timeline","","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WebServiceMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WebServiceMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./WebServiceMixin.vue?vue&type=script&lang=js\"\nexport * from \"./WebServiceMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class GeoTiffState {\n\n\tconstructor(geotiff) {\n\t\tthis.layer = null;\n\t\tthis.colorMap = geotiff.getColorMap();\n\t\tthis.noData = geotiff.getNoData();\n\t\tthis.bands = geotiff.getBands();\n\t\tthis.defaultChannels = this.bands.slice(0, 3);\n\t\tthis.channels = this.bands.slice(0, 3);\n this.file = geotiff;\n\t}\n\n\tgetBandVar(i) {\n\t\treturn ['band', ['var', `${i}band`]];\n\t}\n\n\tgetFormula(i) {\n\t\tlet min = ['var', `${i}min`];\n\t\tlet max = ['var', `${i}max`];\n\t\tlet x = this.getBandVar(i);\n\t\tlet scale = ['*', ['/', ['-', x, min], ['-', max, min]], 255]; // Linear scaling from min - max to 0 - 255\n\t\treturn ['clamp', scale, 0, 255]; // clamp values in case we get cales < 0 or > 255\n\t}\n\n\tgetNoDataFormula() {\n\t\tlet band = this.getBandVar('alpha');\n\t\t// https://github.com/openlayers/openlayers/issues/13588#issuecomment-1125317573\n\t\t// return ['clamp', band, 0, 1];\n\t\t// return ['/', band, 255];\n\t\treturn ['case', ['==', band, 0], 0, 1];\n\t}\n\n\tsetStyle() {\n\t\tif (!this.layer) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Compute variables\n\t\tlet variables = {};\n\t\tfor(let i in this.channels) {\n\t\t\tlet channel = this.channels[i];\n\t\t\tvariables[`${i}band`] = channel.id;\n\t\t\tvariables[`${i}min`] = channel.min;\n\t\t\tvariables[`${i}max`] = channel.max;\n\t\t}\n\t\tvariables.alphaband = this.bands.length + 1;\n\n\t\t// Create style\n\t\tlet color = [];\n\t\tif (this.colorMap) {\n\t\t\tcolor.push('palette');\n\t\t\tcolor.push(['band', 1]);\n\t\t\tcolor.push(this.colorMap);\n\t\t}\n\t\telse if (this.channels.length === 0) {\n\t\t\treturn null;\n\t\t}\n\t\telse if (this.channels.length === 1) {\n\t\t\tcolor.push('color');\n\t\t\tlet formula = this.getFormula(0);\n\t\t\tcolor.push(formula);\n\t\t\tcolor.push(formula);\n\t\t\tcolor.push(formula);\n\t\t\tif (this.noData.length > 0) {\n\t\t\t\tcolor.push(this.getNoDataFormula());\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tcolor.push('color');\n\t\t\tcolor.push(this.getFormula(0));\n\t\t\tcolor.push(this.getFormula(1));\n\t\t\tcolor.push(this.getFormula(2));\n\t\t\tif (this.noData.length > 0) {\n\t\t\t\tcolor.push(this.getNoDataFormula());\n\t\t\t}\n\t\t}\n\n\t\t// Set style\n\t\tthis.layer.setStyle({variables, color});\n\t}\n\n}\n","import { GeoTIFFImage } from 'geotiff';\n\n// Integrate changes/fixes from https://github.com/geotiffjs/geotiff.js/pull/303 until released/integrated by geotiff.js\nGeoTIFFImage.prototype.getSampleByteSize = function(i) {\n if (!this.fileDirectory.BitsPerSample || this.fileDirectory.BitsPerSample.length === 0) {\n return;\n }\n if (i >= this.fileDirectory.BitsPerSample.length) {\n i = 0;\n }\n return Math.ceil(this.fileDirectory.BitsPerSample[i] / 8);\n};\n\nGeoTIFFImage.prototype.getReaderForSample = function(sampleIndex) {\n const format = this.getSampleFormat(sampleIndex);\n const bitsPerSample = this.getBitsPerSample(sampleIndex);\n switch (format) {\n case 1: // unsigned integer data\n if (bitsPerSample <= 8) {\n return DataView.prototype.getUint8;\n } else if (bitsPerSample <= 16) {\n return DataView.prototype.getUint16;\n } else if (bitsPerSample <= 32) {\n return DataView.prototype.getUint32;\n }\n break;\n case 2: // twos complement signed integer data\n if (bitsPerSample <= 8) {\n return DataView.prototype.getInt8;\n } else if (bitsPerSample <= 16) {\n return DataView.prototype.getInt16;\n } else if (bitsPerSample <= 32) {\n return DataView.prototype.getInt32;\n }\n break;\n case 3:\n switch (bitsPerSample) {\n case 16:\n return function (offset, littleEndian) {\n return getFloat16(this, offset, littleEndian);\n };\n case 32:\n return DataView.prototype.getFloat32;\n case 64:\n return DataView.prototype.getFloat64;\n default:\n break;\n }\n break;\n default:\n break;\n }\n throw Error('Unsupported data format/bitsPerSample');\n};\n\nGeoTIFFImage.prototype.getSampleFormat = function(sampleIndex = 0) {\n if (!this.fileDirectory.SampleFormat || this.fileDirectory.SampleFormat.length === 0) {\n return 1;\n }\n return typeof this.fileDirectory.SampleFormat[sampleIndex] !== 'undefined'\n ? this.fileDirectory.SampleFormat[sampleIndex] : this.fileDirectory.SampleFormat[0];\n};\n\nGeoTIFFImage.prototype.getBitsPerSample = function(sampleIndex = 0) {\n if (!this.fileDirectory.BitsPerSample || this.fileDirectory.BitsPerSample.length === 0) {\n return;\n }\n return typeof this.fileDirectory.BitsPerSample[sampleIndex] !== 'undefined'\n ? this.fileDirectory.BitsPerSample[sampleIndex] : this.fileDirectory.BitsPerSample[0];\n};\n// End of geotiff.js fixes","/**\n * Utilities for parsing literal style objects\n * @module ol/webgl/styleparser\n */\nimport {\n BooleanType,\n ColorType,\n NumberArrayType,\n NumberType,\n SizeType,\n StringType,\n newParsingContext,\n} from '../expr/expression.js';\nimport {ShaderBuilder} from './ShaderBuilder.js';\nimport {\n arrayToGlsl,\n buildExpression,\n getStringNumberEquivalent,\n stringToGlsl,\n uniformNameForVariable,\n} from '../expr/gpu.js';\nimport {asArray} from '../color.js';\n\n/**\n * Recursively parses a style expression and outputs a GLSL-compatible string. Takes in a compilation context that\n * will be read and modified during the parsing operation.\n * @param {import(\"../expr/gpu.js\").CompilationContext} compilationContext Compilation context\n * @param {import(\"../expr/expression.js\").EncodedExpression} value Value\n * @param {number} [expectedType] Expected final type (can be several types combined)\n * @return {string} GLSL-compatible output\n */\nexport function expressionToGlsl(compilationContext, value, expectedType) {\n const parsingContext = newParsingContext();\n parsingContext.style = compilationContext.style;\n return buildExpression(\n value,\n expectedType,\n parsingContext,\n compilationContext,\n );\n}\n\n/**\n * Packs all components of a color into a two-floats array\n * @param {import(\"../color.js\").Color|string} color Color as array of numbers or string\n * @return {Array} Vec2 array containing the color in compressed form\n */\nexport function packColor(color) {\n const array = asArray(color);\n const r = array[0] * 256;\n const g = array[1];\n const b = array[2] * 256;\n const a = Math.round(array[3] * 255);\n return [r + g, b + a];\n}\n\nconst UNPACK_COLOR_FN = `vec4 unpackColor(vec2 packedColor) {\n return fract(packedColor[1] / 256.0) * vec4(\n fract(floor(packedColor[0] / 256.0) / 256.0),\n fract(packedColor[0] / 256.0),\n fract(floor(packedColor[1] / 256.0) / 256.0),\n 1.0\n );\n}`;\n\n/**\n * @param {number} type Value type\n * @return {1|2|3|4} The amount of components for this value\n */\nfunction getGlslSizeFromType(type) {\n if (type === ColorType || type === SizeType) {\n return 2;\n }\n if (type === NumberArrayType) {\n return 4;\n }\n return 1;\n}\n\n/**\n * @param {number} type Value type\n * @return {'float'|'vec2'|'vec3'|'vec4'} The corresponding GLSL type for this value\n */\nfunction getGlslTypeFromType(type) {\n const size = getGlslSizeFromType(type);\n if (size > 1) {\n return /** @type {'vec2'|'vec3'|'vec4'} */ (`vec${size}`);\n }\n return 'float';\n}\n\n/**\n * see https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript\n * @param {Object|string} input The hash input, either an object or string\n * @return {string} Hash (if the object cannot be serialized, it is based on `getUid`)\n */\nexport function computeHash(input) {\n const hash = JSON.stringify(input)\n .split('')\n .reduce((prev, curr) => (prev << 5) - prev + curr.charCodeAt(0), 0);\n return (hash >>> 0).toString();\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {'shape-'|'circle-'|'icon-'} prefix Properties prefix\n */\nfunction parseCommonSymbolProperties(style, builder, vertContext, prefix) {\n if (`${prefix}radius` in style && prefix !== 'icon-') {\n let radius = expressionToGlsl(\n vertContext,\n style[`${prefix}radius`],\n NumberType,\n );\n if (`${prefix}radius2` in style) {\n const radius2 = expressionToGlsl(\n vertContext,\n style[`${prefix}radius2`],\n NumberType,\n );\n radius = `max(${radius}, ${radius2})`;\n }\n if (`${prefix}stroke-width` in style) {\n radius = `(${radius} + ${expressionToGlsl(\n vertContext,\n style[`${prefix}stroke-width`],\n NumberType,\n )} * 0.5)`;\n }\n builder.setSymbolSizeExpression(`vec2(${radius} * 2. + 0.5)`); // adding some padding for antialiasing\n }\n if (`${prefix}scale` in style) {\n const scale = expressionToGlsl(\n vertContext,\n style[`${prefix}scale`],\n SizeType,\n );\n builder.setSymbolSizeExpression(\n `${builder.getSymbolSizeExpression()} * ${scale}`,\n );\n }\n if (`${prefix}displacement` in style) {\n builder.setSymbolOffsetExpression(\n expressionToGlsl(\n vertContext,\n style[`${prefix}displacement`],\n NumberArrayType,\n ),\n );\n }\n if (`${prefix}rotation` in style) {\n builder.setSymbolRotationExpression(\n expressionToGlsl(vertContext, style[`${prefix}rotation`], NumberType),\n );\n }\n if (`${prefix}rotate-with-view` in style) {\n builder.setSymbolRotateWithView(!!style[`${prefix}rotate-with-view`]);\n }\n}\n\n/**\n * @param {string} distanceField The distance field expression\n * @param {string|null} fillColor The fill color expression; null if no fill\n * @param {string|null} strokeColor The stroke color expression; null if no stroke\n * @param {string|null} strokeWidth The stroke width expression; null if no stroke\n * @param {string|null} opacity The opacity expression; null if no stroke\n * @return {string} The final color expression, based on the distance field and given params\n */\nfunction getColorFromDistanceField(\n distanceField,\n fillColor,\n strokeColor,\n strokeWidth,\n opacity,\n) {\n let color = 'vec4(0.)';\n if (fillColor !== null) {\n color = fillColor;\n }\n if (strokeColor !== null && strokeWidth !== null) {\n const strokeFillRatio = `smoothstep(-${strokeWidth} + 0.63, -${strokeWidth} - 0.58, ${distanceField})`;\n color = `mix(${strokeColor}, ${color}, ${strokeFillRatio})`;\n }\n const shapeOpacity = `(1.0 - smoothstep(-0.63, 0.58, ${distanceField}))`;\n let result = `${color} * ${shapeOpacity}`;\n if (opacity !== null) {\n result = `${result} * ${opacity}`;\n }\n return result;\n}\n\n/**\n * This will parse an image property provided by `-src`\n * The image size expression in GLSL will be returned\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {Object} uniforms Uniforms\n * @param {'icon-'|'fill-pattern-'|'stroke-pattern-'} prefix Property prefix\n * @param {string} textureId A identifier that will be used in the generated uniforms: `sample2d u_texture` and `vec2 u_texture_size`\n * @return {string} The image size expression\n */\nfunction parseImageProperties(style, builder, uniforms, prefix, textureId) {\n const image = new Image();\n let size;\n image.crossOrigin =\n style[`${prefix}cross-origin`] === undefined\n ? 'anonymous'\n : style[`${prefix}cross-origin`];\n image.src = style[`${prefix}src`];\n\n if (image.complete && image.width && image.height) {\n size = arrayToGlsl([image.width, image.height]);\n } else {\n // the size is provided asynchronously using a uniform\n uniforms[`u_texture${textureId}_size`] = () => {\n return image.complete ? [image.width, image.height] : [0, 0];\n };\n builder.addUniform(`vec2 u_texture${textureId}_size`);\n size = `u_texture${textureId}_size`;\n }\n uniforms[`u_texture${textureId}`] = image;\n builder.addUniform(`sampler2D u_texture${textureId}`);\n return size;\n}\n\n/**\n * This will parse an image's offset properties provided by `-offset`, `-offset-origin` and `-size`\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {'icon-'|'fill-pattern-'|'stroke-pattern-'} prefix Property prefix\n * @param {import(\"../expr/gpu.js\").CompilationContext} context Shader compilation context (vertex or fragment)\n * @param {string} imageSize Pixel size of the full image as a GLSL expression\n * @param {string} sampleSize Pixel size of the sample in the image as a GLSL expression\n * @return {string} The offset expression\n */\nfunction parseImageOffsetProperties(\n style,\n prefix,\n context,\n imageSize,\n sampleSize,\n) {\n let offsetExpression = expressionToGlsl(\n context,\n style[`${prefix}offset`],\n NumberArrayType,\n );\n if (`${prefix}offset-origin` in style) {\n switch (style[`${prefix}offset-origin`]) {\n case 'top-right':\n offsetExpression = `vec2(${imageSize}.x, 0.) + ${sampleSize} * vec2(-1., 0.) + ${offsetExpression} * vec2(-1., 1.)`;\n break;\n case 'bottom-left':\n offsetExpression = `vec2(0., ${imageSize}.y) + ${sampleSize} * vec2(0., -1.) + ${offsetExpression} * vec2(1., -1.)`;\n break;\n case 'bottom-right':\n offsetExpression = `${imageSize} - ${sampleSize} - ${offsetExpression}`;\n break;\n default: // pass\n }\n }\n return offsetExpression;\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseCircleProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n // this function takes in screen coordinates in pixels and returns the signed distance field\n // (0 on the boundary, negative inside the circle, positive outside, values in pixels)\n fragContext.functions['circleDistanceField'] =\n `float circleDistanceField(vec2 point, float radius) {\n return length(point) - radius;\n}`;\n\n parseCommonSymbolProperties(style, builder, vertContext, 'circle-');\n\n // OPACITY\n let opacity = null;\n if ('circle-opacity' in style) {\n opacity = expressionToGlsl(\n fragContext,\n style['circle-opacity'],\n NumberType,\n );\n }\n\n // SCALE\n let currentPoint = 'coordsPx';\n if ('circle-scale' in style) {\n const scale = expressionToGlsl(\n fragContext,\n style['circle-scale'],\n SizeType,\n );\n currentPoint = `coordsPx / ${scale}`;\n }\n\n // FILL COLOR\n let fillColor = null;\n if ('circle-fill-color' in style) {\n fillColor = expressionToGlsl(\n fragContext,\n style['circle-fill-color'],\n ColorType,\n );\n }\n\n // STROKE COLOR\n let strokeColor = null;\n if ('circle-stroke-color' in style) {\n strokeColor = expressionToGlsl(\n fragContext,\n style['circle-stroke-color'],\n ColorType,\n );\n }\n\n // RADIUS\n let radius = expressionToGlsl(\n fragContext,\n style['circle-radius'],\n NumberType,\n );\n\n // STROKE WIDTH\n let strokeWidth = null;\n if ('circle-stroke-width' in style) {\n strokeWidth = expressionToGlsl(\n fragContext,\n style['circle-stroke-width'],\n NumberType,\n );\n radius = `(${radius} + ${strokeWidth} * 0.5)`;\n }\n\n // FINAL COLOR\n const distanceField = `circleDistanceField(${currentPoint}, ${radius})`;\n const colorExpression = getColorFromDistanceField(\n distanceField,\n fillColor,\n strokeColor,\n strokeWidth,\n opacity,\n );\n builder.setSymbolColorExpression(colorExpression);\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseShapeProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n fragContext.functions['round'] = `float round(float v) {\n return sign(v) * floor(abs(v) + 0.5);\n}`;\n\n // these functions take in screen coordinates in pixels and returns the signed distance field\n // (0 on the boundary, negative inside the polygon, positive outside, values in pixels)\n // inspired by https://github.com/zranger1/PixelblazePatterns/blob/master/Toolkit/sdf2d.md#n-sided-regular-polygon\n fragContext.functions['starDistanceField'] =\n `float starDistanceField(vec2 point, float numPoints, float radius, float radius2, float angle) {\n float startAngle = -PI * 0.5 + angle; // tip starts upwards and rotates clockwise with angle\n float c = cos(startAngle);\n float s = sin(startAngle);\n vec2 pointRotated = vec2(c * point.x - s * point.y, s * point.x + c * point.y);\n float alpha = TWO_PI / numPoints; // the angle of one sector\n float beta = atan(pointRotated.y, pointRotated.x);\n float gamma = round(beta / alpha) * alpha; // angle in sector\n c = cos(-gamma);\n s = sin(-gamma);\n vec2 inSector = vec2(c * pointRotated.x - s * pointRotated.y, abs(s * pointRotated.x + c * pointRotated.y));\n vec2 tipToPoint = inSector + vec2(-radius, 0.);\n vec2 edgeNormal = vec2(radius2 * sin(alpha * 0.5), -radius2 * cos(alpha * 0.5) + radius);\n return dot(normalize(edgeNormal), tipToPoint);\n}`;\n fragContext.functions['regularDistanceField'] =\n `float regularDistanceField(vec2 point, float numPoints, float radius, float angle) {\n float startAngle = -PI * 0.5 + angle; // tip starts upwards and rotates clockwise with angle\n float c = cos(startAngle);\n float s = sin(startAngle);\n vec2 pointRotated = vec2(c * point.x - s * point.y, s * point.x + c * point.y);\n float alpha = TWO_PI / numPoints; // the angle of one sector\n float radiusIn = radius * cos(PI / numPoints);\n float beta = atan(pointRotated.y, pointRotated.x);\n float gamma = round((beta - alpha * 0.5) / alpha) * alpha + alpha * 0.5; // angle in sector from mid\n c = cos(-gamma);\n s = sin(-gamma);\n vec2 inSector = vec2(c * pointRotated.x - s * pointRotated.y, abs(s * pointRotated.x + c * pointRotated.y));\n return inSector.x - radiusIn;\n}`;\n\n parseCommonSymbolProperties(style, builder, vertContext, 'shape-');\n\n // OPACITY\n let opacity = null;\n if ('shape-opacity' in style) {\n opacity = expressionToGlsl(fragContext, style['shape-opacity'], NumberType);\n }\n\n // SCALE\n let currentPoint = 'coordsPx';\n if ('shape-scale' in style) {\n const scale = expressionToGlsl(fragContext, style['shape-scale'], SizeType);\n currentPoint = `coordsPx / ${scale}`;\n }\n\n // FILL COLOR\n let fillColor = null;\n if ('shape-fill-color' in style) {\n fillColor = expressionToGlsl(\n fragContext,\n style['shape-fill-color'],\n ColorType,\n );\n }\n\n // STROKE COLOR\n let strokeColor = null;\n if ('shape-stroke-color' in style) {\n strokeColor = expressionToGlsl(\n fragContext,\n style['shape-stroke-color'],\n ColorType,\n );\n }\n\n // STROKE WIDTH\n let strokeWidth = null;\n if ('shape-stroke-width' in style) {\n strokeWidth = expressionToGlsl(\n fragContext,\n style['shape-stroke-width'],\n NumberType,\n );\n }\n\n // SHAPE TYPE\n const numPoints = expressionToGlsl(\n fragContext,\n style['shape-points'],\n NumberType,\n );\n let angle = '0.';\n if ('shape-angle' in style) {\n angle = expressionToGlsl(fragContext, style['shape-angle'], NumberType);\n }\n let shapeField;\n let radius = expressionToGlsl(fragContext, style['shape-radius'], NumberType);\n if (strokeWidth !== null) {\n radius = `${radius} + ${strokeWidth} * 0.5`;\n }\n if ('shape-radius2' in style) {\n let radius2 = expressionToGlsl(\n fragContext,\n style['shape-radius2'],\n NumberType,\n );\n if (strokeWidth !== null) {\n radius2 = `${radius2} + ${strokeWidth} * 0.5`;\n }\n shapeField = `starDistanceField(${currentPoint}, ${numPoints}, ${radius}, ${radius2}, ${angle})`;\n } else {\n shapeField = `regularDistanceField(${currentPoint}, ${numPoints}, ${radius}, ${angle})`;\n }\n\n // FINAL COLOR\n const colorExpression = getColorFromDistanceField(\n shapeField,\n fillColor,\n strokeColor,\n strokeWidth,\n opacity,\n );\n builder.setSymbolColorExpression(colorExpression);\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseIconProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n // COLOR\n let color = 'vec4(1.0)';\n if ('icon-color' in style) {\n color = expressionToGlsl(fragContext, style['icon-color'], ColorType);\n }\n\n // OPACITY\n if ('icon-opacity' in style) {\n color = `${color} * ${expressionToGlsl(\n fragContext,\n style['icon-opacity'],\n NumberType,\n )}`;\n }\n\n // IMAGE & SIZE\n const textureId = computeHash(style['icon-src']);\n const sizeExpression = parseImageProperties(\n style,\n builder,\n uniforms,\n 'icon-',\n textureId,\n );\n builder\n .setSymbolColorExpression(\n `${color} * samplePremultiplied(u_texture${textureId}, v_texCoord)`,\n )\n .setSymbolSizeExpression(sizeExpression);\n\n // override size if width/height were specified\n if ('icon-width' in style && 'icon-height' in style) {\n builder.setSymbolSizeExpression(\n `vec2(${expressionToGlsl(\n vertContext,\n style['icon-width'],\n NumberType,\n )}, ${expressionToGlsl(vertContext, style['icon-height'], NumberType)})`,\n );\n }\n\n // tex coord\n if ('icon-offset' in style && 'icon-size' in style) {\n const sampleSize = expressionToGlsl(\n vertContext,\n style['icon-size'],\n NumberArrayType,\n );\n const fullsize = builder.getSymbolSizeExpression();\n builder.setSymbolSizeExpression(sampleSize);\n const offset = parseImageOffsetProperties(\n style,\n 'icon-',\n vertContext,\n 'v_quadSizePx',\n sampleSize,\n );\n builder.setTextureCoordinateExpression(\n `(vec4((${offset}).xyxy) + vec4(0., 0., ${sampleSize})) / (${fullsize}).xyxy`,\n );\n }\n\n parseCommonSymbolProperties(style, builder, vertContext, 'icon-');\n\n if ('icon-anchor' in style) {\n const anchor = expressionToGlsl(\n vertContext,\n style['icon-anchor'],\n NumberArrayType,\n );\n let scale = `1.0`;\n if (`icon-scale` in style) {\n scale = expressionToGlsl(vertContext, style[`icon-scale`], SizeType);\n }\n let shiftPx;\n if (\n style['icon-anchor-x-units'] === 'pixels' &&\n style['icon-anchor-y-units'] === 'pixels'\n ) {\n shiftPx = `${anchor} * ${scale}`;\n } else if (style['icon-anchor-x-units'] === 'pixels') {\n shiftPx = `${anchor} * vec2(vec2(${scale}).x, v_quadSizePx.y)`;\n } else if (style['icon-anchor-y-units'] === 'pixels') {\n shiftPx = `${anchor} * vec2(v_quadSizePx.x, vec2(${scale}).x)`;\n } else {\n shiftPx = `${anchor} * v_quadSizePx`;\n }\n // default origin is top-left\n let offsetPx = `v_quadSizePx * vec2(0.5, -0.5) + ${shiftPx} * vec2(-1., 1.)`;\n if ('icon-anchor-origin' in style) {\n switch (style['icon-anchor-origin']) {\n case 'top-right':\n offsetPx = `v_quadSizePx * -0.5 + ${shiftPx}`;\n break;\n case 'bottom-left':\n offsetPx = `v_quadSizePx * 0.5 - ${shiftPx}`;\n break;\n case 'bottom-right':\n offsetPx = `v_quadSizePx * vec2(-0.5, 0.5) + ${shiftPx} * vec2(1., -1.)`;\n break;\n default: // pass\n }\n }\n builder.setSymbolOffsetExpression(\n `${builder.getSymbolOffsetExpression()} + ${offsetPx}`,\n );\n }\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader Builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseStrokeProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n if ('stroke-color' in style) {\n builder.setStrokeColorExpression(\n expressionToGlsl(fragContext, style['stroke-color'], ColorType),\n );\n }\n if ('stroke-pattern-src' in style) {\n const textureId = computeHash(style['stroke-pattern-src']);\n const sizeExpression = parseImageProperties(\n style,\n builder,\n uniforms,\n 'stroke-pattern-',\n textureId,\n );\n let sampleSizeExpression = sizeExpression;\n let offsetExpression = 'vec2(0.)';\n if ('stroke-pattern-offset' in style && 'stroke-pattern-size' in style) {\n sampleSizeExpression = expressionToGlsl(\n fragContext,\n style[`stroke-pattern-size`],\n NumberArrayType,\n );\n offsetExpression = parseImageOffsetProperties(\n style,\n 'stroke-pattern-',\n fragContext,\n sizeExpression,\n sampleSizeExpression,\n );\n }\n let spacingExpression = '0.';\n if ('stroke-pattern-spacing' in style) {\n spacingExpression = expressionToGlsl(\n fragContext,\n style['stroke-pattern-spacing'],\n NumberType,\n );\n }\n fragContext.functions['sampleStrokePattern'] =\n `vec4 sampleStrokePattern(sampler2D texture, vec2 textureSize, vec2 textureOffset, vec2 sampleSize, float spacingPx, float currentLengthPx, float currentRadiusRatio, float lineWidth) {\n float currentLengthScaled = currentLengthPx * sampleSize.y / lineWidth;\n float spacingScaled = spacingPx * sampleSize.y / lineWidth;\n float uCoordPx = mod(currentLengthScaled, (sampleSize.x + spacingScaled));\n // make sure that we're not sampling too close to the borders to avoid interpolation with outside pixels\n uCoordPx = clamp(uCoordPx, 0.5, sampleSize.x - 0.5);\n float vCoordPx = (-currentRadiusRatio * 0.5 + 0.5) * sampleSize.y;\n vec2 texCoord = (vec2(uCoordPx, vCoordPx) + textureOffset) / textureSize;\n return samplePremultiplied(texture, texCoord);\n}`;\n const textureName = `u_texture${textureId}`;\n let tintExpression = '1.';\n if ('stroke-color' in style) {\n tintExpression = builder.getStrokeColorExpression();\n }\n builder.setStrokeColorExpression(\n `${tintExpression} * sampleStrokePattern(${textureName}, ${sizeExpression}, ${offsetExpression}, ${sampleSizeExpression}, ${spacingExpression}, currentLengthPx, currentRadiusRatio, v_width)`,\n );\n }\n\n if ('stroke-width' in style) {\n builder.setStrokeWidthExpression(\n expressionToGlsl(vertContext, style['stroke-width'], NumberType),\n );\n }\n\n if ('stroke-offset' in style) {\n builder.setStrokeOffsetExpression(\n expressionToGlsl(vertContext, style['stroke-offset'], NumberType),\n );\n }\n\n if ('stroke-line-cap' in style) {\n builder.setStrokeCapExpression(\n expressionToGlsl(vertContext, style['stroke-line-cap'], StringType),\n );\n }\n\n if ('stroke-line-join' in style) {\n builder.setStrokeJoinExpression(\n expressionToGlsl(vertContext, style['stroke-line-join'], StringType),\n );\n }\n\n if ('stroke-miter-limit' in style) {\n builder.setStrokeMiterLimitExpression(\n expressionToGlsl(vertContext, style['stroke-miter-limit'], NumberType),\n );\n }\n\n if ('stroke-line-dash' in style) {\n fragContext.functions['getSingleDashDistance'] =\n `float getSingleDashDistance(float distance, float radius, float dashOffset, float dashLength, float dashLengthTotal, float capType) {\n float localDistance = mod(distance, dashLengthTotal);\n float distanceSegment = abs(localDistance - dashOffset - dashLength * 0.5) - dashLength * 0.5;\n distanceSegment = min(distanceSegment, dashLengthTotal - localDistance);\n if (capType == ${stringToGlsl('square')}) {\n distanceSegment -= v_width * 0.5;\n } else if (capType == ${stringToGlsl('round')}) {\n distanceSegment = min(distanceSegment, sqrt(distanceSegment * distanceSegment + radius * radius) - v_width * 0.5);\n }\n return distanceSegment;\n}`;\n\n let dashPattern = style['stroke-line-dash'].map((v) =>\n expressionToGlsl(fragContext, v, NumberType),\n );\n // if pattern has odd length, concatenate it with itself to be even\n if (dashPattern.length % 2 === 1) {\n dashPattern = [...dashPattern, ...dashPattern];\n }\n\n let offsetExpression = '0.';\n if ('stroke-line-dash-offset' in style) {\n offsetExpression = expressionToGlsl(\n vertContext,\n style['stroke-line-dash-offset'],\n NumberType,\n );\n }\n\n // define a function for this dash specifically\n const uniqueDashKey = computeHash(style['stroke-line-dash']);\n const dashFunctionName = `dashDistanceField_${uniqueDashKey}`;\n\n const dashLengthsDef = dashPattern.map(\n (v, i) => `float dashLength${i} = ${v};`,\n );\n const totalLengthDef = dashPattern\n .map((v, i) => `dashLength${i}`)\n .join(' + ');\n let currentDashOffset = '0.';\n let distanceExpression = `getSingleDashDistance(distance, radius, ${currentDashOffset}, dashLength0, totalDashLength, capType)`;\n for (let i = 2; i < dashPattern.length; i += 2) {\n currentDashOffset = `${currentDashOffset} + dashLength${\n i - 2\n } + dashLength${i - 1}`;\n distanceExpression = `min(${distanceExpression}, getSingleDashDistance(distance, radius, ${currentDashOffset}, dashLength${i}, totalDashLength, capType))`;\n }\n\n fragContext.functions[dashFunctionName] =\n `float ${dashFunctionName}(float distance, float radius, float capType) {\n ${dashLengthsDef.join('\\n ')}\n float totalDashLength = ${totalLengthDef};\n return ${distanceExpression};\n}`;\n builder.setStrokeDistanceFieldExpression(\n `${dashFunctionName}(currentLengthPx + ${offsetExpression}, currentRadiusPx, capType)`,\n );\n }\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader Builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseFillProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n if ('fill-color' in style) {\n builder.setFillColorExpression(\n expressionToGlsl(fragContext, style['fill-color'], ColorType),\n );\n }\n if ('fill-pattern-src' in style) {\n const textureId = computeHash(style['fill-pattern-src']);\n const sizeExpression = parseImageProperties(\n style,\n builder,\n uniforms,\n 'fill-pattern-',\n textureId,\n );\n let sampleSizeExpression = sizeExpression;\n let offsetExpression = 'vec2(0.)';\n if ('fill-pattern-offset' in style && 'fill-pattern-size' in style) {\n sampleSizeExpression = expressionToGlsl(\n fragContext,\n style[`fill-pattern-size`],\n NumberArrayType,\n );\n offsetExpression = parseImageOffsetProperties(\n style,\n 'fill-pattern-',\n fragContext,\n sizeExpression,\n sampleSizeExpression,\n );\n }\n fragContext.functions['sampleFillPattern'] =\n `vec4 sampleFillPattern(sampler2D texture, vec2 textureSize, vec2 textureOffset, vec2 sampleSize, vec2 pxOrigin, vec2 pxPosition) {\n float scaleRatio = pow(2., mod(u_zoom + 0.5, 1.) - 0.5);\n vec2 pxRelativePos = pxPosition - pxOrigin;\n // rotate the relative position from origin by the current view rotation\n pxRelativePos = vec2(pxRelativePos.x * cos(u_rotation) - pxRelativePos.y * sin(u_rotation), pxRelativePos.x * sin(u_rotation) + pxRelativePos.y * cos(u_rotation));\n // sample position is computed according to the sample offset & size\n vec2 samplePos = mod(pxRelativePos / scaleRatio, sampleSize);\n // also make sure that we're not sampling too close to the borders to avoid interpolation with outside pixels\n samplePos = clamp(samplePos, vec2(0.5), sampleSize - vec2(0.5));\n samplePos.y = sampleSize.y - samplePos.y; // invert y axis so that images appear upright\n return samplePremultiplied(texture, (samplePos + textureOffset) / textureSize);\n}`;\n const textureName = `u_texture${textureId}`;\n let tintExpression = '1.';\n if ('fill-color' in style) {\n tintExpression = builder.getFillColorExpression();\n }\n builder.setFillColorExpression(\n `${tintExpression} * sampleFillPattern(${textureName}, ${sizeExpression}, ${offsetExpression}, ${sampleSizeExpression}, pxOrigin, pxPos)`,\n );\n }\n}\n\n/**\n * @typedef {Object} StyleParseResult\n * @property {ShaderBuilder} builder Shader builder pre-configured according to a given style\n * @property {import(\"../render/webgl/VectorStyleRenderer.js\").UniformDefinitions} uniforms Uniform definitions\n * @property {import(\"../render/webgl/VectorStyleRenderer.js\").AttributeDefinitions} attributes Attribute definitions\n */\n\n/**\n * Parses a {@link import(\"../style/webgl.js\").WebGLStyle} object and returns a {@link ShaderBuilder}\n * object that has been configured according to the given style, as well as `attributes` and `uniforms`\n * arrays to be fed to the `WebGLPointsRenderer` class.\n *\n * Also returns `uniforms` and `attributes` properties as expected by the\n * {@link module:ol/renderer/webgl/PointsLayer~WebGLPointsLayerRenderer}.\n *\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Literal style.\n * @return {StyleParseResult} Result containing shader params, attributes and uniforms.\n */\nexport function parseLiteralStyle(style) {\n /**\n * @type {import(\"../expr/gpu.js\").CompilationContext}\n */\n const vertContext = {\n inFragmentShader: false,\n properties: {},\n variables: {},\n functions: {},\n style,\n };\n\n /**\n * @type {import(\"../expr/gpu.js\").CompilationContext}\n */\n const fragContext = {\n inFragmentShader: true,\n variables: vertContext.variables,\n properties: {},\n functions: {},\n style,\n };\n\n const builder = new ShaderBuilder();\n\n /** @type {Object} */\n const uniforms = {};\n\n if ('icon-src' in style) {\n parseIconProperties(style, builder, uniforms, vertContext, fragContext);\n } else if ('shape-points' in style) {\n parseShapeProperties(style, builder, uniforms, vertContext, fragContext);\n } else if ('circle-radius' in style) {\n parseCircleProperties(style, builder, uniforms, vertContext, fragContext);\n }\n parseStrokeProperties(style, builder, uniforms, vertContext, fragContext);\n parseFillProperties(style, builder, uniforms, vertContext, fragContext);\n\n if (style.filter) {\n const parsedFilter = expressionToGlsl(\n fragContext,\n style.filter,\n BooleanType,\n );\n builder.setFragmentDiscardExpression(`!${parsedFilter}`);\n }\n\n // define one uniform per variable\n Object.keys(fragContext.variables).forEach(function (varName) {\n const variable = fragContext.variables[varName];\n const uniformName = uniformNameForVariable(variable.name);\n builder.addUniform(`${getGlslTypeFromType(variable.type)} ${uniformName}`);\n\n let callback;\n if (variable.type === StringType) {\n callback = () =>\n getStringNumberEquivalent(\n /** @type {string} */ (style.variables[variable.name]),\n );\n } else if (variable.type === ColorType) {\n callback = () =>\n packColor([\n ...asArray(\n /** @type {string|Array} */ (\n style.variables[variable.name]\n ) || '#eee',\n ),\n ]);\n } else if (variable.type === BooleanType) {\n callback = () =>\n /** @type {boolean} */ (style.variables[variable.name]) ? 1.0 : 0.0;\n } else {\n callback = () => /** @type {number} */ (style.variables[variable.name]);\n }\n uniforms[uniformName] = callback;\n });\n\n // for each feature attribute used in the fragment shader, define a varying that will be used to pass data\n // from the vertex to the fragment shader, as well as an attribute in the vertex shader (if not already present)\n Object.keys(fragContext.properties).forEach(function (propName) {\n const property = fragContext.properties[propName];\n if (!vertContext.properties[propName]) {\n vertContext.properties[propName] = property;\n }\n let type = getGlslTypeFromType(property.type);\n let expression = `a_prop_${property.name}`;\n if (property.type === ColorType) {\n type = 'vec4';\n expression = `unpackColor(${expression})`;\n builder.addVertexShaderFunction(UNPACK_COLOR_FN);\n }\n builder.addVarying(`v_prop_${property.name}`, type, expression);\n });\n\n // for each feature attribute used in the vertex shader, define an attribute in the vertex shader.\n Object.keys(vertContext.properties).forEach(function (propName) {\n const property = vertContext.properties[propName];\n builder.addAttribute(\n `${getGlslTypeFromType(property.type)} a_prop_${property.name}`,\n );\n });\n\n const attributes = Object.keys(vertContext.properties).map(\n function (propName) {\n const property = vertContext.properties[propName];\n let callback;\n if (property.evaluator) {\n callback = property.evaluator;\n } else if (property.type === StringType) {\n callback = (feature) =>\n getStringNumberEquivalent(feature.get(property.name));\n } else if (property.type === ColorType) {\n callback = (feature) =>\n packColor([...asArray(feature.get(property.name) || '#eee')]);\n } else if (property.type === BooleanType) {\n callback = (feature) => (feature.get(property.name) ? 1.0 : 0.0);\n } else {\n callback = (feature) => feature.get(property.name);\n }\n\n return {\n name: property.name,\n size: getGlslSizeFromType(property.type),\n callback,\n };\n },\n );\n\n // add functions that were collected in the compilation contexts\n for (const functionName in vertContext.functions) {\n builder.addVertexShaderFunction(vertContext.functions[functionName]);\n }\n for (const functionName in fragContext.functions) {\n builder.addFragmentShaderFunction(fragContext.functions[functionName]);\n }\n\n return {\n builder: builder,\n attributes: attributes.reduce(\n (prev, curr) => ({\n ...prev,\n [curr.name]: {callback: curr.callback, size: curr.size},\n }),\n {},\n ),\n uniforms: uniforms,\n };\n}\n","/**\n * @module ol/layer/WebGLTile\n */\nimport BaseTileLayer from './BaseTile.js';\nimport LayerProperty from '../layer/Property.js';\nimport WebGLTileLayerRenderer, {\n Attributes,\n Uniforms,\n} from '../renderer/webgl/TileLayer.js';\nimport {ColorType, NumberType} from '../expr/expression.js';\nimport {\n PALETTE_TEXTURE_ARRAY,\n getStringNumberEquivalent,\n newCompilationContext,\n uniformNameForVariable,\n} from '../expr/gpu.js';\nimport {expressionToGlsl} from '../webgl/styleparser.js';\n\n/**\n * @typedef {import(\"../source/DataTile.js\").default|import(\"../source/TileImage.js\").default} SourceType\n */\n\n/**\n * @typedef {Object} Style\n * Translates tile data to rendered pixels.\n *\n * @property {Object} [variables] Style variables. Each variable must hold a number or string. These\n * variables can be used in the `color`, `brightness`, `contrast`, `exposure`, `saturation` and `gamma`\n * {@link import(\"../expr/expression.js\").ExpressionValue expressions}, using the `['var', 'varName']` operator.\n * To update style variables, use the {@link import(\"./WebGLTile.js\").default#updateStyleVariables} method.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [color] An expression applied to color values.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [brightness=0] Value used to decrease or increase\n * the layer brightness. Values range from -1 to 1.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [contrast=0] Value used to decrease or increase\n * the layer contrast. Values range from -1 to 1.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [exposure=0] Value used to decrease or increase\n * the layer exposure. Values range from -1 to 1.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [saturation=0] Value used to decrease or increase\n * the layer saturation. Values range from -1 to 1.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [gamma=1] Apply a gamma correction to the layer.\n * Values range from 0 to infinity.\n */\n\n/**\n * @typedef {Object} Options\n * @property {Style} [style] Style to apply to the layer.\n * @property {string} [className='ol-layer'] A CSS class name to set to the layer element.\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {number} [minZoom] The minimum view zoom level (exclusive) above which this layer will be\n * visible.\n * @property {number} [maxZoom] The maximum view zoom level (inclusive) at which this layer will\n * be visible.\n * @property {number} [preload=0] Preload. Load low-resolution tiles up to `preload` levels. `0`\n * means no preloading.\n * @property {SourceType} [source] Source for this layer.\n * @property {Array|function(import(\"../extent.js\").Extent, number):Array} [sources] Array\n * of sources for this layer. Takes precedence over `source`. Can either be an array of sources, or a function that\n * expects an extent and a resolution (in view projection units per pixel) and returns an array of sources. See\n * {@link module:ol/source.sourcesFromTileGrid} for a helper function to generate sources that are organized in a\n * pyramid following the same pattern as a tile grid. **Note:** All sources must have the same band count and content.\n * @property {import(\"../Map.js\").default} [map] Sets the layer as overlay on a map. The map will not manage\n * this layer in its layers collection, and the layer will be rendered on top. This is useful for\n * temporary layers. The standard way to add a layer to a map and have it managed by the map is to\n * use {@link module:ol/Map~Map#addLayer}.\n * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error.\n * @property {number} [cacheSize=512] The internal texture cache size. This needs to be large enough to render\n * two zoom levels worth of tiles.\n * @property {Object} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.\n */\n\n/**\n * @typedef {Object} ParsedStyle\n * @property {string} vertexShader The vertex shader.\n * @property {string} fragmentShader The fragment shader.\n * @property {Object} uniforms Uniform definitions.\n * @property {Array} paletteTextures Palette textures.\n */\n\n/**\n * @param {Style} style The layer style.\n * @param {number} [bandCount] The number of bands.\n * @return {ParsedStyle} Shaders and uniforms generated from the style.\n */\nfunction parseStyle(style, bandCount) {\n const vertexShader = `\n attribute vec2 ${Attributes.TEXTURE_COORD};\n uniform mat4 ${Uniforms.TILE_TRANSFORM};\n uniform float ${Uniforms.TEXTURE_PIXEL_WIDTH};\n uniform float ${Uniforms.TEXTURE_PIXEL_HEIGHT};\n uniform float ${Uniforms.TEXTURE_RESOLUTION};\n uniform float ${Uniforms.TEXTURE_ORIGIN_X};\n uniform float ${Uniforms.TEXTURE_ORIGIN_Y};\n uniform float ${Uniforms.DEPTH};\n\n varying vec2 v_textureCoord;\n varying vec2 v_mapCoord;\n\n void main() {\n v_textureCoord = ${Attributes.TEXTURE_COORD};\n v_mapCoord = vec2(\n ${Uniforms.TEXTURE_ORIGIN_X} + ${Uniforms.TEXTURE_RESOLUTION} * ${Uniforms.TEXTURE_PIXEL_WIDTH} * v_textureCoord[0],\n ${Uniforms.TEXTURE_ORIGIN_Y} - ${Uniforms.TEXTURE_RESOLUTION} * ${Uniforms.TEXTURE_PIXEL_HEIGHT} * v_textureCoord[1]\n );\n gl_Position = ${Uniforms.TILE_TRANSFORM} * vec4(${Attributes.TEXTURE_COORD}, ${Uniforms.DEPTH}, 1.0);\n }\n `;\n\n /**\n * @type {import(\"../expr/gpu.js\").CompilationContext}\n */\n const context = {\n ...newCompilationContext(),\n inFragmentShader: true,\n bandCount: bandCount,\n style: style,\n };\n\n const pipeline = [];\n\n if (style.color !== undefined) {\n const color = expressionToGlsl(context, style.color, ColorType);\n pipeline.push(`color = ${color};`);\n }\n\n if (style.contrast !== undefined) {\n const contrast = expressionToGlsl(context, style.contrast, NumberType);\n pipeline.push(\n `color.rgb = clamp((${contrast} + 1.0) * color.rgb - (${contrast} / 2.0), vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`,\n );\n }\n\n if (style.exposure !== undefined) {\n const exposure = expressionToGlsl(context, style.exposure, NumberType);\n pipeline.push(\n `color.rgb = clamp((${exposure} + 1.0) * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`,\n );\n }\n\n if (style.saturation !== undefined) {\n const saturation = expressionToGlsl(context, style.saturation, NumberType);\n pipeline.push(`\n float saturation = ${saturation} + 1.0;\n float sr = (1.0 - saturation) * 0.2126;\n float sg = (1.0 - saturation) * 0.7152;\n float sb = (1.0 - saturation) * 0.0722;\n mat3 saturationMatrix = mat3(\n sr + saturation, sr, sr,\n sg, sg + saturation, sg,\n sb, sb, sb + saturation\n );\n color.rgb = clamp(saturationMatrix * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));\n `);\n }\n\n if (style.gamma !== undefined) {\n const gamma = expressionToGlsl(context, style.gamma, NumberType);\n pipeline.push(`color.rgb = pow(color.rgb, vec3(1.0 / ${gamma}));`);\n }\n\n if (style.brightness !== undefined) {\n const brightness = expressionToGlsl(context, style.brightness, NumberType);\n pipeline.push(\n `color.rgb = clamp(color.rgb + ${brightness}, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`,\n );\n }\n\n /** @type {Object} */\n const uniforms = {};\n\n const numVariables = Object.keys(context.variables).length;\n if (numVariables > 1 && !style.variables) {\n throw new Error(\n `Missing variables in style (expected ${context.variables})`,\n );\n }\n\n for (let i = 0; i < numVariables; ++i) {\n const variable = context.variables[Object.keys(context.variables)[i]];\n if (!(variable.name in style.variables)) {\n throw new Error(`Missing '${variable.name}' in style variables`);\n }\n const uniformName = uniformNameForVariable(variable.name);\n uniforms[uniformName] = function () {\n let value = style.variables[variable.name];\n if (typeof value === 'string') {\n value = getStringNumberEquivalent(value);\n }\n return value !== undefined ? value : -9999999; // to avoid matching with the first string literal\n };\n }\n\n const uniformDeclarations = Object.keys(uniforms).map(function (name) {\n return `uniform float ${name};`;\n });\n\n const textureCount = Math.ceil(bandCount / 4);\n uniformDeclarations.push(\n `uniform sampler2D ${Uniforms.TILE_TEXTURE_ARRAY}[${textureCount}];`,\n );\n\n if (context.paletteTextures) {\n uniformDeclarations.push(\n `uniform sampler2D ${PALETTE_TEXTURE_ARRAY}[${context.paletteTextures.length}];`,\n );\n }\n\n const functionDefintions = Object.keys(context.functions).map(\n function (name) {\n return context.functions[name];\n },\n );\n\n const fragmentShader = `\n #ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n #else\n precision mediump float;\n #endif\n\n varying vec2 v_textureCoord;\n varying vec2 v_mapCoord;\n uniform vec4 ${Uniforms.RENDER_EXTENT};\n uniform float ${Uniforms.TRANSITION_ALPHA};\n uniform float ${Uniforms.TEXTURE_PIXEL_WIDTH};\n uniform float ${Uniforms.TEXTURE_PIXEL_HEIGHT};\n uniform float ${Uniforms.RESOLUTION};\n uniform float ${Uniforms.ZOOM};\n\n ${uniformDeclarations.join('\\n')}\n\n ${functionDefintions.join('\\n')}\n\n void main() {\n if (\n v_mapCoord[0] < ${Uniforms.RENDER_EXTENT}[0] ||\n v_mapCoord[1] < ${Uniforms.RENDER_EXTENT}[1] ||\n v_mapCoord[0] > ${Uniforms.RENDER_EXTENT}[2] ||\n v_mapCoord[1] > ${Uniforms.RENDER_EXTENT}[3]\n ) {\n discard;\n }\n\n vec4 color = texture2D(${\n Uniforms.TILE_TEXTURE_ARRAY\n }[0], v_textureCoord);\n\n ${pipeline.join('\\n')}\n\n gl_FragColor = color;\n gl_FragColor.rgb *= gl_FragColor.a;\n gl_FragColor *= ${Uniforms.TRANSITION_ALPHA};\n }`;\n\n return {\n vertexShader: vertexShader,\n fragmentShader: fragmentShader,\n uniforms: uniforms,\n paletteTextures: context.paletteTextures,\n };\n}\n\n/**\n * @classdesc\n * For layer sources that provide pre-rendered, tiled images in grids that are\n * organized by zoom levels for specific resolutions.\n * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}\n * property on the layer object; for example, setting `title: 'My Title'` in the\n * options means that `title` is observable, and has get/set accessors.\n *\n * @extends BaseTileLayer\n * @fires import(\"../render/Event.js\").RenderEvent\n * @api\n */\nclass WebGLTileLayer extends BaseTileLayer {\n /**\n * @param {Options} options Tile layer options.\n */\n constructor(options) {\n options = options ? Object.assign({}, options) : {};\n\n const style = options.style || {};\n delete options.style;\n\n const cacheSize = options.cacheSize;\n delete options.cacheSize;\n\n super(options);\n\n /**\n * @type {Array|function(import(\"../extent.js\").Extent, number):Array}\n * @private\n */\n this.sources_ = options.sources;\n\n /**\n * @type {SourceType|null}\n * @private\n */\n this.renderedSource_ = null;\n\n /**\n * @type {number}\n * @private\n */\n this.renderedResolution_ = NaN;\n\n /**\n * @type {Style}\n * @private\n */\n this.style_ = style;\n\n /**\n * @type {number}\n * @private\n */\n this.cacheSize_ = cacheSize;\n\n /**\n * @type {Object}\n * @private\n */\n this.styleVariables_ = this.style_.variables || {};\n\n this.addChangeListener(LayerProperty.SOURCE, this.handleSourceUpdate_);\n }\n\n /**\n * Gets the sources for this layer, for a given extent and resolution.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @return {Array} Sources.\n */\n getSources(extent, resolution) {\n const source = this.getSource();\n return this.sources_\n ? typeof this.sources_ === 'function'\n ? this.sources_(extent, resolution)\n : this.sources_\n : source\n ? [source]\n : [];\n }\n\n /**\n * @return {SourceType} The source being rendered.\n */\n getRenderSource() {\n return this.renderedSource_ || this.getSource();\n }\n\n /**\n * @return {import(\"../source/Source.js\").State} Source state.\n */\n getSourceState() {\n const source = this.getRenderSource();\n return source ? source.getState() : 'undefined';\n }\n\n /**\n * @private\n */\n handleSourceUpdate_() {\n if (this.hasRenderer()) {\n this.getRenderer().clearCache();\n }\n if (this.getSource()) {\n this.setStyle(this.style_);\n }\n }\n\n /**\n * @private\n * @return {number} The number of source bands.\n */\n getSourceBandCount_() {\n const max = Number.MAX_SAFE_INTEGER;\n const sources = this.getSources([-max, -max, max, max], max);\n return sources && sources.length && 'bandCount' in sources[0]\n ? sources[0].bandCount\n : 4;\n }\n\n createRenderer() {\n const parsedStyle = parseStyle(this.style_, this.getSourceBandCount_());\n\n return new WebGLTileLayerRenderer(this, {\n vertexShader: parsedStyle.vertexShader,\n fragmentShader: parsedStyle.fragmentShader,\n uniforms: parsedStyle.uniforms,\n cacheSize: this.cacheSize_,\n paletteTextures: parsedStyle.paletteTextures,\n });\n }\n\n /**\n * @param {import(\"../Map\").FrameState} frameState Frame state.\n * @param {Array} sources Sources.\n * @return {HTMLElement} Canvas.\n */\n renderSources(frameState, sources) {\n const layerRenderer = this.getRenderer();\n let canvas;\n for (let i = 0, ii = sources.length; i < ii; ++i) {\n this.renderedSource_ = sources[i];\n if (layerRenderer.prepareFrame(frameState)) {\n canvas = layerRenderer.renderFrame(frameState);\n }\n }\n return canvas;\n }\n\n /**\n * @param {?import(\"../Map.js\").FrameState} frameState Frame state.\n * @param {HTMLElement} target Target which the renderer may (but need not) use\n * for rendering its content.\n * @return {HTMLElement} The rendered element.\n */\n render(frameState, target) {\n this.rendered = true;\n const viewState = frameState.viewState;\n const sources = this.getSources(frameState.extent, viewState.resolution);\n let ready = true;\n for (let i = 0, ii = sources.length; i < ii; ++i) {\n const source = sources[i];\n const sourceState = source.getState();\n if (sourceState == 'loading') {\n const onChange = () => {\n if (source.getState() == 'ready') {\n source.removeEventListener('change', onChange);\n this.changed();\n }\n };\n source.addEventListener('change', onChange);\n }\n ready = ready && sourceState == 'ready';\n }\n const canvas = this.renderSources(frameState, sources);\n if (this.getRenderer().renderComplete && ready) {\n // Fully rendered, done.\n this.renderedResolution_ = viewState.resolution;\n return canvas;\n }\n // Render sources from previously fully rendered frames\n if (this.renderedResolution_ > 0.5 * viewState.resolution) {\n const altSources = this.getSources(\n frameState.extent,\n this.renderedResolution_,\n ).filter((source) => !sources.includes(source));\n if (altSources.length > 0) {\n return this.renderSources(frameState, altSources);\n }\n }\n return canvas;\n }\n\n /**\n * Update the layer style. The `updateStyleVariables` function is a more efficient\n * way to update layer rendering. In cases where the whole style needs to be updated,\n * this method may be called instead. Note that calling this method will also replace\n * any previously set variables, so the new style also needs to include new variables,\n * if needed.\n * @param {Style} style The new style.\n */\n setStyle(style) {\n this.styleVariables_ = style.variables || {};\n this.style_ = style;\n const parsedStyle = parseStyle(this.style_, this.getSourceBandCount_());\n const renderer = this.getRenderer();\n renderer.reset({\n vertexShader: parsedStyle.vertexShader,\n fragmentShader: parsedStyle.fragmentShader,\n uniforms: parsedStyle.uniforms,\n paletteTextures: parsedStyle.paletteTextures,\n });\n this.changed();\n }\n\n /**\n * Update any variables used by the layer style and trigger a re-render.\n * @param {Object} variables Variables to update.\n * @api\n */\n updateStyleVariables(variables) {\n Object.assign(this.styleVariables_, variables);\n this.changed();\n }\n}\n\n/**\n * Clean up underlying WebGL resources.\n * @function\n * @api\n */\nWebGLTileLayer.prototype.dispose;\n\nexport default WebGLTileLayer;\n","/**\n * @module ol/source/DataTile\n */\nimport DataTile from '../DataTile.js';\nimport EventType from '../events/EventType.js';\nimport ReprojDataTile from '../reproj/DataTile.js';\nimport TileCache from '../TileCache.js';\nimport TileEventType from './TileEventType.js';\nimport TileSource, {TileSourceEvent} from './Tile.js';\nimport TileState from '../TileState.js';\nimport {\n createXYZ,\n extentFromProjection,\n getForProjection as getTileGridForProjection,\n} from '../tilegrid.js';\nimport {equivalent, get as getProjection} from '../proj.js';\nimport {getKeyZXY} from '../tilecoord.js';\nimport {getUid} from '../util.js';\nimport {toPromise} from '../functions.js';\nimport {toSize} from '../size.js';\n\n/**\n * Data tile loading function. The function is called with z, x, and y tile coordinates and\n * returns {@link import(\"../DataTile.js\").Data data} for a tile or a promise for the same.\n * @typedef {function(number, number, number) : (import(\"../DataTile.js\").Data|Promise)} Loader\n */\n\n/**\n * @typedef {Object} Options\n * @property {Loader} [loader] Data loader. Called with z, x, and y tile coordinates.\n * Returns {@link import(\"../DataTile.js\").Data data} for a tile or a promise for the same.\n * For loaders that generate images, the promise should not resolve until the image is loaded.\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {number} [maxZoom=42] Optional max zoom level. Not used if `tileGrid` is provided.\n * @property {number} [minZoom=0] Optional min zoom level. Not used if `tileGrid` is provided.\n * @property {number|import(\"../size.js\").Size} [tileSize=[256, 256]] The pixel width and height of the source tiles.\n * This may be different than the rendered pixel size if a `tileGrid` is provided.\n * @property {number} [gutter=0] The size in pixels of the gutter around data tiles to ignore.\n * This allows artifacts of rendering at tile edges to be ignored.\n * Supported data should be wider and taller than the tile size by a value of `2 x gutter`.\n * @property {number} [maxResolution] Optional tile grid resolution at level zero. Not used if `tileGrid` is provided.\n * @property {import(\"../proj.js\").ProjectionLike} [projection='EPSG:3857'] Tile projection.\n * @property {import(\"../tilegrid/TileGrid.js\").default} [tileGrid] Tile grid.\n * @property {boolean} [opaque=false] Whether the layer is opaque.\n * @property {import(\"./Source.js\").State} [state] The source state.\n * @property {boolean} [wrapX=false] Render tiles beyond the antimeridian.\n * @property {number} [transition] Transition time when fading in new tiles (in milliseconds).\n * @property {number} [bandCount=4] Number of bands represented in the data.\n * @property {boolean} [interpolate=false] Use interpolated values when resampling. By default,\n * the nearest neighbor is used when resampling.\n */\n\n/**\n * @classdesc\n * A source for typed array data tiles.\n *\n * @fires import(\"./Tile.js\").TileSourceEvent\n * @api\n */\nclass DataTileSource extends TileSource {\n /**\n * @param {Options} options DataTile source options.\n */\n constructor(options) {\n const projection =\n options.projection === undefined ? 'EPSG:3857' : options.projection;\n\n let tileGrid = options.tileGrid;\n if (tileGrid === undefined && projection) {\n tileGrid = createXYZ({\n extent: extentFromProjection(projection),\n maxResolution: options.maxResolution,\n maxZoom: options.maxZoom,\n minZoom: options.minZoom,\n tileSize: options.tileSize,\n });\n }\n\n super({\n cacheSize: 0.1, // don't cache on the source\n attributions: options.attributions,\n attributionsCollapsible: options.attributionsCollapsible,\n projection: projection,\n tileGrid: tileGrid,\n opaque: options.opaque,\n state: options.state,\n wrapX: options.wrapX,\n transition: options.transition,\n interpolate: options.interpolate,\n });\n\n /**\n * @private\n * @type {number}\n */\n this.gutter_ = options.gutter !== undefined ? options.gutter : 0;\n\n /**\n * @private\n * @type {import('../size.js').Size|null}\n */\n this.tileSize_ = options.tileSize ? toSize(options.tileSize) : null;\n\n /**\n * @private\n * @type {Array|null}\n */\n this.tileSizes_ = null;\n\n /**\n * @private\n * @type {!Object}\n */\n this.tileLoadingKeys_ = {};\n\n /**\n * @private\n */\n this.loader_ = options.loader;\n\n this.handleTileChange_ = this.handleTileChange_.bind(this);\n\n /**\n * @type {number}\n */\n this.bandCount = options.bandCount === undefined ? 4 : options.bandCount; // assume RGBA if undefined\n\n /**\n * @private\n * @type {!Object}\n */\n this.tileGridForProjection_ = {};\n\n /**\n * @private\n * @type {!Object}\n */\n this.tileCacheForProjection_ = {};\n }\n\n /**\n * Set the source tile sizes. The length of the array is expected to match the number of\n * levels in the tile grid.\n * @protected\n * @param {Array} tileSizes An array of tile sizes.\n */\n setTileSizes(tileSizes) {\n this.tileSizes_ = tileSizes;\n }\n\n /**\n * Get the source tile size at the given zoom level. This may be different than the rendered tile\n * size.\n * @protected\n * @param {number} z Tile zoom level.\n * @return {import('../size.js').Size} The source tile size.\n */\n getTileSize(z) {\n if (this.tileSizes_) {\n return this.tileSizes_[z];\n }\n if (this.tileSize_) {\n return this.tileSize_;\n }\n const tileGrid = this.getTileGrid();\n return tileGrid ? toSize(tileGrid.getTileSize(z)) : [256, 256];\n }\n\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {number} Gutter.\n */\n getGutterForProjection(projection) {\n const thisProj = this.getProjection();\n if (!thisProj || equivalent(thisProj, projection)) {\n return this.gutter_;\n }\n\n return 0;\n }\n\n /**\n * @param {Loader} loader The data loader.\n * @protected\n */\n setLoader(loader) {\n this.loader_ = loader;\n }\n\n /**\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {import(\"../proj/Projection.js\").default} targetProj The output projection.\n * @param {import(\"../proj/Projection.js\").default} sourceProj The input projection.\n * @return {!DataTile} Tile.\n */\n getReprojTile_(z, x, y, targetProj, sourceProj) {\n const cache = this.getTileCacheForProjection(targetProj);\n const tileCoordKey = getKeyZXY(z, x, y);\n if (cache.containsKey(tileCoordKey)) {\n const tile = cache.get(tileCoordKey);\n if (tile && tile.key == this.getKey()) {\n return tile;\n }\n }\n\n const tileGrid = this.getTileGrid();\n const reprojTilePixelRatio = Math.max.apply(\n null,\n tileGrid.getResolutions().map((r, z) => {\n const tileSize = toSize(tileGrid.getTileSize(z));\n const textureSize = this.getTileSize(z);\n return Math.max(\n textureSize[0] / tileSize[0],\n textureSize[1] / tileSize[1],\n );\n }),\n );\n\n const sourceTileGrid = this.getTileGridForProjection(sourceProj);\n const targetTileGrid = this.getTileGridForProjection(targetProj);\n const tileCoord = [z, x, y];\n const wrappedTileCoord = this.getTileCoordForTileUrlFunction(\n tileCoord,\n targetProj,\n );\n\n const options = Object.assign(\n {\n sourceProj,\n sourceTileGrid,\n targetProj,\n targetTileGrid,\n tileCoord,\n wrappedTileCoord,\n pixelRatio: reprojTilePixelRatio,\n gutter: this.getGutterForProjection(sourceProj),\n getTileFunction: (z, x, y, pixelRatio) =>\n this.getTile(z, x, y, pixelRatio, sourceProj),\n },\n this.tileOptions,\n );\n const newTile = new ReprojDataTile(options);\n newTile.key = this.getKey();\n return newTile;\n }\n\n /**\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {!DataTile} Tile.\n */\n getTile(z, x, y, pixelRatio, projection) {\n const sourceProjection = this.getProjection();\n if (\n sourceProjection &&\n projection &&\n !equivalent(sourceProjection, projection)\n ) {\n return this.getReprojTile_(z, x, y, projection, sourceProjection);\n }\n\n const size = this.getTileSize(z);\n const tileCoordKey = getKeyZXY(z, x, y);\n if (this.tileCache.containsKey(tileCoordKey)) {\n return this.tileCache.get(tileCoordKey);\n }\n\n const sourceLoader = this.loader_;\n\n function loader() {\n return toPromise(function () {\n return sourceLoader(z, x, y);\n });\n }\n\n const options = Object.assign(\n {\n tileCoord: [z, x, y],\n loader: loader,\n size: size,\n },\n this.tileOptions,\n );\n\n const tile = new DataTile(options);\n tile.key = this.getKey();\n tile.addEventListener(EventType.CHANGE, this.handleTileChange_);\n\n this.tileCache.set(tileCoordKey, tile);\n return tile;\n }\n\n /**\n * Handle tile change events.\n * @param {import(\"../events/Event.js\").default} event Event.\n */\n handleTileChange_(event) {\n const tile = /** @type {import(\"../Tile.js\").default} */ (event.target);\n const uid = getUid(tile);\n const tileState = tile.getState();\n let type;\n if (tileState == TileState.LOADING) {\n this.tileLoadingKeys_[uid] = true;\n type = TileEventType.TILELOADSTART;\n } else if (uid in this.tileLoadingKeys_) {\n delete this.tileLoadingKeys_[uid];\n type =\n tileState == TileState.ERROR\n ? TileEventType.TILELOADERROR\n : tileState == TileState.LOADED\n ? TileEventType.TILELOADEND\n : undefined;\n }\n if (type) {\n this.dispatchEvent(new TileSourceEvent(type, tile));\n }\n }\n\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {!import(\"../tilegrid/TileGrid.js\").default} Tile grid.\n */\n getTileGridForProjection(projection) {\n const thisProj = this.getProjection();\n if (this.tileGrid && (!thisProj || equivalent(thisProj, projection))) {\n return this.tileGrid;\n }\n\n const projKey = getUid(projection);\n if (!(projKey in this.tileGridForProjection_)) {\n this.tileGridForProjection_[projKey] =\n getTileGridForProjection(projection);\n }\n return this.tileGridForProjection_[projKey];\n }\n\n /**\n * Sets the tile grid to use when reprojecting the tiles to the given\n * projection instead of the default tile grid for the projection.\n *\n * This can be useful when the default tile grid cannot be created\n * (e.g. projection has no extent defined) or\n * for optimization reasons (custom tile size, resolutions, ...).\n *\n * @param {import(\"../proj.js\").ProjectionLike} projection Projection.\n * @param {import(\"../tilegrid/TileGrid.js\").default} tilegrid Tile grid to use for the projection.\n * @api\n */\n setTileGridForProjection(projection, tilegrid) {\n const proj = getProjection(projection);\n if (proj) {\n const projKey = getUid(proj);\n if (!(projKey in this.tileGridForProjection_)) {\n this.tileGridForProjection_[projKey] = tilegrid;\n }\n }\n }\n\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {import(\"../TileCache.js\").default} Tile cache.\n */\n getTileCacheForProjection(projection) {\n const thisProj = this.getProjection();\n if (!thisProj || equivalent(thisProj, projection)) {\n return this.tileCache;\n }\n\n const projKey = getUid(projection);\n if (!(projKey in this.tileCacheForProjection_)) {\n this.tileCacheForProjection_[projKey] = new TileCache(0.1); // don't cache\n }\n return this.tileCacheForProjection_[projKey];\n }\n\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @param {!Object} usedTiles Used tiles.\n */\n expireCache(projection, usedTiles) {\n const usedTileCache = this.getTileCacheForProjection(projection);\n\n this.tileCache.expireCache(\n this.tileCache == usedTileCache ? usedTiles : {},\n );\n for (const id in this.tileCacheForProjection_) {\n const tileCache = this.tileCacheForProjection_[id];\n tileCache.expireCache(tileCache == usedTileCache ? usedTiles : {});\n }\n }\n\n clear() {\n super.clear();\n for (const id in this.tileCacheForProjection_) {\n this.tileCacheForProjection_[id].clear();\n }\n }\n}\n\nexport default DataTileSource;\n","import { getDecoder } from './compression/index.js';\n\nconst defaultPoolSize = typeof navigator !== 'undefined' ? (navigator.hardwareConcurrency || 2) : 2;\n\n/**\n * @module pool\n */\n\n/**\n * Pool for workers to decode chunks of the images.\n */\nclass Pool {\n /**\n * @constructor\n * @param {Number} [size] The size of the pool. Defaults to the number of CPUs\n * available. When this parameter is `null` or 0, then the\n * decoding will be done in the main thread.\n * @param {function(): Worker} [createWorker] A function that creates the decoder worker.\n * Defaults to a worker with all decoders that ship with geotiff.js. The `createWorker()`\n * function is expected to return a `Worker` compatible with Web Workers. For code that\n * runs in Node, [web-worker](https://www.npmjs.com/package/web-worker) is a good choice.\n *\n * A worker that uses a custom lzw decoder would look like this `my-custom-worker.js` file:\n * ```js\n * import { addDecoder, getDecoder } from 'geotiff';\n * addDecoder(5, () => import ('./my-custom-lzw').then((m) => m.default));\n * self.addEventListener('message', async (e) => {\n * const { id, fileDirectory, buffer } = e.data;\n * const decoder = await getDecoder(fileDirectory);\n * const decoded = await decoder.decode(fileDirectory, buffer);\n * self.postMessage({ decoded, id }, [decoded]);\n * });\n * ```\n * The way the above code is built into a worker by the `createWorker()` function\n * depends on the used bundler. For most bundlers, something like this will work:\n * ```js\n * function createWorker() {\n * return new Worker(new URL('./my-custom-worker.js', import.meta.url));\n * }\n * ```\n */\n constructor(size = defaultPoolSize, createWorker) {\n this.workers = null;\n this._awaitingDecoder = null;\n this.size = size;\n this.messageId = 0;\n if (size) {\n this._awaitingDecoder = createWorker ? Promise.resolve(createWorker) : new Promise((resolve) => {\n import('./worker/decoder.js').then((module) => {\n resolve(module.create);\n });\n });\n this._awaitingDecoder.then((create) => {\n this._awaitingDecoder = null;\n this.workers = [];\n for (let i = 0; i < size; i++) {\n this.workers.push({ worker: create(), idle: true });\n }\n });\n }\n }\n\n /**\n * Decode the given block of bytes with the set compression method.\n * @param {ArrayBuffer} buffer the array buffer of bytes to decode.\n * @returns {Promise} the decoded result as a `Promise`\n */\n async decode(fileDirectory, buffer) {\n if (this._awaitingDecoder) {\n await this._awaitingDecoder;\n }\n return this.size === 0\n ? getDecoder(fileDirectory).then((decoder) => decoder.decode(fileDirectory, buffer))\n : new Promise((resolve) => {\n const worker = this.workers.find((candidate) => candidate.idle)\n || this.workers[Math.floor(Math.random() * this.size)];\n worker.idle = false;\n const id = this.messageId++;\n const onMessage = (e) => {\n if (e.data.id === id) {\n worker.idle = true;\n resolve(e.data.decoded);\n worker.worker.removeEventListener('message', onMessage);\n }\n };\n worker.worker.addEventListener('message', onMessage);\n worker.worker.postMessage({ fileDirectory, buffer, id }, [buffer]);\n });\n }\n\n destroy() {\n if (this.workers) {\n this.workers.forEach((worker) => {\n worker.worker.terminate();\n });\n this.workers = null;\n }\n }\n}\n\nexport default Pool;\n","/**\n * @module ol/source/GeoTIFF\n */\nimport DataTile from './DataTile.js';\nimport TileGrid from '../tilegrid/TileGrid.js';\nimport {\n Pool,\n globals as geotiffGlobals,\n fromBlob as tiffFromBlob,\n fromUrl as tiffFromUrl,\n fromUrls as tiffFromUrls,\n} from 'geotiff';\nimport {\n Projection,\n get as getCachedProjection,\n toUserCoordinate,\n toUserExtent,\n} from '../proj.js';\nimport {clamp} from '../math.js';\nimport {getCenter, getIntersection} from '../extent.js';\nimport {error as logError} from '../console.js';\nimport {fromCode as unitsFromCode} from '../proj/Units.js';\n\n/**\n * Determine if an image type is a mask.\n * See https://www.awaresystems.be/imaging/tiff/tifftags/newsubfiletype.html\n * @param {GeoTIFFImage} image The image.\n * @return {boolean} The image is a mask.\n */\nfunction isMask(image) {\n const fileDirectory = image.fileDirectory;\n const type = fileDirectory.NewSubfileType || 0;\n return (type & 4) === 4;\n}\n\n/**\n * @param {true|false|'auto'} preference The convertToRGB option.\n * @param {GeoTIFFImage} image The image.\n * @return {boolean} Use the `image.readRGB()` method.\n */\nfunction readRGB(preference, image) {\n if (!preference) {\n return false;\n }\n if (preference === true) {\n return true;\n }\n if (image.getSamplesPerPixel() !== 3) {\n return false;\n }\n const interpretation = image.fileDirectory.PhotometricInterpretation;\n const interpretations = geotiffGlobals.photometricInterpretations;\n return (\n interpretation === interpretations.CMYK ||\n interpretation === interpretations.YCbCr ||\n interpretation === interpretations.CIELab ||\n interpretation === interpretations.ICCLab\n );\n}\n\n/**\n * @typedef {Object} SourceInfo\n * @property {string} [url] URL for the source GeoTIFF.\n * @property {Array} [overviews] List of any overview URLs, only applies if the url parameter is given.\n * @property {Blob} [blob] Blob containing the source GeoTIFF. `blob` and `url` are mutually exclusive.\n * @property {number} [min=0] The minimum source data value. Rendered values are scaled from 0 to 1 based on\n * the configured min and max. If not provided and raster statistics are available, those will be used instead.\n * If neither are available, the minimum for the data type will be used. To disable this behavior, set\n * the `normalize` option to `false` in the constructor.\n * @property {number} [max] The maximum source data value. Rendered values are scaled from 0 to 1 based on\n * the configured min and max. If not provided and raster statistics are available, those will be used instead.\n * If neither are available, the maximum for the data type will be used. To disable this behavior, set\n * the `normalize` option to `false` in the constructor.\n * @property {number} [nodata] Values to discard (overriding any nodata values in the metadata).\n * When provided, an additional alpha band will be added to the data. Often the GeoTIFF metadata\n * will include information about nodata values, so you should only need to set this property if\n * you find that it is not already extracted from the metadata.\n * @property {Array} [bands] Band numbers to be read from (where the first band is `1`). If not provided, all bands will\n * be read. For example, if a GeoTIFF has blue (1), green (2), red (3), and near-infrared (4) bands, and you only need the\n * near-infrared band, configure `bands: [4]`.\n */\n\n/**\n * @typedef {Object} GeoKeys\n * @property {number} GTModelTypeGeoKey Model type.\n * @property {number} GTRasterTypeGeoKey Raster type.\n * @property {number} GeogAngularUnitsGeoKey Angular units.\n * @property {number} GeogInvFlatteningGeoKey Inverse flattening.\n * @property {number} GeogSemiMajorAxisGeoKey Semi-major axis.\n * @property {number} GeographicTypeGeoKey Geographic coordinate system code.\n * @property {number} ProjLinearUnitsGeoKey Projected linear unit code.\n * @property {number} ProjectedCSTypeGeoKey Projected coordinate system code.\n */\n\n/**\n * @typedef {import(\"geotiff\").GeoTIFF} GeoTIFF\n */\n\n/**\n * @typedef {import(\"geotiff\").MultiGeoTIFF} MultiGeoTIFF\n */\n\n/**\n * @typedef {Object} GDALMetadata\n * @property {string} STATISTICS_MINIMUM The minimum value (as a string).\n * @property {string} STATISTICS_MAXIMUM The maximum value (as a string).\n */\n\nconst STATISTICS_MAXIMUM = 'STATISTICS_MAXIMUM';\nconst STATISTICS_MINIMUM = 'STATISTICS_MINIMUM';\n\nconst defaultTileSize = 256;\n\n/**\n * @typedef {import(\"geotiff\").GeoTIFFImage} GeoTIFFImage\n */\n\nlet workerPool;\nfunction getWorkerPool() {\n if (!workerPool) {\n workerPool = new Pool();\n }\n return workerPool;\n}\n\n/**\n * Get the bounding box of an image. If the image does not have an affine transform,\n * the pixel bounds are returned.\n * @param {GeoTIFFImage} image The image.\n * @return {Array} The image bounding box.\n */\nfunction getBoundingBox(image) {\n try {\n return image.getBoundingBox();\n } catch (_) {\n return [0, 0, image.getWidth(), image.getHeight()];\n }\n}\n\n/**\n * Get the origin of an image. If the image does not have an affine transform,\n * the top-left corner of the pixel bounds is returned.\n * @param {GeoTIFFImage} image The image.\n * @return {Array} The image origin.\n */\nfunction getOrigin(image) {\n try {\n return image.getOrigin().slice(0, 2);\n } catch (_) {\n return [0, image.getHeight()];\n }\n}\n\n/**\n * Get the resolution of an image. If the image does not have an affine transform,\n * the width of the image is compared with the reference image.\n * @param {GeoTIFFImage} image The image.\n * @param {GeoTIFFImage} referenceImage The reference image.\n * @return {Array} The map x and y units per pixel.\n */\nfunction getResolutions(image, referenceImage) {\n try {\n return image.getResolution(referenceImage);\n } catch (_) {\n return [\n referenceImage.getWidth() / image.getWidth(),\n referenceImage.getHeight() / image.getHeight(),\n ];\n }\n}\n\n/**\n * @param {GeoTIFFImage} image A GeoTIFF.\n * @return {import(\"../proj/Projection.js\").default} The image projection.\n */\nfunction getProjection(image) {\n const geoKeys = image.geoKeys;\n if (!geoKeys) {\n return null;\n }\n\n if (\n geoKeys.ProjectedCSTypeGeoKey &&\n geoKeys.ProjectedCSTypeGeoKey !== 32767\n ) {\n const code = 'EPSG:' + geoKeys.ProjectedCSTypeGeoKey;\n let projection = getCachedProjection(code);\n if (!projection) {\n const units = unitsFromCode(geoKeys.ProjLinearUnitsGeoKey);\n if (units) {\n projection = new Projection({\n code: code,\n units: units,\n });\n }\n }\n return projection;\n }\n\n if (geoKeys.GeographicTypeGeoKey && geoKeys.GeographicTypeGeoKey !== 32767) {\n const code = 'EPSG:' + geoKeys.GeographicTypeGeoKey;\n let projection = getCachedProjection(code);\n if (!projection) {\n const units = unitsFromCode(geoKeys.GeogAngularUnitsGeoKey);\n if (units) {\n projection = new Projection({\n code: code,\n units: units,\n });\n }\n }\n return projection;\n }\n\n return null;\n}\n\n/**\n * @param {GeoTIFF|MultiGeoTIFF} tiff A GeoTIFF.\n * @return {Promise>} Resolves to a list of images.\n */\nfunction getImagesForTIFF(tiff) {\n return tiff.getImageCount().then(function (count) {\n const requests = new Array(count);\n for (let i = 0; i < count; ++i) {\n requests[i] = tiff.getImage(i);\n }\n return Promise.all(requests);\n });\n}\n\n/**\n * @param {SourceInfo} source The GeoTIFF source.\n * @param {Object} options Options for the GeoTIFF source.\n * @return {Promise>} Resolves to a list of images.\n */\nfunction getImagesForSource(source, options) {\n let request;\n if (source.blob) {\n request = tiffFromBlob(source.blob);\n } else if (source.overviews) {\n request = tiffFromUrls(source.url, source.overviews, options);\n } else {\n request = tiffFromUrl(source.url, options);\n }\n return request.then(getImagesForTIFF);\n}\n\n/**\n * @param {number|Array|Array>} expected Expected value.\n * @param {number|Array|Array>} got Actual value.\n * @param {number} tolerance Accepted tolerance in fraction of expected between expected and got.\n * @param {string} message The error message.\n * @param {function(Error):void} rejector A function to be called with any error.\n */\nfunction assertEqual(expected, got, tolerance, message, rejector) {\n if (Array.isArray(expected)) {\n const length = expected.length;\n if (!Array.isArray(got) || length != got.length) {\n const error = new Error(message);\n rejector(error);\n throw error;\n }\n for (let i = 0; i < length; ++i) {\n assertEqual(expected[i], got[i], tolerance, message, rejector);\n }\n return;\n }\n\n got = /** @type {number} */ (got);\n if (Math.abs(expected - got) > tolerance * expected) {\n throw new Error(message);\n }\n}\n\n/**\n * @param {Array} array The data array.\n * @return {number} The minimum value.\n */\nfunction getMinForDataType(array) {\n if (array instanceof Int8Array) {\n return -128;\n }\n if (array instanceof Int16Array) {\n return -32768;\n }\n if (array instanceof Int32Array) {\n return -2147483648;\n }\n if (array instanceof Float32Array) {\n return 1.2e-38;\n }\n return 0;\n}\n\n/**\n * @param {Array} array The data array.\n * @return {number} The maximum value.\n */\nfunction getMaxForDataType(array) {\n if (array instanceof Int8Array) {\n return 127;\n }\n if (array instanceof Uint8Array) {\n return 255;\n }\n if (array instanceof Uint8ClampedArray) {\n return 255;\n }\n if (array instanceof Int16Array) {\n return 32767;\n }\n if (array instanceof Uint16Array) {\n return 65535;\n }\n if (array instanceof Int32Array) {\n return 2147483647;\n }\n if (array instanceof Uint32Array) {\n return 4294967295;\n }\n if (array instanceof Float32Array) {\n return 3.4e38;\n }\n return 255;\n}\n\n/**\n * @typedef {Object} GeoTIFFSourceOptions\n * @property {boolean} [forceXHR=false] Whether to force the usage of the browsers XMLHttpRequest API.\n * @property {Object} [headers] additional key-value pairs of headers to be passed with each request. Key is the header name, value the header value.\n * @property {string} [credentials] How credentials shall be handled. See\n * https://developer.mozilla.org/en-US/docs/Web/API/fetch for reference and possible values\n * @property {number} [maxRanges] The maximum amount of ranges to request in a single multi-range request.\n * By default only a single range is used.\n * @property {boolean} [allowFullFile=false] Whether or not a full file is accepted when only a portion is\n * requested. Only use this when you know the source image to be small enough to fit in memory.\n * @property {number} [blockSize=65536] The block size to use.\n * @property {number} [cacheSize=100] The number of blocks that shall be held in a LRU cache.\n */\n\n/**\n * @typedef {Object} Options\n * @property {Array} sources List of information about GeoTIFF sources.\n * Multiple sources can be combined when their resolution sets are equal after applying a scale.\n * The list of sources defines a mapping between input bands as they are read from each GeoTIFF and\n * the output bands that are provided by data tiles. To control which bands to read from each GeoTIFF,\n * use the {@link import(\"./GeoTIFF.js\").SourceInfo bands} property. If, for example, you specify two\n * sources, one with 3 bands and {@link import(\"./GeoTIFF.js\").SourceInfo nodata} configured, and\n * another with 1 band, the resulting data tiles will have 5 bands: 3 from the first source, 1 alpha\n * band from the first source, and 1 band from the second source.\n * @property {GeoTIFFSourceOptions} [sourceOptions] Additional options to be passed to [geotiff.js](https://geotiffjs.github.io/geotiff.js/module-geotiff.html)'s `fromUrl` or `fromUrls` methods.\n * @property {true|false|'auto'} [convertToRGB=false] By default, bands from the sources are read as-is. When\n * reading GeoTIFFs with the purpose of displaying them as RGB images, setting this to `true` will\n * convert other color spaces (YCbCr, CMYK) to RGB. Setting the option to `'auto'` will make it so CMYK, YCbCr,\n * CIELab, and ICCLab images will automatically be converted to RGB.\n * @property {boolean} [normalize=true] By default, the source data is normalized to values between\n * 0 and 1 with scaling factors based on the raster statistics or `min` and `max` properties of each source.\n * If instead you want to work with the raw values in a style expression, set this to `false`. Setting this option\n * to `false` will make it so any `min` and `max` properties on sources are ignored.\n * @property {boolean} [opaque=false] Whether the layer is opaque.\n * @property {import(\"../proj.js\").ProjectionLike} [projection] Source projection. If not provided, the GeoTIFF metadata\n * will be read for projection information.\n * @property {number} [transition=250] Duration of the opacity transition for rendering.\n * To disable the opacity transition, pass `transition: 0`.\n * @property {boolean} [wrapX=false] Render tiles beyond the tile grid extent.\n * @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,\n * the linear interpolation is used to resample the data. If false, nearest neighbor is used.\n */\n\n/**\n * @classdesc\n * A source for working with GeoTIFF data.\n * **Note for users of the full build**: The `GeoTIFF` source requires the\n * [geotiff.js](https://github.com/geotiffjs/geotiff.js) library to be loaded as well.\n *\n * @api\n */\nclass GeoTIFFSource extends DataTile {\n /**\n * @param {Options} options Data tile options.\n */\n constructor(options) {\n super({\n state: 'loading',\n tileGrid: null,\n projection: options.projection || null,\n opaque: options.opaque,\n transition: options.transition,\n interpolate: options.interpolate !== false,\n wrapX: options.wrapX,\n });\n\n /**\n * @type {Array}\n * @private\n */\n this.sourceInfo_ = options.sources;\n\n const numSources = this.sourceInfo_.length;\n\n /**\n * @type {Object}\n * @private\n */\n this.sourceOptions_ = options.sourceOptions;\n\n /**\n * @type {Array>}\n * @private\n */\n this.sourceImagery_ = new Array(numSources);\n\n /**\n * @type {Array>}\n * @private\n */\n this.sourceMasks_ = new Array(numSources);\n\n /**\n * @type {Array}\n * @private\n */\n this.resolutionFactors_ = new Array(numSources);\n\n /**\n * @type {Array}\n * @private\n */\n this.samplesPerPixel_;\n\n /**\n * @type {Array>}\n * @private\n */\n this.nodataValues_;\n\n /**\n * @type {Array>}\n * @private\n */\n this.metadata_;\n\n /**\n * @type {boolean}\n * @private\n */\n this.normalize_ = options.normalize !== false;\n\n /**\n * @type {boolean}\n * @private\n */\n this.addAlpha_ = false;\n\n /**\n * @type {Error}\n * @private\n */\n this.error_ = null;\n\n /**\n * @type {true|false|'auto'}\n */\n this.convertToRGB_ = options.convertToRGB || false;\n\n this.setKey(this.sourceInfo_.map((source) => source.url).join(','));\n\n const self = this;\n const requests = new Array(numSources);\n for (let i = 0; i < numSources; ++i) {\n requests[i] = getImagesForSource(\n this.sourceInfo_[i],\n this.sourceOptions_,\n );\n }\n Promise.all(requests)\n .then(function (sources) {\n self.configure_(sources);\n })\n .catch(function (error) {\n logError(error);\n self.error_ = error;\n self.setState('error');\n });\n }\n\n /**\n * @return {Error} A source loading error. When the source state is `error`, use this function\n * to get more information about the error. To debug a faulty configuration, you may want to use\n * a listener like\n * ```js\n * geotiffSource.on('change', () => {\n * if (geotiffSource.getState() === 'error') {\n * console.error(geotiffSource.getError());\n * }\n * });\n * ```\n */\n getError() {\n return this.error_;\n }\n\n /**\n * Determine the projection of the images in this GeoTIFF.\n * The default implementation looks at the ProjectedCSTypeGeoKey and the GeographicTypeGeoKey\n * of each image in turn.\n * You can override this method in a subclass to support more projections.\n *\n * @param {Array>} sources Each source is a list of images\n * from a single GeoTIFF.\n */\n determineProjection(sources) {\n const firstSource = sources[0];\n for (let i = firstSource.length - 1; i >= 0; --i) {\n const image = firstSource[i];\n const projection = getProjection(image);\n if (projection) {\n this.projection = projection;\n break;\n }\n }\n }\n\n /**\n * Configure the tile grid based on images within the source GeoTIFFs. Each GeoTIFF\n * must have the same internal tiled structure.\n * @param {Array>} sources Each source is a list of images\n * from a single GeoTIFF.\n * @private\n */\n configure_(sources) {\n let extent;\n let origin;\n let commonRenderTileSizes;\n let commonSourceTileSizes;\n let resolutions;\n const samplesPerPixel = new Array(sources.length);\n const nodataValues = new Array(sources.length);\n const metadata = new Array(sources.length);\n let minZoom = 0;\n\n const sourceCount = sources.length;\n for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n const images = [];\n const masks = [];\n sources[sourceIndex].forEach((item) => {\n if (isMask(item)) {\n masks.push(item);\n } else {\n images.push(item);\n }\n });\n\n const imageCount = images.length;\n if (masks.length > 0 && masks.length !== imageCount) {\n throw new Error(\n `Expected one mask per image found ${masks.length} masks and ${imageCount} images`,\n );\n }\n\n let sourceExtent;\n let sourceOrigin;\n const sourceTileSizes = new Array(imageCount);\n const renderTileSizes = new Array(imageCount);\n const sourceResolutions = new Array(imageCount);\n\n nodataValues[sourceIndex] = new Array(imageCount);\n metadata[sourceIndex] = new Array(imageCount);\n\n for (let imageIndex = 0; imageIndex < imageCount; ++imageIndex) {\n const image = images[imageIndex];\n const nodataValue = image.getGDALNoData();\n metadata[sourceIndex][imageIndex] = image.getGDALMetadata(0);\n nodataValues[sourceIndex][imageIndex] = nodataValue;\n\n const wantedSamples = this.sourceInfo_[sourceIndex].bands;\n samplesPerPixel[sourceIndex] = wantedSamples\n ? wantedSamples.length\n : image.getSamplesPerPixel();\n const level = imageCount - (imageIndex + 1);\n\n if (!sourceExtent) {\n sourceExtent = getBoundingBox(image);\n }\n\n if (!sourceOrigin) {\n sourceOrigin = getOrigin(image);\n }\n\n const imageResolutions = getResolutions(image, images[0]);\n sourceResolutions[level] = imageResolutions[0];\n\n const sourceTileSize = [image.getTileWidth(), image.getTileHeight()];\n\n // request larger blocks for untiled layouts\n if (\n sourceTileSize[0] !== sourceTileSize[1] &&\n sourceTileSize[1] < defaultTileSize\n ) {\n sourceTileSize[0] = defaultTileSize;\n sourceTileSize[1] = defaultTileSize;\n }\n\n sourceTileSizes[level] = sourceTileSize;\n\n const aspectRatio = imageResolutions[0] / Math.abs(imageResolutions[1]);\n renderTileSizes[level] = [\n sourceTileSize[0],\n sourceTileSize[1] / aspectRatio,\n ];\n }\n\n if (!extent) {\n extent = sourceExtent;\n } else {\n getIntersection(extent, sourceExtent, extent);\n }\n\n if (!origin) {\n origin = sourceOrigin;\n } else {\n const message = `Origin mismatch for source ${sourceIndex}, got [${sourceOrigin}] but expected [${origin}]`;\n assertEqual(origin, sourceOrigin, 0, message, this.viewRejector);\n }\n\n if (!resolutions) {\n resolutions = sourceResolutions;\n this.resolutionFactors_[sourceIndex] = 1;\n } else {\n if (resolutions.length - minZoom > sourceResolutions.length) {\n minZoom = resolutions.length - sourceResolutions.length;\n }\n const resolutionFactor =\n resolutions[resolutions.length - 1] /\n sourceResolutions[sourceResolutions.length - 1];\n this.resolutionFactors_[sourceIndex] = resolutionFactor;\n const scaledSourceResolutions = sourceResolutions.map(\n (resolution) => (resolution *= resolutionFactor),\n );\n const message = `Resolution mismatch for source ${sourceIndex}, got [${scaledSourceResolutions}] but expected [${resolutions}]`;\n assertEqual(\n resolutions.slice(minZoom, resolutions.length),\n scaledSourceResolutions,\n 0.02,\n message,\n this.viewRejector,\n );\n }\n\n if (!commonRenderTileSizes) {\n commonRenderTileSizes = renderTileSizes;\n } else {\n assertEqual(\n commonRenderTileSizes.slice(minZoom, commonRenderTileSizes.length),\n renderTileSizes,\n 0.01,\n `Tile size mismatch for source ${sourceIndex}`,\n this.viewRejector,\n );\n }\n\n if (!commonSourceTileSizes) {\n commonSourceTileSizes = sourceTileSizes;\n } else {\n assertEqual(\n commonSourceTileSizes.slice(minZoom, commonSourceTileSizes.length),\n sourceTileSizes,\n 0,\n `Tile size mismatch for source ${sourceIndex}`,\n this.viewRejector,\n );\n }\n\n this.sourceImagery_[sourceIndex] = images.reverse();\n this.sourceMasks_[sourceIndex] = masks.reverse();\n }\n\n for (let i = 0, ii = this.sourceImagery_.length; i < ii; ++i) {\n const sourceImagery = this.sourceImagery_[i];\n while (sourceImagery.length < resolutions.length) {\n sourceImagery.unshift(undefined);\n }\n }\n\n if (!this.getProjection()) {\n this.determineProjection(sources);\n }\n\n this.samplesPerPixel_ = samplesPerPixel;\n this.nodataValues_ = nodataValues;\n this.metadata_ = metadata;\n\n // decide if we need to add an alpha band to handle nodata\n outer: for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n // option 1: source is configured with a nodata value\n if (this.sourceInfo_[sourceIndex].nodata !== undefined) {\n this.addAlpha_ = true;\n break;\n }\n if (this.sourceMasks_[sourceIndex].length) {\n this.addAlpha_ = true;\n break;\n }\n\n const values = nodataValues[sourceIndex];\n\n // option 2: check image metadata for limited bands\n const bands = this.sourceInfo_[sourceIndex].bands;\n if (bands) {\n for (let i = 0; i < bands.length; ++i) {\n if (values[bands[i] - 1] !== null) {\n this.addAlpha_ = true;\n break outer;\n }\n }\n continue;\n }\n\n // option 3: check image metadata for all bands\n for (let imageIndex = 0; imageIndex < values.length; ++imageIndex) {\n if (values[imageIndex] !== null) {\n this.addAlpha_ = true;\n break outer;\n }\n }\n }\n\n let bandCount = this.addAlpha_ ? 1 : 0;\n for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n bandCount += samplesPerPixel[sourceIndex];\n }\n this.bandCount = bandCount;\n\n const tileGrid = new TileGrid({\n extent: extent,\n minZoom: minZoom,\n origin: origin,\n resolutions: resolutions,\n tileSizes: commonRenderTileSizes,\n });\n\n this.tileGrid = tileGrid;\n this.setTileSizes(commonSourceTileSizes);\n\n this.setLoader(this.loadTile_.bind(this));\n this.setState('ready');\n\n const zoom = 1;\n if (resolutions.length === 2) {\n resolutions = [resolutions[0], resolutions[1], resolutions[1] / 2];\n } else if (resolutions.length === 1) {\n resolutions = [resolutions[0] * 2, resolutions[0], resolutions[0] / 2];\n }\n\n this.viewResolver({\n showFullExtent: true,\n projection: this.projection,\n resolutions: resolutions,\n center: toUserCoordinate(getCenter(extent), this.projection),\n extent: toUserExtent(extent, this.projection),\n zoom: zoom,\n });\n }\n\n /**\n * @param {number} z The z tile index.\n * @param {number} x The x tile index.\n * @param {number} y The y tile index.\n * @return {Promise} The composed tile data.\n * @private\n */\n loadTile_(z, x, y) {\n const sourceTileSize = this.getTileSize(z);\n const sourceCount = this.sourceImagery_.length;\n const requests = new Array(sourceCount * 2);\n const nodataValues = this.nodataValues_;\n const sourceInfo = this.sourceInfo_;\n const pool = getWorkerPool();\n for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n const source = sourceInfo[sourceIndex];\n const resolutionFactor = this.resolutionFactors_[sourceIndex];\n const pixelBounds = [\n Math.round(x * (sourceTileSize[0] * resolutionFactor)),\n Math.round(y * (sourceTileSize[1] * resolutionFactor)),\n Math.round((x + 1) * (sourceTileSize[0] * resolutionFactor)),\n Math.round((y + 1) * (sourceTileSize[1] * resolutionFactor)),\n ];\n const image = this.sourceImagery_[sourceIndex][z];\n let samples;\n if (source.bands) {\n samples = source.bands.map(function (bandNumber) {\n return bandNumber - 1;\n });\n }\n\n /** @type {number|Array} */\n let fillValue;\n if ('nodata' in source && source.nodata !== null) {\n fillValue = source.nodata;\n } else {\n if (!samples) {\n fillValue = nodataValues[sourceIndex];\n } else {\n fillValue = samples.map(function (sampleIndex) {\n return nodataValues[sourceIndex][sampleIndex];\n });\n }\n }\n\n const readOptions = {\n window: pixelBounds,\n width: sourceTileSize[0],\n height: sourceTileSize[1],\n samples: samples,\n fillValue: fillValue,\n pool: pool,\n interleave: false,\n };\n if (readRGB(this.convertToRGB_, image)) {\n requests[sourceIndex] = image.readRGB(readOptions);\n } else {\n requests[sourceIndex] = image.readRasters(readOptions);\n }\n\n // requests after `sourceCount` are for mask data (if any)\n const maskIndex = sourceCount + sourceIndex;\n const mask = this.sourceMasks_[sourceIndex][z];\n if (!mask) {\n requests[maskIndex] = Promise.resolve(null);\n continue;\n }\n\n requests[maskIndex] = mask.readRasters({\n window: pixelBounds,\n width: sourceTileSize[0],\n height: sourceTileSize[1],\n samples: [0],\n pool: pool,\n interleave: false,\n });\n }\n\n return Promise.all(requests)\n .then(this.composeTile_.bind(this, sourceTileSize))\n .catch(function (error) {\n logError(error);\n throw error;\n });\n }\n\n /**\n * @param {import(\"../size.js\").Size} sourceTileSize The source tile size.\n * @param {Array} sourceSamples The source samples.\n * @return {import(\"../DataTile.js\").Data} The composed tile data.\n * @private\n */\n composeTile_(sourceTileSize, sourceSamples) {\n const metadata = this.metadata_;\n const sourceInfo = this.sourceInfo_;\n const sourceCount = this.sourceImagery_.length;\n const bandCount = this.bandCount;\n const samplesPerPixel = this.samplesPerPixel_;\n const nodataValues = this.nodataValues_;\n const normalize = this.normalize_;\n const addAlpha = this.addAlpha_;\n\n const pixelCount = sourceTileSize[0] * sourceTileSize[1];\n const dataLength = pixelCount * bandCount;\n\n /** @type {Uint8Array|Float32Array} */\n let data;\n if (normalize) {\n data = new Uint8Array(dataLength);\n } else {\n data = new Float32Array(dataLength);\n }\n\n let dataIndex = 0;\n for (let pixelIndex = 0; pixelIndex < pixelCount; ++pixelIndex) {\n let transparent = addAlpha;\n for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n const source = sourceInfo[sourceIndex];\n\n let min = source.min;\n let max = source.max;\n let gain, bias;\n if (normalize) {\n const stats = metadata[sourceIndex][0];\n if (min === undefined) {\n if (stats && STATISTICS_MINIMUM in stats) {\n min = parseFloat(stats[STATISTICS_MINIMUM]);\n } else {\n min = getMinForDataType(sourceSamples[sourceIndex][0]);\n }\n }\n if (max === undefined) {\n if (stats && STATISTICS_MAXIMUM in stats) {\n max = parseFloat(stats[STATISTICS_MAXIMUM]);\n } else {\n max = getMaxForDataType(sourceSamples[sourceIndex][0]);\n }\n }\n\n gain = 255 / (max - min);\n bias = -min * gain;\n }\n\n for (\n let sampleIndex = 0;\n sampleIndex < samplesPerPixel[sourceIndex];\n ++sampleIndex\n ) {\n const sourceValue =\n sourceSamples[sourceIndex][sampleIndex][pixelIndex];\n\n let value;\n if (normalize) {\n value = clamp(gain * sourceValue + bias, 0, 255);\n } else {\n value = sourceValue;\n }\n\n if (!addAlpha) {\n data[dataIndex] = value;\n } else {\n let nodata = source.nodata;\n if (nodata === undefined) {\n let bandIndex;\n if (source.bands) {\n bandIndex = source.bands[sampleIndex] - 1;\n } else {\n bandIndex = sampleIndex;\n }\n nodata = nodataValues[sourceIndex][bandIndex];\n }\n\n const nodataIsNaN = isNaN(nodata);\n if (\n (!nodataIsNaN && sourceValue !== nodata) ||\n (nodataIsNaN && !isNaN(sourceValue))\n ) {\n transparent = false;\n data[dataIndex] = value;\n }\n }\n dataIndex++;\n }\n if (!transparent) {\n const maskIndex = sourceCount + sourceIndex;\n const mask = sourceSamples[maskIndex];\n if (mask && !mask[0][pixelIndex]) {\n transparent = true;\n }\n }\n }\n if (addAlpha) {\n if (!transparent) {\n data[dataIndex] = 255;\n }\n dataIndex++;\n }\n }\n\n return data;\n }\n}\n\n/**\n * Get a promise for view properties based on the source. Use the result of this function\n * as the `view` option in a map constructor.\n *\n * const source = new GeoTIFF(options);\n *\n * const map = new Map({\n * target: 'map',\n * layers: [\n * new TileLayer({\n * source: source,\n * }),\n * ],\n * view: source.getView(),\n * });\n *\n * @function\n * @return {Promise} A promise for view-related properties.\n * @api\n *\n */\nGeoTIFFSource.prototype.getView;\n\nexport default GeoTIFFSource;\n","// Use this separately until https://github.com/Viglino/ol-ext/pull/1087 is released\n/*\n Copyright (c) 2015 Jean-Marc VIGLINO,\n released under the CeCILL-B license (French BSD license)\n (http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt).\n*/\n\nimport ol_control_Control from 'ol/control/Control.js'\n\n/**\n * @classdesc Swipe Control.\n * @fires moving\n * @constructor\n * @extends {ol_control_Control}\n * @param {Object=} Control options.\n * @param {ol.layer|Array} options.layers layers to swipe\n * @param {ol.layer|Array} options.rightLayers layers to swipe on right side\n * @param {string} options.className control class name\n * @param {number} options.position position property of the swipe [0,1], default 0.5\n * @param {string} options.orientation orientation property (vertical|horizontal), default vertical\n */\nvar ol_control_Swipe = class olcontrolSwipe extends ol_control_Control {\n constructor(options) {\n options = options || {};\n\n var element = document.createElement('div');\n super({\n element: element\n });\n \n element.className = (options.className || 'ol-swipe') + ' ol-unselectable ol-control';\n var button = document.createElement('button');\n element.appendChild(button);\n\n element.addEventListener('mousedown', this.move.bind(this));\n element.addEventListener('touchstart', this.move.bind(this));\n\n // An array of listener on layer postcompose\n this.precomposeRight_ = this.precomposeRight.bind(this);\n this.precomposeLeft_ = this.precomposeLeft.bind(this);\n this.postcompose_ = this.postcompose.bind(this);\n\n this.layers = [];\n if (options.layers)\n this.addLayer(options.layers, false);\n if (options.rightLayers)\n this.addLayer(options.rightLayers, true);\n\n this.on('propertychange', function (e) {\n if (this.getMap()) {\n try { this.getMap().renderSync(); } catch (e) { /* ok */ }\n }\n if (this.get('orientation') === \"horizontal\") {\n this.element.style.top = this.get('position') * 100 + \"%\";\n this.element.style.left = \"\";\n } else {\n if (this.get('orientation') !== \"vertical\")\n this.set('orientation', \"vertical\");\n this.element.style.left = this.get('position') * 100 + \"%\";\n this.element.style.top = \"\";\n }\n if (e.key === 'orientation') {\n this.element.classList.remove(\"horizontal\", \"vertical\");\n this.element.classList.add(this.get('orientation'));\n }\n // Force VectorImage to refresh\n if (!this.isMoving) {\n this.layers.forEach(function (l) {\n if (l.layer.getImageRatio)\n l.layer.changed();\n });\n }\n }.bind(this));\n\n this.set('position', options.position || 0.5);\n this.set('orientation', options.orientation || 'vertical');\n }\n /**\n * Set the map instance the control associated with.\n * @param {_ol_Map_} map The map instance.\n */\n setMap(map) {\n var i;\n var l;\n\n if (this.getMap()) {\n for (i = 0; i < this.layers.length; i++) {\n l = this.layers[i];\n if (l.right)\n l.layer.un(['precompose', 'prerender'], this.precomposeRight_);\n else\n l.layer.un(['precompose', 'prerender'], this.precomposeLeft_);\n l.layer.un(['postcompose', 'postrender'], this.postcompose_);\n }\n try { this.getMap().renderSync(); } catch (e) { /* ok */ }\n }\n\n super.setMap(map);\n\n if (map) {\n this._listener = [];\n for (i = 0; i < this.layers.length; i++) {\n l = this.layers[i];\n if (l.right)\n l.layer.on(['precompose', 'prerender'], this.precomposeRight_);\n else\n l.layer.on(['precompose', 'prerender'], this.precomposeLeft_);\n l.layer.on(['postcompose', 'postrender'], this.postcompose_);\n }\n try { map.renderSync(); } catch (e) { /* ok */ }\n }\n }\n /** @private\n */\n isLayer_(layer) {\n for (var k = 0; k < this.layers.length; k++) {\n if (this.layers[k].layer === layer)\n return k;\n }\n return -1;\n }\n /** Add a layer to clip\n *\t@param {ol.layer|Array} layer to clip\n *\t@param {bool} add layer in the right part of the map, default left.\n */\n addLayer(layers, right) {\n if (!(layers instanceof Array))\n layers = [layers];\n for (var i = 0; i < layers.length; i++) {\n var l = layers[i];\n if (this.isLayer_(l) < 0) {\n this.layers.push({ layer: l, right: right });\n if (this.getMap()) {\n if (right)\n l.on(['precompose', 'prerender'], this.precomposeRight_);\n else\n l.on(['precompose', 'prerender'], this.precomposeLeft_);\n l.on(['postcompose', 'postrender'], this.postcompose_);\n try { this.getMap().renderSync(); } catch (e) { /* ok */ }\n }\n }\n }\n }\n /** Remove all layers\n */\n removeLayers() {\n var layers = [];\n this.layers.forEach(function (l) { layers.push(l.layer); });\n this.removeLayer(layers);\n }\n /** Remove a layer to clip\n *\t@param {ol.layer|Array} layer to clip\n */\n removeLayer(layers) {\n if (!(layers instanceof Array))\n layers = [layers];\n for (var i = 0; i < layers.length; i++) {\n var k = this.isLayer_(layers[i]);\n if (k >= 0 && this.getMap()) {\n if (this.layers[k].right)\n layers[i].un(['precompose', 'prerender'], this.precomposeRight_);\n else\n layers[i].un(['precompose', 'prerender'], this.precomposeLeft_);\n layers[i].un(['postcompose', 'postrender'], this.postcompose_);\n this.layers.splice(k, 1);\n }\n }\n if (this.getMap()) {\n try { this.getMap().renderSync(); } catch (e) { /* ok */ }\n }\n }\n /** Get visible rectangle\n * @returns {ol.extent}\n */\n getRectangle() {\n var s;\n if (this.get('orientation') === 'vertical') {\n s = this.getMap().getSize();\n return [0, 0, s[0] * this.get('position'), s[1]];\n } else {\n s = this.getMap().getSize();\n return [0, 0, s[0], s[1] * this.get('position')];\n }\n }\n /** @private\n */\n move(e) {\n var self = this;\n var l;\n if (!this._movefn)\n this._movefn = this.move.bind(this);\n switch (e.type) {\n case 'touchcancel':\n case 'touchend':\n case 'mouseup': {\n self.isMoving = false;\n [\"mouseup\", \"mousemove\", \"touchend\", \"touchcancel\", \"touchmove\"]\n .forEach(function (eventName) {\n document.removeEventListener(eventName, self._movefn);\n });\n // Force VectorImage to refresh\n this.layers.forEach(function (l) {\n if (l.layer.getImageRatio)\n l.layer.changed();\n });\n break;\n }\n case 'mousedown':\n case 'touchstart': {\n self.isMoving = true;\n [\"mouseup\", \"mousemove\", \"touchend\", \"touchcancel\", \"touchmove\"]\n .forEach(function (eventName) {\n document.addEventListener(eventName, self._movefn);\n });\n }\n // fallthrough\n case 'mousemove':\n case 'touchmove': {\n if (self.isMoving) {\n if (self.get('orientation') === 'vertical') {\n var pageX = e.pageX\n || (e.touches && e.touches.length && e.touches[0].pageX)\n || (e.changedTouches && e.changedTouches.length && e.changedTouches[0].pageX);\n if (!pageX)\n break;\n pageX -= self.getMap().getTargetElement().getBoundingClientRect().left +\n window.pageXOffset - document.documentElement.clientLeft;\n\n l = self.getMap().getSize()[0];\n var w = l - Math.min(Math.max(0, l - pageX), l);\n l = w / l;\n self.set('position', l);\n self.dispatchEvent({ type: 'moving', size: [w, self.getMap().getSize()[1]], position: [l, 0] });\n } else {\n var pageY = e.pageY\n || (e.touches && e.touches.length && e.touches[0].pageY)\n || (e.changedTouches && e.changedTouches.length && e.changedTouches[0].pageY);\n if (!pageY)\n break;\n pageY -= self.getMap().getTargetElement().getBoundingClientRect().top +\n window.pageYOffset - document.documentElement.clientTop;\n\n l = self.getMap().getSize()[1];\n var h = l - Math.min(Math.max(0, l - pageY), l);\n l = h / l;\n self.set('position', l);\n self.dispatchEvent({ type: 'moving', size: [self.getMap().getSize()[0], h], position: [0, l] });\n }\n }\n break;\n }\n default: break;\n }\n }\n /** @private\n */\n _transformPt(e, pt) {\n var tr = e.inversePixelTransform;\n var x = pt[0];\n var y = pt[1];\n pt[0] = tr[0] * x + tr[2] * y + tr[4];\n pt[1] = tr[1] * x + tr[3] * y + tr[5];\n return pt;\n }\n /** @private\n */\n _drawRect(e, pts) {\n var tr = e.inversePixelTransform;\n if (tr) {\n var r = [\n [pts[0][0], pts[0][1]],\n [pts[0][0], pts[1][1]],\n [pts[1][0], pts[1][1]],\n [pts[1][0], pts[0][1]],\n [pts[0][0], pts[0][1]]\n ];\n e.context.save();\n // Rotate VectorImages \n if (e.target.getImageRatio) {\n var rot = -Math.atan2(e.frameState.pixelToCoordinateTransform[1], e.frameState.pixelToCoordinateTransform[0]);\n e.context.translate(e.frameState.size[0] / 2, e.frameState.size[1] / 2);\n e.context.rotate(rot);\n e.context.translate(-e.frameState.size[0] / 2, -e.frameState.size[1] / 2);\n }\n r.forEach(function (pt, i) {\n pt = [\n (pt[0] * tr[0] - pt[1] * tr[1] + tr[4]),\n (-pt[0] * tr[2] + pt[1] * tr[3] + tr[5])\n ];\n if (!i) {\n e.context.moveTo(pt[0], pt[1]);\n } else {\n e.context.lineTo(pt[0], pt[1]);\n }\n });\n e.context.restore();\n } else {\n var ratio = e.frameState.pixelRatio;\n e.context.rect(pts[0][0] * ratio, pts[0][1] * ratio, pts[1][0] * ratio, pts[1][1] * ratio);\n }\n }\n /** @private\n */\n precomposeLeft(e) {\n var ctx = e.context;\n if (ctx instanceof WebGLRenderingContext) {\n if (e.type === 'prerender') {\n // Clear\n if (this._lefttime != e.frameState.time) {\n ctx.clearColor(0, 0, 0, 0);\n ctx.clear(ctx.COLOR_BUFFER_BIT);\n this._lefttime = e.frameState.time;\n }\n\n // Clip\n ctx.enable(ctx.SCISSOR_TEST);\n\n var mapSize = this.getMap().getSize(); // [width, height] in CSS pixels\n\n\n // get render coordinates and dimensions given CSS coordinates\n var bottomLeft = this._transformPt(e, [0, mapSize[1]]);\n var topRight = this._transformPt(e, [mapSize[0], 0]);\n\n var fullWidth = topRight[0] - bottomLeft[0];\n var fullHeight = topRight[1] - bottomLeft[1];\n var width, height;\n if (this.get('orientation') === \"vertical\") {\n width = Math.round(fullWidth * this.get('position'));\n height = fullHeight;\n } else {\n width = fullWidth;\n height = Math.round((fullHeight * this.get('position')));\n bottomLeft[1] += fullHeight - height;\n }\n ctx.scissor(bottomLeft[0], bottomLeft[1], width, height);\n ctx.clearColor(0, 0, 0, 0);\n ctx.clear(ctx.COLOR_BUFFER_BIT);\n }\n } else {\n var size = e.frameState.size;\n ctx.save();\n ctx.beginPath();\n var pts = [[0, 0], [size[0], size[1]]];\n if (this.get('orientation') === \"vertical\") {\n pts[1] = [\n size[0] * .5 + this.getMap().getSize()[0] * (this.get('position') - .5),\n size[1]\n ];\n } else {\n pts[1] = [\n size[0],\n size[1] * .5 + this.getMap().getSize()[1] * (this.get('position') - .5)\n ];\n }\n this._drawRect(e, pts);\n ctx.clip();\n }\n }\n /** @private\n */\n precomposeRight(e) {\n var ctx = e.context;\n if (ctx instanceof WebGLRenderingContext) {\n if (e.type === 'prerender') {\n // Clear\n if (this._righttime != e.frameState.time) {\n ctx.clearColor(0, 0, 0, 0);\n ctx.clear(ctx.COLOR_BUFFER_BIT);\n this._righttime = e.frameState.time;\n }\n\n // Clip\n ctx.enable(ctx.SCISSOR_TEST);\n\n var mapSize = this.getMap().getSize(); // [width, height] in CSS pixels\n\n\n // get render coordinates and dimensions given CSS coordinates\n var bottomLeft = this._transformPt(e, [0, mapSize[1]]);\n var topRight = this._transformPt(e, [mapSize[0], 0]);\n\n var fullWidth = topRight[0] - bottomLeft[0];\n var fullHeight = topRight[1] - bottomLeft[1];\n var width, height;\n if (this.get('orientation') === \"vertical\") {\n height = fullHeight;\n width = Math.round(fullWidth * (1 - this.get('position')));\n bottomLeft[0] += fullWidth - width;\n } else {\n width = fullWidth;\n height = Math.round(fullHeight * (1 - this.get('position')));\n }\n ctx.scissor(bottomLeft[0], bottomLeft[1], width, height);\n ctx.clearColor(0, 0, 0, 0);\n ctx.clear(ctx.COLOR_BUFFER_BIT);\n }\n } else {\n var size = e.frameState.size;\n ctx.save();\n ctx.beginPath();\n var pts = [[0, 0], [size[0], size[1]]];\n if (this.get('orientation') === \"vertical\") {\n pts[0] = [\n size[0] * .5 + this.getMap().getSize()[0] * (this.get('position') - .5),\n 0\n ];\n } else {\n pts[0] = [\n 0,\n size[1] * .5 + this.getMap().getSize()[1] * (this.get('position') - .5)\n ];\n }\n this._drawRect(e, pts);\n ctx.clip();\n }\n }\n /** @private\n */\n postcompose(e) {\n if (e.context instanceof WebGLRenderingContext) {\n if (e.type === 'postrender') {\n var gl = e.context;\n gl.disable(gl.SCISSOR_TEST);\n }\n } else {\n // restore context when decluttering is done (ol>=6)\n // https://github.com/openlayers/openlayers/issues/10096\n if (e.target.getClassName && e.target.getClassName() !== 'ol-layer' && e.target.get('declutter')) {\n setTimeout(function () {\n e.context.restore();\n }, 0);\n } else {\n e.context.restore();\n }\n }\n }\n}\n\nexport default ol_control_Swipe\n","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapViewer.vue?vue&type=template&id=76347783\"\nimport script from \"./MapViewer.vue?vue&type=script&lang=js\"\nexport * from \"./MapViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"../maps/MapMixin.scss?vue&type=style&index=0&prod&lang=scss&external\"\nimport style1 from \"./MapViewer.vue?vue&type=style&index=1&id=76347783&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["e","t","module","exports","this","s","r","n","o","a","i","l","default","c","d","u","p","h","m","g","y","f","b","w","v","$","namespace","spin","hidden","address","country","city","road","olControl","glass","container","control","button","input","expanded","reset","result","inputText","icon","k","containerId","buttonControlId","inputQueryId","inputResetId","cssClasses","x","Object","freeze","__proto__","q","C","S","L","j","E","T","N","R","A","P","provider","placeholder","featureStyle","targetType","lang","limit","keepOpen","preventDefault","autoComplete","autoCompleteMinLength","autoCompleteTimeout","debug","I","Error","_","window","performance","Date","now","timing","navigationStart","toString","M","test","O","Array","isArray","forEach","split","length","V","U","F","G","classList","contains","B","className","D","replace","String","replaceAll","Q","document","createElement","id","classname","attr","setAttribute","name","value","innerHTML","createDocumentFragment","childNodes","append","RegExp","add","trim","setTimeout","remove","z","H","constructor","options","els","createControl","querySelector","K","settings","url","params","langs","getParameters","toLowerCase","query","includes","handleResponse","features","map","lon","geometry","coordinates","lat","properties","postcode","state","original","formatted","details","J","format","addressdetails","countrycodes","bbox","boundingbox","display_name","houseNumber","house_number","town","W","key","neighbourhood","X","callbackName","includeNeighborhood","maxResults","resources","resourceSets","point","formattedAddress","Y","countrycode","pretty","no_annotations","results","lng","components","Z","Promise","ee","data","method","mode","credentials","jsonp","head","Math","round","random","indexOf","removeChild","fetch","then","json","catch","keys","reduce","push","encodeURIComponent","join","te","se","Base","layerName","layer","source","newProvider","lastQuery","registeredListeners","mapClick","setListeners","stopPropagation","collapse","expand","addEventListener","target","which","keyCode","clearTimeout","focus","clearResults","firstChild","console","info","createList","listenMapClick","addressTemplate","chosen","getMap","Number","parseFloat","getView","getProjection","transform","transformExtent","dispatchEvent","type","coordinate","place","fit","duration","animate","resolution","center","createFeature","feature","addLayer","setStyle","setId","getSource","addFeature","building","village","blur","getTargetElement","handleEvent","removeEventListener","getLayers","re","image","scale","src","super","element","prototype","hasOwnProperty","call","getLayer","setProvider","setProviderKey","OSMGeocoder","geojson","opt","polygon_geojson","polygon_threshold","filter","class","methods","addGeocoder","callback","$config","geocoder","Geocoder","on","event","bboxOpenEO","west","east","north","south","addControl","render","staticRenderFns","component","_vm","_c","_self","texts","staticClass","pointer","toggle","_v","_s","current","_e","mixins","ControlMixin","computed","text","props","attrs","ref","addData","isGeoTiff","textControlText","_l","geotiffs","colorMap","bands","defaultChannels","get","update","updateGeoTiffStyle","loading","chart","closeChart","_b","staticStyle","$event","openModal","apply","arguments","EventBusMixin","events","save","broadcast","file","$emit","directives","rawName","channels","expression","title","cols","isGray","multiBand","channel","labels","modifiers","$$selectedVal","selected","val","_value","_n","$set","multiple","band","domProps","min","composing","$forceUpdate","max","_i","$$a","$$el","$$c","checked","$$v","$$i","concat","slice","mounted","watch","immediate","handler","updateChannels","emit","deep","isValid","assign","createElementNS","namespaceURI","qualifiedName","node","normalizeWhitespace","getAllTextContent_","accumulator","nodeType","Node","CDATA_SECTION_NODE","TEXT_NODE","nodeValue","nextSibling","isDocument","object","parse","xml","DOMParser","parseFromString","makeArrayPusher","valueReader","thisArg","objectStack","undefined","array","makeObjectPropertyPusher","property","localName","makeObjectPropertySetter","makeSimpleNodeFactory","fixedNodeName","fixedNamespaceURI","newNodeName","context","nodeName","makeStructureNS","namespaceURIs","structure","structureNS","ii","parseNode","parsersNS","firstElementChild","nextElementSibling","parsers","parser","pushParseAndPop","pop","document_","implementation","createDocument","XML","read","doc","readFromDocument","readFromNode","ELEMENT_NODE","NAMESPACE_URI","readHref","getAttributeNS","readDecimal","readDecimalString","string","exec","readPositiveInteger","readNonNegativeIntegerString","parseInt","readString","NAMESPACE_URIS","PARSERS","readServiceIdentification","readServiceProvider","readOperationsMetadata","OWS","owsObject","ADDRESS_PARSERS","ALLOWED_VALUES_PARSERS","readValue","CONSTRAINT_PARSERS","readAllowedValues","CONTACT_INFO_PARSERS","readPhone","readAddress","DCP_PARSERS","readHttp","HTTP_PARSERS","readGet","OPERATION_PARSERS","readDcp","OPERATIONS_METADATA_PARSERS","readOperation","PHONE_PARSERS","REQUEST_METHOD_PARSERS","readConstraint","SERVICE_CONTACT_PARSERS","readContactInfo","SERVICE_IDENTIFICATION_PARSERS","SERVICE_PROVIDER_PARSERS","readServiceContact","getAttribute","href","OWS_NAMESPACE_URIS","readContents","WMTSCapabilities","owsParser_","version","WMTSCapabilityObject","CONTENTS_PARSERS","readLayer","readTileMatrixSet","LAYER_PARSERS","readStyle","readTileMatrixSetLink","readDimensions","readResourceUrl","readBoundingBox","readBoundingBoxWithCrs","STYLE_PARSERS","readLegendUrl","TMS_LINKS_PARSERS","readTileMatrixLimitsList","TMS_LIMITS_LIST_PARSERS","readTileMatrixLimits","TMS_LIMITS_PARSERS","DIMENSION_PARSERS","WGS84_BBOX_READERS","readCoordinates","TMS_PARSERS","readTileMatrix","TM_PARSERS","style","isDefault","template","resourceType","resource","crs","extent","legend","isNaN","appendParams","uri","keyParams","qs","WMTSTileGrid","TileGrid","origin","origins","resolutions","tileSize","tileSizes","sizes","matrixIds_","matrixIds","getMatrixId","getMatrixIds","createFromCapabilitiesMatrixSet","matrixSet","matrixLimits","supportedCRSPropName","matrixIdsPropName","identifierPropName","scaleDenominatorPropName","topLeftCornerPropName","tileWidthPropName","tileHeightPropName","code","projection","metersPerUnit","getMetersPerUnit","switchOriginXY","getAxisOrientation","substr","sort","elt","matrixAvailable","find","elt_ml","tileWidth","tileHeight","TileImage","requestEncoding","tileGrid","urls","attributions","attributionsCollapsible","cacheSize","crossOrigin","interpolate","reprojectionErrorThreshold","tileClass","tileLoadFunction","tilePixelRatio","wrapX","transition","zDirection","version_","format_","dimensions_","dimensions","layer_","matrixSet_","style_","requestEncoding_","setKey","getKeyForDimensions_","tileUrlFunction","createFromWMTSTemplate","bind","setUrls","setTileUrlFunction","getDimensions","getFormat","getMatrixSet","getRequestEncoding","getStyle","getVersion","res","updateDimensions","tileCoord","pixelRatio","localContext","optionsFromCapabilities","wmtsCap","config","layers","tileMatrixSets","idx","findIndex","tileMatrixSet","el","supportedCRS","proj1","proj2","equivalent","index","matrixSets","matrixSetObj","projConfig","switchXY","matrix","TileMatrix","selectedMatrixLimit","MinTileCol","MinTileRow","MaxTileCol","MatrixWidth","MaxTileRow","MatrixHeight","tileMatrixValue","Identifier","ScaleDenominator","TopLeftCorner","tileSpanX","TileWidth","tileSpanY","TileHeight","matrixSetExtent","wgs84BoundingBox","wgs84ProjectionExtent","getExtent","wgs84MatrixSetExtent","gets","constraint","encodings","ol_control_Timeline","create","zoomButton","_scrollDiv","parent","_buttons","addButton","handleClick","zoom","refresh","_intervalDiv","_select","scrollListener","_setScrollLeft","date","getDate","dateStart","dateEnd","scrollTimeout","scrollDiv","onmove","_moving","_tline","_scrollLeft","set","maxWidth","minDate","Infinity","maxDate","graduation","minZoom","maxZoom","setInterval","interval","getHTML","_getHTML","getFeatureDate","_getFeatureDate","endFeatureDate","_endFeatureDate","setFeatures","setMap","html","click","isCollapsed","collapsed","_features","_source","getFeatures","first","d2","tline","end","div","_minDate","_maxDate","isFinite","delta","_scale","width","_drawTime","line","lineHeight","fdiv","left","img","querySelectorAll","ondragstart","minWidth","pos","top","_nbline","setDate","anim","position","_getOffsetFromDate","_getDateFromOffset","offset","scrollLeft","_getScrollLeft","dt","month","dmonth","tdiv","dx","heigth","year","getFullYear","setFullYear","dyear","setMonth","toLocaleDateString","dday","day","offdate","getMonth","outerWidth","roundDate","stick","_roundTo","getStartDate","getEndDate","ExtentMixin","timeline","addWebService","service","updateXYZLayer","updateWMTSLayer","Utils","error","getWMTSTimes","capabilities","layerId","Contents","Layer","Dimension","timeDimension","Value","initWMTSLayer","URL","searchParams","response","axios","responseType","exception","prefix","attributes","layerNames","defaultDate","getResourceTitle","layerCollection","Collection","TIME","times","isObject","WMTS","mapLayer","TileLayer","trackTileProgress","noSwitcherDelete","run","Timeline","toISOString","btns","getElementsByClassName","innerText","disabled","log","group","LayerGroup","display","getVisible","addLayerToMap","removeControl","replaceParam","getTime","XYZ","process","process_graph","crs84","e4326","values","process_id","spatial_extent","isBBox","isGeoJSON","addExtent","GeoTiffState","geotiff","getColorMap","noData","getNoData","getBands","getBandVar","getFormula","getNoDataFormula","variables","alphaband","color","formula","GeoTIFFImage","getSampleByteSize","fileDirectory","BitsPerSample","ceil","getReaderForSample","sampleIndex","getSampleFormat","bitsPerSample","getBitsPerSample","DataView","getUint8","getUint16","getUint32","getInt8","getInt16","getInt32","littleEndian","getFloat16","getFloat32","getFloat64","SampleFormat","expressionToGlsl","compilationContext","expectedType","parsingContext","parseStyle","bandCount","vertexShader","TEXTURE_COORD","TILE_TRANSFORM","TEXTURE_PIXEL_WIDTH","TEXTURE_PIXEL_HEIGHT","TEXTURE_RESOLUTION","TEXTURE_ORIGIN_X","TEXTURE_ORIGIN_Y","DEPTH","inFragmentShader","pipeline","contrast","exposure","saturation","gamma","brightness","uniforms","numVariables","variable","uniformName","uniformDeclarations","textureCount","TILE_TEXTURE_ARRAY","paletteTextures","functionDefintions","functions","fragmentShader","RENDER_EXTENT","TRANSITION_ALPHA","RESOLUTION","ZOOM","WebGLTileLayer","BaseTile","sources_","sources","renderedSource_","renderedResolution_","NaN","cacheSize_","styleVariables_","addChangeListener","SOURCE","handleSourceUpdate_","getSources","getRenderSource","getSourceState","getState","hasRenderer","getRenderer","clearCache","getSourceBandCount_","MAX_SAFE_INTEGER","createRenderer","parsedStyle","renderSources","frameState","layerRenderer","canvas","prepareFrame","renderFrame","rendered","viewState","ready","sourceState","onChange","changed","renderComplete","altSources","renderer","updateStyleVariables","dispose","DataTileSource","maxResolution","opaque","gutter_","gutter","tileSize_","tileSizes_","tileLoadingKeys_","loader_","loader","handleTileChange_","tileGridForProjection_","tileCacheForProjection_","setTileSizes","getTileSize","getTileGrid","getGutterForProjection","thisProj","setLoader","getReprojTile_","targetProj","sourceProj","cache","getTileCacheForProjection","tileCoordKey","containsKey","tile","getKey","reprojTilePixelRatio","getResolutions","textureSize","sourceTileGrid","getTileGridForProjection","targetTileGrid","wrappedTileCoord","getTileCoordForTileUrlFunction","getTileFunction","getTile","tileOptions","newTile","sourceProjection","size","tileCache","sourceLoader","DataTile","EventType","CHANGE","uid","tileState","TileState","LOADING","TileEventType","TILELOADSTART","ERROR","TILELOADERROR","LOADED","TILELOADEND","projKey","setTileGridForProjection","tilegrid","proj","TileCache","expireCache","usedTiles","usedTileCache","clear","defaultPoolSize","navigator","hardwareConcurrency","Pool","createWorker","workers","_awaitingDecoder","messageId","resolve","worker","idle","decode","buffer","decoder","candidate","floor","onMessage","decoded","postMessage","destroy","terminate","isMask","NewSubfileType","readRGB","preference","getSamplesPerPixel","interpretation","PhotometricInterpretation","interpretations","CMYK","YCbCr","CIELab","ICCLab","STATISTICS_MAXIMUM","STATISTICS_MINIMUM","defaultTileSize","workerPool","getWorkerPool","getBoundingBox","getWidth","getHeight","getOrigin","referenceImage","getResolution","geoKeys","ProjectedCSTypeGeoKey","units","ProjLinearUnitsGeoKey","Projection","GeographicTypeGeoKey","GeogAngularUnitsGeoKey","getImagesForTIFF","tiff","getImageCount","count","requests","getImage","all","getImagesForSource","request","blob","overviews","assertEqual","expected","got","tolerance","message","rejector","abs","getMinForDataType","Int8Array","Int16Array","Int32Array","Float32Array","getMaxForDataType","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","GeoTIFFSource","sourceInfo_","numSources","sourceOptions_","sourceOptions","sourceImagery_","sourceMasks_","resolutionFactors_","samplesPerPixel_","nodataValues_","metadata_","normalize_","normalize","addAlpha_","error_","convertToRGB_","convertToRGB","self","configure_","setState","getError","determineProjection","firstSource","commonRenderTileSizes","commonSourceTileSizes","samplesPerPixel","nodataValues","metadata","sourceCount","sourceIndex","images","masks","item","imageCount","sourceExtent","sourceOrigin","sourceTileSizes","renderTileSizes","sourceResolutions","imageIndex","nodataValue","getGDALNoData","getGDALMetadata","wantedSamples","level","imageResolutions","sourceTileSize","getTileWidth","getTileHeight","aspectRatio","viewRejector","resolutionFactor","scaledSourceResolutions","reverse","sourceImagery","unshift","outer","nodata","loadTile_","viewResolver","showFullExtent","toUserCoordinate","toUserExtent","sourceInfo","pool","pixelBounds","samples","fillValue","bandNumber","readOptions","height","interleave","readRasters","maskIndex","mask","composeTile_","sourceSamples","addAlpha","pixelCount","dataLength","dataIndex","pixelIndex","transparent","gain","bias","stats","sourceValue","bandIndex","nodataIsNaN","ol_control_Swipe","ol_control_Control","appendChild","move","precomposeRight_","precomposeRight","precomposeLeft_","precomposeLeft","postcompose_","postcompose","rightLayers","renderSync","isMoving","getImageRatio","orientation","right","un","_listener","isLayer_","removeLayers","removeLayer","splice","getRectangle","getSize","_movefn","eventName","pageX","touches","changedTouches","getBoundingClientRect","pageXOffset","documentElement","clientLeft","pageY","pageYOffset","clientTop","_transformPt","pt","tr","inversePixelTransform","_drawRect","pts","rot","atan2","pixelToCoordinateTransform","translate","rotate","lineTo","moveTo","restore","ratio","rect","ctx","WebGLRenderingContext","_lefttime","time","clearColor","COLOR_BUFFER_BIT","enable","SCISSOR_TEST","mapSize","bottomLeft","topRight","fullWidth","fullHeight","scissor","beginPath","clip","_righttime","gl","disable","getClassName","GeocoderMixin","MapMixin","WebServiceMixin","AddDataControl","ChannelControl","Pane","ScatterChart","Splitpanes","TextControl","swipe","mapState","isWebService","Service","GeoTiffFile","isGeoJson","JSON_","renderMap","view","loadData","connection","isMapServiceSupported","createMap","evt","updateSwiper","addLayerSwitcher","toExtent","getFitOptions","addBasemaps","addGeoJson","basemap","getCode","addGeoTiff","stac","getContext","$listeners","drop","getViewport","onPointerMove","onClick","addCollection","showWebService","fromLonLat","extentLayer","VectorLayer","VectorSource","Feature","PolygonFromExtent","removeLayerFill","getPixelValues","pixel","getData","from","alpha","formatCoords","coords","toFixed","formatValue","plural","validValues","flat","Set","datasets","label","tiffState","sourceOpts","getBlob","getUrl","OlGeoTiff","once","files","confirmOpenAll","promises","getArray","every","opts","Swipe","setOptions"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/4368.a38c89d2.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@kirtandesai/ol-geocoder/dist/ol-geocoder.js","webpack://@openeo/web-editor/./src/components/maps/osmgeocoder.js","webpack://@openeo/web-editor/src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue?9845","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue","webpack://@openeo/web-editor/src/components/maps/TextControl.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?1df8","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?c848","webpack://@openeo/web-editor/./src/components/viewer/MapViewer.vue","webpack://@openeo/web-editor/./src/components/maps/AddDataControl.vue","webpack://@openeo/web-editor/src/components/maps/AddDataControl.vue","webpack://@openeo/web-editor/./src/components/maps/AddDataControl.vue?91fa","webpack://@openeo/web-editor/./src/components/maps/AddDataControl.vue?3c55","webpack://@openeo/web-editor/./src/components/maps/ChannelControl.vue","webpack://@openeo/web-editor/src/components/maps/ChannelControl.vue","webpack://@openeo/web-editor/./src/components/maps/ChannelControl.vue?bc38","webpack://@openeo/web-editor/./src/components/maps/ChannelControl.vue?9e5e","webpack://@openeo/web-editor/./node_modules/ol/xml.js","webpack://@openeo/web-editor/./node_modules/ol/format/XML.js","webpack://@openeo/web-editor/./node_modules/ol/format/xlink.js","webpack://@openeo/web-editor/./node_modules/ol/format/xsd.js","webpack://@openeo/web-editor/./node_modules/ol/format/OWS.js","webpack://@openeo/web-editor/./node_modules/ol/format/WMTSCapabilities.js","webpack://@openeo/web-editor/./node_modules/ol/uri.js","webpack://@openeo/web-editor/./node_modules/ol/tilegrid/WMTS.js","webpack://@openeo/web-editor/./node_modules/ol/source/WMTS.js","webpack://@openeo/web-editor/./node_modules/ol-ext/control/Timeline.js","webpack://@openeo/web-editor/src/components/maps/WebServiceMixin.vue","webpack://@openeo/web-editor/./src/components/maps/WebServiceMixin.vue?c34d","webpack://@openeo/web-editor/./src/components/maps/WebServiceMixin.vue","webpack://@openeo/web-editor/./src/components/maps/geotiff/state.js","webpack://@openeo/web-editor/./src/components/maps/geotiff/fix.js","webpack://@openeo/web-editor/./node_modules/ol/webgl/styleparser.js","webpack://@openeo/web-editor/./node_modules/ol/layer/WebGLTile.js","webpack://@openeo/web-editor/./node_modules/ol/source/DataTile.js","webpack://@openeo/web-editor/./node_modules/geotiff/dist-module/pool.js","webpack://@openeo/web-editor/./node_modules/ol/source/GeoTIFF.js","webpack://@openeo/web-editor/./src/components/maps/Swipe.js","webpack://@openeo/web-editor/src/components/viewer/MapViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/MapViewer.vue?dbd2","webpack://@openeo/web-editor/./src/components/viewer/MapViewer.vue?e73e"],"sourcesContent":["/*!\n * @kirtandesai/ol-geocoder - v5.0.3\n * A geocoder extension compatible with OpenLayers v7.\n * https://github.com/kirtan-desai/ol-geocoder\n * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time)\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"ol/control/Control\"),require(\"ol/style/Style\"),require(\"ol/style/Icon\"),require(\"ol/layer/Vector\"),require(\"ol/source/Vector\"),require(\"ol/geom/Point\"),require(\"ol/Feature\"),require(\"ol/proj\")):\"function\"==typeof define&&define.amd?define([\"ol/control/Control\",\"ol/style/Style\",\"ol/style/Icon\",\"ol/layer/Vector\",\"ol/source/Vector\",\"ol/geom/Point\",\"ol/Feature\",\"ol/proj\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).Geocoder=t(e.ol.control.Control,e.ol.style.Style,e.ol.style.Icon,e.ol.layer.Vector,e.ol.source.Vector,e.ol.geom.Point,e.ol.Feature,e.ol.proj)}(this,(function(e,t,s,r,n,o,a,i){\"use strict\";function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var c=l(e),d=l(t),u=l(s),p=l(r),h=l(n),m=l(o),g=l(a),y=l(i),f=\"gcd-container\",b=\"gcd-button-control\",w=\"gcd-input-query\",v=\"gcd-input-reset\",$={namespace:\"ol-geocoder\",spin:\"gcd-pseudo-rotate\",hidden:\"gcd-hidden\",address:\"gcd-address\",country:\"gcd-country\",city:\"gcd-city\",road:\"gcd-road\",olControl:\"ol-control\",glass:{container:\"gcd-gl-container\",control:\"gcd-gl-control\",button:\"gcd-gl-btn\",input:\"gcd-gl-input\",expanded:\"gcd-gl-expanded\",reset:\"gcd-gl-reset\",result:\"gcd-gl-result\"},inputText:{container:\"gcd-txt-container\",control:\"gcd-txt-control\",input:\"gcd-txt-input\",reset:\"gcd-txt-reset\",icon:\"gcd-txt-glass\",result:\"gcd-txt-result\"}},k={containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$};const x=Object.freeze({__proto__:null,containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$,default:k}),q=\"addresschosen\",C=\"nominatim\",S=\"reverse\",L=\"glass-button\",j=\"text-input\",E=\"osm\",T=\"mapquest\",N=\"photon\",R=\"bing\",A=\"opencage\",P={provider:E,placeholder:\"Search for an address\",featureStyle:null,targetType:L,lang:\"en-US\",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function I(e,t=\"Assertion failed\"){if(!e){if(\"undefined\"!=typeof Error)throw new Error(t);throw t}}function _(e){const t=function(){if(\"performance\"in window==0&&(window.performance={}),\"now\"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function M(e){return/^\\d+$/u.test(e)}function O(e,t,s){if(Array.isArray(e))return void e.forEach((e=>O(e,t)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])||U(e,r[n],s)}function F(e,t,s){if(Array.isArray(e))return void e.forEach((e=>F(e,t,s)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])&&G(e,r[n],s)}function V(e,t){return e.classList?e.classList.contains(t):B(t).test(e.className)}function D(e,t){return e.replace(/\\{\\s*([\\w-]+)\\s*\\}/gu,((e,s)=>{const r=void 0===t[s]?\"\":t[s];return String(r).replaceAll(\"&\",\"&\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll('\"',\""\").replaceAll(\"'\",\"'\")}))}function Q(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eG(e,t)),s)}function G(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(B(t),\" \").trim(),s&&M(s)&&window.setTimeout((()=>U(e,t)),s)}const z=x.cssClasses;class H{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===j?(t=`${z.namespace} ${z.inputText.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.input),s={container:e,control:e.querySelector(`.${z.inputText.control}`),input:e.querySelector(`.${z.inputText.input}`),reset:e.querySelector(`.${z.inputText.reset}`),result:e.querySelector(`.${z.inputText.result}`)}):(t=`${z.namespace} ${z.glass.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.glass),s={container:e,control:e.querySelector(`.${z.glass.control}`),button:e.querySelector(`.${z.glass.button}`),input:e.querySelector(`.${z.glass.input}`),reset:e.querySelector(`.${z.glass.reset}`),result:e.querySelector(`.${z.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}H.glass=`\\n
                          \\n \\n \\n \\n
                          \\n
                            \\n`,H.input=`\\n
                            \\n \\n \\n \\n
                            \\n
                              \\n`;class K{constructor(){this.settings={url:\"https://photon.komoot.io/api/\",params:{q:\"\",limit:10,lang:\"en\"},langs:[\"de\",\"it\",\"fr\",\"en\"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class J{constructor(){this.settings={url:\"https://nominatim.openstreetmap.org/search/\",params:{q:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||\"\",houseNumber:e.address.house_number||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class W{constructor(){this.settings={url:\"https://open.mapquestapi.com/nominatim/v1/search.php\",params:{q:\"\",key:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:\"json\",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||\"\",road:e.address.road||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class X{constructor(){this.settings={url:\"https://dev.virtualearth.net/REST/v1/Locations\",callbackName:\"jsonp\",params:{query:\"\",key:\"\",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class Y{constructor(){this.settings={url:\"https://api.opencagedata.com/geocode/v1/json?\",params:{q:\"\",key:\"\",limit:10,countrycode:\"\",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||\"\",road:e.components.road||\"\",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const r=function(e,t){t&&\"object\"==typeof t&&(e+=(/\\?/u.test(e)?\"&\":\"?\")+ee(t));return e}(e.url,e.data),n={method:\"GET\",mode:\"cors\",credentials:\"same-origin\"};e.jsonp?function(e,t,s){const{head:r}=document,n=document.createElement(\"script\"),o=`f${Math.round(Math.random()*Date.now())}`;n.setAttribute(\"src\",`${e+(e.indexOf(\"?\")>0?\"&\":\"?\")+t}=${o}`),window[o]=e=>{window[o]=void 0,setTimeout((()=>r.removeChild(n)),0),s(e)},r.append(n)}(r,e.callbackName,t):fetch(r,n).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push(\"object\"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join(\"&\")}const te=x.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=_(\"geocoder-layer-\"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider=\"string\"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery=\"\",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),V(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener(\"keypress\",(e=>{const t=e.target.value.trim();(e.key?\"Enter\"===e.key:e.which?13===e.which:!!e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener(\"click\",(e=>e.stopPropagation()),!1),this.els.input.addEventListener(\"input\",(s=>{const r=s.target.value.trim();0!==r.length?F(this.els.reset,te.hidden):O(this.els.reset,te.hidden),this.options.autoComplete&&r!==t&&(t=r,e&&clearTimeout(e),e=setTimeout((()=>{r.length>=this.options.autoCompleteMinLength&&this.query(r)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener(\"click\",(e=>{this.els.input.focus(),this.els.input.value=\"\",this.lastQuery=\"\",O(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===L&&this.els.button.addEventListener(\"click\",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),O(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),F(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{F(this.els.reset,te.spin);const t=Q(\"li\",\"
                              Error! No internet connection?
                              \");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;if(this.options.provider===E)s=`${e.address.name}`;else s=this.addressTemplate(e.address);const r=Q(\"li\",`${s}`);r.addEventListener(\"click\",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(r)}))}chosen(e,t,s,r){const n=this.Base.getMap(),o=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],a=n.getView().getProjection(),i=y.default.transform(o,\"EPSG:4326\",a);let{bbox:l}=e;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],\"EPSG:4326\",a));const c={formatted:t,details:s,original:r};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:q,address:c,coordinate:i,bbox:l,place:e});else{l?n.getView().fit(l,{duration:500}):function(e,t,s=500,r=2.388657133911758){e.getView().animate({duration:s,resolution:r},{duration:s,center:t})}(n,i);const t=this.createFeature(i,c);this.Base.dispatchEvent({type:q,address:c,feature:t,coordinate:i,bbox:l,place:e})}}createFeature(e){const t=new g.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(_(\"geocoder-ft-\")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join(\"\")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join(\"\")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join(\"\")),(e.state||e.country)&&t.push(['{state} {country}'].join(\"\")),D(t.join(\"
                              \"),e)}newProvider(){switch(this.options.provider){case E:return new J;case T:return new W;case N:return new K;case R:return new X;case A:return new Y;default:return this.options.provider}}expand(){F(this.els.input,te.spin),O(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value=\"\",this.els.input.blur(),O(this.els.reset,te.hidden),F(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener(\"click\",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===L?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class re extends c.default{constructor(e=C,t={}){let s,r;I(\"string\"==typeof e,\"@param `type` should be string!\"),I(e===C||e===S,`@param 'type' should be '${C}'\\n or '${S}'!`),I(\"object\"==typeof t,\"@param `options` should be object!\"),P.featureStyle=[new d.default({image:new u.default({scale:.7,src:\"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png\"})})];const n=new H(t);if(e===C&&(s=n.els.container),super({element:s}),!(this instanceof re))return new re;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(P,t),this.container=s,e===C&&(r=new se(this,n.els),this.layer=r.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return re}));\n//# sourceMappingURL=ol-geocoder.js.map\n","export default class OSMGeocoder {\n\tconstructor(url, geojson = false) {\n\t\tthis.url = url;\n\t\tthis.geojson = geojson;\n\t}\n\n\tgetParameters(opt) {\n\t\treturn {\n\t\t\turl: this.url,\n\t\t\tparams: {\n\t\t\t\tq: opt.query,\n\t\t\t\tformat: 'json',\n\t\t\t\tlimit: 10,\n\t\t\t\t'accept-language': 'en',\n\t\t\t\tpolygon_geojson: this.geojson ? 1 : 0,\n\t\t\t\tpolygon_threshold: 0.001,\n\t\t\t},\n\t\t};\n\t}\n\n\thandleResponse(results) {\n\t\tif (results.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn results\n\t\t\t.filter(result => [\"boundary\", \"geological\", \"leisure\", \"natural\", \"place\", \"water\", \"waterway\"].includes(result.class))\n\t\t\t.map(result => ({\n\t\t\t\tlon: result.lon,\n\t\t\t\tlat: result.lat,\n\t\t\t\tbbox: result.boundingbox,\n\t\t\t\taddress: {\n\t\t\t\t\tname: result.display_name\n\t\t\t\t},\n\t\t\t\toriginal: {\n\t\t\t\t\tformatted: result.display_name,\n\t\t\t\t\tdetails: result.address,\n\t\t\t\t\tgeojson: result.geojson\n\t\t\t\t}\n\t\t\t}));\n\t}\n}","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nimport style0 from \"@kirtandesai/ol-geocoder/dist/ol-geocoder.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./GeocoderMixin.vue?vue&type=style&index=1&id=643f6883&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.texts.length > 0)?_c('div',{staticClass:\"ol-unselectable ol-control value\",class:{pointer: _vm.texts.length > 1},on:{\"click\":_vm.toggle}},[_vm._v(_vm._s(_vm.current))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextControl.vue?vue&type=template&id=52fec35a&scoped=true\"\nimport script from \"./TextControl.vue?vue&type=script&lang=js\"\nexport * from \"./TextControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextControl.vue?vue&type=style&index=0&id=52fec35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52fec35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Splitpanes',{staticClass:\"default-theme\",attrs:{\"horizontal\":\"\"}},[_c('Pane',{attrs:{\"id\":\"map\"}},[_c('div',{staticClass:\"map-viewer\",attrs:{\"id\":_vm.id}},[_c('ProgressControl',{ref:\"progress\",attrs:{\"map\":_vm.map}}),_c('UserLocationControl',{attrs:{\"map\":_vm.map}}),_c('AddDataControl',{attrs:{\"map\":_vm.map},on:{\"add\":_vm.addData}}),(_vm.isGeoTiff)?[_c('TextControl',{attrs:{\"text\":_vm.textControlText}}),_c('div',{staticClass:\"ol-unselectable ol-control geotiff-channels\"},[_vm._l((_vm.geotiffs),function(state){return [(!state.colorMap)?_c('ChannelControl',{key:state.layer.id,attrs:{\"bands\":state.bands,\"defaultChannels\":state.defaultChannels,\"title\":_vm.geotiffs.length > 1 ? state.layer.get('title') : ''},on:{\"update\":(type, data) => _vm.updateGeoTiffStyle(state, type, data)}}):_vm._e()]})],2)]:_vm._e(),(_vm.loading)?_c('div',{staticClass:\"map-loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_c('span',[_vm._v(\"Loading map...\")])]):_vm._e()],2)]),(_vm.chart)?_c('Pane',{attrs:{\"id\":\"chart\",\"size\":33}},[_c('span',{staticClass:\"close\",on:{\"click\":_vm.closeChart}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})]),_c('ScatterChart',_vm._b({attrs:{\"height\":220}},'ScatterChart',_vm.chart,false))],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ol-add-data ol-unselectable ol-control\",staticStyle:{\"pointer-events\":\"auto\"}},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add external data source\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-image\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddDataControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddDataControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AddDataControl.vue?vue&type=template&id=046026ef&scoped=true\"\nimport script from \"./AddDataControl.vue?vue&type=script&lang=js\"\nexport * from \"./AddDataControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./AddDataControl.vue?vue&type=style&index=0&id=046026ef&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"046026ef\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.channels.length > 0),expression:\"channels.length > 0\"}],staticClass:\"channels\"},[_c('table',[_c('thead',[(_vm.title)?_c('tr',[_c('th',{attrs:{\"colspan\":_vm.cols}},[_vm._v(_vm._s(_vm.title))])]):_vm._e(),_c('tr',[(!_vm.isGray)?_c('th',[_vm._v(\"Channel\")]):_vm._e(),(_vm.multiBand)?_c('th',[_vm._v(\"Band\")]):_vm._e(),_c('th',[_vm._v(\"Min\")]),_c('th',[_vm._v(\"Max\")])])]),_c('tbody',_vm._l((_vm.channels),function(channel,i){return _c('tr',{key:i},[(!_vm.isGray)?_c('th',[_vm._v(_vm._s(_vm.labels[i]))]):_vm._e(),(_vm.multiBand)?_c('td',[_c('select',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(channel.id),expression:\"channel.id\",modifiers:{\"number\":true}}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return _vm._n(val)}); _vm.$set(channel, \"id\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.bands),function(band){return _c('option',{key:band.id,domProps:{\"value\":band.id}},[_vm._v(_vm._s(band.name || band.id))])}),0)]):_vm._e(),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(channel.min),expression:\"channel.min\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"required\":\"\"},domProps:{\"value\":(channel.min)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(channel, \"min\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(channel.max),expression:\"channel.max\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"required\":\"\"},domProps:{\"value\":(channel.max)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(channel, \"max\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}})])])}),0),(_vm.multiBand)?_c('tfoot',[_c('tr',[_c('td',{attrs:{\"colspan\":_vm.cols}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isGray),expression:\"isGray\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.isGray)?_vm._i(_vm.isGray,null)>-1:(_vm.isGray)},on:{\"change\":function($event){var $$a=_vm.isGray,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isGray=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isGray=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isGray=$$c}}}}),_vm._v(\" Grayscale \")])])]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChannelControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChannelControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChannelControl.vue?vue&type=template&id=5223a7ca&scoped=true\"\nimport script from \"./ChannelControl.vue?vue&type=script&lang=js\"\nexport * from \"./ChannelControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChannelControl.vue?vue&type=style&index=0&id=5223a7ca&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5223a7ca\",\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/xml\n */\nimport {extend} from './array.js';\n\n/**\n * When using {@link module:ol/xml.makeChildAppender} or\n * {@link module:ol/xml.makeSimpleNodeFactory}, the top `objectStack` item needs\n * to have this structure.\n * @typedef {Object} NodeStackItem\n * @property {Element} node Node.\n */\n\n/**\n * @typedef {function(Element, Array<*>): void} Parser\n */\n\n/**\n * @typedef {function(Element, *, Array<*>): void} Serializer\n */\n\n/**\n * @type {string}\n */\nexport const XML_SCHEMA_INSTANCE_URI =\n 'http://www.w3.org/2001/XMLSchema-instance';\n\n/**\n * @param {string} namespaceURI Namespace URI.\n * @param {string} qualifiedName Qualified name.\n * @return {Element} Node.\n */\nexport function createElementNS(namespaceURI, qualifiedName) {\n return getDocument().createElementNS(namespaceURI, qualifiedName);\n}\n\n/**\n * Recursively grab all text content of child nodes into a single string.\n * @param {Node} node Node.\n * @param {boolean} normalizeWhitespace Normalize whitespace: remove all line\n * breaks.\n * @return {string} All text content.\n * @api\n */\nexport function getAllTextContent(node, normalizeWhitespace) {\n return getAllTextContent_(node, normalizeWhitespace, []).join('');\n}\n\n/**\n * Recursively grab all text content of child nodes into a single string.\n * @param {Node} node Node.\n * @param {boolean} normalizeWhitespace Normalize whitespace: remove all line\n * breaks.\n * @param {Array} accumulator Accumulator.\n * @private\n * @return {Array} Accumulator.\n */\nexport function getAllTextContent_(node, normalizeWhitespace, accumulator) {\n if (\n node.nodeType == Node.CDATA_SECTION_NODE ||\n node.nodeType == Node.TEXT_NODE\n ) {\n if (normalizeWhitespace) {\n accumulator.push(String(node.nodeValue).replace(/(\\r\\n|\\r|\\n)/g, ''));\n } else {\n accumulator.push(node.nodeValue);\n }\n } else {\n let n;\n for (n = node.firstChild; n; n = n.nextSibling) {\n getAllTextContent_(n, normalizeWhitespace, accumulator);\n }\n }\n return accumulator;\n}\n\n/**\n * @param {Object} object Object.\n * @return {boolean} Is a document.\n */\nexport function isDocument(object) {\n return 'documentElement' in object;\n}\n\n/**\n * @param {Element} node Node.\n * @param {?string} namespaceURI Namespace URI.\n * @param {string} name Attribute name.\n * @return {string} Value\n */\nexport function getAttributeNS(node, namespaceURI, name) {\n return node.getAttributeNS(namespaceURI, name) || '';\n}\n\n/**\n * Parse an XML string to an XML Document.\n * @param {string} xml XML.\n * @return {Document} Document.\n * @api\n */\nexport function parse(xml) {\n return new DOMParser().parseFromString(xml, 'application/xml');\n}\n\n/**\n * Make an array extender function for extending the array at the top of the\n * object stack.\n * @param {function(this: T, Node, Array<*>): (Array<*>|undefined)} valueReader Value reader.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeArrayExtender(valueReader, thisArg) {\n return (\n /**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n const array = /** @type {Array<*>} */ (\n objectStack[objectStack.length - 1]\n );\n extend(array, value);\n }\n }\n );\n}\n\n/**\n * Make an array pusher function for pushing to the array at the top of the\n * object stack.\n * @param {function(this: T, Element, Array<*>): *} valueReader Value reader.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeArrayPusher(valueReader, thisArg) {\n return (\n /**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n const array = /** @type {Array<*>} */ (\n objectStack[objectStack.length - 1]\n );\n array.push(value);\n }\n }\n );\n}\n\n/**\n * Make an object stack replacer function for replacing the object at the\n * top of the stack.\n * @param {function(this: T, Node, Array<*>): *} valueReader Value reader.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeReplacer(valueReader, thisArg) {\n return (\n /**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n objectStack[objectStack.length - 1] = value;\n }\n }\n );\n}\n\n/**\n * Make an object property pusher function for adding a property to the\n * object at the top of the stack.\n * @param {function(this: T, Element, Array<*>): *} valueReader Value reader.\n * @param {string} [property] Property.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeObjectPropertyPusher(valueReader, property, thisArg) {\n return (\n /**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n const object = /** @type {!Object} */ (\n objectStack[objectStack.length - 1]\n );\n const name = property !== undefined ? property : node.localName;\n let array;\n if (name in object) {\n array = object[name];\n } else {\n array = [];\n object[name] = array;\n }\n array.push(value);\n }\n }\n );\n}\n\n/**\n * Make an object property setter function.\n * @param {function(this: T, Element, Array<*>): *} valueReader Value reader.\n * @param {string} [property] Property.\n * @param {T} [thisArg] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeObjectPropertySetter(valueReader, property, thisArg) {\n return (\n /**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n const value = valueReader.call(\n thisArg !== undefined ? thisArg : this,\n node,\n objectStack,\n );\n if (value !== undefined) {\n const object = /** @type {!Object} */ (\n objectStack[objectStack.length - 1]\n );\n const name = property !== undefined ? property : node.localName;\n object[name] = value;\n }\n }\n );\n}\n\n/**\n * Create a serializer that appends nodes written by its `nodeWriter` to its\n * designated parent. The parent is the `node` of the\n * {@link module:ol/xml~NodeStackItem} at the top of the `objectStack`.\n * @param {function(this: T, Node, V, Array<*>): void} nodeWriter Node writer.\n * @param {T} [thisArg] The object to use as `this` in `nodeWriter`.\n * @return {Serializer} Serializer.\n * @template T, V\n */\nexport function makeChildAppender(nodeWriter, thisArg) {\n return function (node, value, objectStack) {\n nodeWriter.call(\n thisArg !== undefined ? thisArg : this,\n node,\n value,\n objectStack,\n );\n const parent = /** @type {NodeStackItem} */ (\n objectStack[objectStack.length - 1]\n );\n const parentNode = parent.node;\n parentNode.appendChild(node);\n };\n}\n\n/**\n * Create a serializer that calls the provided `nodeWriter` from\n * {@link module:ol/xml.serialize}. This can be used by the parent writer to have the\n * `nodeWriter` called with an array of values when the `nodeWriter` was\n * designed to serialize a single item. An example would be a LineString\n * geometry writer, which could be reused for writing MultiLineString\n * geometries.\n * @param {function(this: T, Element, V, Array<*>): void} nodeWriter Node writer.\n * @param {T} [thisArg] The object to use as `this` in `nodeWriter`.\n * @return {Serializer} Serializer.\n * @template T, V\n */\nexport function makeArraySerializer(nodeWriter, thisArg) {\n let serializersNS, nodeFactory;\n return function (node, value, objectStack) {\n if (serializersNS === undefined) {\n serializersNS = {};\n const serializers = {};\n serializers[node.localName] = nodeWriter;\n serializersNS[node.namespaceURI] = serializers;\n nodeFactory = makeSimpleNodeFactory(node.localName);\n }\n serialize(serializersNS, nodeFactory, value, objectStack);\n };\n}\n\n/**\n * Create a node factory which can use the `keys` passed to\n * {@link module:ol/xml.serialize} or {@link module:ol/xml.pushSerializeAndPop} as node names,\n * or a fixed node name. The namespace of the created nodes can either be fixed,\n * or the parent namespace will be used.\n * @param {string} [fixedNodeName] Fixed node name which will be used for all\n * created nodes. If not provided, the 3rd argument to the resulting node\n * factory needs to be provided and will be the nodeName.\n * @param {string} [fixedNamespaceURI] Fixed namespace URI which will be used for\n * all created nodes. If not provided, the namespace of the parent node will\n * be used.\n * @return {function(*, Array<*>, string=): (Node|undefined)} Node factory.\n */\nexport function makeSimpleNodeFactory(fixedNodeName, fixedNamespaceURI) {\n return (\n /**\n * @param {*} value Value.\n * @param {Array<*>} objectStack Object stack.\n * @param {string} [newNodeName] Node name.\n * @return {Node} Node.\n */\n function (value, objectStack, newNodeName) {\n const context = /** @type {NodeStackItem} */ (\n objectStack[objectStack.length - 1]\n );\n const node = context.node;\n let nodeName = fixedNodeName;\n if (nodeName === undefined) {\n nodeName = newNodeName;\n }\n\n const namespaceURI =\n fixedNamespaceURI !== undefined ? fixedNamespaceURI : node.namespaceURI;\n return createElementNS(namespaceURI, /** @type {string} */ (nodeName));\n }\n );\n}\n\n/**\n * A node factory that creates a node using the parent's `namespaceURI` and the\n * `nodeName` passed by {@link module:ol/xml.serialize} or\n * {@link module:ol/xml.pushSerializeAndPop} to the node factory.\n * @const\n * @type {function(*, Array<*>, string=): (Node|undefined)}\n */\nexport const OBJECT_PROPERTY_NODE_FACTORY = makeSimpleNodeFactory();\n\n/**\n * Create an array of `values` to be used with {@link module:ol/xml.serialize} or\n * {@link module:ol/xml.pushSerializeAndPop}, where `orderedKeys` has to be provided as\n * `key` argument.\n * @param {Object} object Key-value pairs for the sequence. Keys can\n * be a subset of the `orderedKeys`.\n * @param {Array} orderedKeys Keys in the order of the sequence.\n * @return {Array<*>} Values in the order of the sequence. The resulting array\n * has the same length as the `orderedKeys` array. Values that are not\n * present in `object` will be `undefined` in the resulting array.\n */\nexport function makeSequence(object, orderedKeys) {\n const length = orderedKeys.length;\n const sequence = new Array(length);\n for (let i = 0; i < length; ++i) {\n sequence[i] = object[orderedKeys[i]];\n }\n return sequence;\n}\n\n/**\n * Create a namespaced structure, using the same values for each namespace.\n * This can be used as a starting point for versioned parsers, when only a few\n * values are version specific.\n * @param {Array} namespaceURIs Namespace URIs.\n * @param {T} structure Structure.\n * @param {Object} [structureNS] Namespaced structure to add to.\n * @return {Object} Namespaced structure.\n * @template T\n */\nexport function makeStructureNS(namespaceURIs, structure, structureNS) {\n structureNS = structureNS !== undefined ? structureNS : {};\n let i, ii;\n for (i = 0, ii = namespaceURIs.length; i < ii; ++i) {\n structureNS[namespaceURIs[i]] = structure;\n }\n return structureNS;\n}\n\n/**\n * Parse a node using the parsers and object stack.\n * @param {Object>} parsersNS\n * Parsers by namespace.\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @param {*} [thisArg] The object to use as `this`.\n */\nexport function parseNode(parsersNS, node, objectStack, thisArg) {\n let n;\n for (n = node.firstElementChild; n; n = n.nextElementSibling) {\n const parsers = parsersNS[n.namespaceURI];\n if (parsers !== undefined) {\n const parser = parsers[n.localName];\n if (parser !== undefined) {\n parser.call(thisArg, n, objectStack);\n }\n }\n }\n}\n\n/**\n * Push an object on top of the stack, parse and return the popped object.\n * @param {T} object Object.\n * @param {Object>} parsersNS\n * Parsers by namespace.\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @param {*} [thisArg] The object to use as `this`.\n * @return {T} Object.\n * @template T\n */\nexport function pushParseAndPop(object, parsersNS, node, objectStack, thisArg) {\n objectStack.push(object);\n parseNode(parsersNS, node, objectStack, thisArg);\n return /** @type {T} */ (objectStack.pop());\n}\n\n/**\n * Walk through an array of `values` and call a serializer for each value.\n * @param {Object>} serializersNS\n * Namespaced serializers.\n * @param {function(this: T, *, Array<*>, (string|undefined)): (Node|undefined)} nodeFactory\n * Node factory. The `nodeFactory` creates the node whose namespace and name\n * will be used to choose a node writer from `serializersNS`. This\n * separation allows us to decide what kind of node to create, depending on\n * the value we want to serialize. An example for this would be different\n * geometry writers based on the geometry type.\n * @param {Array<*>} values Values to serialize. An example would be an array\n * of {@link module:ol/Feature~Feature} instances.\n * @param {Array<*>} objectStack Node stack.\n * @param {Array} [keys] Keys of the `values`. Will be passed to the\n * `nodeFactory`. This is used for serializing object literals where the\n * node name relates to the property key. The array length of `keys` has\n * to match the length of `values`. For serializing a sequence, `keys`\n * determines the order of the sequence.\n * @param {T} [thisArg] The object to use as `this` for the node factory and\n * serializers.\n * @template T\n */\nexport function serialize(\n serializersNS,\n nodeFactory,\n values,\n objectStack,\n keys,\n thisArg,\n) {\n const length = (keys !== undefined ? keys : values).length;\n let value, node;\n for (let i = 0; i < length; ++i) {\n value = values[i];\n if (value !== undefined) {\n node = nodeFactory.call(\n thisArg !== undefined ? thisArg : this,\n value,\n objectStack,\n keys !== undefined ? keys[i] : undefined,\n );\n if (node !== undefined) {\n serializersNS[node.namespaceURI][node.localName].call(\n thisArg,\n node,\n value,\n objectStack,\n );\n }\n }\n }\n}\n\n/**\n * @param {O} object Object.\n * @param {Object>} serializersNS\n * Namespaced serializers.\n * @param {function(this: T, *, Array<*>, (string|undefined)): (Node|undefined)} nodeFactory\n * Node factory. The `nodeFactory` creates the node whose namespace and name\n * will be used to choose a node writer from `serializersNS`. This\n * separation allows us to decide what kind of node to create, depending on\n * the value we want to serialize. An example for this would be different\n * geometry writers based on the geometry type.\n * @param {Array<*>} values Values to serialize. An example would be an array\n * of {@link module:ol/Feature~Feature} instances.\n * @param {Array<*>} objectStack Node stack.\n * @param {Array} [keys] Keys of the `values`. Will be passed to the\n * `nodeFactory`. This is used for serializing object literals where the\n * node name relates to the property key. The array length of `keys` has\n * to match the length of `values`. For serializing a sequence, `keys`\n * determines the order of the sequence.\n * @param {T} [thisArg] The object to use as `this` for the node factory and\n * serializers.\n * @return {O|undefined} Object.\n * @template O, T\n */\nexport function pushSerializeAndPop(\n object,\n serializersNS,\n nodeFactory,\n values,\n objectStack,\n keys,\n thisArg,\n) {\n objectStack.push(object);\n serialize(serializersNS, nodeFactory, values, objectStack, keys, thisArg);\n return /** @type {O|undefined} */ (objectStack.pop());\n}\n\nlet xmlSerializer_ = undefined;\n\n/**\n * Register a XMLSerializer. Can be used to inject a XMLSerializer\n * where there is no globally available implementation.\n *\n * @param {XMLSerializer} xmlSerializer A XMLSerializer.\n * @api\n */\nexport function registerXMLSerializer(xmlSerializer) {\n xmlSerializer_ = xmlSerializer;\n}\n\n/**\n * @return {XMLSerializer} The XMLSerializer.\n */\nexport function getXMLSerializer() {\n if (xmlSerializer_ === undefined && typeof XMLSerializer !== 'undefined') {\n xmlSerializer_ = new XMLSerializer();\n }\n return xmlSerializer_;\n}\n\nlet document_ = undefined;\n\n/**\n * Register a Document to use when creating nodes for XML serializations. Can be used\n * to inject a Document where there is no globally available implementation.\n *\n * @param {Document} document A Document.\n * @api\n */\nexport function registerDocument(document) {\n document_ = document;\n}\n\n/**\n * Get a document that should be used when creating nodes for XML serializations.\n * @return {Document} The document.\n */\nexport function getDocument() {\n if (document_ === undefined && typeof document !== 'undefined') {\n document_ = document.implementation.createDocument('', '', null);\n }\n return document_;\n}\n","/**\n * @module ol/format/XML\n */\nimport {abstract} from '../util.js';\nimport {isDocument, parse} from '../xml.js';\n\n/**\n * @classdesc\n * Generic format for reading non-feature XML data\n *\n * @abstract\n */\nclass XML {\n /**\n * Read the source document.\n *\n * @param {Document|Element|string} source The XML source.\n * @return {Object|null} An object representing the source.\n * @api\n */\n read(source) {\n if (!source) {\n return null;\n }\n if (typeof source === 'string') {\n const doc = parse(source);\n return this.readFromDocument(doc);\n }\n if (isDocument(source)) {\n return this.readFromDocument(/** @type {Document} */ (source));\n }\n return this.readFromNode(/** @type {Element} */ (source));\n }\n\n /**\n * @param {Document} doc Document.\n * @return {Object|null} Object\n */\n readFromDocument(doc) {\n for (let n = doc.firstChild; n; n = n.nextSibling) {\n if (n.nodeType == Node.ELEMENT_NODE) {\n return this.readFromNode(/** @type {Element} */ (n));\n }\n }\n return null;\n }\n\n /**\n * @abstract\n * @param {Element} node Node.\n * @return {Object|null} Object\n */\n readFromNode(node) {\n abstract();\n }\n}\n\nexport default XML;\n","/**\n * @module ol/format/xlink\n */\n\n/**\n * @const\n * @type {string}\n */\nconst NAMESPACE_URI = 'http://www.w3.org/1999/xlink';\n\n/**\n * @param {Element} node Node.\n * @return {string|null} href.\n */\nexport function readHref(node) {\n return node.getAttributeNS(NAMESPACE_URI, 'href');\n}\n","/**\n * @module ol/format/xsd\n */\nimport {getAllTextContent, getDocument} from '../xml.js';\nimport {padNumber} from '../string.js';\n\n/**\n * @param {Node} node Node.\n * @return {boolean|undefined} Boolean.\n */\nexport function readBoolean(node) {\n const s = getAllTextContent(node, false);\n return readBooleanString(s);\n}\n\n/**\n * @param {string} string String.\n * @return {boolean|undefined} Boolean.\n */\nexport function readBooleanString(string) {\n const m = /^\\s*(true|1)|(false|0)\\s*$/.exec(string);\n if (m) {\n return m[1] !== undefined || false;\n }\n return undefined;\n}\n\n/**\n * @param {Node} node Node.\n * @return {number|undefined} DateTime in seconds.\n */\nexport function readDateTime(node) {\n const s = getAllTextContent(node, false);\n const dateTime = Date.parse(s);\n return isNaN(dateTime) ? undefined : dateTime / 1000;\n}\n\n/**\n * @param {Node} node Node.\n * @return {number|undefined} Decimal.\n */\nexport function readDecimal(node) {\n const s = getAllTextContent(node, false);\n return readDecimalString(s);\n}\n\n/**\n * @param {string} string String.\n * @return {number|undefined} Decimal.\n */\nexport function readDecimalString(string) {\n // FIXME check spec\n const m = /^\\s*([+\\-]?\\d*\\.?\\d+(?:e[+\\-]?\\d+)?)\\s*$/i.exec(string);\n if (m) {\n return parseFloat(m[1]);\n }\n return undefined;\n}\n\n/**\n * @param {Node} node Node.\n * @return {number|undefined} Non negative integer.\n */\nexport function readPositiveInteger(node) {\n const s = getAllTextContent(node, false);\n return readNonNegativeIntegerString(s);\n}\n\n/**\n * @param {string} string String.\n * @return {number|undefined} Non negative integer.\n */\nexport function readNonNegativeIntegerString(string) {\n const m = /^\\s*(\\d+)\\s*$/.exec(string);\n if (m) {\n return parseInt(m[1], 10);\n }\n return undefined;\n}\n\n/**\n * @param {Node} node Node.\n * @return {string|undefined} String.\n */\nexport function readString(node) {\n return getAllTextContent(node, false).trim();\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the boolean to.\n * @param {boolean} bool Boolean.\n */\nexport function writeBooleanTextNode(node, bool) {\n writeStringTextNode(node, bool ? '1' : '0');\n}\n\n/**\n * @param {Node} node Node to append a CDATA Section with the string to.\n * @param {string} string String.\n */\nexport function writeCDATASection(node, string) {\n node.appendChild(getDocument().createCDATASection(string));\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the dateTime to.\n * @param {number} dateTime DateTime in seconds.\n */\nexport function writeDateTimeTextNode(node, dateTime) {\n const date = new Date(dateTime * 1000);\n const string =\n date.getUTCFullYear() +\n '-' +\n padNumber(date.getUTCMonth() + 1, 2) +\n '-' +\n padNumber(date.getUTCDate(), 2) +\n 'T' +\n padNumber(date.getUTCHours(), 2) +\n ':' +\n padNumber(date.getUTCMinutes(), 2) +\n ':' +\n padNumber(date.getUTCSeconds(), 2) +\n 'Z';\n node.appendChild(getDocument().createTextNode(string));\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the decimal to.\n * @param {number} decimal Decimal.\n */\nexport function writeDecimalTextNode(node, decimal) {\n const string = decimal.toPrecision();\n node.appendChild(getDocument().createTextNode(string));\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the decimal to.\n * @param {number} nonNegativeInteger Non negative integer.\n */\nexport function writeNonNegativeIntegerTextNode(node, nonNegativeInteger) {\n const string = nonNegativeInteger.toString();\n node.appendChild(getDocument().createTextNode(string));\n}\n\n/**\n * @param {Node} node Node to append a TextNode with the string to.\n * @param {string} string String.\n */\nexport function writeStringTextNode(node, string) {\n node.appendChild(getDocument().createTextNode(string));\n}\n","/**\n * @module ol/format/OWS\n */\nimport XML from './XML.js';\nimport {\n makeObjectPropertyPusher,\n makeObjectPropertySetter,\n makeStructureNS,\n pushParseAndPop,\n} from '../xml.js';\nimport {readHref} from './xlink.js';\nimport {readString} from './xsd.js';\n\n/**\n * @const\n * @type {Array}\n */\nconst NAMESPACE_URIS = [null, 'http://www.opengis.net/ows/1.1'];\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'ServiceIdentification': makeObjectPropertySetter(readServiceIdentification),\n 'ServiceProvider': makeObjectPropertySetter(readServiceProvider),\n 'OperationsMetadata': makeObjectPropertySetter(readOperationsMetadata),\n});\n\nclass OWS extends XML {\n constructor() {\n super();\n }\n\n /**\n * @param {Element} node Node.\n * @return {Object|null} Object\n */\n readFromNode(node) {\n const owsObject = pushParseAndPop({}, PARSERS, node, []);\n return owsObject ? owsObject : null;\n }\n}\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst ADDRESS_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'DeliveryPoint': makeObjectPropertySetter(readString),\n 'City': makeObjectPropertySetter(readString),\n 'AdministrativeArea': makeObjectPropertySetter(readString),\n 'PostalCode': makeObjectPropertySetter(readString),\n 'Country': makeObjectPropertySetter(readString),\n 'ElectronicMailAddress': makeObjectPropertySetter(readString),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst ALLOWED_VALUES_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Value': makeObjectPropertyPusher(readValue),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst CONSTRAINT_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'AllowedValues': makeObjectPropertySetter(readAllowedValues),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst CONTACT_INFO_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Phone': makeObjectPropertySetter(readPhone),\n 'Address': makeObjectPropertySetter(readAddress),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst DCP_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'HTTP': makeObjectPropertySetter(readHttp),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst HTTP_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Get': makeObjectPropertyPusher(readGet),\n 'Post': undefined, // TODO\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst OPERATION_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'DCP': makeObjectPropertySetter(readDcp),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst OPERATIONS_METADATA_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Operation': readOperation,\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst PHONE_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Voice': makeObjectPropertySetter(readString),\n 'Facsimile': makeObjectPropertySetter(readString),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst REQUEST_METHOD_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Constraint': makeObjectPropertyPusher(readConstraint),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst SERVICE_CONTACT_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'IndividualName': makeObjectPropertySetter(readString),\n 'PositionName': makeObjectPropertySetter(readString),\n 'ContactInfo': makeObjectPropertySetter(readContactInfo),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst SERVICE_IDENTIFICATION_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Abstract': makeObjectPropertySetter(readString),\n 'AccessConstraints': makeObjectPropertySetter(readString),\n 'Fees': makeObjectPropertySetter(readString),\n 'Title': makeObjectPropertySetter(readString),\n 'ServiceTypeVersion': makeObjectPropertySetter(readString),\n 'ServiceType': makeObjectPropertySetter(readString),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst SERVICE_PROVIDER_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'ProviderName': makeObjectPropertySetter(readString),\n 'ProviderSite': makeObjectPropertySetter(readHref),\n 'ServiceContact': makeObjectPropertySetter(readServiceContact),\n});\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The address.\n */\nfunction readAddress(node, objectStack) {\n return pushParseAndPop({}, ADDRESS_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The values.\n */\nfunction readAllowedValues(node, objectStack) {\n return pushParseAndPop({}, ALLOWED_VALUES_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The constraint.\n */\nfunction readConstraint(node, objectStack) {\n const name = node.getAttribute('name');\n if (!name) {\n return undefined;\n }\n return pushParseAndPop({'name': name}, CONSTRAINT_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The contact info.\n */\nfunction readContactInfo(node, objectStack) {\n return pushParseAndPop({}, CONTACT_INFO_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The DCP.\n */\nfunction readDcp(node, objectStack) {\n return pushParseAndPop({}, DCP_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The GET object.\n */\nfunction readGet(node, objectStack) {\n const href = readHref(node);\n if (!href) {\n return undefined;\n }\n return pushParseAndPop(\n {'href': href},\n REQUEST_METHOD_PARSERS,\n node,\n objectStack,\n );\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The HTTP object.\n */\nfunction readHttp(node, objectStack) {\n return pushParseAndPop({}, HTTP_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The operation.\n */\nfunction readOperation(node, objectStack) {\n const name = node.getAttribute('name');\n const value = pushParseAndPop({}, OPERATION_PARSERS, node, objectStack);\n if (!value) {\n return undefined;\n }\n const object = /** @type {Object} */ (objectStack[objectStack.length - 1]);\n object[name] = value;\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The operations metadata.\n */\nfunction readOperationsMetadata(node, objectStack) {\n return pushParseAndPop({}, OPERATIONS_METADATA_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The phone.\n */\nfunction readPhone(node, objectStack) {\n return pushParseAndPop({}, PHONE_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The service identification.\n */\nfunction readServiceIdentification(node, objectStack) {\n return pushParseAndPop({}, SERVICE_IDENTIFICATION_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The service contact.\n */\nfunction readServiceContact(node, objectStack) {\n return pushParseAndPop({}, SERVICE_CONTACT_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} The service provider.\n */\nfunction readServiceProvider(node, objectStack) {\n return pushParseAndPop({}, SERVICE_PROVIDER_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {string|undefined} The value.\n */\nfunction readValue(node, objectStack) {\n return readString(node);\n}\n\nexport default OWS;\n","/**\n * @module ol/format/WMTSCapabilities\n */\nimport OWS from './OWS.js';\nimport XML from './XML.js';\nimport {boundingExtent} from '../extent.js';\nimport {\n makeArrayPusher,\n makeObjectPropertyPusher,\n makeObjectPropertySetter,\n makeStructureNS,\n pushParseAndPop,\n} from '../xml.js';\nimport {readDecimal, readPositiveInteger, readString} from './xsd.js';\nimport {readHref} from './xlink.js';\n\n/**\n * @const\n * @type {Array}\n */\nconst NAMESPACE_URIS = [null, 'http://www.opengis.net/wmts/1.0'];\n\n/**\n * @const\n * @type {Array}\n */\nconst OWS_NAMESPACE_URIS = [null, 'http://www.opengis.net/ows/1.1'];\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Contents': makeObjectPropertySetter(readContents),\n});\n\n/**\n * @classdesc\n * Format for reading WMTS capabilities data.\n *\n * @api\n */\nclass WMTSCapabilities extends XML {\n constructor() {\n super();\n\n /**\n * @type {OWS}\n * @private\n */\n this.owsParser_ = new OWS();\n }\n\n /**\n * @param {Element} node Node.\n * @return {Object|null} Object\n */\n readFromNode(node) {\n let version = node.getAttribute('version');\n if (version) {\n version = version.trim();\n }\n let WMTSCapabilityObject = this.owsParser_.readFromNode(node);\n if (!WMTSCapabilityObject) {\n return null;\n }\n WMTSCapabilityObject['version'] = version;\n WMTSCapabilityObject = pushParseAndPop(\n WMTSCapabilityObject,\n PARSERS,\n node,\n [],\n );\n return WMTSCapabilityObject ? WMTSCapabilityObject : null;\n }\n}\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst CONTENTS_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'Layer': makeObjectPropertyPusher(readLayer),\n 'TileMatrixSet': makeObjectPropertyPusher(readTileMatrixSet),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst LAYER_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'Style': makeObjectPropertyPusher(readStyle),\n 'Format': makeObjectPropertyPusher(readString),\n 'TileMatrixSetLink': makeObjectPropertyPusher(readTileMatrixSetLink),\n 'Dimension': makeObjectPropertyPusher(readDimensions),\n 'ResourceURL': makeObjectPropertyPusher(readResourceUrl),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'Title': makeObjectPropertySetter(readString),\n 'Abstract': makeObjectPropertySetter(readString),\n 'WGS84BoundingBox': makeObjectPropertySetter(readBoundingBox),\n 'BoundingBox': makeObjectPropertyPusher(readBoundingBoxWithCrs),\n 'Identifier': makeObjectPropertySetter(readString),\n }),\n);\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst STYLE_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'LegendURL': makeObjectPropertyPusher(readLegendUrl),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'Title': makeObjectPropertySetter(readString),\n 'Identifier': makeObjectPropertySetter(readString),\n }),\n);\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TMS_LINKS_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'TileMatrixSet': makeObjectPropertySetter(readString),\n 'TileMatrixSetLimits': makeObjectPropertySetter(readTileMatrixLimitsList),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TMS_LIMITS_LIST_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'TileMatrixLimits': makeArrayPusher(readTileMatrixLimits),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TMS_LIMITS_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'TileMatrix': makeObjectPropertySetter(readString),\n 'MinTileRow': makeObjectPropertySetter(readPositiveInteger),\n 'MaxTileRow': makeObjectPropertySetter(readPositiveInteger),\n 'MinTileCol': makeObjectPropertySetter(readPositiveInteger),\n 'MaxTileCol': makeObjectPropertySetter(readPositiveInteger),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst DIMENSION_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'Default': makeObjectPropertySetter(readString),\n 'Value': makeObjectPropertyPusher(readString),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'Identifier': makeObjectPropertySetter(readString),\n }),\n);\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst WGS84_BBOX_READERS = makeStructureNS(OWS_NAMESPACE_URIS, {\n 'LowerCorner': makeArrayPusher(readCoordinates),\n 'UpperCorner': makeArrayPusher(readCoordinates),\n});\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TMS_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'WellKnownScaleSet': makeObjectPropertySetter(readString),\n 'TileMatrix': makeObjectPropertyPusher(readTileMatrix),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'SupportedCRS': makeObjectPropertySetter(readString),\n 'Identifier': makeObjectPropertySetter(readString),\n 'BoundingBox': makeObjectPropertySetter(readBoundingBox),\n }),\n);\n\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nconst TM_PARSERS = makeStructureNS(\n NAMESPACE_URIS,\n {\n 'TopLeftCorner': makeObjectPropertySetter(readCoordinates),\n 'ScaleDenominator': makeObjectPropertySetter(readDecimal),\n 'TileWidth': makeObjectPropertySetter(readPositiveInteger),\n 'TileHeight': makeObjectPropertySetter(readPositiveInteger),\n 'MatrixWidth': makeObjectPropertySetter(readPositiveInteger),\n 'MatrixHeight': makeObjectPropertySetter(readPositiveInteger),\n },\n makeStructureNS(OWS_NAMESPACE_URIS, {\n 'Identifier': makeObjectPropertySetter(readString),\n }),\n);\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Attribution object.\n */\nfunction readContents(node, objectStack) {\n return pushParseAndPop({}, CONTENTS_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Layers object.\n */\nfunction readLayer(node, objectStack) {\n return pushParseAndPop({}, LAYER_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Tile Matrix Set object.\n */\nfunction readTileMatrixSet(node, objectStack) {\n return pushParseAndPop({}, TMS_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Style object.\n */\nfunction readStyle(node, objectStack) {\n const style = pushParseAndPop({}, STYLE_PARSERS, node, objectStack);\n if (!style) {\n return undefined;\n }\n const isDefault = node.getAttribute('isDefault') === 'true';\n style['isDefault'] = isDefault;\n return style;\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Tile Matrix Set Link object.\n */\nfunction readTileMatrixSetLink(node, objectStack) {\n return pushParseAndPop({}, TMS_LINKS_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Dimension object.\n */\nfunction readDimensions(node, objectStack) {\n return pushParseAndPop({}, DIMENSION_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Resource URL object.\n */\nfunction readResourceUrl(node, objectStack) {\n const format = node.getAttribute('format');\n const template = node.getAttribute('template');\n const resourceType = node.getAttribute('resourceType');\n const resource = {};\n if (format) {\n resource['format'] = format;\n }\n if (template) {\n resource['template'] = template;\n }\n if (resourceType) {\n resource['resourceType'] = resourceType;\n }\n return resource;\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} BBox object.\n */\nfunction readBoundingBox(node, objectStack) {\n const coordinates = pushParseAndPop(\n [],\n WGS84_BBOX_READERS,\n node,\n objectStack,\n );\n if (coordinates.length != 2) {\n return undefined;\n }\n return boundingExtent(coordinates);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} BBox object.\n */\nfunction readBoundingBoxWithCrs(node, objectStack) {\n const crs = node.getAttribute('crs');\n const coordinates = pushParseAndPop(\n [],\n WGS84_BBOX_READERS,\n node,\n objectStack,\n );\n if (coordinates.length != 2) {\n return undefined;\n }\n return {extent: boundingExtent(coordinates), crs: crs};\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Legend object.\n */\nfunction readLegendUrl(node, objectStack) {\n const legend = {};\n legend['format'] = node.getAttribute('format');\n legend['href'] = readHref(node);\n return legend;\n}\n\n/**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} Coordinates object.\n */\nfunction readCoordinates(node, objectStack) {\n const coordinates = readString(node).split(/\\s+/);\n if (!coordinates || coordinates.length != 2) {\n return undefined;\n }\n const x = +coordinates[0];\n const y = +coordinates[1];\n if (isNaN(x) || isNaN(y)) {\n return undefined;\n }\n return [x, y];\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} TileMatrix object.\n */\nfunction readTileMatrix(node, objectStack) {\n return pushParseAndPop({}, TM_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} TileMatrixSetLimits Object.\n */\nfunction readTileMatrixLimitsList(node, objectStack) {\n return pushParseAndPop([], TMS_LIMITS_LIST_PARSERS, node, objectStack);\n}\n\n/**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @return {Object|undefined} TileMatrixLimits Array.\n */\nfunction readTileMatrixLimits(node, objectStack) {\n return pushParseAndPop({}, TMS_LIMITS_PARSERS, node, objectStack);\n}\n\nexport default WMTSCapabilities;\n","/**\n * @module ol/uri\n */\n\n/**\n * Appends query parameters to a URI.\n *\n * @param {string} uri The original URI, which may already have query data.\n * @param {!Object} params An object where keys are URI-encoded parameter keys,\n * and the values are arbitrary types or arrays.\n * @return {string} The new URI.\n */\nexport function appendParams(uri, params) {\n /** @type {Array} */\n const keyParams = [];\n // Skip any null or undefined parameter values\n Object.keys(params).forEach(function (k) {\n if (params[k] !== null && params[k] !== undefined) {\n keyParams.push(k + '=' + encodeURIComponent(params[k]));\n }\n });\n const qs = keyParams.join('&');\n // remove any trailing ? or &\n uri = uri.replace(/[?&]$/, '');\n // append ? or & depending on whether uri has existing parameters\n uri += uri.includes('?') ? '&' : '?';\n return uri + qs;\n}\n","/**\n * @module ol/tilegrid/WMTS\n */\n\nimport TileGrid from './TileGrid.js';\nimport {get as getProjection} from '../proj.js';\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../extent.js\").Extent} [extent] Extent for the tile grid. No tiles\n * outside this extent will be requested by {@link module:ol/source/Tile~TileSource} sources.\n * When no `origin` or `origins` are configured, the `origin` will be set to the\n * top-left corner of the extent.\n * @property {import(\"../coordinate.js\").Coordinate} [origin] The tile grid origin, i.e.\n * where the `x` and `y` axes meet (`[z, 0, 0]`). Tile coordinates increase left\n * to right and downwards. If not specified, `extent` or `origins` must be provided.\n * @property {Array} [origins] Tile grid origins,\n * i.e. where the `x` and `y` axes meet (`[z, 0, 0]`), for each zoom level. If\n * given, the array length should match the length of the `resolutions` array, i.e.\n * each resolution can have a different origin. Tile coordinates increase left to\n * right and downwards. If not specified, `extent` or `origin` must be provided.\n * @property {!Array} resolutions Resolutions. The array index of each\n * resolution needs to match the zoom level. This means that even if a `minZoom`\n * is configured, the resolutions array will have a length of `maxZoom + 1`\n * @property {!Array} matrixIds matrix IDs. The length of this array needs\n * to match the length of the `resolutions` array.\n * @property {Array} [sizes] Number of tile rows and columns\n * of the grid for each zoom level. The values here are the `TileMatrixWidth` and\n * `TileMatrixHeight` advertised in the GetCapabilities response of the WMTS, and\n * define each zoom level's extent together with the `origin` or `origins`.\n * A grid `extent` can be configured in addition, and will further limit the extent for\n * which tile requests are made by sources. If the bottom-left corner of\n * an extent is used as `origin` or `origins`, then the `y` value must be\n * negative because OpenLayers tile coordinates use the top left as the origin.\n * @property {number|import(\"../size.js\").Size} [tileSize] Tile size.\n * @property {Array} [tileSizes] Tile sizes. The length of\n * this array needs to match the length of the `resolutions` array.\n */\n\n/**\n * @classdesc\n * Set the grid pattern for sources accessing WMTS tiled-image servers.\n * @api\n */\nclass WMTSTileGrid extends TileGrid {\n /**\n * @param {Options} options WMTS options.\n */\n constructor(options) {\n super({\n extent: options.extent,\n origin: options.origin,\n origins: options.origins,\n resolutions: options.resolutions,\n tileSize: options.tileSize,\n tileSizes: options.tileSizes,\n sizes: options.sizes,\n });\n\n /**\n * @private\n * @type {!Array}\n */\n this.matrixIds_ = options.matrixIds;\n }\n\n /**\n * @param {number} z Z.\n * @return {string} MatrixId..\n */\n getMatrixId(z) {\n return this.matrixIds_[z];\n }\n\n /**\n * Get the list of matrix identifiers.\n * @return {Array} MatrixIds.\n * @api\n */\n getMatrixIds() {\n return this.matrixIds_;\n }\n}\n\nexport default WMTSTileGrid;\n\n/**\n * Create a tile grid from a WMTS capabilities matrix set and an\n * optional TileMatrixSetLimits.\n * @param {Object} matrixSet An object representing a matrixSet in the\n * capabilities document.\n * @param {import(\"../extent.js\").Extent} [extent] An optional extent to restrict the tile\n * ranges the server provides.\n * @param {Array} [matrixLimits] An optional object representing\n * the available matrices for tileGrid.\n * @return {WMTSTileGrid} WMTS tileGrid instance.\n * @api\n */\nexport function createFromCapabilitiesMatrixSet(\n matrixSet,\n extent,\n matrixLimits,\n) {\n /** @type {!Array} */\n const resolutions = [];\n /** @type {!Array} */\n const matrixIds = [];\n /** @type {!Array} */\n const origins = [];\n /** @type {!Array} */\n const tileSizes = [];\n /** @type {!Array} */\n const sizes = [];\n\n matrixLimits = matrixLimits !== undefined ? matrixLimits : [];\n\n const supportedCRSPropName = 'SupportedCRS';\n const matrixIdsPropName = 'TileMatrix';\n const identifierPropName = 'Identifier';\n const scaleDenominatorPropName = 'ScaleDenominator';\n const topLeftCornerPropName = 'TopLeftCorner';\n const tileWidthPropName = 'TileWidth';\n const tileHeightPropName = 'TileHeight';\n\n const code = matrixSet[supportedCRSPropName];\n const projection = getProjection(code);\n const metersPerUnit = projection.getMetersPerUnit();\n // swap origin x and y coordinates if axis orientation is lat/long\n const switchOriginXY = projection.getAxisOrientation().substr(0, 2) == 'ne';\n\n matrixSet[matrixIdsPropName].sort(function (a, b) {\n return b[scaleDenominatorPropName] - a[scaleDenominatorPropName];\n });\n\n matrixSet[matrixIdsPropName].forEach(function (elt) {\n let matrixAvailable;\n // use of matrixLimits to filter TileMatrices from GetCapabilities\n // TileMatrixSet from unavailable matrix levels.\n if (matrixLimits.length > 0) {\n matrixAvailable = matrixLimits.find(function (elt_ml) {\n if (elt[identifierPropName] == elt_ml[matrixIdsPropName]) {\n return true;\n }\n // Fallback for tileMatrix identifiers that don't get prefixed\n // by their tileMatrixSet identifiers.\n if (!elt[identifierPropName].includes(':')) {\n return (\n matrixSet[identifierPropName] + ':' + elt[identifierPropName] ===\n elt_ml[matrixIdsPropName]\n );\n }\n return false;\n });\n } else {\n matrixAvailable = true;\n }\n\n if (matrixAvailable) {\n matrixIds.push(elt[identifierPropName]);\n const resolution =\n (elt[scaleDenominatorPropName] * 0.28e-3) / metersPerUnit;\n const tileWidth = elt[tileWidthPropName];\n const tileHeight = elt[tileHeightPropName];\n if (switchOriginXY) {\n origins.push([\n elt[topLeftCornerPropName][1],\n elt[topLeftCornerPropName][0],\n ]);\n } else {\n origins.push(elt[topLeftCornerPropName]);\n }\n resolutions.push(resolution);\n tileSizes.push(\n tileWidth == tileHeight ? tileWidth : [tileWidth, tileHeight],\n );\n sizes.push([elt['MatrixWidth'], elt['MatrixHeight']]);\n }\n });\n\n return new WMTSTileGrid({\n extent: extent,\n origins: origins,\n resolutions: resolutions,\n matrixIds: matrixIds,\n tileSizes: tileSizes,\n sizes: sizes,\n });\n}\n","/**\n * @module ol/source/WMTS\n */\n\nimport TileImage from './TileImage.js';\nimport {appendParams} from '../uri.js';\nimport {containsExtent} from '../extent.js';\nimport {createFromCapabilitiesMatrixSet} from '../tilegrid/WMTS.js';\nimport {createFromTileUrlFunctions, expandUrl} from '../tileurlfunction.js';\nimport {equivalent, get as getProjection, transformExtent} from '../proj.js';\n\n/**\n * Request encoding. One of 'KVP', 'REST'.\n * @typedef {'KVP' | 'REST'} RequestEncoding\n */\n\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {number} [cacheSize] Initial tile cache size. Will auto-grow to hold at least the number of tiles in the viewport.\n * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that\n * you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.\n * @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,\n * linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.\n * @property {import(\"../tilegrid/WMTS.js\").default} tileGrid Tile grid.\n * @property {import(\"../proj.js\").ProjectionLike} [projection] Projection. Default is the view projection.\n * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).\n * Higher values can increase reprojection performance, but decrease precision.\n * @property {RequestEncoding} [requestEncoding='KVP'] Request encoding.\n * @property {string} layer Layer name as advertised in the WMTS capabilities.\n * @property {string} style Style name as advertised in the WMTS capabilities.\n * @property {typeof import(\"../ImageTile.js\").default} [tileClass] Class used to instantiate image tiles. Default is {@link module:ol/ImageTile~ImageTile}.\n * @property {number} [tilePixelRatio=1] The pixel ratio used by the tile service.\n * For example, if the tile service advertizes 256px by 256px tiles but actually sends 512px\n * by 512px images (for retina/hidpi devices) then `tilePixelRatio`\n * should be set to `2`.\n * @property {string} [format='image/jpeg'] Image format. Only used when `requestEncoding` is `'KVP'`.\n * @property {string} [version='1.0.0'] WMTS version.\n * @property {string} matrixSet Matrix set.\n * @property {!Object} [dimensions] Additional \"dimensions\" for tile requests.\n * This is an object with properties named like the advertised WMTS dimensions.\n * @property {string} [url] A URL for the service.\n * For the RESTful request encoding, this is a URL\n * template. For KVP encoding, it is normal URL. A `{?-?}` template pattern,\n * for example `subdomain{a-f}.domain.com`, may be used instead of defining\n * each one separately in the `urls` option.\n * @property {import(\"../Tile.js\").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is\n * ```js\n * function(imageTile, src) {\n * imageTile.getImage().src = src;\n * };\n * ```\n * @property {Array} [urls] An array of URLs.\n * Requests will be distributed among the URLs in this array.\n * @property {boolean} [wrapX=false] Whether to wrap the world horizontally.\n * @property {number} [transition] Duration of the opacity transition for rendering.\n * To disable the opacity transition, pass `transition: 0`.\n * @property {number|import(\"../array.js\").NearestDirectionFunction} [zDirection=0]\n * Choose whether to use tiles with a higher or lower zoom level when between integer\n * zoom levels. See {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution}.\n */\n\n/**\n * @classdesc\n * Layer source for tile data from WMTS servers.\n * @api\n */\nclass WMTS extends TileImage {\n /**\n * @param {Options} options WMTS options.\n */\n constructor(options) {\n // TODO: add support for TileMatrixLimits\n\n const requestEncoding =\n options.requestEncoding !== undefined ? options.requestEncoding : 'KVP';\n\n // FIXME: should we create a default tileGrid?\n // we could issue a getCapabilities xhr to retrieve missing configuration\n const tileGrid = options.tileGrid;\n\n let urls = options.urls;\n if (urls === undefined && options.url !== undefined) {\n urls = expandUrl(options.url);\n }\n\n super({\n attributions: options.attributions,\n attributionsCollapsible: options.attributionsCollapsible,\n cacheSize: options.cacheSize,\n crossOrigin: options.crossOrigin,\n interpolate: options.interpolate,\n projection: options.projection,\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\n tileClass: options.tileClass,\n tileGrid: tileGrid,\n tileLoadFunction: options.tileLoadFunction,\n tilePixelRatio: options.tilePixelRatio,\n urls: urls,\n wrapX: options.wrapX !== undefined ? options.wrapX : false,\n transition: options.transition,\n zDirection: options.zDirection,\n });\n\n /**\n * @private\n * @type {string}\n */\n this.version_ = options.version !== undefined ? options.version : '1.0.0';\n\n /**\n * @private\n * @type {string}\n */\n this.format_ = options.format !== undefined ? options.format : 'image/jpeg';\n\n /**\n * @private\n * @type {!Object}\n */\n this.dimensions_ =\n options.dimensions !== undefined ? options.dimensions : {};\n\n /**\n * @private\n * @type {string}\n */\n this.layer_ = options.layer;\n\n /**\n * @private\n * @type {string}\n */\n this.matrixSet_ = options.matrixSet;\n\n /**\n * @private\n * @type {string}\n */\n this.style_ = options.style;\n\n // FIXME: should we guess this requestEncoding from options.url(s)\n // structure? that would mean KVP only if a template is not provided.\n\n /**\n * @private\n * @type {RequestEncoding}\n */\n this.requestEncoding_ = requestEncoding;\n\n this.setKey(this.getKeyForDimensions_());\n\n if (urls && urls.length > 0) {\n this.tileUrlFunction = createFromTileUrlFunctions(\n urls.map(this.createFromWMTSTemplate.bind(this)),\n );\n }\n }\n\n /**\n * Set the URLs to use for requests.\n * URLs may contain OGC conform URL Template Variables: {TileMatrix}, {TileRow}, {TileCol}.\n * @param {Array} urls URLs.\n */\n setUrls(urls) {\n this.urls = urls;\n const key = urls.join('\\n');\n this.setTileUrlFunction(\n createFromTileUrlFunctions(\n urls.map(this.createFromWMTSTemplate.bind(this)),\n ),\n key,\n );\n }\n\n /**\n * Get the dimensions, i.e. those passed to the constructor through the\n * \"dimensions\" option, and possibly updated using the updateDimensions\n * method.\n * @return {!Object} Dimensions.\n * @api\n */\n getDimensions() {\n return this.dimensions_;\n }\n\n /**\n * Return the image format of the WMTS source.\n * @return {string} Format.\n * @api\n */\n getFormat() {\n return this.format_;\n }\n\n /**\n * Return the layer of the WMTS source.\n * @return {string} Layer.\n * @api\n */\n getLayer() {\n return this.layer_;\n }\n\n /**\n * Return the matrix set of the WMTS source.\n * @return {string} MatrixSet.\n * @api\n */\n getMatrixSet() {\n return this.matrixSet_;\n }\n\n /**\n * Return the request encoding, either \"KVP\" or \"REST\".\n * @return {RequestEncoding} Request encoding.\n * @api\n */\n getRequestEncoding() {\n return this.requestEncoding_;\n }\n\n /**\n * Return the style of the WMTS source.\n * @return {string} Style.\n * @api\n */\n getStyle() {\n return this.style_;\n }\n\n /**\n * Return the version of the WMTS source.\n * @return {string} Version.\n * @api\n */\n getVersion() {\n return this.version_;\n }\n\n /**\n * @private\n * @return {string} The key for the current dimensions.\n */\n getKeyForDimensions_() {\n const res = this.urls ? this.urls.slice(0) : [];\n for (const key in this.dimensions_) {\n res.push(key + '-' + this.dimensions_[key]);\n }\n return res.join('/');\n }\n\n /**\n * Update the dimensions.\n * @param {Object} dimensions Dimensions.\n * @api\n */\n updateDimensions(dimensions) {\n Object.assign(this.dimensions_, dimensions);\n this.setKey(this.getKeyForDimensions_());\n }\n\n /**\n * @param {string} template Template.\n * @return {import(\"../Tile.js\").UrlFunction} Tile URL function.\n */\n createFromWMTSTemplate(template) {\n const requestEncoding = this.requestEncoding_;\n\n // context property names are lower case to allow for a case insensitive\n // replacement as some services use different naming conventions\n const context = {\n 'layer': this.layer_,\n 'style': this.style_,\n 'tilematrixset': this.matrixSet_,\n };\n\n if (requestEncoding == 'KVP') {\n Object.assign(context, {\n 'Service': 'WMTS',\n 'Request': 'GetTile',\n 'Version': this.version_,\n 'Format': this.format_,\n });\n }\n\n // TODO: we may want to create our own appendParams function so that params\n // order conforms to wmts spec guidance, and so that we can avoid to escape\n // special template params\n\n template =\n requestEncoding == 'KVP'\n ? appendParams(template, context)\n : template.replace(/\\{(\\w+?)\\}/g, function (m, p) {\n return p.toLowerCase() in context ? context[p.toLowerCase()] : m;\n });\n\n const tileGrid = /** @type {import(\"../tilegrid/WMTS.js\").default} */ (\n this.tileGrid\n );\n const dimensions = this.dimensions_;\n\n return (\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {string|undefined} Tile URL.\n */\n function (tileCoord, pixelRatio, projection) {\n if (!tileCoord) {\n return undefined;\n }\n const localContext = {\n 'TileMatrix': tileGrid.getMatrixId(tileCoord[0]),\n 'TileCol': tileCoord[1],\n 'TileRow': tileCoord[2],\n };\n Object.assign(localContext, dimensions);\n let url = template;\n if (requestEncoding == 'KVP') {\n url = appendParams(url, localContext);\n } else {\n url = url.replace(/\\{(\\w+?)\\}/g, function (m, p) {\n return localContext[p];\n });\n }\n return url;\n }\n );\n }\n}\n\nexport default WMTS;\n\n/**\n * Generate source options from a capabilities object.\n * @param {Object} wmtsCap An object representing the capabilities document.\n * @param {!Object} config Configuration properties for the layer. Defaults for\n * the layer will apply if not provided.\n *\n * Required config properties:\n * - layer - {string} The layer identifier.\n *\n * Optional config properties:\n * - matrixSet - {string} The matrix set identifier, required if there is\n * more than one matrix set in the layer capabilities.\n * - projection - {string} The desired CRS when no matrixSet is specified.\n * eg: \"EPSG:3857\". If the desired projection is not available,\n * an error is thrown.\n * - requestEncoding - {string} url encoding format for the layer. Default is\n * the first tile url format found in the GetCapabilities response.\n * - style - {string} The name of the style\n * - format - {string} Image format for the layer. Default is the first\n * format returned in the GetCapabilities response.\n * - crossOrigin - {string|null|undefined} Cross origin. Default is `undefined`.\n * @return {Options|null} WMTS source options object or `null` if the layer was not found.\n * @api\n */\nexport function optionsFromCapabilities(wmtsCap, config) {\n const layers = wmtsCap['Contents']['Layer'];\n const l = layers?.find(function (elt) {\n return elt['Identifier'] == config['layer'];\n });\n if (!l) {\n return null;\n }\n const tileMatrixSets = wmtsCap['Contents']['TileMatrixSet'];\n let idx;\n if (l['TileMatrixSetLink'].length > 1) {\n if ('projection' in config) {\n idx = l['TileMatrixSetLink'].findIndex(function (elt) {\n const tileMatrixSet = tileMatrixSets.find(function (el) {\n return el['Identifier'] == elt['TileMatrixSet'];\n });\n const supportedCRS = tileMatrixSet['SupportedCRS'];\n const proj1 = getProjection(supportedCRS);\n const proj2 = getProjection(config['projection']);\n if (proj1 && proj2) {\n return equivalent(proj1, proj2);\n }\n return supportedCRS == config['projection'];\n });\n } else {\n idx = l['TileMatrixSetLink'].findIndex(function (elt) {\n return elt['TileMatrixSet'] == config['matrixSet'];\n });\n }\n } else {\n idx = 0;\n }\n if (idx < 0) {\n idx = 0;\n }\n const matrixSet =\n /** @type {string} */\n (l['TileMatrixSetLink'][idx]['TileMatrixSet']);\n const matrixLimits =\n /** @type {Array} */\n (l['TileMatrixSetLink'][idx]['TileMatrixSetLimits']);\n\n let format = /** @type {string} */ (l['Format'][0]);\n if ('format' in config) {\n format = config['format'];\n }\n idx = l['Style'].findIndex(function (elt) {\n if ('style' in config) {\n return elt['Title'] == config['style'];\n }\n return elt['isDefault'];\n });\n if (idx < 0) {\n idx = 0;\n }\n const style = /** @type {string} */ (l['Style'][idx]['Identifier']);\n\n const dimensions = {};\n if ('Dimension' in l) {\n l['Dimension'].forEach(function (elt, index, array) {\n const key = elt['Identifier'];\n let value = elt['Default'];\n if (value === undefined) {\n value = elt['Value'][0];\n }\n dimensions[key] = value;\n });\n }\n\n const matrixSets = wmtsCap['Contents']['TileMatrixSet'];\n const matrixSetObj = matrixSets.find(function (elt) {\n return elt['Identifier'] == matrixSet;\n });\n\n let projection;\n const code = matrixSetObj['SupportedCRS'];\n if (code) {\n projection = getProjection(code);\n }\n if ('projection' in config) {\n const projConfig = getProjection(config['projection']);\n if (projConfig) {\n if (!projection || equivalent(projConfig, projection)) {\n projection = projConfig;\n }\n }\n }\n\n let wrapX = false;\n const switchXY = projection.getAxisOrientation().substr(0, 2) == 'ne';\n\n let matrix = matrixSetObj.TileMatrix[0];\n\n // create default matrixLimit\n let selectedMatrixLimit = {\n MinTileCol: 0,\n MinTileRow: 0,\n // subtract one to end up at tile top left\n MaxTileCol: matrix.MatrixWidth - 1,\n MaxTileRow: matrix.MatrixHeight - 1,\n };\n\n //in case of matrix limits, use matrix limits to calculate extent\n if (matrixLimits) {\n selectedMatrixLimit = matrixLimits[matrixLimits.length - 1];\n const m = matrixSetObj.TileMatrix.find(\n (tileMatrixValue) =>\n tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix ||\n matrixSetObj.Identifier + ':' + tileMatrixValue.Identifier ===\n selectedMatrixLimit.TileMatrix,\n );\n if (m) {\n matrix = m;\n }\n }\n\n const resolution =\n (matrix.ScaleDenominator * 0.00028) / projection.getMetersPerUnit(); // WMTS 1.0.0: standardized rendering pixel size\n const origin = switchXY\n ? [matrix.TopLeftCorner[1], matrix.TopLeftCorner[0]]\n : matrix.TopLeftCorner;\n const tileSpanX = matrix.TileWidth * resolution;\n const tileSpanY = matrix.TileHeight * resolution;\n let matrixSetExtent = matrixSetObj['BoundingBox'];\n if (matrixSetExtent && switchXY) {\n matrixSetExtent = [\n matrixSetExtent[1],\n matrixSetExtent[0],\n matrixSetExtent[3],\n matrixSetExtent[2],\n ];\n }\n let extent = [\n origin[0] + tileSpanX * selectedMatrixLimit.MinTileCol,\n // add one to get proper bottom/right coordinate\n origin[1] - tileSpanY * (1 + selectedMatrixLimit.MaxTileRow),\n origin[0] + tileSpanX * (1 + selectedMatrixLimit.MaxTileCol),\n origin[1] - tileSpanY * selectedMatrixLimit.MinTileRow,\n ];\n\n if (\n matrixSetExtent !== undefined &&\n !containsExtent(matrixSetExtent, extent)\n ) {\n const wgs84BoundingBox = l['WGS84BoundingBox'];\n const wgs84ProjectionExtent = getProjection('EPSG:4326').getExtent();\n extent = matrixSetExtent;\n if (wgs84BoundingBox) {\n wrapX =\n wgs84BoundingBox[0] === wgs84ProjectionExtent[0] &&\n wgs84BoundingBox[2] === wgs84ProjectionExtent[2];\n } else {\n const wgs84MatrixSetExtent = transformExtent(\n matrixSetExtent,\n matrixSetObj['SupportedCRS'],\n 'EPSG:4326',\n );\n // Ignore slight deviation from the correct x limits\n wrapX =\n wgs84MatrixSetExtent[0] - 1e-10 <= wgs84ProjectionExtent[0] &&\n wgs84MatrixSetExtent[2] + 1e-10 >= wgs84ProjectionExtent[2];\n }\n }\n\n const tileGrid = createFromCapabilitiesMatrixSet(\n matrixSetObj,\n extent,\n matrixLimits,\n );\n\n /** @type {!Array} */\n const urls = [];\n let requestEncoding = config['requestEncoding'];\n requestEncoding = requestEncoding !== undefined ? requestEncoding : '';\n\n if (\n 'OperationsMetadata' in wmtsCap &&\n 'GetTile' in wmtsCap['OperationsMetadata']\n ) {\n const gets = wmtsCap['OperationsMetadata']['GetTile']['DCP']['HTTP']['Get'];\n\n for (let i = 0, ii = gets.length; i < ii; ++i) {\n if (gets[i]['Constraint']) {\n const constraint = gets[i]['Constraint'].find(function (element) {\n return element['name'] == 'GetEncoding';\n });\n const encodings = constraint['AllowedValues']['Value'];\n\n if (requestEncoding === '') {\n // requestEncoding not provided, use the first encoding from the list\n requestEncoding = encodings[0];\n }\n if (requestEncoding === 'KVP') {\n if (encodings.includes('KVP')) {\n urls.push(/** @type {string} */ (gets[i]['href']));\n }\n } else {\n break;\n }\n } else if (gets[i]['href']) {\n requestEncoding = 'KVP';\n urls.push(/** @type {string} */ (gets[i]['href']));\n }\n }\n }\n if (urls.length === 0) {\n requestEncoding = 'REST';\n l['ResourceURL'].forEach(function (element) {\n if (element['resourceType'] === 'tile') {\n format = element['format'];\n urls.push(/** @type {string} */ (element['template']));\n }\n });\n }\n\n return {\n urls: urls,\n layer: config['layer'],\n matrixSet: matrixSet,\n format: format,\n projection: projection,\n requestEncoding: requestEncoding,\n tileGrid: tileGrid,\n style: style,\n dimensions: dimensions,\n wrapX: wrapX,\n crossOrigin: config['crossOrigin'],\n };\n}\n","/*eslint no-constant-condition: [\"error\", { \"checkLoops\": false }]*/\r\nimport ol_source_Vector from 'ol/source/Vector.js'\r\nimport ol_control_Control from 'ol/control/Control.js'\r\nimport ol_ext_element from '../util/element.js'\r\n\r\n/** Timeline control\r\n *\r\n * @constructor\r\n * @extends {ol.control.Control}\r\n * @fires select\r\n * @fires scroll\r\n * @fires collapse\r\n * @param {Object=} options Control options.\r\n *\t@param {String} options.className class of the control\r\n *\t@param {Array} options.features Features to show in the timeline\r\n *\t@param {ol.SourceImageOptions.vector} options.source class of the control\r\n *\t@param {Number} options.interval time interval length in ms or a text with a format d, h, mn, s (31 days = '31d'), default none\r\n *\t@param {String} options.maxWidth width of the time line in px, default 2000px\r\n *\t@param {String} options.minDate minimum date \r\n *\t@param {String} options.maxDate maximum date \r\n *\t@param {Number} options.minZoom Minimum zoom for the line, default .2\r\n *\t@param {Number} options.maxZoom Maximum zoom for the line, default 4\r\n *\t@param {boolean} options.zoomButton Are zoom buttons avaliable, default false\r\n *\t@param {function} options.getHTML a function that takes a feature and returns the html to display\r\n *\t@param {function} options.getFeatureDate a function that takes a feature and returns its date, default the date propertie\r\n *\t@param {function} options.endFeatureDate a function that takes a feature and returns its end date, default no end date\r\n *\t@param {String} options.graduation day|month to show month or day graduation, default show only years\r\n *\t@param {String} options.scrollTimeout Time in milliseconds to get a scroll event, default 15ms\r\n */\r\nvar ol_control_Timeline = class olcontrolTimeline extends ol_control_Control {\r\n constructor(options) {\r\n\r\n var element = ol_ext_element.create('DIV', {\r\n className: (options.className || '') + ' ol-timeline'\r\n + (options.target ? '' : ' ol-unselectable ol-control')\r\n + (options.zoomButton ? ' ol-hasbutton' : '')\r\n });\r\n\r\n // Initialize\r\n super({\r\n element: element,\r\n target: options.target\r\n });\r\n\r\n // Scroll div\r\n this._scrollDiv = ol_ext_element.create('DIV', {\r\n className: 'ol-scroll',\r\n parent: this.element\r\n });\r\n\r\n // Add a button bar\r\n this._buttons = ol_ext_element.create('DIV', {\r\n className: 'ol-buttons',\r\n parent: this.element\r\n });\r\n // Zoom buttons\r\n if (options.zoomButton) {\r\n // Zoom in\r\n this.addButton({\r\n className: 'ol-zoom-in',\r\n handleClick: function () {\r\n var zoom = this.get('zoom');\r\n if (zoom >= 1) {\r\n zoom++;\r\n } else {\r\n zoom = Math.min(1, zoom + 0.1);\r\n }\r\n zoom = Math.round(zoom * 100) / 100;\r\n this.refresh(zoom);\r\n }.bind(this)\r\n });\r\n // Zoom out\r\n this.addButton({\r\n className: 'ol-zoom-out',\r\n handleClick: function () {\r\n var zoom = this.get('zoom');\r\n if (zoom > 1) {\r\n zoom--;\r\n } else {\r\n zoom -= 0.1;\r\n }\r\n zoom = Math.round(zoom * 100) / 100;\r\n this.refresh(zoom);\r\n }.bind(this)\r\n });\r\n }\r\n\r\n // Draw center date\r\n this._intervalDiv = ol_ext_element.create('DIV', {\r\n className: 'ol-center-date',\r\n parent: this.element\r\n });\r\n\r\n // Remove selection\r\n this.element.addEventListener('mouseover', function () {\r\n if (this._select)\r\n this._select.elt.classList.remove('ol-select');\r\n }.bind(this));\r\n\r\n // Trigger scroll event\r\n var scrollListener = null;\r\n this._scrollDiv.addEventListener('scroll', function () {\r\n this._setScrollLeft();\r\n if (scrollListener) {\r\n clearTimeout(scrollListener);\r\n scrollListener = null;\r\n }\r\n scrollListener = setTimeout(function () {\r\n this.dispatchEvent({\r\n type: 'scroll',\r\n date: this.getDate(),\r\n dateStart: this.getDate('start'),\r\n dateEnd: this.getDate('end')\r\n });\r\n }.bind(this), options.scrollTimeout || 15);\r\n }.bind(this));\r\n // Magic to give \"live\" scroll events on touch devices\r\n // this._scrollDiv.addEventListener('gesturechange', function() {});\r\n // Scroll timeline\r\n ol_ext_element.scrollDiv(this._scrollDiv, {\r\n onmove: function (b) {\r\n // Prevent selection on moving\r\n this._moving = b;\r\n }.bind(this)\r\n });\r\n\r\n this._tline = [];\r\n\r\n // Parameters\r\n this._scrollLeft = 0;\r\n this.set('maxWidth', options.maxWidth || 2000);\r\n this.set('minDate', options.minDate || Infinity);\r\n this.set('maxDate', options.maxDate || -Infinity);\r\n this.set('graduation', options.graduation);\r\n this.set('minZoom', options.minZoom || .2);\r\n this.set('maxZoom', options.maxZoom || 4);\r\n this.setInterval(options.interval);\r\n if (options.getHTML)\r\n this._getHTML = options.getHTML;\r\n if (options.getFeatureDate)\r\n this._getFeatureDate = options.getFeatureDate;\r\n if (options.endFeatureDate)\r\n this._endFeatureDate = options.endFeatureDate;\r\n\r\n // Feature source \r\n this.setFeatures(options.features || options.source, options.zoom);\r\n }\r\n /**\r\n * Set the map instance the control is associated with\r\n * and add interaction attached to it to this map.\r\n * @param {_ol_Map_} map The map instance.\r\n */\r\n setMap(map) {\r\n super.setMap(map);\r\n this.refresh(this.get('zoom') || 1, true);\r\n }\r\n /** Add a button on the timeline\r\n * @param {*} button\r\n * @param {string} button.className\r\n * @param {title} button.className\r\n * @param {Element|string} button.html Content of the element\r\n * @param {function} button.click a function called when the button is clicked\r\n */\r\n addButton(button) {\r\n this.element.classList.add('ol-hasbutton');\r\n ol_ext_element.create('BUTTON', {\r\n className: button.className || undefined,\r\n title: button.title,\r\n html: button.html,\r\n click: button.handleClick,\r\n parent: this._buttons\r\n });\r\n }\r\n /** Set an interval\r\n * @param {number|string} length the interval length in ms or a farmatted text ie. end with y, 1d, h, mn, s (31 days = '31d'), default none\r\n */\r\n setInterval(length) {\r\n if (typeof (length) === 'string') {\r\n if (/s$/.test(length)) {\r\n length = parseFloat(length) * 1000;\r\n } else if (/mn$/.test(length)) {\r\n length = parseFloat(length) * 1000 * 60;\r\n } else if (/h$/.test(length)) {\r\n length = parseFloat(length) * 1000 * 3600;\r\n } else if (/d$/.test(length)) {\r\n length = parseFloat(length) * 1000 * 3600 * 24;\r\n } else if (/y$/.test(length)) {\r\n length = parseFloat(length) * 1000 * 3600 * 24 * 365;\r\n } else {\r\n length = 0;\r\n }\r\n }\r\n this.set('interval', length || 0);\r\n if (length)\r\n this.element.classList.add('ol-interval');\r\n else\r\n this.element.classList.remove('ol-interval');\r\n this.refresh(this.get('zoom'));\r\n }\r\n /** Default html to show in the line\r\n * @param {ol.Feature} feature\r\n * @return {DOMElement|string}\r\n * @private\r\n */\r\n _getHTML(feature) {\r\n return feature.get('name') || '';\r\n }\r\n /** Default function to get the date of a feature, returns the date attribute\r\n * @param {ol.Feature} feature\r\n * @return {Data|string}\r\n * @private\r\n */\r\n _getFeatureDate(feature) {\r\n return (feature && feature.get) ? feature.get('date') : null;\r\n }\r\n /** Default function to get the end date of a feature, return undefined\r\n * @param {ol.Feature} feature\r\n * @return {Data|string}\r\n * @private\r\n */\r\n _endFeatureDate( /* feature */) {\r\n return undefined;\r\n }\r\n /** Is the line collapsed\r\n * @return {boolean}\r\n */\r\n isCollapsed() {\r\n return this.element.classList.contains('ol-collapsed');\r\n }\r\n /** Collapse the line\r\n * @param {boolean} b\r\n */\r\n collapse(b) {\r\n if (b)\r\n this.element.classList.add('ol-collapsed');\r\n else\r\n this.element.classList.remove('ol-collapsed');\r\n this.dispatchEvent({ type: 'collapse', collapsed: this.isCollapsed() });\r\n }\r\n /** Collapse the line\r\n */\r\n toggle() {\r\n this.element.classList.toggle('ol-collapsed');\r\n this.dispatchEvent({ type: 'collapse', collapsed: this.isCollapsed() });\r\n }\r\n /** Set the features to display in the timeline\r\n * @param {Array|ol.source.Vector} features An array of features or a vector source\r\n * @param {number} zoom zoom to draw the line default 1\r\n */\r\n setFeatures(features, zoom) {\r\n this._features = this._source = null;\r\n if (features instanceof ol_source_Vector)\r\n this._source = features;\r\n else if (features instanceof Array)\r\n this._features = features;\r\n else\r\n this._features = [];\r\n this.refresh(zoom);\r\n }\r\n /**\r\n * Get features\r\n * @return {Array}\r\n */\r\n getFeatures() {\r\n return this._features || this._source.getFeatures();\r\n }\r\n /**\r\n * Refresh the timeline with new data\r\n * @param {Number} zoom Zoom factor from 0.25 to 10, default 1\r\n */\r\n refresh(zoom, first) {\r\n if (!this.getMap())\r\n return;\r\n if (!zoom)\r\n zoom = this.get('zoom');\r\n zoom = Math.min(this.get('maxZoom'), Math.max(this.get('minZoom'), zoom || 1));\r\n this.set('zoom', zoom);\r\n this._scrollDiv.innerHTML = '';\r\n var features = this.getFeatures();\r\n var d, d2;\r\n\r\n // Get features sorted by date\r\n var tline = this._tline = [];\r\n features.forEach(function (f) {\r\n if (d = this._getFeatureDate(f)) {\r\n if (!(d instanceof Date)) {\r\n d = new Date(d);\r\n }\r\n if (this._endFeatureDate) {\r\n d2 = this._endFeatureDate(f);\r\n if (!(d2 instanceof Date)) {\r\n d2 = new Date(d2);\r\n }\r\n }\r\n if (!isNaN(d)) {\r\n tline.push({\r\n date: d,\r\n end: isNaN(d2) ? null : d2,\r\n feature: f\r\n });\r\n }\r\n }\r\n }.bind(this));\r\n\r\n tline.sort(function (a, b) {\r\n return (a.date < b.date ? -1 : (a.date === b.date ? 0 : 1));\r\n });\r\n\r\n // Draw\r\n var div = ol_ext_element.create('DIV', {\r\n parent: this._scrollDiv\r\n });\r\n\r\n // Calculate width\r\n var min = this._minDate = Math.min(this.get('minDate'), tline.length ? tline[0].date : Infinity);\r\n var max = this._maxDate = Math.max(this.get('maxDate'), tline.length ? tline[tline.length - 1].date : -Infinity);\r\n if (!isFinite(min))\r\n this._minDate = min = new Date();\r\n if (!isFinite(max))\r\n this._maxDate = max = new Date();\r\n var delta = (max - min);\r\n var maxWidth = this.get('maxWidth');\r\n var scale = this._scale = (delta > maxWidth ? maxWidth / delta : 1) * zoom;\r\n // Leave 10px on right\r\n min = this._minDate = this._minDate - 10 / scale;\r\n delta = (max - min) * scale;\r\n ol_ext_element.setStyle(div, {\r\n width: delta,\r\n maxWidth: 'unset'\r\n });\r\n\r\n // Draw time's bar\r\n this._drawTime(div, min, max, scale);\r\n\r\n // Set interval\r\n if (this.get('interval')) {\r\n ol_ext_element.setStyle(this._intervalDiv, { width: this.get('interval') * scale });\r\n } else {\r\n ol_ext_element.setStyle(this._intervalDiv, { width: '' });\r\n }\r\n\r\n // Draw features\r\n var line = [];\r\n var lineHeight = ol_ext_element.getStyle(this._scrollDiv, 'lineHeight');\r\n\r\n // Wrapper\r\n var fdiv = ol_ext_element.create('DIV', {\r\n className: 'ol-features',\r\n parent: div\r\n });\r\n\r\n // Add features on the line\r\n tline.forEach(function (f) {\r\n var d = f.date;\r\n var t = f.elt = ol_ext_element.create('DIV', {\r\n className: 'ol-feature',\r\n style: {\r\n left: Math.round((d - min) * scale),\r\n },\r\n html: this._getHTML(f.feature),\r\n parent: fdiv\r\n });\r\n // Prevent image dragging\r\n var img = t.querySelectorAll('img');\r\n for (var i = 0; i < img.length; i++) {\r\n img[i].ondragstart = function () { return false; };\r\n }\r\n\r\n // Calculate image width\r\n if (f.end) {\r\n ol_ext_element.setStyle(t, {\r\n minWidth: (f.end - d) * scale,\r\n width: (f.end - d) * scale,\r\n maxWidth: 'unset'\r\n });\r\n }\r\n var left = ol_ext_element.getStyle(t, 'left');\r\n // Select on click\r\n t.addEventListener('click', function () {\r\n if (!this._moving) {\r\n this.dispatchEvent({ type: 'select', feature: f.feature });\r\n }\r\n }.bind(this));\r\n\r\n // Find first free Y position\r\n var pos, l;\r\n for (pos = 0; l = line[pos]; pos++) {\r\n if (left > l) {\r\n break;\r\n }\r\n }\r\n line[pos] = left + ol_ext_element.getStyle(t, 'width');\r\n ol_ext_element.setStyle(t, { top: pos * lineHeight });\r\n }.bind(this));\r\n this._nbline = line.length;\r\n\r\n if (first)\r\n this.setDate(this._minDate, { anim: false, position: 'start' });\r\n // Dispatch scroll event\r\n this.dispatchEvent({\r\n type: 'scroll',\r\n date: this.getDate(),\r\n dateStart: this.getDate('start'),\r\n dateEnd: this.getDate('end')\r\n });\r\n }\r\n /** Get offset given a date\r\n * @param {Date} date\r\n * @return {number}\r\n * @private\r\n */\r\n _getOffsetFromDate(date) {\r\n return (date - this._minDate) * this._scale;\r\n }\r\n /** Get date given an offset\r\n * @param {Date} date\r\n * @return {number}\r\n * @private\r\n */\r\n _getDateFromOffset(offset) {\r\n return offset / this._scale + this._minDate;\r\n }\r\n /** Set the current position\r\n * @param {number} scrollLeft current position (undefined when scrolling)\r\n * @returns {number}\r\n * @private\r\n */\r\n _setScrollLeft(scrollLeft) {\r\n this._scrollLeft = scrollLeft;\r\n if (scrollLeft !== undefined) {\r\n this._scrollDiv.scrollLeft = scrollLeft;\r\n }\r\n }\r\n /** Get the current position\r\n * @returns {number}\r\n * @private\r\n */\r\n _getScrollLeft() {\r\n // Unset when scrolling\r\n if (this._scrollLeft === undefined) {\r\n return this._scrollDiv.scrollLeft;\r\n } else {\r\n // St by user\r\n return this._scrollLeft;\r\n }\r\n }\r\n /**\r\n * Draw dates on line\r\n * @private\r\n */\r\n _drawTime(div, min, max, scale) {\r\n // Times div\r\n var tdiv = ol_ext_element.create('DIV', {\r\n className: 'ol-times',\r\n parent: div\r\n });\r\n var d, dt, month, dmonth;\r\n var dx = ol_ext_element.getStyle(tdiv, 'left');\r\n var heigth = ol_ext_element.getStyle(tdiv, 'height');\r\n // Year\r\n var year = (new Date(this._minDate)).getFullYear();\r\n dt = ((new Date(0)).setFullYear(String(year)) - new Date(0).setFullYear(String(year - 1))) * scale;\r\n var dyear = Math.round(2 * heigth / dt) + 1;\r\n while (true) {\r\n d = new Date(0).setFullYear(year);\r\n if (d > this._maxDate)\r\n break;\r\n ol_ext_element.create('DIV', {\r\n className: 'ol-time ol-year',\r\n style: {\r\n left: this._getOffsetFromDate(d) - dx\r\n },\r\n html: year,\r\n parent: tdiv\r\n });\r\n year += dyear;\r\n }\r\n // Month\r\n if (/day|month/.test(this.get('graduation'))) {\r\n dt = ((new Date(0, 0, 1)).setFullYear(String(year)) - new Date(0, 0, 1).setFullYear(String(year - 1))) * scale;\r\n dmonth = Math.max(1, Math.round(12 / Math.round(dt / heigth / 2)));\r\n if (dmonth < 12) {\r\n year = (new Date(this._minDate)).getFullYear();\r\n month = dmonth + 1;\r\n while (true) {\r\n d = new Date(0, 0, 1);\r\n d.setFullYear(year);\r\n d.setMonth(month - 1);\r\n if (d > this._maxDate)\r\n break;\r\n ol_ext_element.create('DIV', {\r\n className: 'ol-time ol-month',\r\n style: {\r\n left: this._getOffsetFromDate(d) - dx\r\n },\r\n html: d.toLocaleDateString(undefined, { month: 'short' }),\r\n parent: tdiv\r\n });\r\n month += dmonth;\r\n if (month > 12) {\r\n year++;\r\n month = dmonth + 1;\r\n }\r\n }\r\n }\r\n }\r\n // Day\r\n if (this.get('graduation') === 'day') {\r\n dt = (new Date(0, 1, 1) - new Date(0, 0, 1)) * scale;\r\n var dday = Math.max(1, Math.round(31 / Math.round(dt / heigth / 2)));\r\n if (dday < 31) {\r\n year = (new Date(this._minDate)).getFullYear();\r\n month = 0;\r\n var day = dday;\r\n while (true) {\r\n d = new Date(0, 0, 1);\r\n d.setFullYear(year);\r\n d.setMonth(month);\r\n d.setDate(day);\r\n if (isNaN(d)) {\r\n month++;\r\n if (month > 12) {\r\n month = 1;\r\n year++;\r\n }\r\n day = dday;\r\n } else {\r\n if (d > this._maxDate)\r\n break;\r\n if (day > 1) {\r\n var offdate = this._getOffsetFromDate(d);\r\n if (this._getOffsetFromDate(new Date(year, month + 1, 1)) - offdate > heigth) {\r\n ol_ext_element.create('DIV', {\r\n className: 'ol-time ol-day',\r\n style: {\r\n left: offdate - dx\r\n },\r\n html: day,\r\n parent: tdiv\r\n });\r\n }\r\n }\r\n year = d.getFullYear();\r\n month = d.getMonth();\r\n day = d.getDate() + dday;\r\n if (day > new Date(year, month + 1, 0).getDate()) {\r\n month++;\r\n day = dday;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n /** Center timeline on a date\r\n * @param {Date|String|ol.feature} feature a date or a feature with a date\r\n * @param {Object} options\r\n * @param {boolean} options.anim animate scroll\r\n * @param {string} options.position start, end or middle, default middle\r\n */\r\n setDate(feature, options) {\r\n var date;\r\n options = options || {};\r\n // It's a date\r\n if (feature instanceof Date) {\r\n date = feature;\r\n } else {\r\n // Get date from Feature\r\n if (this.getFeatures().indexOf(feature) >= 0) {\r\n date = this._getFeatureDate(feature);\r\n }\r\n if (date && !(date instanceof Date)) {\r\n date = new Date(date);\r\n }\r\n if (!date || isNaN(date)) {\r\n date = new Date(String(feature));\r\n }\r\n }\r\n if (!isNaN(date)) {\r\n if (options.anim === false)\r\n this._scrollDiv.classList.add('ol-move');\r\n var scrollLeft = this._getOffsetFromDate(date);\r\n if (options.position === 'start') {\r\n scrollLeft += ol_ext_element.outerWidth(this._scrollDiv) / 2 - ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n } else if (options.position === 'end') {\r\n scrollLeft -= ol_ext_element.outerWidth(this._scrollDiv) / 2 - ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n }\r\n this._setScrollLeft(scrollLeft);\r\n if (options.anim === false)\r\n this._scrollDiv.classList.remove('ol-move');\r\n if (feature) {\r\n for (var i = 0, f; f = this._tline[i]; i++) {\r\n if (f.feature === feature) {\r\n f.elt.classList.add('ol-select');\r\n this._select = f;\r\n } else {\r\n f.elt.classList.remove('ol-select');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n /** Get round date (sticked to mn, hour day or month)\r\n * @param {Date} d\r\n * @param {string} stick sticking option to stick date to: 'mn', 'hour', 'day', 'month', default no stick\r\n * @return {Date}\r\n */\r\n roundDate(d, stick) {\r\n switch (stick) {\r\n case 'mn': {\r\n return new Date(this._roundTo(d, 60 * 1000));\r\n }\r\n case 'hour': {\r\n return new Date(this._roundTo(d, 60 * 60 * 1000));\r\n }\r\n case 'day': {\r\n return new Date(this._roundTo(d, 24 * 60 * 60 * 1000));\r\n }\r\n case 'month': {\r\n d = new Date(this._roundTo(d, 24 * 60 * 60 * 1000));\r\n if (d.getDate() > 15) {\r\n d = new Date(d.setMonth(d.getMonth() + 1));\r\n }\r\n d = d.setDate(1);\r\n return new Date(d);\r\n }\r\n default: return new Date(d);\r\n }\r\n }\r\n /** Get the date of the center\r\n * @param {string} position position to get 'start', 'end' or 'middle', default middle\r\n * @param {string} stick sticking option to stick date to: 'mn', 'hour', 'day', 'month', default no stick\r\n * @return {Date}\r\n */\r\n getDate(position, stick) {\r\n var pos;\r\n if (!stick)\r\n stick = position;\r\n switch (position) {\r\n case 'start': {\r\n if (this.get('interval')) {\r\n pos = -ol_ext_element.getStyle(this._intervalDiv, 'width') / 2 + ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n } else {\r\n pos = -ol_ext_element.outerWidth(this._scrollDiv) / 2 + ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n }\r\n break;\r\n }\r\n case 'end': {\r\n if (this.get('interval')) {\r\n pos = ol_ext_element.getStyle(this._intervalDiv, 'width') / 2 - ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n } else {\r\n pos = ol_ext_element.outerWidth(this._scrollDiv) / 2 - ol_ext_element.getStyle(this._scrollDiv, 'marginLeft') / 2;\r\n }\r\n break;\r\n }\r\n default: {\r\n pos = 0;\r\n break;\r\n }\r\n }\r\n var d = this._getDateFromOffset(this._getScrollLeft() + pos);\r\n d = this.roundDate(d, stick);\r\n return new Date(d);\r\n }\r\n /** Round number to\r\n * @param {number} d\r\n * @param {number} r\r\n * @return {number}\r\n * @private\r\n */\r\n _roundTo(d, r) {\r\n return Math.round(d / r) * r;\r\n }\r\n /** Get the start date of the control\r\n * @return {Date}\r\n */\r\n getStartDate() {\r\n return new Date(this.get('minDate'));\r\n }\r\n /** Get the end date of the control\r\n * @return {Date}\r\n */\r\n getEndDate() {\r\n return new Date(this.get('maxDate'));\r\n }\r\n}\r\n\r\nexport default ol_control_Timeline","","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WebServiceMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WebServiceMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./WebServiceMixin.vue?vue&type=script&lang=js\"\nexport * from \"./WebServiceMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class GeoTiffState {\n\n\tconstructor(geotiff) {\n\t\tthis.layer = null;\n\t\tthis.colorMap = geotiff.getColorMap();\n\t\tthis.noData = geotiff.getNoData();\n\t\tthis.bands = geotiff.getBands();\n\t\tthis.defaultChannels = this.bands.slice(0, 3);\n\t\tthis.channels = this.bands.slice(0, 3);\n this.file = geotiff;\n\t}\n\n\tgetBandVar(i) {\n\t\treturn ['band', ['var', `${i}band`]];\n\t}\n\n\tgetFormula(i) {\n\t\tlet min = ['var', `${i}min`];\n\t\tlet max = ['var', `${i}max`];\n\t\tlet x = this.getBandVar(i);\n\t\tlet scale = ['*', ['/', ['-', x, min], ['-', max, min]], 255]; // Linear scaling from min - max to 0 - 255\n\t\treturn ['clamp', scale, 0, 255]; // clamp values in case we get cales < 0 or > 255\n\t}\n\n\tgetNoDataFormula() {\n\t\tlet band = this.getBandVar('alpha');\n\t\t// https://github.com/openlayers/openlayers/issues/13588#issuecomment-1125317573\n\t\t// return ['clamp', band, 0, 1];\n\t\t// return ['/', band, 255];\n\t\treturn ['case', ['==', band, 0], 0, 1];\n\t}\n\n\tsetStyle() {\n\t\tif (!this.layer) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Compute variables\n\t\tlet variables = {};\n\t\tfor(let i in this.channels) {\n\t\t\tlet channel = this.channels[i];\n\t\t\tvariables[`${i}band`] = channel.id;\n\t\t\tvariables[`${i}min`] = channel.min;\n\t\t\tvariables[`${i}max`] = channel.max;\n\t\t}\n\t\tvariables.alphaband = this.bands.length + 1;\n\n\t\t// Create style\n\t\tlet color = [];\n\t\tif (this.colorMap) {\n\t\t\tcolor.push('palette');\n\t\t\tcolor.push(['band', 1]);\n\t\t\tcolor.push(this.colorMap);\n\t\t}\n\t\telse if (this.channels.length === 0) {\n\t\t\treturn null;\n\t\t}\n\t\telse if (this.channels.length === 1) {\n\t\t\tcolor.push('color');\n\t\t\tlet formula = this.getFormula(0);\n\t\t\tcolor.push(formula);\n\t\t\tcolor.push(formula);\n\t\t\tcolor.push(formula);\n\t\t\tif (this.noData.length > 0) {\n\t\t\t\tcolor.push(this.getNoDataFormula());\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tcolor.push('color');\n\t\t\tcolor.push(this.getFormula(0));\n\t\t\tcolor.push(this.getFormula(1));\n\t\t\tcolor.push(this.getFormula(2));\n\t\t\tif (this.noData.length > 0) {\n\t\t\t\tcolor.push(this.getNoDataFormula());\n\t\t\t}\n\t\t}\n\n\t\t// Set style\n\t\tthis.layer.setStyle({variables, color});\n\t}\n\n}\n","import { GeoTIFFImage } from 'geotiff';\n\n// Integrate changes/fixes from https://github.com/geotiffjs/geotiff.js/pull/303 until released/integrated by geotiff.js\nGeoTIFFImage.prototype.getSampleByteSize = function(i) {\n if (!this.fileDirectory.BitsPerSample || this.fileDirectory.BitsPerSample.length === 0) {\n return;\n }\n if (i >= this.fileDirectory.BitsPerSample.length) {\n i = 0;\n }\n return Math.ceil(this.fileDirectory.BitsPerSample[i] / 8);\n};\n\nGeoTIFFImage.prototype.getReaderForSample = function(sampleIndex) {\n const format = this.getSampleFormat(sampleIndex);\n const bitsPerSample = this.getBitsPerSample(sampleIndex);\n switch (format) {\n case 1: // unsigned integer data\n if (bitsPerSample <= 8) {\n return DataView.prototype.getUint8;\n } else if (bitsPerSample <= 16) {\n return DataView.prototype.getUint16;\n } else if (bitsPerSample <= 32) {\n return DataView.prototype.getUint32;\n }\n break;\n case 2: // twos complement signed integer data\n if (bitsPerSample <= 8) {\n return DataView.prototype.getInt8;\n } else if (bitsPerSample <= 16) {\n return DataView.prototype.getInt16;\n } else if (bitsPerSample <= 32) {\n return DataView.prototype.getInt32;\n }\n break;\n case 3:\n switch (bitsPerSample) {\n case 16:\n return function (offset, littleEndian) {\n return getFloat16(this, offset, littleEndian);\n };\n case 32:\n return DataView.prototype.getFloat32;\n case 64:\n return DataView.prototype.getFloat64;\n default:\n break;\n }\n break;\n default:\n break;\n }\n throw Error('Unsupported data format/bitsPerSample');\n};\n\nGeoTIFFImage.prototype.getSampleFormat = function(sampleIndex = 0) {\n if (!this.fileDirectory.SampleFormat || this.fileDirectory.SampleFormat.length === 0) {\n return 1;\n }\n return typeof this.fileDirectory.SampleFormat[sampleIndex] !== 'undefined'\n ? this.fileDirectory.SampleFormat[sampleIndex] : this.fileDirectory.SampleFormat[0];\n};\n\nGeoTIFFImage.prototype.getBitsPerSample = function(sampleIndex = 0) {\n if (!this.fileDirectory.BitsPerSample || this.fileDirectory.BitsPerSample.length === 0) {\n return;\n }\n return typeof this.fileDirectory.BitsPerSample[sampleIndex] !== 'undefined'\n ? this.fileDirectory.BitsPerSample[sampleIndex] : this.fileDirectory.BitsPerSample[0];\n};\n// End of geotiff.js fixes","/**\n * Utilities for parsing literal style objects\n * @module ol/webgl/styleparser\n */\nimport {\n BooleanType,\n ColorType,\n NumberArrayType,\n NumberType,\n SizeType,\n StringType,\n newParsingContext,\n} from '../expr/expression.js';\nimport {ShaderBuilder} from './ShaderBuilder.js';\nimport {\n arrayToGlsl,\n buildExpression,\n getStringNumberEquivalent,\n stringToGlsl,\n uniformNameForVariable,\n} from '../expr/gpu.js';\nimport {asArray} from '../color.js';\n\n/**\n * Recursively parses a style expression and outputs a GLSL-compatible string. Takes in a compilation context that\n * will be read and modified during the parsing operation.\n * @param {import(\"../expr/gpu.js\").CompilationContext} compilationContext Compilation context\n * @param {import(\"../expr/expression.js\").EncodedExpression} value Value\n * @param {number} [expectedType] Expected final type (can be several types combined)\n * @return {string} GLSL-compatible output\n */\nexport function expressionToGlsl(compilationContext, value, expectedType) {\n const parsingContext = newParsingContext();\n parsingContext.style = compilationContext.style;\n return buildExpression(\n value,\n expectedType,\n parsingContext,\n compilationContext,\n );\n}\n\n/**\n * Packs all components of a color into a two-floats array\n * @param {import(\"../color.js\").Color|string} color Color as array of numbers or string\n * @return {Array} Vec2 array containing the color in compressed form\n */\nexport function packColor(color) {\n const array = asArray(color);\n const r = array[0] * 256;\n const g = array[1];\n const b = array[2] * 256;\n const a = Math.round(array[3] * 255);\n return [r + g, b + a];\n}\n\nconst UNPACK_COLOR_FN = `vec4 unpackColor(vec2 packedColor) {\n return fract(packedColor[1] / 256.0) * vec4(\n fract(floor(packedColor[0] / 256.0) / 256.0),\n fract(packedColor[0] / 256.0),\n fract(floor(packedColor[1] / 256.0) / 256.0),\n 1.0\n );\n}`;\n\n/**\n * @param {number} type Value type\n * @return {1|2|3|4} The amount of components for this value\n */\nfunction getGlslSizeFromType(type) {\n if (type === ColorType || type === SizeType) {\n return 2;\n }\n if (type === NumberArrayType) {\n return 4;\n }\n return 1;\n}\n\n/**\n * @param {number} type Value type\n * @return {'float'|'vec2'|'vec3'|'vec4'} The corresponding GLSL type for this value\n */\nfunction getGlslTypeFromType(type) {\n const size = getGlslSizeFromType(type);\n if (size > 1) {\n return /** @type {'vec2'|'vec3'|'vec4'} */ (`vec${size}`);\n }\n return 'float';\n}\n\n/**\n * see https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript\n * @param {Object|string} input The hash input, either an object or string\n * @return {string} Hash (if the object cannot be serialized, it is based on `getUid`)\n */\nexport function computeHash(input) {\n const hash = JSON.stringify(input)\n .split('')\n .reduce((prev, curr) => (prev << 5) - prev + curr.charCodeAt(0), 0);\n return (hash >>> 0).toString();\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {'shape-'|'circle-'|'icon-'} prefix Properties prefix\n */\nfunction parseCommonSymbolProperties(style, builder, vertContext, prefix) {\n if (`${prefix}radius` in style && prefix !== 'icon-') {\n let radius = expressionToGlsl(\n vertContext,\n style[`${prefix}radius`],\n NumberType,\n );\n if (`${prefix}radius2` in style) {\n const radius2 = expressionToGlsl(\n vertContext,\n style[`${prefix}radius2`],\n NumberType,\n );\n radius = `max(${radius}, ${radius2})`;\n }\n if (`${prefix}stroke-width` in style) {\n radius = `(${radius} + ${expressionToGlsl(\n vertContext,\n style[`${prefix}stroke-width`],\n NumberType,\n )} * 0.5)`;\n }\n builder.setSymbolSizeExpression(`vec2(${radius} * 2. + 0.5)`); // adding some padding for antialiasing\n }\n if (`${prefix}scale` in style) {\n const scale = expressionToGlsl(\n vertContext,\n style[`${prefix}scale`],\n SizeType,\n );\n builder.setSymbolSizeExpression(\n `${builder.getSymbolSizeExpression()} * ${scale}`,\n );\n }\n if (`${prefix}displacement` in style) {\n builder.setSymbolOffsetExpression(\n expressionToGlsl(\n vertContext,\n style[`${prefix}displacement`],\n NumberArrayType,\n ),\n );\n }\n if (`${prefix}rotation` in style) {\n builder.setSymbolRotationExpression(\n expressionToGlsl(vertContext, style[`${prefix}rotation`], NumberType),\n );\n }\n if (`${prefix}rotate-with-view` in style) {\n builder.setSymbolRotateWithView(!!style[`${prefix}rotate-with-view`]);\n }\n}\n\n/**\n * @param {string} distanceField The distance field expression\n * @param {string|null} fillColor The fill color expression; null if no fill\n * @param {string|null} strokeColor The stroke color expression; null if no stroke\n * @param {string|null} strokeWidth The stroke width expression; null if no stroke\n * @param {string|null} opacity The opacity expression; null if no stroke\n * @return {string} The final color expression, based on the distance field and given params\n */\nfunction getColorFromDistanceField(\n distanceField,\n fillColor,\n strokeColor,\n strokeWidth,\n opacity,\n) {\n let color = 'vec4(0.)';\n if (fillColor !== null) {\n color = fillColor;\n }\n if (strokeColor !== null && strokeWidth !== null) {\n const strokeFillRatio = `smoothstep(-${strokeWidth} + 0.63, -${strokeWidth} - 0.58, ${distanceField})`;\n color = `mix(${strokeColor}, ${color}, ${strokeFillRatio})`;\n }\n const shapeOpacity = `(1.0 - smoothstep(-0.63, 0.58, ${distanceField}))`;\n let result = `${color} * ${shapeOpacity}`;\n if (opacity !== null) {\n result = `${result} * ${opacity}`;\n }\n return result;\n}\n\n/**\n * This will parse an image property provided by `-src`\n * The image size expression in GLSL will be returned\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {Object} uniforms Uniforms\n * @param {'icon-'|'fill-pattern-'|'stroke-pattern-'} prefix Property prefix\n * @param {string} textureId A identifier that will be used in the generated uniforms: `sample2d u_texture` and `vec2 u_texture_size`\n * @return {string} The image size expression\n */\nfunction parseImageProperties(style, builder, uniforms, prefix, textureId) {\n const image = new Image();\n let size;\n image.crossOrigin =\n style[`${prefix}cross-origin`] === undefined\n ? 'anonymous'\n : style[`${prefix}cross-origin`];\n image.src = style[`${prefix}src`];\n\n if (image.complete && image.width && image.height) {\n size = arrayToGlsl([image.width, image.height]);\n } else {\n // the size is provided asynchronously using a uniform\n uniforms[`u_texture${textureId}_size`] = () => {\n return image.complete ? [image.width, image.height] : [0, 0];\n };\n builder.addUniform(`vec2 u_texture${textureId}_size`);\n size = `u_texture${textureId}_size`;\n }\n uniforms[`u_texture${textureId}`] = image;\n builder.addUniform(`sampler2D u_texture${textureId}`);\n return size;\n}\n\n/**\n * This will parse an image's offset properties provided by `-offset`, `-offset-origin` and `-size`\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {'icon-'|'fill-pattern-'|'stroke-pattern-'} prefix Property prefix\n * @param {import(\"../expr/gpu.js\").CompilationContext} context Shader compilation context (vertex or fragment)\n * @param {string} imageSize Pixel size of the full image as a GLSL expression\n * @param {string} sampleSize Pixel size of the sample in the image as a GLSL expression\n * @return {string} The offset expression\n */\nfunction parseImageOffsetProperties(\n style,\n prefix,\n context,\n imageSize,\n sampleSize,\n) {\n let offsetExpression = expressionToGlsl(\n context,\n style[`${prefix}offset`],\n NumberArrayType,\n );\n if (`${prefix}offset-origin` in style) {\n switch (style[`${prefix}offset-origin`]) {\n case 'top-right':\n offsetExpression = `vec2(${imageSize}.x, 0.) + ${sampleSize} * vec2(-1., 0.) + ${offsetExpression} * vec2(-1., 1.)`;\n break;\n case 'bottom-left':\n offsetExpression = `vec2(0., ${imageSize}.y) + ${sampleSize} * vec2(0., -1.) + ${offsetExpression} * vec2(1., -1.)`;\n break;\n case 'bottom-right':\n offsetExpression = `${imageSize} - ${sampleSize} - ${offsetExpression}`;\n break;\n default: // pass\n }\n }\n return offsetExpression;\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseCircleProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n // this function takes in screen coordinates in pixels and returns the signed distance field\n // (0 on the boundary, negative inside the circle, positive outside, values in pixels)\n fragContext.functions['circleDistanceField'] =\n `float circleDistanceField(vec2 point, float radius) {\n return length(point) - radius;\n}`;\n\n parseCommonSymbolProperties(style, builder, vertContext, 'circle-');\n\n // OPACITY\n let opacity = null;\n if ('circle-opacity' in style) {\n opacity = expressionToGlsl(\n fragContext,\n style['circle-opacity'],\n NumberType,\n );\n }\n\n // SCALE\n let currentPoint = 'coordsPx';\n if ('circle-scale' in style) {\n const scale = expressionToGlsl(\n fragContext,\n style['circle-scale'],\n SizeType,\n );\n currentPoint = `coordsPx / ${scale}`;\n }\n\n // FILL COLOR\n let fillColor = null;\n if ('circle-fill-color' in style) {\n fillColor = expressionToGlsl(\n fragContext,\n style['circle-fill-color'],\n ColorType,\n );\n }\n\n // STROKE COLOR\n let strokeColor = null;\n if ('circle-stroke-color' in style) {\n strokeColor = expressionToGlsl(\n fragContext,\n style['circle-stroke-color'],\n ColorType,\n );\n }\n\n // RADIUS\n let radius = expressionToGlsl(\n fragContext,\n style['circle-radius'],\n NumberType,\n );\n\n // STROKE WIDTH\n let strokeWidth = null;\n if ('circle-stroke-width' in style) {\n strokeWidth = expressionToGlsl(\n fragContext,\n style['circle-stroke-width'],\n NumberType,\n );\n radius = `(${radius} + ${strokeWidth} * 0.5)`;\n }\n\n // FINAL COLOR\n const distanceField = `circleDistanceField(${currentPoint}, ${radius})`;\n const colorExpression = getColorFromDistanceField(\n distanceField,\n fillColor,\n strokeColor,\n strokeWidth,\n opacity,\n );\n builder.setSymbolColorExpression(colorExpression);\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseShapeProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n fragContext.functions['round'] = `float round(float v) {\n return sign(v) * floor(abs(v) + 0.5);\n}`;\n\n // these functions take in screen coordinates in pixels and returns the signed distance field\n // (0 on the boundary, negative inside the polygon, positive outside, values in pixels)\n // inspired by https://github.com/zranger1/PixelblazePatterns/blob/master/Toolkit/sdf2d.md#n-sided-regular-polygon\n fragContext.functions['starDistanceField'] =\n `float starDistanceField(vec2 point, float numPoints, float radius, float radius2, float angle) {\n float startAngle = -PI * 0.5 + angle; // tip starts upwards and rotates clockwise with angle\n float c = cos(startAngle);\n float s = sin(startAngle);\n vec2 pointRotated = vec2(c * point.x - s * point.y, s * point.x + c * point.y);\n float alpha = TWO_PI / numPoints; // the angle of one sector\n float beta = atan(pointRotated.y, pointRotated.x);\n float gamma = round(beta / alpha) * alpha; // angle in sector\n c = cos(-gamma);\n s = sin(-gamma);\n vec2 inSector = vec2(c * pointRotated.x - s * pointRotated.y, abs(s * pointRotated.x + c * pointRotated.y));\n vec2 tipToPoint = inSector + vec2(-radius, 0.);\n vec2 edgeNormal = vec2(radius2 * sin(alpha * 0.5), -radius2 * cos(alpha * 0.5) + radius);\n return dot(normalize(edgeNormal), tipToPoint);\n}`;\n fragContext.functions['regularDistanceField'] =\n `float regularDistanceField(vec2 point, float numPoints, float radius, float angle) {\n float startAngle = -PI * 0.5 + angle; // tip starts upwards and rotates clockwise with angle\n float c = cos(startAngle);\n float s = sin(startAngle);\n vec2 pointRotated = vec2(c * point.x - s * point.y, s * point.x + c * point.y);\n float alpha = TWO_PI / numPoints; // the angle of one sector\n float radiusIn = radius * cos(PI / numPoints);\n float beta = atan(pointRotated.y, pointRotated.x);\n float gamma = round((beta - alpha * 0.5) / alpha) * alpha + alpha * 0.5; // angle in sector from mid\n c = cos(-gamma);\n s = sin(-gamma);\n vec2 inSector = vec2(c * pointRotated.x - s * pointRotated.y, abs(s * pointRotated.x + c * pointRotated.y));\n return inSector.x - radiusIn;\n}`;\n\n parseCommonSymbolProperties(style, builder, vertContext, 'shape-');\n\n // OPACITY\n let opacity = null;\n if ('shape-opacity' in style) {\n opacity = expressionToGlsl(fragContext, style['shape-opacity'], NumberType);\n }\n\n // SCALE\n let currentPoint = 'coordsPx';\n if ('shape-scale' in style) {\n const scale = expressionToGlsl(fragContext, style['shape-scale'], SizeType);\n currentPoint = `coordsPx / ${scale}`;\n }\n\n // FILL COLOR\n let fillColor = null;\n if ('shape-fill-color' in style) {\n fillColor = expressionToGlsl(\n fragContext,\n style['shape-fill-color'],\n ColorType,\n );\n }\n\n // STROKE COLOR\n let strokeColor = null;\n if ('shape-stroke-color' in style) {\n strokeColor = expressionToGlsl(\n fragContext,\n style['shape-stroke-color'],\n ColorType,\n );\n }\n\n // STROKE WIDTH\n let strokeWidth = null;\n if ('shape-stroke-width' in style) {\n strokeWidth = expressionToGlsl(\n fragContext,\n style['shape-stroke-width'],\n NumberType,\n );\n }\n\n // SHAPE TYPE\n const numPoints = expressionToGlsl(\n fragContext,\n style['shape-points'],\n NumberType,\n );\n let angle = '0.';\n if ('shape-angle' in style) {\n angle = expressionToGlsl(fragContext, style['shape-angle'], NumberType);\n }\n let shapeField;\n let radius = expressionToGlsl(fragContext, style['shape-radius'], NumberType);\n if (strokeWidth !== null) {\n radius = `${radius} + ${strokeWidth} * 0.5`;\n }\n if ('shape-radius2' in style) {\n let radius2 = expressionToGlsl(\n fragContext,\n style['shape-radius2'],\n NumberType,\n );\n if (strokeWidth !== null) {\n radius2 = `${radius2} + ${strokeWidth} * 0.5`;\n }\n shapeField = `starDistanceField(${currentPoint}, ${numPoints}, ${radius}, ${radius2}, ${angle})`;\n } else {\n shapeField = `regularDistanceField(${currentPoint}, ${numPoints}, ${radius}, ${angle})`;\n }\n\n // FINAL COLOR\n const colorExpression = getColorFromDistanceField(\n shapeField,\n fillColor,\n strokeColor,\n strokeWidth,\n opacity,\n );\n builder.setSymbolColorExpression(colorExpression);\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseIconProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n // COLOR\n let color = 'vec4(1.0)';\n if ('icon-color' in style) {\n color = expressionToGlsl(fragContext, style['icon-color'], ColorType);\n }\n\n // OPACITY\n if ('icon-opacity' in style) {\n color = `${color} * ${expressionToGlsl(\n fragContext,\n style['icon-opacity'],\n NumberType,\n )}`;\n }\n\n // IMAGE & SIZE\n const textureId = computeHash(style['icon-src']);\n const sizeExpression = parseImageProperties(\n style,\n builder,\n uniforms,\n 'icon-',\n textureId,\n );\n builder\n .setSymbolColorExpression(\n `${color} * samplePremultiplied(u_texture${textureId}, v_texCoord)`,\n )\n .setSymbolSizeExpression(sizeExpression);\n\n // override size if width/height were specified\n if ('icon-width' in style && 'icon-height' in style) {\n builder.setSymbolSizeExpression(\n `vec2(${expressionToGlsl(\n vertContext,\n style['icon-width'],\n NumberType,\n )}, ${expressionToGlsl(vertContext, style['icon-height'], NumberType)})`,\n );\n }\n\n // tex coord\n if ('icon-offset' in style && 'icon-size' in style) {\n const sampleSize = expressionToGlsl(\n vertContext,\n style['icon-size'],\n NumberArrayType,\n );\n const fullsize = builder.getSymbolSizeExpression();\n builder.setSymbolSizeExpression(sampleSize);\n const offset = parseImageOffsetProperties(\n style,\n 'icon-',\n vertContext,\n 'v_quadSizePx',\n sampleSize,\n );\n builder.setTextureCoordinateExpression(\n `(vec4((${offset}).xyxy) + vec4(0., 0., ${sampleSize})) / (${fullsize}).xyxy`,\n );\n }\n\n parseCommonSymbolProperties(style, builder, vertContext, 'icon-');\n\n if ('icon-anchor' in style) {\n const anchor = expressionToGlsl(\n vertContext,\n style['icon-anchor'],\n NumberArrayType,\n );\n let scale = `1.0`;\n if (`icon-scale` in style) {\n scale = expressionToGlsl(vertContext, style[`icon-scale`], SizeType);\n }\n let shiftPx;\n if (\n style['icon-anchor-x-units'] === 'pixels' &&\n style['icon-anchor-y-units'] === 'pixels'\n ) {\n shiftPx = `${anchor} * ${scale}`;\n } else if (style['icon-anchor-x-units'] === 'pixels') {\n shiftPx = `${anchor} * vec2(vec2(${scale}).x, v_quadSizePx.y)`;\n } else if (style['icon-anchor-y-units'] === 'pixels') {\n shiftPx = `${anchor} * vec2(v_quadSizePx.x, vec2(${scale}).x)`;\n } else {\n shiftPx = `${anchor} * v_quadSizePx`;\n }\n // default origin is top-left\n let offsetPx = `v_quadSizePx * vec2(0.5, -0.5) + ${shiftPx} * vec2(-1., 1.)`;\n if ('icon-anchor-origin' in style) {\n switch (style['icon-anchor-origin']) {\n case 'top-right':\n offsetPx = `v_quadSizePx * -0.5 + ${shiftPx}`;\n break;\n case 'bottom-left':\n offsetPx = `v_quadSizePx * 0.5 - ${shiftPx}`;\n break;\n case 'bottom-right':\n offsetPx = `v_quadSizePx * vec2(-0.5, 0.5) + ${shiftPx} * vec2(1., -1.)`;\n break;\n default: // pass\n }\n }\n builder.setSymbolOffsetExpression(\n `${builder.getSymbolOffsetExpression()} + ${offsetPx}`,\n );\n }\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader Builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseStrokeProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n if ('stroke-color' in style) {\n builder.setStrokeColorExpression(\n expressionToGlsl(fragContext, style['stroke-color'], ColorType),\n );\n }\n if ('stroke-pattern-src' in style) {\n const textureId = computeHash(style['stroke-pattern-src']);\n const sizeExpression = parseImageProperties(\n style,\n builder,\n uniforms,\n 'stroke-pattern-',\n textureId,\n );\n let sampleSizeExpression = sizeExpression;\n let offsetExpression = 'vec2(0.)';\n if ('stroke-pattern-offset' in style && 'stroke-pattern-size' in style) {\n sampleSizeExpression = expressionToGlsl(\n fragContext,\n style[`stroke-pattern-size`],\n NumberArrayType,\n );\n offsetExpression = parseImageOffsetProperties(\n style,\n 'stroke-pattern-',\n fragContext,\n sizeExpression,\n sampleSizeExpression,\n );\n }\n let spacingExpression = '0.';\n if ('stroke-pattern-spacing' in style) {\n spacingExpression = expressionToGlsl(\n fragContext,\n style['stroke-pattern-spacing'],\n NumberType,\n );\n }\n fragContext.functions['sampleStrokePattern'] =\n `vec4 sampleStrokePattern(sampler2D texture, vec2 textureSize, vec2 textureOffset, vec2 sampleSize, float spacingPx, float currentLengthPx, float currentRadiusRatio, float lineWidth) {\n float currentLengthScaled = currentLengthPx * sampleSize.y / lineWidth;\n float spacingScaled = spacingPx * sampleSize.y / lineWidth;\n float uCoordPx = mod(currentLengthScaled, (sampleSize.x + spacingScaled));\n // make sure that we're not sampling too close to the borders to avoid interpolation with outside pixels\n uCoordPx = clamp(uCoordPx, 0.5, sampleSize.x - 0.5);\n float vCoordPx = (-currentRadiusRatio * 0.5 + 0.5) * sampleSize.y;\n vec2 texCoord = (vec2(uCoordPx, vCoordPx) + textureOffset) / textureSize;\n return samplePremultiplied(texture, texCoord);\n}`;\n const textureName = `u_texture${textureId}`;\n let tintExpression = '1.';\n if ('stroke-color' in style) {\n tintExpression = builder.getStrokeColorExpression();\n }\n builder.setStrokeColorExpression(\n `${tintExpression} * sampleStrokePattern(${textureName}, ${sizeExpression}, ${offsetExpression}, ${sampleSizeExpression}, ${spacingExpression}, currentLengthPx, currentRadiusRatio, v_width)`,\n );\n }\n\n if ('stroke-width' in style) {\n builder.setStrokeWidthExpression(\n expressionToGlsl(vertContext, style['stroke-width'], NumberType),\n );\n }\n\n if ('stroke-offset' in style) {\n builder.setStrokeOffsetExpression(\n expressionToGlsl(vertContext, style['stroke-offset'], NumberType),\n );\n }\n\n if ('stroke-line-cap' in style) {\n builder.setStrokeCapExpression(\n expressionToGlsl(vertContext, style['stroke-line-cap'], StringType),\n );\n }\n\n if ('stroke-line-join' in style) {\n builder.setStrokeJoinExpression(\n expressionToGlsl(vertContext, style['stroke-line-join'], StringType),\n );\n }\n\n if ('stroke-miter-limit' in style) {\n builder.setStrokeMiterLimitExpression(\n expressionToGlsl(vertContext, style['stroke-miter-limit'], NumberType),\n );\n }\n\n if ('stroke-line-dash' in style) {\n fragContext.functions['getSingleDashDistance'] =\n `float getSingleDashDistance(float distance, float radius, float dashOffset, float dashLength, float dashLengthTotal, float capType) {\n float localDistance = mod(distance, dashLengthTotal);\n float distanceSegment = abs(localDistance - dashOffset - dashLength * 0.5) - dashLength * 0.5;\n distanceSegment = min(distanceSegment, dashLengthTotal - localDistance);\n if (capType == ${stringToGlsl('square')}) {\n distanceSegment -= v_width * 0.5;\n } else if (capType == ${stringToGlsl('round')}) {\n distanceSegment = min(distanceSegment, sqrt(distanceSegment * distanceSegment + radius * radius) - v_width * 0.5);\n }\n return distanceSegment;\n}`;\n\n let dashPattern = style['stroke-line-dash'].map((v) =>\n expressionToGlsl(fragContext, v, NumberType),\n );\n // if pattern has odd length, concatenate it with itself to be even\n if (dashPattern.length % 2 === 1) {\n dashPattern = [...dashPattern, ...dashPattern];\n }\n\n let offsetExpression = '0.';\n if ('stroke-line-dash-offset' in style) {\n offsetExpression = expressionToGlsl(\n vertContext,\n style['stroke-line-dash-offset'],\n NumberType,\n );\n }\n\n // define a function for this dash specifically\n const uniqueDashKey = computeHash(style['stroke-line-dash']);\n const dashFunctionName = `dashDistanceField_${uniqueDashKey}`;\n\n const dashLengthsDef = dashPattern.map(\n (v, i) => `float dashLength${i} = ${v};`,\n );\n const totalLengthDef = dashPattern\n .map((v, i) => `dashLength${i}`)\n .join(' + ');\n let currentDashOffset = '0.';\n let distanceExpression = `getSingleDashDistance(distance, radius, ${currentDashOffset}, dashLength0, totalDashLength, capType)`;\n for (let i = 2; i < dashPattern.length; i += 2) {\n currentDashOffset = `${currentDashOffset} + dashLength${\n i - 2\n } + dashLength${i - 1}`;\n distanceExpression = `min(${distanceExpression}, getSingleDashDistance(distance, radius, ${currentDashOffset}, dashLength${i}, totalDashLength, capType))`;\n }\n\n fragContext.functions[dashFunctionName] =\n `float ${dashFunctionName}(float distance, float radius, float capType) {\n ${dashLengthsDef.join('\\n ')}\n float totalDashLength = ${totalLengthDef};\n return ${distanceExpression};\n}`;\n builder.setStrokeDistanceFieldExpression(\n `${dashFunctionName}(currentLengthPx + ${offsetExpression}, currentRadiusPx, capType)`,\n );\n }\n}\n\n/**\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Style\n * @param {ShaderBuilder} builder Shader Builder\n * @param {Object} uniforms Uniforms\n * @param {import(\"../expr/gpu.js\").CompilationContext} vertContext Vertex shader compilation context\n * @param {import(\"../expr/gpu.js\").CompilationContext} fragContext Fragment shader compilation context\n */\nfunction parseFillProperties(\n style,\n builder,\n uniforms,\n vertContext,\n fragContext,\n) {\n if ('fill-color' in style) {\n builder.setFillColorExpression(\n expressionToGlsl(fragContext, style['fill-color'], ColorType),\n );\n }\n if ('fill-pattern-src' in style) {\n const textureId = computeHash(style['fill-pattern-src']);\n const sizeExpression = parseImageProperties(\n style,\n builder,\n uniforms,\n 'fill-pattern-',\n textureId,\n );\n let sampleSizeExpression = sizeExpression;\n let offsetExpression = 'vec2(0.)';\n if ('fill-pattern-offset' in style && 'fill-pattern-size' in style) {\n sampleSizeExpression = expressionToGlsl(\n fragContext,\n style[`fill-pattern-size`],\n NumberArrayType,\n );\n offsetExpression = parseImageOffsetProperties(\n style,\n 'fill-pattern-',\n fragContext,\n sizeExpression,\n sampleSizeExpression,\n );\n }\n fragContext.functions['sampleFillPattern'] =\n `vec4 sampleFillPattern(sampler2D texture, vec2 textureSize, vec2 textureOffset, vec2 sampleSize, vec2 pxOrigin, vec2 pxPosition) {\n float scaleRatio = pow(2., mod(u_zoom + 0.5, 1.) - 0.5);\n vec2 pxRelativePos = pxPosition - pxOrigin;\n // rotate the relative position from origin by the current view rotation\n pxRelativePos = vec2(pxRelativePos.x * cos(u_rotation) - pxRelativePos.y * sin(u_rotation), pxRelativePos.x * sin(u_rotation) + pxRelativePos.y * cos(u_rotation));\n // sample position is computed according to the sample offset & size\n vec2 samplePos = mod(pxRelativePos / scaleRatio, sampleSize);\n // also make sure that we're not sampling too close to the borders to avoid interpolation with outside pixels\n samplePos = clamp(samplePos, vec2(0.5), sampleSize - vec2(0.5));\n samplePos.y = sampleSize.y - samplePos.y; // invert y axis so that images appear upright\n return samplePremultiplied(texture, (samplePos + textureOffset) / textureSize);\n}`;\n const textureName = `u_texture${textureId}`;\n let tintExpression = '1.';\n if ('fill-color' in style) {\n tintExpression = builder.getFillColorExpression();\n }\n builder.setFillColorExpression(\n `${tintExpression} * sampleFillPattern(${textureName}, ${sizeExpression}, ${offsetExpression}, ${sampleSizeExpression}, pxOrigin, pxPos)`,\n );\n }\n}\n\n/**\n * @typedef {Object} StyleParseResult\n * @property {ShaderBuilder} builder Shader builder pre-configured according to a given style\n * @property {import(\"../render/webgl/VectorStyleRenderer.js\").UniformDefinitions} uniforms Uniform definitions\n * @property {import(\"../render/webgl/VectorStyleRenderer.js\").AttributeDefinitions} attributes Attribute definitions\n */\n\n/**\n * Parses a {@link import(\"../style/webgl.js\").WebGLStyle} object and returns a {@link ShaderBuilder}\n * object that has been configured according to the given style, as well as `attributes` and `uniforms`\n * arrays to be fed to the `WebGLPointsRenderer` class.\n *\n * Also returns `uniforms` and `attributes` properties as expected by the\n * {@link module:ol/renderer/webgl/PointsLayer~WebGLPointsLayerRenderer}.\n *\n * @param {import(\"../style/webgl.js\").WebGLStyle} style Literal style.\n * @return {StyleParseResult} Result containing shader params, attributes and uniforms.\n */\nexport function parseLiteralStyle(style) {\n /**\n * @type {import(\"../expr/gpu.js\").CompilationContext}\n */\n const vertContext = {\n inFragmentShader: false,\n properties: {},\n variables: {},\n functions: {},\n style,\n };\n\n /**\n * @type {import(\"../expr/gpu.js\").CompilationContext}\n */\n const fragContext = {\n inFragmentShader: true,\n variables: vertContext.variables,\n properties: {},\n functions: {},\n style,\n };\n\n const builder = new ShaderBuilder();\n\n /** @type {Object} */\n const uniforms = {};\n\n if ('icon-src' in style) {\n parseIconProperties(style, builder, uniforms, vertContext, fragContext);\n } else if ('shape-points' in style) {\n parseShapeProperties(style, builder, uniforms, vertContext, fragContext);\n } else if ('circle-radius' in style) {\n parseCircleProperties(style, builder, uniforms, vertContext, fragContext);\n }\n parseStrokeProperties(style, builder, uniforms, vertContext, fragContext);\n parseFillProperties(style, builder, uniforms, vertContext, fragContext);\n\n if (style.filter) {\n const parsedFilter = expressionToGlsl(\n fragContext,\n style.filter,\n BooleanType,\n );\n builder.setFragmentDiscardExpression(`!${parsedFilter}`);\n }\n\n // define one uniform per variable\n Object.keys(fragContext.variables).forEach(function (varName) {\n const variable = fragContext.variables[varName];\n const uniformName = uniformNameForVariable(variable.name);\n builder.addUniform(`${getGlslTypeFromType(variable.type)} ${uniformName}`);\n\n let callback;\n if (variable.type === StringType) {\n callback = () =>\n getStringNumberEquivalent(\n /** @type {string} */ (style.variables[variable.name]),\n );\n } else if (variable.type === ColorType) {\n callback = () =>\n packColor([\n ...asArray(\n /** @type {string|Array} */ (\n style.variables[variable.name]\n ) || '#eee',\n ),\n ]);\n } else if (variable.type === BooleanType) {\n callback = () =>\n /** @type {boolean} */ (style.variables[variable.name]) ? 1.0 : 0.0;\n } else {\n callback = () => /** @type {number} */ (style.variables[variable.name]);\n }\n uniforms[uniformName] = callback;\n });\n\n // for each feature attribute used in the fragment shader, define a varying that will be used to pass data\n // from the vertex to the fragment shader, as well as an attribute in the vertex shader (if not already present)\n Object.keys(fragContext.properties).forEach(function (propName) {\n const property = fragContext.properties[propName];\n if (!vertContext.properties[propName]) {\n vertContext.properties[propName] = property;\n }\n let type = getGlslTypeFromType(property.type);\n let expression = `a_prop_${property.name}`;\n if (property.type === ColorType) {\n type = 'vec4';\n expression = `unpackColor(${expression})`;\n builder.addVertexShaderFunction(UNPACK_COLOR_FN);\n }\n builder.addVarying(`v_prop_${property.name}`, type, expression);\n });\n\n // for each feature attribute used in the vertex shader, define an attribute in the vertex shader.\n Object.keys(vertContext.properties).forEach(function (propName) {\n const property = vertContext.properties[propName];\n builder.addAttribute(\n `${getGlslTypeFromType(property.type)} a_prop_${property.name}`,\n );\n });\n\n const attributes = Object.keys(vertContext.properties).map(\n function (propName) {\n const property = vertContext.properties[propName];\n let callback;\n if (property.evaluator) {\n callback = property.evaluator;\n } else if (property.type === StringType) {\n callback = (feature) =>\n getStringNumberEquivalent(feature.get(property.name));\n } else if (property.type === ColorType) {\n callback = (feature) =>\n packColor([...asArray(feature.get(property.name) || '#eee')]);\n } else if (property.type === BooleanType) {\n callback = (feature) => (feature.get(property.name) ? 1.0 : 0.0);\n } else {\n callback = (feature) => feature.get(property.name);\n }\n\n return {\n name: property.name,\n size: getGlslSizeFromType(property.type),\n callback,\n };\n },\n );\n\n // add functions that were collected in the compilation contexts\n for (const functionName in vertContext.functions) {\n builder.addVertexShaderFunction(vertContext.functions[functionName]);\n }\n for (const functionName in fragContext.functions) {\n builder.addFragmentShaderFunction(fragContext.functions[functionName]);\n }\n\n return {\n builder: builder,\n attributes: attributes.reduce(\n (prev, curr) => ({\n ...prev,\n [curr.name]: {callback: curr.callback, size: curr.size},\n }),\n {},\n ),\n uniforms: uniforms,\n };\n}\n","/**\n * @module ol/layer/WebGLTile\n */\nimport BaseTileLayer from './BaseTile.js';\nimport LayerProperty from '../layer/Property.js';\nimport WebGLTileLayerRenderer, {\n Attributes,\n Uniforms,\n} from '../renderer/webgl/TileLayer.js';\nimport {ColorType, NumberType} from '../expr/expression.js';\nimport {\n PALETTE_TEXTURE_ARRAY,\n getStringNumberEquivalent,\n newCompilationContext,\n uniformNameForVariable,\n} from '../expr/gpu.js';\nimport {expressionToGlsl} from '../webgl/styleparser.js';\n\n/**\n * @typedef {import(\"../source/DataTile.js\").default|import(\"../source/TileImage.js\").default} SourceType\n */\n\n/**\n * @typedef {Object} Style\n * Translates tile data to rendered pixels.\n *\n * @property {Object} [variables] Style variables. Each variable must hold a number or string. These\n * variables can be used in the `color`, `brightness`, `contrast`, `exposure`, `saturation` and `gamma`\n * {@link import(\"../expr/expression.js\").ExpressionValue expressions}, using the `['var', 'varName']` operator.\n * To update style variables, use the {@link import(\"./WebGLTile.js\").default#updateStyleVariables} method.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [color] An expression applied to color values.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [brightness=0] Value used to decrease or increase\n * the layer brightness. Values range from -1 to 1.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [contrast=0] Value used to decrease or increase\n * the layer contrast. Values range from -1 to 1.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [exposure=0] Value used to decrease or increase\n * the layer exposure. Values range from -1 to 1.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [saturation=0] Value used to decrease or increase\n * the layer saturation. Values range from -1 to 1.\n * @property {import(\"../expr/expression.js\").ExpressionValue} [gamma=1] Apply a gamma correction to the layer.\n * Values range from 0 to infinity.\n */\n\n/**\n * @typedef {Object} Options\n * @property {Style} [style] Style to apply to the layer.\n * @property {string} [className='ol-layer'] A CSS class name to set to the layer element.\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {number} [minZoom] The minimum view zoom level (exclusive) above which this layer will be\n * visible.\n * @property {number} [maxZoom] The maximum view zoom level (inclusive) at which this layer will\n * be visible.\n * @property {number} [preload=0] Preload. Load low-resolution tiles up to `preload` levels. `0`\n * means no preloading.\n * @property {SourceType} [source] Source for this layer.\n * @property {Array|function(import(\"../extent.js\").Extent, number):Array} [sources] Array\n * of sources for this layer. Takes precedence over `source`. Can either be an array of sources, or a function that\n * expects an extent and a resolution (in view projection units per pixel) and returns an array of sources. See\n * {@link module:ol/source.sourcesFromTileGrid} for a helper function to generate sources that are organized in a\n * pyramid following the same pattern as a tile grid. **Note:** All sources must have the same band count and content.\n * @property {import(\"../Map.js\").default} [map] Sets the layer as overlay on a map. The map will not manage\n * this layer in its layers collection, and the layer will be rendered on top. This is useful for\n * temporary layers. The standard way to add a layer to a map and have it managed by the map is to\n * use {@link module:ol/Map~Map#addLayer}.\n * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error.\n * @property {number} [cacheSize=512] The internal texture cache size. This needs to be large enough to render\n * two zoom levels worth of tiles.\n * @property {Object} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.\n */\n\n/**\n * @typedef {Object} ParsedStyle\n * @property {string} vertexShader The vertex shader.\n * @property {string} fragmentShader The fragment shader.\n * @property {Object} uniforms Uniform definitions.\n * @property {Array} paletteTextures Palette textures.\n */\n\n/**\n * @param {Style} style The layer style.\n * @param {number} [bandCount] The number of bands.\n * @return {ParsedStyle} Shaders and uniforms generated from the style.\n */\nfunction parseStyle(style, bandCount) {\n const vertexShader = `\n attribute vec2 ${Attributes.TEXTURE_COORD};\n uniform mat4 ${Uniforms.TILE_TRANSFORM};\n uniform float ${Uniforms.TEXTURE_PIXEL_WIDTH};\n uniform float ${Uniforms.TEXTURE_PIXEL_HEIGHT};\n uniform float ${Uniforms.TEXTURE_RESOLUTION};\n uniform float ${Uniforms.TEXTURE_ORIGIN_X};\n uniform float ${Uniforms.TEXTURE_ORIGIN_Y};\n uniform float ${Uniforms.DEPTH};\n\n varying vec2 v_textureCoord;\n varying vec2 v_mapCoord;\n\n void main() {\n v_textureCoord = ${Attributes.TEXTURE_COORD};\n v_mapCoord = vec2(\n ${Uniforms.TEXTURE_ORIGIN_X} + ${Uniforms.TEXTURE_RESOLUTION} * ${Uniforms.TEXTURE_PIXEL_WIDTH} * v_textureCoord[0],\n ${Uniforms.TEXTURE_ORIGIN_Y} - ${Uniforms.TEXTURE_RESOLUTION} * ${Uniforms.TEXTURE_PIXEL_HEIGHT} * v_textureCoord[1]\n );\n gl_Position = ${Uniforms.TILE_TRANSFORM} * vec4(${Attributes.TEXTURE_COORD}, ${Uniforms.DEPTH}, 1.0);\n }\n `;\n\n /**\n * @type {import(\"../expr/gpu.js\").CompilationContext}\n */\n const context = {\n ...newCompilationContext(),\n inFragmentShader: true,\n bandCount: bandCount,\n style: style,\n };\n\n const pipeline = [];\n\n if (style.color !== undefined) {\n const color = expressionToGlsl(context, style.color, ColorType);\n pipeline.push(`color = ${color};`);\n }\n\n if (style.contrast !== undefined) {\n const contrast = expressionToGlsl(context, style.contrast, NumberType);\n pipeline.push(\n `color.rgb = clamp((${contrast} + 1.0) * color.rgb - (${contrast} / 2.0), vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`,\n );\n }\n\n if (style.exposure !== undefined) {\n const exposure = expressionToGlsl(context, style.exposure, NumberType);\n pipeline.push(\n `color.rgb = clamp((${exposure} + 1.0) * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`,\n );\n }\n\n if (style.saturation !== undefined) {\n const saturation = expressionToGlsl(context, style.saturation, NumberType);\n pipeline.push(`\n float saturation = ${saturation} + 1.0;\n float sr = (1.0 - saturation) * 0.2126;\n float sg = (1.0 - saturation) * 0.7152;\n float sb = (1.0 - saturation) * 0.0722;\n mat3 saturationMatrix = mat3(\n sr + saturation, sr, sr,\n sg, sg + saturation, sg,\n sb, sb, sb + saturation\n );\n color.rgb = clamp(saturationMatrix * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));\n `);\n }\n\n if (style.gamma !== undefined) {\n const gamma = expressionToGlsl(context, style.gamma, NumberType);\n pipeline.push(`color.rgb = pow(color.rgb, vec3(1.0 / ${gamma}));`);\n }\n\n if (style.brightness !== undefined) {\n const brightness = expressionToGlsl(context, style.brightness, NumberType);\n pipeline.push(\n `color.rgb = clamp(color.rgb + ${brightness}, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`,\n );\n }\n\n /** @type {Object} */\n const uniforms = {};\n\n const numVariables = Object.keys(context.variables).length;\n if (numVariables > 1 && !style.variables) {\n throw new Error(\n `Missing variables in style (expected ${context.variables})`,\n );\n }\n\n for (let i = 0; i < numVariables; ++i) {\n const variable = context.variables[Object.keys(context.variables)[i]];\n if (!(variable.name in style.variables)) {\n throw new Error(`Missing '${variable.name}' in style variables`);\n }\n const uniformName = uniformNameForVariable(variable.name);\n uniforms[uniformName] = function () {\n let value = style.variables[variable.name];\n if (typeof value === 'string') {\n value = getStringNumberEquivalent(value);\n }\n return value !== undefined ? value : -9999999; // to avoid matching with the first string literal\n };\n }\n\n const uniformDeclarations = Object.keys(uniforms).map(function (name) {\n return `uniform float ${name};`;\n });\n\n const textureCount = Math.ceil(bandCount / 4);\n uniformDeclarations.push(\n `uniform sampler2D ${Uniforms.TILE_TEXTURE_ARRAY}[${textureCount}];`,\n );\n\n if (context.paletteTextures) {\n uniformDeclarations.push(\n `uniform sampler2D ${PALETTE_TEXTURE_ARRAY}[${context.paletteTextures.length}];`,\n );\n }\n\n const functionDefintions = Object.keys(context.functions).map(\n function (name) {\n return context.functions[name];\n },\n );\n\n const fragmentShader = `\n #ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n #else\n precision mediump float;\n #endif\n\n varying vec2 v_textureCoord;\n varying vec2 v_mapCoord;\n uniform vec4 ${Uniforms.RENDER_EXTENT};\n uniform float ${Uniforms.TRANSITION_ALPHA};\n uniform float ${Uniforms.TEXTURE_PIXEL_WIDTH};\n uniform float ${Uniforms.TEXTURE_PIXEL_HEIGHT};\n uniform float ${Uniforms.RESOLUTION};\n uniform float ${Uniforms.ZOOM};\n\n ${uniformDeclarations.join('\\n')}\n\n ${functionDefintions.join('\\n')}\n\n void main() {\n if (\n v_mapCoord[0] < ${Uniforms.RENDER_EXTENT}[0] ||\n v_mapCoord[1] < ${Uniforms.RENDER_EXTENT}[1] ||\n v_mapCoord[0] > ${Uniforms.RENDER_EXTENT}[2] ||\n v_mapCoord[1] > ${Uniforms.RENDER_EXTENT}[3]\n ) {\n discard;\n }\n\n vec4 color = texture2D(${\n Uniforms.TILE_TEXTURE_ARRAY\n }[0], v_textureCoord);\n\n ${pipeline.join('\\n')}\n\n gl_FragColor = color;\n gl_FragColor.rgb *= gl_FragColor.a;\n gl_FragColor *= ${Uniforms.TRANSITION_ALPHA};\n }`;\n\n return {\n vertexShader: vertexShader,\n fragmentShader: fragmentShader,\n uniforms: uniforms,\n paletteTextures: context.paletteTextures,\n };\n}\n\n/**\n * @classdesc\n * For layer sources that provide pre-rendered, tiled images in grids that are\n * organized by zoom levels for specific resolutions.\n * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}\n * property on the layer object; for example, setting `title: 'My Title'` in the\n * options means that `title` is observable, and has get/set accessors.\n *\n * @extends BaseTileLayer\n * @fires import(\"../render/Event.js\").RenderEvent\n * @api\n */\nclass WebGLTileLayer extends BaseTileLayer {\n /**\n * @param {Options} options Tile layer options.\n */\n constructor(options) {\n options = options ? Object.assign({}, options) : {};\n\n const style = options.style || {};\n delete options.style;\n\n const cacheSize = options.cacheSize;\n delete options.cacheSize;\n\n super(options);\n\n /**\n * @type {Array|function(import(\"../extent.js\").Extent, number):Array}\n * @private\n */\n this.sources_ = options.sources;\n\n /**\n * @type {SourceType|null}\n * @private\n */\n this.renderedSource_ = null;\n\n /**\n * @type {number}\n * @private\n */\n this.renderedResolution_ = NaN;\n\n /**\n * @type {Style}\n * @private\n */\n this.style_ = style;\n\n /**\n * @type {number}\n * @private\n */\n this.cacheSize_ = cacheSize;\n\n /**\n * @type {Object}\n * @private\n */\n this.styleVariables_ = this.style_.variables || {};\n\n this.addChangeListener(LayerProperty.SOURCE, this.handleSourceUpdate_);\n }\n\n /**\n * Gets the sources for this layer, for a given extent and resolution.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @return {Array} Sources.\n */\n getSources(extent, resolution) {\n const source = this.getSource();\n return this.sources_\n ? typeof this.sources_ === 'function'\n ? this.sources_(extent, resolution)\n : this.sources_\n : source\n ? [source]\n : [];\n }\n\n /**\n * @return {SourceType} The source being rendered.\n */\n getRenderSource() {\n return this.renderedSource_ || this.getSource();\n }\n\n /**\n * @return {import(\"../source/Source.js\").State} Source state.\n */\n getSourceState() {\n const source = this.getRenderSource();\n return source ? source.getState() : 'undefined';\n }\n\n /**\n * @private\n */\n handleSourceUpdate_() {\n if (this.hasRenderer()) {\n this.getRenderer().clearCache();\n }\n if (this.getSource()) {\n this.setStyle(this.style_);\n }\n }\n\n /**\n * @private\n * @return {number} The number of source bands.\n */\n getSourceBandCount_() {\n const max = Number.MAX_SAFE_INTEGER;\n const sources = this.getSources([-max, -max, max, max], max);\n return sources && sources.length && 'bandCount' in sources[0]\n ? sources[0].bandCount\n : 4;\n }\n\n createRenderer() {\n const parsedStyle = parseStyle(this.style_, this.getSourceBandCount_());\n\n return new WebGLTileLayerRenderer(this, {\n vertexShader: parsedStyle.vertexShader,\n fragmentShader: parsedStyle.fragmentShader,\n uniforms: parsedStyle.uniforms,\n cacheSize: this.cacheSize_,\n paletteTextures: parsedStyle.paletteTextures,\n });\n }\n\n /**\n * @param {import(\"../Map\").FrameState} frameState Frame state.\n * @param {Array} sources Sources.\n * @return {HTMLElement} Canvas.\n */\n renderSources(frameState, sources) {\n const layerRenderer = this.getRenderer();\n let canvas;\n for (let i = 0, ii = sources.length; i < ii; ++i) {\n this.renderedSource_ = sources[i];\n if (layerRenderer.prepareFrame(frameState)) {\n canvas = layerRenderer.renderFrame(frameState);\n }\n }\n return canvas;\n }\n\n /**\n * @param {?import(\"../Map.js\").FrameState} frameState Frame state.\n * @param {HTMLElement} target Target which the renderer may (but need not) use\n * for rendering its content.\n * @return {HTMLElement} The rendered element.\n */\n render(frameState, target) {\n this.rendered = true;\n const viewState = frameState.viewState;\n const sources = this.getSources(frameState.extent, viewState.resolution);\n let ready = true;\n for (let i = 0, ii = sources.length; i < ii; ++i) {\n const source = sources[i];\n const sourceState = source.getState();\n if (sourceState == 'loading') {\n const onChange = () => {\n if (source.getState() == 'ready') {\n source.removeEventListener('change', onChange);\n this.changed();\n }\n };\n source.addEventListener('change', onChange);\n }\n ready = ready && sourceState == 'ready';\n }\n const canvas = this.renderSources(frameState, sources);\n if (this.getRenderer().renderComplete && ready) {\n // Fully rendered, done.\n this.renderedResolution_ = viewState.resolution;\n return canvas;\n }\n // Render sources from previously fully rendered frames\n if (this.renderedResolution_ > 0.5 * viewState.resolution) {\n const altSources = this.getSources(\n frameState.extent,\n this.renderedResolution_,\n ).filter((source) => !sources.includes(source));\n if (altSources.length > 0) {\n return this.renderSources(frameState, altSources);\n }\n }\n return canvas;\n }\n\n /**\n * Update the layer style. The `updateStyleVariables` function is a more efficient\n * way to update layer rendering. In cases where the whole style needs to be updated,\n * this method may be called instead. Note that calling this method will also replace\n * any previously set variables, so the new style also needs to include new variables,\n * if needed.\n * @param {Style} style The new style.\n */\n setStyle(style) {\n this.styleVariables_ = style.variables || {};\n this.style_ = style;\n const parsedStyle = parseStyle(this.style_, this.getSourceBandCount_());\n const renderer = this.getRenderer();\n renderer.reset({\n vertexShader: parsedStyle.vertexShader,\n fragmentShader: parsedStyle.fragmentShader,\n uniforms: parsedStyle.uniforms,\n paletteTextures: parsedStyle.paletteTextures,\n });\n this.changed();\n }\n\n /**\n * Update any variables used by the layer style and trigger a re-render.\n * @param {Object} variables Variables to update.\n * @api\n */\n updateStyleVariables(variables) {\n Object.assign(this.styleVariables_, variables);\n this.changed();\n }\n}\n\n/**\n * Clean up underlying WebGL resources.\n * @function\n * @api\n */\nWebGLTileLayer.prototype.dispose;\n\nexport default WebGLTileLayer;\n","/**\n * @module ol/source/DataTile\n */\nimport DataTile from '../DataTile.js';\nimport EventType from '../events/EventType.js';\nimport ReprojDataTile from '../reproj/DataTile.js';\nimport TileCache from '../TileCache.js';\nimport TileEventType from './TileEventType.js';\nimport TileSource, {TileSourceEvent} from './Tile.js';\nimport TileState from '../TileState.js';\nimport {\n createXYZ,\n extentFromProjection,\n getForProjection as getTileGridForProjection,\n} from '../tilegrid.js';\nimport {equivalent, get as getProjection} from '../proj.js';\nimport {getKeyZXY} from '../tilecoord.js';\nimport {getUid} from '../util.js';\nimport {toPromise} from '../functions.js';\nimport {toSize} from '../size.js';\n\n/**\n * Data tile loading function. The function is called with z, x, and y tile coordinates and\n * returns {@link import(\"../DataTile.js\").Data data} for a tile or a promise for the same.\n * @typedef {function(number, number, number) : (import(\"../DataTile.js\").Data|Promise)} Loader\n */\n\n/**\n * @typedef {Object} Options\n * @property {Loader} [loader] Data loader. Called with z, x, and y tile coordinates.\n * Returns {@link import(\"../DataTile.js\").Data data} for a tile or a promise for the same.\n * For loaders that generate images, the promise should not resolve until the image is loaded.\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {number} [maxZoom=42] Optional max zoom level. Not used if `tileGrid` is provided.\n * @property {number} [minZoom=0] Optional min zoom level. Not used if `tileGrid` is provided.\n * @property {number|import(\"../size.js\").Size} [tileSize=[256, 256]] The pixel width and height of the source tiles.\n * This may be different than the rendered pixel size if a `tileGrid` is provided.\n * @property {number} [gutter=0] The size in pixels of the gutter around data tiles to ignore.\n * This allows artifacts of rendering at tile edges to be ignored.\n * Supported data should be wider and taller than the tile size by a value of `2 x gutter`.\n * @property {number} [maxResolution] Optional tile grid resolution at level zero. Not used if `tileGrid` is provided.\n * @property {import(\"../proj.js\").ProjectionLike} [projection='EPSG:3857'] Tile projection.\n * @property {import(\"../tilegrid/TileGrid.js\").default} [tileGrid] Tile grid.\n * @property {boolean} [opaque=false] Whether the layer is opaque.\n * @property {import(\"./Source.js\").State} [state] The source state.\n * @property {boolean} [wrapX=false] Render tiles beyond the antimeridian.\n * @property {number} [transition] Transition time when fading in new tiles (in milliseconds).\n * @property {number} [bandCount=4] Number of bands represented in the data.\n * @property {boolean} [interpolate=false] Use interpolated values when resampling. By default,\n * the nearest neighbor is used when resampling.\n */\n\n/**\n * @classdesc\n * A source for typed array data tiles.\n *\n * @fires import(\"./Tile.js\").TileSourceEvent\n * @api\n */\nclass DataTileSource extends TileSource {\n /**\n * @param {Options} options DataTile source options.\n */\n constructor(options) {\n const projection =\n options.projection === undefined ? 'EPSG:3857' : options.projection;\n\n let tileGrid = options.tileGrid;\n if (tileGrid === undefined && projection) {\n tileGrid = createXYZ({\n extent: extentFromProjection(projection),\n maxResolution: options.maxResolution,\n maxZoom: options.maxZoom,\n minZoom: options.minZoom,\n tileSize: options.tileSize,\n });\n }\n\n super({\n cacheSize: 0.1, // don't cache on the source\n attributions: options.attributions,\n attributionsCollapsible: options.attributionsCollapsible,\n projection: projection,\n tileGrid: tileGrid,\n opaque: options.opaque,\n state: options.state,\n wrapX: options.wrapX,\n transition: options.transition,\n interpolate: options.interpolate,\n });\n\n /**\n * @private\n * @type {number}\n */\n this.gutter_ = options.gutter !== undefined ? options.gutter : 0;\n\n /**\n * @private\n * @type {import('../size.js').Size|null}\n */\n this.tileSize_ = options.tileSize ? toSize(options.tileSize) : null;\n\n /**\n * @private\n * @type {Array|null}\n */\n this.tileSizes_ = null;\n\n /**\n * @private\n * @type {!Object}\n */\n this.tileLoadingKeys_ = {};\n\n /**\n * @private\n */\n this.loader_ = options.loader;\n\n this.handleTileChange_ = this.handleTileChange_.bind(this);\n\n /**\n * @type {number}\n */\n this.bandCount = options.bandCount === undefined ? 4 : options.bandCount; // assume RGBA if undefined\n\n /**\n * @private\n * @type {!Object}\n */\n this.tileGridForProjection_ = {};\n\n /**\n * @private\n * @type {!Object}\n */\n this.tileCacheForProjection_ = {};\n }\n\n /**\n * Set the source tile sizes. The length of the array is expected to match the number of\n * levels in the tile grid.\n * @protected\n * @param {Array} tileSizes An array of tile sizes.\n */\n setTileSizes(tileSizes) {\n this.tileSizes_ = tileSizes;\n }\n\n /**\n * Get the source tile size at the given zoom level. This may be different than the rendered tile\n * size.\n * @protected\n * @param {number} z Tile zoom level.\n * @return {import('../size.js').Size} The source tile size.\n */\n getTileSize(z) {\n if (this.tileSizes_) {\n return this.tileSizes_[z];\n }\n if (this.tileSize_) {\n return this.tileSize_;\n }\n const tileGrid = this.getTileGrid();\n return tileGrid ? toSize(tileGrid.getTileSize(z)) : [256, 256];\n }\n\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {number} Gutter.\n */\n getGutterForProjection(projection) {\n const thisProj = this.getProjection();\n if (!thisProj || equivalent(thisProj, projection)) {\n return this.gutter_;\n }\n\n return 0;\n }\n\n /**\n * @param {Loader} loader The data loader.\n * @protected\n */\n setLoader(loader) {\n this.loader_ = loader;\n }\n\n /**\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {import(\"../proj/Projection.js\").default} targetProj The output projection.\n * @param {import(\"../proj/Projection.js\").default} sourceProj The input projection.\n * @return {!DataTile} Tile.\n */\n getReprojTile_(z, x, y, targetProj, sourceProj) {\n const cache = this.getTileCacheForProjection(targetProj);\n const tileCoordKey = getKeyZXY(z, x, y);\n if (cache.containsKey(tileCoordKey)) {\n const tile = cache.get(tileCoordKey);\n if (tile && tile.key == this.getKey()) {\n return tile;\n }\n }\n\n const tileGrid = this.getTileGrid();\n const reprojTilePixelRatio = Math.max.apply(\n null,\n tileGrid.getResolutions().map((r, z) => {\n const tileSize = toSize(tileGrid.getTileSize(z));\n const textureSize = this.getTileSize(z);\n return Math.max(\n textureSize[0] / tileSize[0],\n textureSize[1] / tileSize[1],\n );\n }),\n );\n\n const sourceTileGrid = this.getTileGridForProjection(sourceProj);\n const targetTileGrid = this.getTileGridForProjection(targetProj);\n const tileCoord = [z, x, y];\n const wrappedTileCoord = this.getTileCoordForTileUrlFunction(\n tileCoord,\n targetProj,\n );\n\n const options = Object.assign(\n {\n sourceProj,\n sourceTileGrid,\n targetProj,\n targetTileGrid,\n tileCoord,\n wrappedTileCoord,\n pixelRatio: reprojTilePixelRatio,\n gutter: this.getGutterForProjection(sourceProj),\n getTileFunction: (z, x, y, pixelRatio) =>\n this.getTile(z, x, y, pixelRatio, sourceProj),\n },\n this.tileOptions,\n );\n const newTile = new ReprojDataTile(options);\n newTile.key = this.getKey();\n return newTile;\n }\n\n /**\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {!DataTile} Tile.\n */\n getTile(z, x, y, pixelRatio, projection) {\n const sourceProjection = this.getProjection();\n if (\n sourceProjection &&\n projection &&\n !equivalent(sourceProjection, projection)\n ) {\n return this.getReprojTile_(z, x, y, projection, sourceProjection);\n }\n\n const size = this.getTileSize(z);\n const tileCoordKey = getKeyZXY(z, x, y);\n if (this.tileCache.containsKey(tileCoordKey)) {\n return this.tileCache.get(tileCoordKey);\n }\n\n const sourceLoader = this.loader_;\n\n function loader() {\n return toPromise(function () {\n return sourceLoader(z, x, y);\n });\n }\n\n const options = Object.assign(\n {\n tileCoord: [z, x, y],\n loader: loader,\n size: size,\n },\n this.tileOptions,\n );\n\n const tile = new DataTile(options);\n tile.key = this.getKey();\n tile.addEventListener(EventType.CHANGE, this.handleTileChange_);\n\n this.tileCache.set(tileCoordKey, tile);\n return tile;\n }\n\n /**\n * Handle tile change events.\n * @param {import(\"../events/Event.js\").default} event Event.\n */\n handleTileChange_(event) {\n const tile = /** @type {import(\"../Tile.js\").default} */ (event.target);\n const uid = getUid(tile);\n const tileState = tile.getState();\n let type;\n if (tileState == TileState.LOADING) {\n this.tileLoadingKeys_[uid] = true;\n type = TileEventType.TILELOADSTART;\n } else if (uid in this.tileLoadingKeys_) {\n delete this.tileLoadingKeys_[uid];\n type =\n tileState == TileState.ERROR\n ? TileEventType.TILELOADERROR\n : tileState == TileState.LOADED\n ? TileEventType.TILELOADEND\n : undefined;\n }\n if (type) {\n this.dispatchEvent(new TileSourceEvent(type, tile));\n }\n }\n\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {!import(\"../tilegrid/TileGrid.js\").default} Tile grid.\n */\n getTileGridForProjection(projection) {\n const thisProj = this.getProjection();\n if (this.tileGrid && (!thisProj || equivalent(thisProj, projection))) {\n return this.tileGrid;\n }\n\n const projKey = getUid(projection);\n if (!(projKey in this.tileGridForProjection_)) {\n this.tileGridForProjection_[projKey] =\n getTileGridForProjection(projection);\n }\n return this.tileGridForProjection_[projKey];\n }\n\n /**\n * Sets the tile grid to use when reprojecting the tiles to the given\n * projection instead of the default tile grid for the projection.\n *\n * This can be useful when the default tile grid cannot be created\n * (e.g. projection has no extent defined) or\n * for optimization reasons (custom tile size, resolutions, ...).\n *\n * @param {import(\"../proj.js\").ProjectionLike} projection Projection.\n * @param {import(\"../tilegrid/TileGrid.js\").default} tilegrid Tile grid to use for the projection.\n * @api\n */\n setTileGridForProjection(projection, tilegrid) {\n const proj = getProjection(projection);\n if (proj) {\n const projKey = getUid(proj);\n if (!(projKey in this.tileGridForProjection_)) {\n this.tileGridForProjection_[projKey] = tilegrid;\n }\n }\n }\n\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {import(\"../TileCache.js\").default} Tile cache.\n */\n getTileCacheForProjection(projection) {\n const thisProj = this.getProjection();\n if (!thisProj || equivalent(thisProj, projection)) {\n return this.tileCache;\n }\n\n const projKey = getUid(projection);\n if (!(projKey in this.tileCacheForProjection_)) {\n this.tileCacheForProjection_[projKey] = new TileCache(0.1); // don't cache\n }\n return this.tileCacheForProjection_[projKey];\n }\n\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @param {!Object} usedTiles Used tiles.\n */\n expireCache(projection, usedTiles) {\n const usedTileCache = this.getTileCacheForProjection(projection);\n\n this.tileCache.expireCache(\n this.tileCache == usedTileCache ? usedTiles : {},\n );\n for (const id in this.tileCacheForProjection_) {\n const tileCache = this.tileCacheForProjection_[id];\n tileCache.expireCache(tileCache == usedTileCache ? usedTiles : {});\n }\n }\n\n clear() {\n super.clear();\n for (const id in this.tileCacheForProjection_) {\n this.tileCacheForProjection_[id].clear();\n }\n }\n}\n\nexport default DataTileSource;\n","import { getDecoder } from './compression/index.js';\n\nconst defaultPoolSize = typeof navigator !== 'undefined' ? (navigator.hardwareConcurrency || 2) : 2;\n\n/**\n * @module pool\n */\n\n/**\n * Pool for workers to decode chunks of the images.\n */\nclass Pool {\n /**\n * @constructor\n * @param {Number} [size] The size of the pool. Defaults to the number of CPUs\n * available. When this parameter is `null` or 0, then the\n * decoding will be done in the main thread.\n * @param {function(): Worker} [createWorker] A function that creates the decoder worker.\n * Defaults to a worker with all decoders that ship with geotiff.js. The `createWorker()`\n * function is expected to return a `Worker` compatible with Web Workers. For code that\n * runs in Node, [web-worker](https://www.npmjs.com/package/web-worker) is a good choice.\n *\n * A worker that uses a custom lzw decoder would look like this `my-custom-worker.js` file:\n * ```js\n * import { addDecoder, getDecoder } from 'geotiff';\n * addDecoder(5, () => import ('./my-custom-lzw').then((m) => m.default));\n * self.addEventListener('message', async (e) => {\n * const { id, fileDirectory, buffer } = e.data;\n * const decoder = await getDecoder(fileDirectory);\n * const decoded = await decoder.decode(fileDirectory, buffer);\n * self.postMessage({ decoded, id }, [decoded]);\n * });\n * ```\n * The way the above code is built into a worker by the `createWorker()` function\n * depends on the used bundler. For most bundlers, something like this will work:\n * ```js\n * function createWorker() {\n * return new Worker(new URL('./my-custom-worker.js', import.meta.url));\n * }\n * ```\n */\n constructor(size = defaultPoolSize, createWorker) {\n this.workers = null;\n this._awaitingDecoder = null;\n this.size = size;\n this.messageId = 0;\n if (size) {\n this._awaitingDecoder = createWorker ? Promise.resolve(createWorker) : new Promise((resolve) => {\n import('./worker/decoder.js').then((module) => {\n resolve(module.create);\n });\n });\n this._awaitingDecoder.then((create) => {\n this._awaitingDecoder = null;\n this.workers = [];\n for (let i = 0; i < size; i++) {\n this.workers.push({ worker: create(), idle: true });\n }\n });\n }\n }\n\n /**\n * Decode the given block of bytes with the set compression method.\n * @param {ArrayBuffer} buffer the array buffer of bytes to decode.\n * @returns {Promise} the decoded result as a `Promise`\n */\n async decode(fileDirectory, buffer) {\n if (this._awaitingDecoder) {\n await this._awaitingDecoder;\n }\n return this.size === 0\n ? getDecoder(fileDirectory).then((decoder) => decoder.decode(fileDirectory, buffer))\n : new Promise((resolve) => {\n const worker = this.workers.find((candidate) => candidate.idle)\n || this.workers[Math.floor(Math.random() * this.size)];\n worker.idle = false;\n const id = this.messageId++;\n const onMessage = (e) => {\n if (e.data.id === id) {\n worker.idle = true;\n resolve(e.data.decoded);\n worker.worker.removeEventListener('message', onMessage);\n }\n };\n worker.worker.addEventListener('message', onMessage);\n worker.worker.postMessage({ fileDirectory, buffer, id }, [buffer]);\n });\n }\n\n destroy() {\n if (this.workers) {\n this.workers.forEach((worker) => {\n worker.worker.terminate();\n });\n this.workers = null;\n }\n }\n}\n\nexport default Pool;\n","/**\n * @module ol/source/GeoTIFF\n */\nimport DataTile from './DataTile.js';\nimport TileGrid from '../tilegrid/TileGrid.js';\nimport {\n Pool,\n globals as geotiffGlobals,\n fromBlob as tiffFromBlob,\n fromUrl as tiffFromUrl,\n fromUrls as tiffFromUrls,\n} from 'geotiff';\nimport {\n Projection,\n get as getCachedProjection,\n toUserCoordinate,\n toUserExtent,\n} from '../proj.js';\nimport {clamp} from '../math.js';\nimport {getCenter, getIntersection} from '../extent.js';\nimport {error as logError} from '../console.js';\nimport {fromCode as unitsFromCode} from '../proj/Units.js';\n\n/**\n * Determine if an image type is a mask.\n * See https://www.awaresystems.be/imaging/tiff/tifftags/newsubfiletype.html\n * @param {GeoTIFFImage} image The image.\n * @return {boolean} The image is a mask.\n */\nfunction isMask(image) {\n const fileDirectory = image.fileDirectory;\n const type = fileDirectory.NewSubfileType || 0;\n return (type & 4) === 4;\n}\n\n/**\n * @param {true|false|'auto'} preference The convertToRGB option.\n * @param {GeoTIFFImage} image The image.\n * @return {boolean} Use the `image.readRGB()` method.\n */\nfunction readRGB(preference, image) {\n if (!preference) {\n return false;\n }\n if (preference === true) {\n return true;\n }\n if (image.getSamplesPerPixel() !== 3) {\n return false;\n }\n const interpretation = image.fileDirectory.PhotometricInterpretation;\n const interpretations = geotiffGlobals.photometricInterpretations;\n return (\n interpretation === interpretations.CMYK ||\n interpretation === interpretations.YCbCr ||\n interpretation === interpretations.CIELab ||\n interpretation === interpretations.ICCLab\n );\n}\n\n/**\n * @typedef {Object} SourceInfo\n * @property {string} [url] URL for the source GeoTIFF.\n * @property {Array} [overviews] List of any overview URLs, only applies if the url parameter is given.\n * @property {Blob} [blob] Blob containing the source GeoTIFF. `blob` and `url` are mutually exclusive.\n * @property {number} [min=0] The minimum source data value. Rendered values are scaled from 0 to 1 based on\n * the configured min and max. If not provided and raster statistics are available, those will be used instead.\n * If neither are available, the minimum for the data type will be used. To disable this behavior, set\n * the `normalize` option to `false` in the constructor.\n * @property {number} [max] The maximum source data value. Rendered values are scaled from 0 to 1 based on\n * the configured min and max. If not provided and raster statistics are available, those will be used instead.\n * If neither are available, the maximum for the data type will be used. To disable this behavior, set\n * the `normalize` option to `false` in the constructor.\n * @property {number} [nodata] Values to discard (overriding any nodata values in the metadata).\n * When provided, an additional alpha band will be added to the data. Often the GeoTIFF metadata\n * will include information about nodata values, so you should only need to set this property if\n * you find that it is not already extracted from the metadata.\n * @property {Array} [bands] Band numbers to be read from (where the first band is `1`). If not provided, all bands will\n * be read. For example, if a GeoTIFF has blue (1), green (2), red (3), and near-infrared (4) bands, and you only need the\n * near-infrared band, configure `bands: [4]`.\n */\n\n/**\n * @typedef {Object} GeoKeys\n * @property {number} GTModelTypeGeoKey Model type.\n * @property {number} GTRasterTypeGeoKey Raster type.\n * @property {number} GeogAngularUnitsGeoKey Angular units.\n * @property {number} GeogInvFlatteningGeoKey Inverse flattening.\n * @property {number} GeogSemiMajorAxisGeoKey Semi-major axis.\n * @property {number} GeographicTypeGeoKey Geographic coordinate system code.\n * @property {number} ProjLinearUnitsGeoKey Projected linear unit code.\n * @property {number} ProjectedCSTypeGeoKey Projected coordinate system code.\n */\n\n/**\n * @typedef {import(\"geotiff\").GeoTIFF} GeoTIFF\n */\n\n/**\n * @typedef {import(\"geotiff\").MultiGeoTIFF} MultiGeoTIFF\n */\n\n/**\n * @typedef {Object} GDALMetadata\n * @property {string} STATISTICS_MINIMUM The minimum value (as a string).\n * @property {string} STATISTICS_MAXIMUM The maximum value (as a string).\n */\n\nconst STATISTICS_MAXIMUM = 'STATISTICS_MAXIMUM';\nconst STATISTICS_MINIMUM = 'STATISTICS_MINIMUM';\n\nconst defaultTileSize = 256;\n\n/**\n * @typedef {import(\"geotiff\").GeoTIFFImage} GeoTIFFImage\n */\n\nlet workerPool;\nfunction getWorkerPool() {\n if (!workerPool) {\n workerPool = new Pool();\n }\n return workerPool;\n}\n\n/**\n * Get the bounding box of an image. If the image does not have an affine transform,\n * the pixel bounds are returned.\n * @param {GeoTIFFImage} image The image.\n * @return {Array} The image bounding box.\n */\nfunction getBoundingBox(image) {\n try {\n return image.getBoundingBox();\n } catch (_) {\n return [0, 0, image.getWidth(), image.getHeight()];\n }\n}\n\n/**\n * Get the origin of an image. If the image does not have an affine transform,\n * the top-left corner of the pixel bounds is returned.\n * @param {GeoTIFFImage} image The image.\n * @return {Array} The image origin.\n */\nfunction getOrigin(image) {\n try {\n return image.getOrigin().slice(0, 2);\n } catch (_) {\n return [0, image.getHeight()];\n }\n}\n\n/**\n * Get the resolution of an image. If the image does not have an affine transform,\n * the width of the image is compared with the reference image.\n * @param {GeoTIFFImage} image The image.\n * @param {GeoTIFFImage} referenceImage The reference image.\n * @return {Array} The map x and y units per pixel.\n */\nfunction getResolutions(image, referenceImage) {\n try {\n return image.getResolution(referenceImage);\n } catch (_) {\n return [\n referenceImage.getWidth() / image.getWidth(),\n referenceImage.getHeight() / image.getHeight(),\n ];\n }\n}\n\n/**\n * @param {GeoTIFFImage} image A GeoTIFF.\n * @return {import(\"../proj/Projection.js\").default} The image projection.\n */\nfunction getProjection(image) {\n const geoKeys = image.geoKeys;\n if (!geoKeys) {\n return null;\n }\n\n if (\n geoKeys.ProjectedCSTypeGeoKey &&\n geoKeys.ProjectedCSTypeGeoKey !== 32767\n ) {\n const code = 'EPSG:' + geoKeys.ProjectedCSTypeGeoKey;\n let projection = getCachedProjection(code);\n if (!projection) {\n const units = unitsFromCode(geoKeys.ProjLinearUnitsGeoKey);\n if (units) {\n projection = new Projection({\n code: code,\n units: units,\n });\n }\n }\n return projection;\n }\n\n if (geoKeys.GeographicTypeGeoKey && geoKeys.GeographicTypeGeoKey !== 32767) {\n const code = 'EPSG:' + geoKeys.GeographicTypeGeoKey;\n let projection = getCachedProjection(code);\n if (!projection) {\n const units = unitsFromCode(geoKeys.GeogAngularUnitsGeoKey);\n if (units) {\n projection = new Projection({\n code: code,\n units: units,\n });\n }\n }\n return projection;\n }\n\n return null;\n}\n\n/**\n * @param {GeoTIFF|MultiGeoTIFF} tiff A GeoTIFF.\n * @return {Promise>} Resolves to a list of images.\n */\nfunction getImagesForTIFF(tiff) {\n return tiff.getImageCount().then(function (count) {\n const requests = new Array(count);\n for (let i = 0; i < count; ++i) {\n requests[i] = tiff.getImage(i);\n }\n return Promise.all(requests);\n });\n}\n\n/**\n * @param {SourceInfo} source The GeoTIFF source.\n * @param {Object} options Options for the GeoTIFF source.\n * @return {Promise>} Resolves to a list of images.\n */\nfunction getImagesForSource(source, options) {\n let request;\n if (source.blob) {\n request = tiffFromBlob(source.blob);\n } else if (source.overviews) {\n request = tiffFromUrls(source.url, source.overviews, options);\n } else {\n request = tiffFromUrl(source.url, options);\n }\n return request.then(getImagesForTIFF);\n}\n\n/**\n * @param {number|Array|Array>} expected Expected value.\n * @param {number|Array|Array>} got Actual value.\n * @param {number} tolerance Accepted tolerance in fraction of expected between expected and got.\n * @param {string} message The error message.\n * @param {function(Error):void} rejector A function to be called with any error.\n */\nfunction assertEqual(expected, got, tolerance, message, rejector) {\n if (Array.isArray(expected)) {\n const length = expected.length;\n if (!Array.isArray(got) || length != got.length) {\n const error = new Error(message);\n rejector(error);\n throw error;\n }\n for (let i = 0; i < length; ++i) {\n assertEqual(expected[i], got[i], tolerance, message, rejector);\n }\n return;\n }\n\n got = /** @type {number} */ (got);\n if (Math.abs(expected - got) > tolerance * expected) {\n throw new Error(message);\n }\n}\n\n/**\n * @param {Array} array The data array.\n * @return {number} The minimum value.\n */\nfunction getMinForDataType(array) {\n if (array instanceof Int8Array) {\n return -128;\n }\n if (array instanceof Int16Array) {\n return -32768;\n }\n if (array instanceof Int32Array) {\n return -2147483648;\n }\n if (array instanceof Float32Array) {\n return 1.2e-38;\n }\n return 0;\n}\n\n/**\n * @param {Array} array The data array.\n * @return {number} The maximum value.\n */\nfunction getMaxForDataType(array) {\n if (array instanceof Int8Array) {\n return 127;\n }\n if (array instanceof Uint8Array) {\n return 255;\n }\n if (array instanceof Uint8ClampedArray) {\n return 255;\n }\n if (array instanceof Int16Array) {\n return 32767;\n }\n if (array instanceof Uint16Array) {\n return 65535;\n }\n if (array instanceof Int32Array) {\n return 2147483647;\n }\n if (array instanceof Uint32Array) {\n return 4294967295;\n }\n if (array instanceof Float32Array) {\n return 3.4e38;\n }\n return 255;\n}\n\n/**\n * @typedef {Object} GeoTIFFSourceOptions\n * @property {boolean} [forceXHR=false] Whether to force the usage of the browsers XMLHttpRequest API.\n * @property {Object} [headers] additional key-value pairs of headers to be passed with each request. Key is the header name, value the header value.\n * @property {string} [credentials] How credentials shall be handled. See\n * https://developer.mozilla.org/en-US/docs/Web/API/fetch for reference and possible values\n * @property {number} [maxRanges] The maximum amount of ranges to request in a single multi-range request.\n * By default only a single range is used.\n * @property {boolean} [allowFullFile=false] Whether or not a full file is accepted when only a portion is\n * requested. Only use this when you know the source image to be small enough to fit in memory.\n * @property {number} [blockSize=65536] The block size to use.\n * @property {number} [cacheSize=100] The number of blocks that shall be held in a LRU cache.\n */\n\n/**\n * @typedef {Object} Options\n * @property {Array} sources List of information about GeoTIFF sources.\n * Multiple sources can be combined when their resolution sets are equal after applying a scale.\n * The list of sources defines a mapping between input bands as they are read from each GeoTIFF and\n * the output bands that are provided by data tiles. To control which bands to read from each GeoTIFF,\n * use the {@link import(\"./GeoTIFF.js\").SourceInfo bands} property. If, for example, you specify two\n * sources, one with 3 bands and {@link import(\"./GeoTIFF.js\").SourceInfo nodata} configured, and\n * another with 1 band, the resulting data tiles will have 5 bands: 3 from the first source, 1 alpha\n * band from the first source, and 1 band from the second source.\n * @property {GeoTIFFSourceOptions} [sourceOptions] Additional options to be passed to [geotiff.js](https://geotiffjs.github.io/geotiff.js/module-geotiff.html)'s `fromUrl` or `fromUrls` methods.\n * @property {true|false|'auto'} [convertToRGB=false] By default, bands from the sources are read as-is. When\n * reading GeoTIFFs with the purpose of displaying them as RGB images, setting this to `true` will\n * convert other color spaces (YCbCr, CMYK) to RGB. Setting the option to `'auto'` will make it so CMYK, YCbCr,\n * CIELab, and ICCLab images will automatically be converted to RGB.\n * @property {boolean} [normalize=true] By default, the source data is normalized to values between\n * 0 and 1 with scaling factors based on the raster statistics or `min` and `max` properties of each source.\n * If instead you want to work with the raw values in a style expression, set this to `false`. Setting this option\n * to `false` will make it so any `min` and `max` properties on sources are ignored.\n * @property {boolean} [opaque=false] Whether the layer is opaque.\n * @property {import(\"../proj.js\").ProjectionLike} [projection] Source projection. If not provided, the GeoTIFF metadata\n * will be read for projection information.\n * @property {number} [transition=250] Duration of the opacity transition for rendering.\n * To disable the opacity transition, pass `transition: 0`.\n * @property {boolean} [wrapX=false] Render tiles beyond the tile grid extent.\n * @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,\n * the linear interpolation is used to resample the data. If false, nearest neighbor is used.\n */\n\n/**\n * @classdesc\n * A source for working with GeoTIFF data.\n * **Note for users of the full build**: The `GeoTIFF` source requires the\n * [geotiff.js](https://github.com/geotiffjs/geotiff.js) library to be loaded as well.\n *\n * @api\n */\nclass GeoTIFFSource extends DataTile {\n /**\n * @param {Options} options Data tile options.\n */\n constructor(options) {\n super({\n state: 'loading',\n tileGrid: null,\n projection: options.projection || null,\n opaque: options.opaque,\n transition: options.transition,\n interpolate: options.interpolate !== false,\n wrapX: options.wrapX,\n });\n\n /**\n * @type {Array}\n * @private\n */\n this.sourceInfo_ = options.sources;\n\n const numSources = this.sourceInfo_.length;\n\n /**\n * @type {Object}\n * @private\n */\n this.sourceOptions_ = options.sourceOptions;\n\n /**\n * @type {Array>}\n * @private\n */\n this.sourceImagery_ = new Array(numSources);\n\n /**\n * @type {Array>}\n * @private\n */\n this.sourceMasks_ = new Array(numSources);\n\n /**\n * @type {Array}\n * @private\n */\n this.resolutionFactors_ = new Array(numSources);\n\n /**\n * @type {Array}\n * @private\n */\n this.samplesPerPixel_;\n\n /**\n * @type {Array>}\n * @private\n */\n this.nodataValues_;\n\n /**\n * @type {Array>}\n * @private\n */\n this.metadata_;\n\n /**\n * @type {boolean}\n * @private\n */\n this.normalize_ = options.normalize !== false;\n\n /**\n * @type {boolean}\n * @private\n */\n this.addAlpha_ = false;\n\n /**\n * @type {Error}\n * @private\n */\n this.error_ = null;\n\n /**\n * @type {true|false|'auto'}\n */\n this.convertToRGB_ = options.convertToRGB || false;\n\n this.setKey(this.sourceInfo_.map((source) => source.url).join(','));\n\n const self = this;\n const requests = new Array(numSources);\n for (let i = 0; i < numSources; ++i) {\n requests[i] = getImagesForSource(\n this.sourceInfo_[i],\n this.sourceOptions_,\n );\n }\n Promise.all(requests)\n .then(function (sources) {\n self.configure_(sources);\n })\n .catch(function (error) {\n logError(error);\n self.error_ = error;\n self.setState('error');\n });\n }\n\n /**\n * @return {Error} A source loading error. When the source state is `error`, use this function\n * to get more information about the error. To debug a faulty configuration, you may want to use\n * a listener like\n * ```js\n * geotiffSource.on('change', () => {\n * if (geotiffSource.getState() === 'error') {\n * console.error(geotiffSource.getError());\n * }\n * });\n * ```\n */\n getError() {\n return this.error_;\n }\n\n /**\n * Determine the projection of the images in this GeoTIFF.\n * The default implementation looks at the ProjectedCSTypeGeoKey and the GeographicTypeGeoKey\n * of each image in turn.\n * You can override this method in a subclass to support more projections.\n *\n * @param {Array>} sources Each source is a list of images\n * from a single GeoTIFF.\n */\n determineProjection(sources) {\n const firstSource = sources[0];\n for (let i = firstSource.length - 1; i >= 0; --i) {\n const image = firstSource[i];\n const projection = getProjection(image);\n if (projection) {\n this.projection = projection;\n break;\n }\n }\n }\n\n /**\n * Configure the tile grid based on images within the source GeoTIFFs. Each GeoTIFF\n * must have the same internal tiled structure.\n * @param {Array>} sources Each source is a list of images\n * from a single GeoTIFF.\n * @private\n */\n configure_(sources) {\n let extent;\n let origin;\n let commonRenderTileSizes;\n let commonSourceTileSizes;\n let resolutions;\n const samplesPerPixel = new Array(sources.length);\n const nodataValues = new Array(sources.length);\n const metadata = new Array(sources.length);\n let minZoom = 0;\n\n const sourceCount = sources.length;\n for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n const images = [];\n const masks = [];\n sources[sourceIndex].forEach((item) => {\n if (isMask(item)) {\n masks.push(item);\n } else {\n images.push(item);\n }\n });\n\n const imageCount = images.length;\n if (masks.length > 0 && masks.length !== imageCount) {\n throw new Error(\n `Expected one mask per image found ${masks.length} masks and ${imageCount} images`,\n );\n }\n\n let sourceExtent;\n let sourceOrigin;\n const sourceTileSizes = new Array(imageCount);\n const renderTileSizes = new Array(imageCount);\n const sourceResolutions = new Array(imageCount);\n\n nodataValues[sourceIndex] = new Array(imageCount);\n metadata[sourceIndex] = new Array(imageCount);\n\n for (let imageIndex = 0; imageIndex < imageCount; ++imageIndex) {\n const image = images[imageIndex];\n const nodataValue = image.getGDALNoData();\n metadata[sourceIndex][imageIndex] = image.getGDALMetadata(0);\n nodataValues[sourceIndex][imageIndex] = nodataValue;\n\n const wantedSamples = this.sourceInfo_[sourceIndex].bands;\n samplesPerPixel[sourceIndex] = wantedSamples\n ? wantedSamples.length\n : image.getSamplesPerPixel();\n const level = imageCount - (imageIndex + 1);\n\n if (!sourceExtent) {\n sourceExtent = getBoundingBox(image);\n }\n\n if (!sourceOrigin) {\n sourceOrigin = getOrigin(image);\n }\n\n const imageResolutions = getResolutions(image, images[0]);\n sourceResolutions[level] = imageResolutions[0];\n\n const sourceTileSize = [image.getTileWidth(), image.getTileHeight()];\n\n // request larger blocks for untiled layouts\n if (\n sourceTileSize[0] !== sourceTileSize[1] &&\n sourceTileSize[1] < defaultTileSize\n ) {\n sourceTileSize[0] = defaultTileSize;\n sourceTileSize[1] = defaultTileSize;\n }\n\n sourceTileSizes[level] = sourceTileSize;\n\n const aspectRatio = imageResolutions[0] / Math.abs(imageResolutions[1]);\n renderTileSizes[level] = [\n sourceTileSize[0],\n sourceTileSize[1] / aspectRatio,\n ];\n }\n\n if (!extent) {\n extent = sourceExtent;\n } else {\n getIntersection(extent, sourceExtent, extent);\n }\n\n if (!origin) {\n origin = sourceOrigin;\n } else {\n const message = `Origin mismatch for source ${sourceIndex}, got [${sourceOrigin}] but expected [${origin}]`;\n assertEqual(origin, sourceOrigin, 0, message, this.viewRejector);\n }\n\n if (!resolutions) {\n resolutions = sourceResolutions;\n this.resolutionFactors_[sourceIndex] = 1;\n } else {\n if (resolutions.length - minZoom > sourceResolutions.length) {\n minZoom = resolutions.length - sourceResolutions.length;\n }\n const resolutionFactor =\n resolutions[resolutions.length - 1] /\n sourceResolutions[sourceResolutions.length - 1];\n this.resolutionFactors_[sourceIndex] = resolutionFactor;\n const scaledSourceResolutions = sourceResolutions.map(\n (resolution) => (resolution *= resolutionFactor),\n );\n const message = `Resolution mismatch for source ${sourceIndex}, got [${scaledSourceResolutions}] but expected [${resolutions}]`;\n assertEqual(\n resolutions.slice(minZoom, resolutions.length),\n scaledSourceResolutions,\n 0.02,\n message,\n this.viewRejector,\n );\n }\n\n if (!commonRenderTileSizes) {\n commonRenderTileSizes = renderTileSizes;\n } else {\n assertEqual(\n commonRenderTileSizes.slice(minZoom, commonRenderTileSizes.length),\n renderTileSizes,\n 0.01,\n `Tile size mismatch for source ${sourceIndex}`,\n this.viewRejector,\n );\n }\n\n if (!commonSourceTileSizes) {\n commonSourceTileSizes = sourceTileSizes;\n } else {\n assertEqual(\n commonSourceTileSizes.slice(minZoom, commonSourceTileSizes.length),\n sourceTileSizes,\n 0,\n `Tile size mismatch for source ${sourceIndex}`,\n this.viewRejector,\n );\n }\n\n this.sourceImagery_[sourceIndex] = images.reverse();\n this.sourceMasks_[sourceIndex] = masks.reverse();\n }\n\n for (let i = 0, ii = this.sourceImagery_.length; i < ii; ++i) {\n const sourceImagery = this.sourceImagery_[i];\n while (sourceImagery.length < resolutions.length) {\n sourceImagery.unshift(undefined);\n }\n }\n\n if (!this.getProjection()) {\n this.determineProjection(sources);\n }\n\n this.samplesPerPixel_ = samplesPerPixel;\n this.nodataValues_ = nodataValues;\n this.metadata_ = metadata;\n\n // decide if we need to add an alpha band to handle nodata\n outer: for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n // option 1: source is configured with a nodata value\n if (this.sourceInfo_[sourceIndex].nodata !== undefined) {\n this.addAlpha_ = true;\n break;\n }\n if (this.sourceMasks_[sourceIndex].length) {\n this.addAlpha_ = true;\n break;\n }\n\n const values = nodataValues[sourceIndex];\n\n // option 2: check image metadata for limited bands\n const bands = this.sourceInfo_[sourceIndex].bands;\n if (bands) {\n for (let i = 0; i < bands.length; ++i) {\n if (values[bands[i] - 1] !== null) {\n this.addAlpha_ = true;\n break outer;\n }\n }\n continue;\n }\n\n // option 3: check image metadata for all bands\n for (let imageIndex = 0; imageIndex < values.length; ++imageIndex) {\n if (values[imageIndex] !== null) {\n this.addAlpha_ = true;\n break outer;\n }\n }\n }\n\n let bandCount = this.addAlpha_ ? 1 : 0;\n for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n bandCount += samplesPerPixel[sourceIndex];\n }\n this.bandCount = bandCount;\n\n const tileGrid = new TileGrid({\n extent: extent,\n minZoom: minZoom,\n origin: origin,\n resolutions: resolutions,\n tileSizes: commonRenderTileSizes,\n });\n\n this.tileGrid = tileGrid;\n this.setTileSizes(commonSourceTileSizes);\n\n this.setLoader(this.loadTile_.bind(this));\n this.setState('ready');\n\n const zoom = 1;\n if (resolutions.length === 2) {\n resolutions = [resolutions[0], resolutions[1], resolutions[1] / 2];\n } else if (resolutions.length === 1) {\n resolutions = [resolutions[0] * 2, resolutions[0], resolutions[0] / 2];\n }\n\n this.viewResolver({\n showFullExtent: true,\n projection: this.projection,\n resolutions: resolutions,\n center: toUserCoordinate(getCenter(extent), this.projection),\n extent: toUserExtent(extent, this.projection),\n zoom: zoom,\n });\n }\n\n /**\n * @param {number} z The z tile index.\n * @param {number} x The x tile index.\n * @param {number} y The y tile index.\n * @return {Promise} The composed tile data.\n * @private\n */\n loadTile_(z, x, y) {\n const sourceTileSize = this.getTileSize(z);\n const sourceCount = this.sourceImagery_.length;\n const requests = new Array(sourceCount * 2);\n const nodataValues = this.nodataValues_;\n const sourceInfo = this.sourceInfo_;\n const pool = getWorkerPool();\n for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n const source = sourceInfo[sourceIndex];\n const resolutionFactor = this.resolutionFactors_[sourceIndex];\n const pixelBounds = [\n Math.round(x * (sourceTileSize[0] * resolutionFactor)),\n Math.round(y * (sourceTileSize[1] * resolutionFactor)),\n Math.round((x + 1) * (sourceTileSize[0] * resolutionFactor)),\n Math.round((y + 1) * (sourceTileSize[1] * resolutionFactor)),\n ];\n const image = this.sourceImagery_[sourceIndex][z];\n let samples;\n if (source.bands) {\n samples = source.bands.map(function (bandNumber) {\n return bandNumber - 1;\n });\n }\n\n /** @type {number|Array} */\n let fillValue;\n if ('nodata' in source && source.nodata !== null) {\n fillValue = source.nodata;\n } else {\n if (!samples) {\n fillValue = nodataValues[sourceIndex];\n } else {\n fillValue = samples.map(function (sampleIndex) {\n return nodataValues[sourceIndex][sampleIndex];\n });\n }\n }\n\n const readOptions = {\n window: pixelBounds,\n width: sourceTileSize[0],\n height: sourceTileSize[1],\n samples: samples,\n fillValue: fillValue,\n pool: pool,\n interleave: false,\n };\n if (readRGB(this.convertToRGB_, image)) {\n requests[sourceIndex] = image.readRGB(readOptions);\n } else {\n requests[sourceIndex] = image.readRasters(readOptions);\n }\n\n // requests after `sourceCount` are for mask data (if any)\n const maskIndex = sourceCount + sourceIndex;\n const mask = this.sourceMasks_[sourceIndex][z];\n if (!mask) {\n requests[maskIndex] = Promise.resolve(null);\n continue;\n }\n\n requests[maskIndex] = mask.readRasters({\n window: pixelBounds,\n width: sourceTileSize[0],\n height: sourceTileSize[1],\n samples: [0],\n pool: pool,\n interleave: false,\n });\n }\n\n return Promise.all(requests)\n .then(this.composeTile_.bind(this, sourceTileSize))\n .catch(function (error) {\n logError(error);\n throw error;\n });\n }\n\n /**\n * @param {import(\"../size.js\").Size} sourceTileSize The source tile size.\n * @param {Array} sourceSamples The source samples.\n * @return {import(\"../DataTile.js\").Data} The composed tile data.\n * @private\n */\n composeTile_(sourceTileSize, sourceSamples) {\n const metadata = this.metadata_;\n const sourceInfo = this.sourceInfo_;\n const sourceCount = this.sourceImagery_.length;\n const bandCount = this.bandCount;\n const samplesPerPixel = this.samplesPerPixel_;\n const nodataValues = this.nodataValues_;\n const normalize = this.normalize_;\n const addAlpha = this.addAlpha_;\n\n const pixelCount = sourceTileSize[0] * sourceTileSize[1];\n const dataLength = pixelCount * bandCount;\n\n /** @type {Uint8Array|Float32Array} */\n let data;\n if (normalize) {\n data = new Uint8Array(dataLength);\n } else {\n data = new Float32Array(dataLength);\n }\n\n let dataIndex = 0;\n for (let pixelIndex = 0; pixelIndex < pixelCount; ++pixelIndex) {\n let transparent = addAlpha;\n for (let sourceIndex = 0; sourceIndex < sourceCount; ++sourceIndex) {\n const source = sourceInfo[sourceIndex];\n\n let min = source.min;\n let max = source.max;\n let gain, bias;\n if (normalize) {\n const stats = metadata[sourceIndex][0];\n if (min === undefined) {\n if (stats && STATISTICS_MINIMUM in stats) {\n min = parseFloat(stats[STATISTICS_MINIMUM]);\n } else {\n min = getMinForDataType(sourceSamples[sourceIndex][0]);\n }\n }\n if (max === undefined) {\n if (stats && STATISTICS_MAXIMUM in stats) {\n max = parseFloat(stats[STATISTICS_MAXIMUM]);\n } else {\n max = getMaxForDataType(sourceSamples[sourceIndex][0]);\n }\n }\n\n gain = 255 / (max - min);\n bias = -min * gain;\n }\n\n for (\n let sampleIndex = 0;\n sampleIndex < samplesPerPixel[sourceIndex];\n ++sampleIndex\n ) {\n const sourceValue =\n sourceSamples[sourceIndex][sampleIndex][pixelIndex];\n\n let value;\n if (normalize) {\n value = clamp(gain * sourceValue + bias, 0, 255);\n } else {\n value = sourceValue;\n }\n\n if (!addAlpha) {\n data[dataIndex] = value;\n } else {\n let nodata = source.nodata;\n if (nodata === undefined) {\n let bandIndex;\n if (source.bands) {\n bandIndex = source.bands[sampleIndex] - 1;\n } else {\n bandIndex = sampleIndex;\n }\n nodata = nodataValues[sourceIndex][bandIndex];\n }\n\n const nodataIsNaN = isNaN(nodata);\n if (\n (!nodataIsNaN && sourceValue !== nodata) ||\n (nodataIsNaN && !isNaN(sourceValue))\n ) {\n transparent = false;\n data[dataIndex] = value;\n }\n }\n dataIndex++;\n }\n if (!transparent) {\n const maskIndex = sourceCount + sourceIndex;\n const mask = sourceSamples[maskIndex];\n if (mask && !mask[0][pixelIndex]) {\n transparent = true;\n }\n }\n }\n if (addAlpha) {\n if (!transparent) {\n data[dataIndex] = 255;\n }\n dataIndex++;\n }\n }\n\n return data;\n }\n}\n\n/**\n * Get a promise for view properties based on the source. Use the result of this function\n * as the `view` option in a map constructor.\n *\n * const source = new GeoTIFF(options);\n *\n * const map = new Map({\n * target: 'map',\n * layers: [\n * new TileLayer({\n * source: source,\n * }),\n * ],\n * view: source.getView(),\n * });\n *\n * @function\n * @return {Promise} A promise for view-related properties.\n * @api\n *\n */\nGeoTIFFSource.prototype.getView;\n\nexport default GeoTIFFSource;\n","// Use this separately until https://github.com/Viglino/ol-ext/pull/1087 is released\n/*\n Copyright (c) 2015 Jean-Marc VIGLINO,\n released under the CeCILL-B license (French BSD license)\n (http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt).\n*/\n\nimport ol_control_Control from 'ol/control/Control.js'\n\n/**\n * @classdesc Swipe Control.\n * @fires moving\n * @constructor\n * @extends {ol_control_Control}\n * @param {Object=} Control options.\n * @param {ol.layer|Array} options.layers layers to swipe\n * @param {ol.layer|Array} options.rightLayers layers to swipe on right side\n * @param {string} options.className control class name\n * @param {number} options.position position property of the swipe [0,1], default 0.5\n * @param {string} options.orientation orientation property (vertical|horizontal), default vertical\n */\nvar ol_control_Swipe = class olcontrolSwipe extends ol_control_Control {\n constructor(options) {\n options = options || {};\n\n var element = document.createElement('div');\n super({\n element: element\n });\n \n element.className = (options.className || 'ol-swipe') + ' ol-unselectable ol-control';\n var button = document.createElement('button');\n element.appendChild(button);\n\n element.addEventListener('mousedown', this.move.bind(this));\n element.addEventListener('touchstart', this.move.bind(this));\n\n // An array of listener on layer postcompose\n this.precomposeRight_ = this.precomposeRight.bind(this);\n this.precomposeLeft_ = this.precomposeLeft.bind(this);\n this.postcompose_ = this.postcompose.bind(this);\n\n this.layers = [];\n if (options.layers)\n this.addLayer(options.layers, false);\n if (options.rightLayers)\n this.addLayer(options.rightLayers, true);\n\n this.on('propertychange', function (e) {\n if (this.getMap()) {\n try { this.getMap().renderSync(); } catch (e) { /* ok */ }\n }\n if (this.get('orientation') === \"horizontal\") {\n this.element.style.top = this.get('position') * 100 + \"%\";\n this.element.style.left = \"\";\n } else {\n if (this.get('orientation') !== \"vertical\")\n this.set('orientation', \"vertical\");\n this.element.style.left = this.get('position') * 100 + \"%\";\n this.element.style.top = \"\";\n }\n if (e.key === 'orientation') {\n this.element.classList.remove(\"horizontal\", \"vertical\");\n this.element.classList.add(this.get('orientation'));\n }\n // Force VectorImage to refresh\n if (!this.isMoving) {\n this.layers.forEach(function (l) {\n if (l.layer.getImageRatio)\n l.layer.changed();\n });\n }\n }.bind(this));\n\n this.set('position', options.position || 0.5);\n this.set('orientation', options.orientation || 'vertical');\n }\n /**\n * Set the map instance the control associated with.\n * @param {_ol_Map_} map The map instance.\n */\n setMap(map) {\n var i;\n var l;\n\n if (this.getMap()) {\n for (i = 0; i < this.layers.length; i++) {\n l = this.layers[i];\n if (l.right)\n l.layer.un(['precompose', 'prerender'], this.precomposeRight_);\n else\n l.layer.un(['precompose', 'prerender'], this.precomposeLeft_);\n l.layer.un(['postcompose', 'postrender'], this.postcompose_);\n }\n try { this.getMap().renderSync(); } catch (e) { /* ok */ }\n }\n\n super.setMap(map);\n\n if (map) {\n this._listener = [];\n for (i = 0; i < this.layers.length; i++) {\n l = this.layers[i];\n if (l.right)\n l.layer.on(['precompose', 'prerender'], this.precomposeRight_);\n else\n l.layer.on(['precompose', 'prerender'], this.precomposeLeft_);\n l.layer.on(['postcompose', 'postrender'], this.postcompose_);\n }\n try { map.renderSync(); } catch (e) { /* ok */ }\n }\n }\n /** @private\n */\n isLayer_(layer) {\n for (var k = 0; k < this.layers.length; k++) {\n if (this.layers[k].layer === layer)\n return k;\n }\n return -1;\n }\n /** Add a layer to clip\n *\t@param {ol.layer|Array} layer to clip\n *\t@param {bool} add layer in the right part of the map, default left.\n */\n addLayer(layers, right) {\n if (!(layers instanceof Array))\n layers = [layers];\n for (var i = 0; i < layers.length; i++) {\n var l = layers[i];\n if (this.isLayer_(l) < 0) {\n this.layers.push({ layer: l, right: right });\n if (this.getMap()) {\n if (right)\n l.on(['precompose', 'prerender'], this.precomposeRight_);\n else\n l.on(['precompose', 'prerender'], this.precomposeLeft_);\n l.on(['postcompose', 'postrender'], this.postcompose_);\n try { this.getMap().renderSync(); } catch (e) { /* ok */ }\n }\n }\n }\n }\n /** Remove all layers\n */\n removeLayers() {\n var layers = [];\n this.layers.forEach(function (l) { layers.push(l.layer); });\n this.removeLayer(layers);\n }\n /** Remove a layer to clip\n *\t@param {ol.layer|Array} layer to clip\n */\n removeLayer(layers) {\n if (!(layers instanceof Array))\n layers = [layers];\n for (var i = 0; i < layers.length; i++) {\n var k = this.isLayer_(layers[i]);\n if (k >= 0 && this.getMap()) {\n if (this.layers[k].right)\n layers[i].un(['precompose', 'prerender'], this.precomposeRight_);\n else\n layers[i].un(['precompose', 'prerender'], this.precomposeLeft_);\n layers[i].un(['postcompose', 'postrender'], this.postcompose_);\n this.layers.splice(k, 1);\n }\n }\n if (this.getMap()) {\n try { this.getMap().renderSync(); } catch (e) { /* ok */ }\n }\n }\n /** Get visible rectangle\n * @returns {ol.extent}\n */\n getRectangle() {\n var s;\n if (this.get('orientation') === 'vertical') {\n s = this.getMap().getSize();\n return [0, 0, s[0] * this.get('position'), s[1]];\n } else {\n s = this.getMap().getSize();\n return [0, 0, s[0], s[1] * this.get('position')];\n }\n }\n /** @private\n */\n move(e) {\n var self = this;\n var l;\n if (!this._movefn)\n this._movefn = this.move.bind(this);\n switch (e.type) {\n case 'touchcancel':\n case 'touchend':\n case 'mouseup': {\n self.isMoving = false;\n [\"mouseup\", \"mousemove\", \"touchend\", \"touchcancel\", \"touchmove\"]\n .forEach(function (eventName) {\n document.removeEventListener(eventName, self._movefn);\n });\n // Force VectorImage to refresh\n this.layers.forEach(function (l) {\n if (l.layer.getImageRatio)\n l.layer.changed();\n });\n break;\n }\n case 'mousedown':\n case 'touchstart': {\n self.isMoving = true;\n [\"mouseup\", \"mousemove\", \"touchend\", \"touchcancel\", \"touchmove\"]\n .forEach(function (eventName) {\n document.addEventListener(eventName, self._movefn);\n });\n }\n // fallthrough\n case 'mousemove':\n case 'touchmove': {\n if (self.isMoving) {\n if (self.get('orientation') === 'vertical') {\n var pageX = e.pageX\n || (e.touches && e.touches.length && e.touches[0].pageX)\n || (e.changedTouches && e.changedTouches.length && e.changedTouches[0].pageX);\n if (!pageX)\n break;\n pageX -= self.getMap().getTargetElement().getBoundingClientRect().left +\n window.pageXOffset - document.documentElement.clientLeft;\n\n l = self.getMap().getSize()[0];\n var w = l - Math.min(Math.max(0, l - pageX), l);\n l = w / l;\n self.set('position', l);\n self.dispatchEvent({ type: 'moving', size: [w, self.getMap().getSize()[1]], position: [l, 0] });\n } else {\n var pageY = e.pageY\n || (e.touches && e.touches.length && e.touches[0].pageY)\n || (e.changedTouches && e.changedTouches.length && e.changedTouches[0].pageY);\n if (!pageY)\n break;\n pageY -= self.getMap().getTargetElement().getBoundingClientRect().top +\n window.pageYOffset - document.documentElement.clientTop;\n\n l = self.getMap().getSize()[1];\n var h = l - Math.min(Math.max(0, l - pageY), l);\n l = h / l;\n self.set('position', l);\n self.dispatchEvent({ type: 'moving', size: [self.getMap().getSize()[0], h], position: [0, l] });\n }\n }\n break;\n }\n default: break;\n }\n }\n /** @private\n */\n _transformPt(e, pt) {\n var tr = e.inversePixelTransform;\n var x = pt[0];\n var y = pt[1];\n pt[0] = tr[0] * x + tr[2] * y + tr[4];\n pt[1] = tr[1] * x + tr[3] * y + tr[5];\n return pt;\n }\n /** @private\n */\n _drawRect(e, pts) {\n var tr = e.inversePixelTransform;\n if (tr) {\n var r = [\n [pts[0][0], pts[0][1]],\n [pts[0][0], pts[1][1]],\n [pts[1][0], pts[1][1]],\n [pts[1][0], pts[0][1]],\n [pts[0][0], pts[0][1]]\n ];\n e.context.save();\n // Rotate VectorImages \n if (e.target.getImageRatio) {\n var rot = -Math.atan2(e.frameState.pixelToCoordinateTransform[1], e.frameState.pixelToCoordinateTransform[0]);\n e.context.translate(e.frameState.size[0] / 2, e.frameState.size[1] / 2);\n e.context.rotate(rot);\n e.context.translate(-e.frameState.size[0] / 2, -e.frameState.size[1] / 2);\n }\n r.forEach(function (pt, i) {\n pt = [\n (pt[0] * tr[0] - pt[1] * tr[1] + tr[4]),\n (-pt[0] * tr[2] + pt[1] * tr[3] + tr[5])\n ];\n if (!i) {\n e.context.moveTo(pt[0], pt[1]);\n } else {\n e.context.lineTo(pt[0], pt[1]);\n }\n });\n e.context.restore();\n } else {\n var ratio = e.frameState.pixelRatio;\n e.context.rect(pts[0][0] * ratio, pts[0][1] * ratio, pts[1][0] * ratio, pts[1][1] * ratio);\n }\n }\n /** @private\n */\n precomposeLeft(e) {\n var ctx = e.context;\n if (ctx instanceof WebGLRenderingContext) {\n if (e.type === 'prerender') {\n // Clear\n if (this._lefttime != e.frameState.time) {\n ctx.clearColor(0, 0, 0, 0);\n ctx.clear(ctx.COLOR_BUFFER_BIT);\n this._lefttime = e.frameState.time;\n }\n\n // Clip\n ctx.enable(ctx.SCISSOR_TEST);\n\n var mapSize = this.getMap().getSize(); // [width, height] in CSS pixels\n\n\n // get render coordinates and dimensions given CSS coordinates\n var bottomLeft = this._transformPt(e, [0, mapSize[1]]);\n var topRight = this._transformPt(e, [mapSize[0], 0]);\n\n var fullWidth = topRight[0] - bottomLeft[0];\n var fullHeight = topRight[1] - bottomLeft[1];\n var width, height;\n if (this.get('orientation') === \"vertical\") {\n width = Math.round(fullWidth * this.get('position'));\n height = fullHeight;\n } else {\n width = fullWidth;\n height = Math.round((fullHeight * this.get('position')));\n bottomLeft[1] += fullHeight - height;\n }\n ctx.scissor(bottomLeft[0], bottomLeft[1], width, height);\n ctx.clearColor(0, 0, 0, 0);\n ctx.clear(ctx.COLOR_BUFFER_BIT);\n }\n } else {\n var size = e.frameState.size;\n ctx.save();\n ctx.beginPath();\n var pts = [[0, 0], [size[0], size[1]]];\n if (this.get('orientation') === \"vertical\") {\n pts[1] = [\n size[0] * .5 + this.getMap().getSize()[0] * (this.get('position') - .5),\n size[1]\n ];\n } else {\n pts[1] = [\n size[0],\n size[1] * .5 + this.getMap().getSize()[1] * (this.get('position') - .5)\n ];\n }\n this._drawRect(e, pts);\n ctx.clip();\n }\n }\n /** @private\n */\n precomposeRight(e) {\n var ctx = e.context;\n if (ctx instanceof WebGLRenderingContext) {\n if (e.type === 'prerender') {\n // Clear\n if (this._righttime != e.frameState.time) {\n ctx.clearColor(0, 0, 0, 0);\n ctx.clear(ctx.COLOR_BUFFER_BIT);\n this._righttime = e.frameState.time;\n }\n\n // Clip\n ctx.enable(ctx.SCISSOR_TEST);\n\n var mapSize = this.getMap().getSize(); // [width, height] in CSS pixels\n\n\n // get render coordinates and dimensions given CSS coordinates\n var bottomLeft = this._transformPt(e, [0, mapSize[1]]);\n var topRight = this._transformPt(e, [mapSize[0], 0]);\n\n var fullWidth = topRight[0] - bottomLeft[0];\n var fullHeight = topRight[1] - bottomLeft[1];\n var width, height;\n if (this.get('orientation') === \"vertical\") {\n height = fullHeight;\n width = Math.round(fullWidth * (1 - this.get('position')));\n bottomLeft[0] += fullWidth - width;\n } else {\n width = fullWidth;\n height = Math.round(fullHeight * (1 - this.get('position')));\n }\n ctx.scissor(bottomLeft[0], bottomLeft[1], width, height);\n ctx.clearColor(0, 0, 0, 0);\n ctx.clear(ctx.COLOR_BUFFER_BIT);\n }\n } else {\n var size = e.frameState.size;\n ctx.save();\n ctx.beginPath();\n var pts = [[0, 0], [size[0], size[1]]];\n if (this.get('orientation') === \"vertical\") {\n pts[0] = [\n size[0] * .5 + this.getMap().getSize()[0] * (this.get('position') - .5),\n 0\n ];\n } else {\n pts[0] = [\n 0,\n size[1] * .5 + this.getMap().getSize()[1] * (this.get('position') - .5)\n ];\n }\n this._drawRect(e, pts);\n ctx.clip();\n }\n }\n /** @private\n */\n postcompose(e) {\n if (e.context instanceof WebGLRenderingContext) {\n if (e.type === 'postrender') {\n var gl = e.context;\n gl.disable(gl.SCISSOR_TEST);\n }\n } else {\n // restore context when decluttering is done (ol>=6)\n // https://github.com/openlayers/openlayers/issues/10096\n if (e.target.getClassName && e.target.getClassName() !== 'ol-layer' && e.target.get('declutter')) {\n setTimeout(function () {\n e.context.restore();\n }, 0);\n } else {\n e.context.restore();\n }\n }\n }\n}\n\nexport default ol_control_Swipe\n","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapViewer.vue?vue&type=template&id=76347783\"\nimport script from \"./MapViewer.vue?vue&type=script&lang=js\"\nexport * from \"./MapViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"../maps/MapMixin.scss?vue&type=style&index=0&prod&lang=scss&external\"\nimport style1 from \"./MapViewer.vue?vue&type=style&index=1&id=76347783&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["e","t","module","exports","this","s","r","n","o","a","i","l","default","c","d","u","p","h","m","g","y","f","b","w","v","$","namespace","spin","hidden","address","country","city","road","olControl","glass","container","control","button","input","expanded","reset","result","inputText","icon","k","containerId","buttonControlId","inputQueryId","inputResetId","cssClasses","x","Object","freeze","__proto__","q","C","S","L","j","E","T","N","R","A","P","provider","placeholder","featureStyle","targetType","lang","limit","keepOpen","preventDefault","autoComplete","autoCompleteMinLength","autoCompleteTimeout","debug","I","Error","_","window","performance","Date","now","timing","navigationStart","toString","M","test","O","Array","isArray","forEach","split","length","V","U","F","G","classList","contains","B","className","D","replace","String","replaceAll","Q","document","createElement","id","classname","attr","setAttribute","name","value","innerHTML","createDocumentFragment","childNodes","append","RegExp","add","trim","setTimeout","remove","z","H","constructor","options","els","createControl","querySelector","K","settings","url","params","langs","getParameters","toLowerCase","query","includes","handleResponse","features","map","lon","geometry","coordinates","lat","properties","postcode","state","original","formatted","details","J","format","addressdetails","countrycodes","bbox","boundingbox","display_name","houseNumber","house_number","town","W","key","neighbourhood","X","callbackName","includeNeighborhood","maxResults","resources","resourceSets","point","formattedAddress","Y","countrycode","pretty","no_annotations","results","lng","components","Z","Promise","ee","data","method","mode","credentials","jsonp","head","Math","round","random","indexOf","removeChild","fetch","then","json","catch","keys","reduce","push","encodeURIComponent","join","te","se","Base","layerName","layer","source","newProvider","lastQuery","registeredListeners","mapClick","setListeners","stopPropagation","collapse","expand","addEventListener","target","which","keyCode","clearTimeout","focus","clearResults","firstChild","console","info","createList","listenMapClick","addressTemplate","chosen","getMap","Number","parseFloat","getView","getProjection","transform","transformExtent","dispatchEvent","type","coordinate","place","fit","duration","animate","resolution","center","createFeature","feature","addLayer","setStyle","setId","getSource","addFeature","building","village","blur","getTargetElement","handleEvent","removeEventListener","getLayers","re","image","scale","src","super","element","prototype","hasOwnProperty","call","getLayer","setProvider","setProviderKey","OSMGeocoder","geojson","opt","polygon_geojson","polygon_threshold","filter","class","methods","addGeocoder","callback","$config","geocoder","Geocoder","on","event","bboxOpenEO","west","east","north","south","addControl","render","staticRenderFns","component","_vm","_c","_self","texts","staticClass","pointer","toggle","_v","_s","current","_e","mixins","ControlMixin","computed","text","props","attrs","ref","addData","isGeoTiff","textControlText","_l","geotiffs","colorMap","bands","defaultChannels","get","update","updateGeoTiffStyle","loading","chart","closeChart","_b","staticStyle","$event","openModal","apply","arguments","EventBusMixin","events","save","broadcast","file","$emit","directives","rawName","channels","expression","title","cols","isGray","multiBand","channel","labels","modifiers","$$selectedVal","selected","val","_value","_n","$set","multiple","band","domProps","min","composing","$forceUpdate","max","_i","$$a","$$el","$$c","checked","$$v","$$i","concat","slice","mounted","watch","immediate","handler","updateChannels","emit","deep","isValid","assign","createElementNS","namespaceURI","qualifiedName","node","normalizeWhitespace","getAllTextContent_","accumulator","nodeType","Node","CDATA_SECTION_NODE","TEXT_NODE","nodeValue","nextSibling","isDocument","object","parse","xml","DOMParser","parseFromString","makeArrayPusher","valueReader","thisArg","objectStack","undefined","array","makeObjectPropertyPusher","property","localName","makeObjectPropertySetter","makeSimpleNodeFactory","fixedNodeName","fixedNamespaceURI","newNodeName","context","nodeName","makeStructureNS","namespaceURIs","structure","structureNS","ii","parseNode","parsersNS","firstElementChild","nextElementSibling","parsers","parser","pushParseAndPop","pop","document_","implementation","createDocument","XML","read","doc","readFromDocument","readFromNode","ELEMENT_NODE","NAMESPACE_URI","readHref","getAttributeNS","readDecimal","readDecimalString","string","exec","readPositiveInteger","readNonNegativeIntegerString","parseInt","readString","NAMESPACE_URIS","PARSERS","readServiceIdentification","readServiceProvider","readOperationsMetadata","OWS","owsObject","ADDRESS_PARSERS","ALLOWED_VALUES_PARSERS","readValue","CONSTRAINT_PARSERS","readAllowedValues","CONTACT_INFO_PARSERS","readPhone","readAddress","DCP_PARSERS","readHttp","HTTP_PARSERS","readGet","OPERATION_PARSERS","readDcp","OPERATIONS_METADATA_PARSERS","readOperation","PHONE_PARSERS","REQUEST_METHOD_PARSERS","readConstraint","SERVICE_CONTACT_PARSERS","readContactInfo","SERVICE_IDENTIFICATION_PARSERS","SERVICE_PROVIDER_PARSERS","readServiceContact","getAttribute","href","OWS_NAMESPACE_URIS","readContents","WMTSCapabilities","owsParser_","version","WMTSCapabilityObject","CONTENTS_PARSERS","readLayer","readTileMatrixSet","LAYER_PARSERS","readStyle","readTileMatrixSetLink","readDimensions","readResourceUrl","readBoundingBox","readBoundingBoxWithCrs","STYLE_PARSERS","readLegendUrl","TMS_LINKS_PARSERS","readTileMatrixLimitsList","TMS_LIMITS_LIST_PARSERS","readTileMatrixLimits","TMS_LIMITS_PARSERS","DIMENSION_PARSERS","WGS84_BBOX_READERS","readCoordinates","TMS_PARSERS","readTileMatrix","TM_PARSERS","style","isDefault","template","resourceType","resource","crs","extent","legend","isNaN","appendParams","uri","keyParams","qs","WMTSTileGrid","TileGrid","origin","origins","resolutions","tileSize","tileSizes","sizes","matrixIds_","matrixIds","getMatrixId","getMatrixIds","createFromCapabilitiesMatrixSet","matrixSet","matrixLimits","supportedCRSPropName","matrixIdsPropName","identifierPropName","scaleDenominatorPropName","topLeftCornerPropName","tileWidthPropName","tileHeightPropName","code","projection","metersPerUnit","getMetersPerUnit","switchOriginXY","getAxisOrientation","substr","sort","elt","matrixAvailable","find","elt_ml","tileWidth","tileHeight","TileImage","requestEncoding","tileGrid","urls","attributions","attributionsCollapsible","cacheSize","crossOrigin","interpolate","reprojectionErrorThreshold","tileClass","tileLoadFunction","tilePixelRatio","wrapX","transition","zDirection","version_","format_","dimensions_","dimensions","layer_","matrixSet_","style_","requestEncoding_","setKey","getKeyForDimensions_","tileUrlFunction","createFromWMTSTemplate","bind","setUrls","setTileUrlFunction","getDimensions","getFormat","getMatrixSet","getRequestEncoding","getStyle","getVersion","res","updateDimensions","tileCoord","pixelRatio","localContext","optionsFromCapabilities","wmtsCap","config","layers","tileMatrixSets","idx","findIndex","tileMatrixSet","el","supportedCRS","proj1","proj2","equivalent","index","matrixSets","matrixSetObj","projConfig","switchXY","matrix","TileMatrix","selectedMatrixLimit","MinTileCol","MinTileRow","MaxTileCol","MatrixWidth","MaxTileRow","MatrixHeight","tileMatrixValue","Identifier","ScaleDenominator","TopLeftCorner","tileSpanX","TileWidth","tileSpanY","TileHeight","matrixSetExtent","wgs84BoundingBox","wgs84ProjectionExtent","getExtent","wgs84MatrixSetExtent","gets","constraint","encodings","ol_control_Timeline","create","zoomButton","_scrollDiv","parent","_buttons","addButton","handleClick","zoom","refresh","_intervalDiv","_select","scrollListener","_setScrollLeft","date","getDate","dateStart","dateEnd","scrollTimeout","scrollDiv","onmove","_moving","_tline","_scrollLeft","set","maxWidth","minDate","Infinity","maxDate","graduation","minZoom","maxZoom","setInterval","interval","getHTML","_getHTML","getFeatureDate","_getFeatureDate","endFeatureDate","_endFeatureDate","setFeatures","setMap","html","click","isCollapsed","collapsed","_features","_source","getFeatures","first","d2","tline","end","div","_minDate","_maxDate","isFinite","delta","_scale","width","_drawTime","line","lineHeight","fdiv","left","img","querySelectorAll","ondragstart","minWidth","pos","top","_nbline","setDate","anim","position","_getOffsetFromDate","_getDateFromOffset","offset","scrollLeft","_getScrollLeft","dt","month","dmonth","tdiv","dx","heigth","year","getFullYear","setFullYear","dyear","setMonth","toLocaleDateString","dday","day","offdate","getMonth","outerWidth","roundDate","stick","_roundTo","getStartDate","getEndDate","ExtentMixin","timeline","addWebService","service","updateXYZLayer","updateWMTSLayer","Utils","error","getWMTSTimes","capabilities","layerId","Contents","Layer","Dimension","timeDimension","Value","initWMTSLayer","URL","searchParams","response","axios","responseType","exception","prefix","attributes","layerNames","defaultDate","getResourceTitle","layerCollection","Collection","TIME","times","isObject","WMTS","mapLayer","TileLayer","trackTileProgress","noSwitcherDelete","run","Timeline","toISOString","btns","getElementsByClassName","innerText","disabled","log","group","LayerGroup","display","getVisible","addLayerToMap","removeControl","replaceParam","getTime","XYZ","process","process_graph","crs84","e4326","values","process_id","spatial_extent","isBBox","isGeoJSON","addExtent","GeoTiffState","geotiff","getColorMap","noData","getNoData","getBands","getBandVar","getFormula","getNoDataFormula","variables","alphaband","color","formula","GeoTIFFImage","getSampleByteSize","fileDirectory","BitsPerSample","ceil","getReaderForSample","sampleIndex","getSampleFormat","bitsPerSample","getBitsPerSample","DataView","getUint8","getUint16","getUint32","getInt8","getInt16","getInt32","littleEndian","getFloat16","getFloat32","getFloat64","SampleFormat","expressionToGlsl","compilationContext","expectedType","parsingContext","parseStyle","bandCount","vertexShader","TEXTURE_COORD","TILE_TRANSFORM","TEXTURE_PIXEL_WIDTH","TEXTURE_PIXEL_HEIGHT","TEXTURE_RESOLUTION","TEXTURE_ORIGIN_X","TEXTURE_ORIGIN_Y","DEPTH","inFragmentShader","pipeline","contrast","exposure","saturation","gamma","brightness","uniforms","numVariables","variable","uniformName","uniformDeclarations","textureCount","TILE_TEXTURE_ARRAY","paletteTextures","functionDefintions","functions","fragmentShader","RENDER_EXTENT","TRANSITION_ALPHA","RESOLUTION","ZOOM","WebGLTileLayer","BaseTile","sources_","sources","renderedSource_","renderedResolution_","NaN","cacheSize_","styleVariables_","addChangeListener","SOURCE","handleSourceUpdate_","getSources","getRenderSource","getSourceState","getState","hasRenderer","getRenderer","clearCache","getSourceBandCount_","MAX_SAFE_INTEGER","createRenderer","parsedStyle","renderSources","frameState","layerRenderer","canvas","prepareFrame","renderFrame","rendered","viewState","ready","sourceState","onChange","changed","renderComplete","altSources","renderer","updateStyleVariables","dispose","DataTileSource","maxResolution","opaque","gutter_","gutter","tileSize_","tileSizes_","tileLoadingKeys_","loader_","loader","handleTileChange_","tileGridForProjection_","tileCacheForProjection_","setTileSizes","getTileSize","getTileGrid","getGutterForProjection","thisProj","setLoader","getReprojTile_","targetProj","sourceProj","cache","getTileCacheForProjection","tileCoordKey","containsKey","tile","getKey","reprojTilePixelRatio","getResolutions","textureSize","sourceTileGrid","getTileGridForProjection","targetTileGrid","wrappedTileCoord","getTileCoordForTileUrlFunction","getTileFunction","getTile","tileOptions","newTile","sourceProjection","size","tileCache","sourceLoader","DataTile","EventType","CHANGE","uid","tileState","TileState","LOADING","TileEventType","TILELOADSTART","ERROR","TILELOADERROR","LOADED","TILELOADEND","projKey","setTileGridForProjection","tilegrid","proj","TileCache","expireCache","usedTiles","usedTileCache","clear","defaultPoolSize","navigator","hardwareConcurrency","Pool","createWorker","workers","_awaitingDecoder","messageId","resolve","worker","idle","decode","buffer","decoder","candidate","floor","onMessage","decoded","postMessage","destroy","terminate","isMask","NewSubfileType","readRGB","preference","getSamplesPerPixel","interpretation","PhotometricInterpretation","interpretations","CMYK","YCbCr","CIELab","ICCLab","STATISTICS_MAXIMUM","STATISTICS_MINIMUM","defaultTileSize","workerPool","getWorkerPool","getBoundingBox","getWidth","getHeight","getOrigin","referenceImage","getResolution","geoKeys","ProjectedCSTypeGeoKey","units","ProjLinearUnitsGeoKey","Projection","GeographicTypeGeoKey","GeogAngularUnitsGeoKey","getImagesForTIFF","tiff","getImageCount","count","requests","getImage","all","getImagesForSource","request","blob","overviews","assertEqual","expected","got","tolerance","message","rejector","abs","getMinForDataType","Int8Array","Int16Array","Int32Array","Float32Array","getMaxForDataType","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","GeoTIFFSource","sourceInfo_","numSources","sourceOptions_","sourceOptions","sourceImagery_","sourceMasks_","resolutionFactors_","samplesPerPixel_","nodataValues_","metadata_","normalize_","normalize","addAlpha_","error_","convertToRGB_","convertToRGB","self","configure_","setState","getError","determineProjection","firstSource","commonRenderTileSizes","commonSourceTileSizes","samplesPerPixel","nodataValues","metadata","sourceCount","sourceIndex","images","masks","item","imageCount","sourceExtent","sourceOrigin","sourceTileSizes","renderTileSizes","sourceResolutions","imageIndex","nodataValue","getGDALNoData","getGDALMetadata","wantedSamples","level","imageResolutions","sourceTileSize","getTileWidth","getTileHeight","aspectRatio","viewRejector","resolutionFactor","scaledSourceResolutions","reverse","sourceImagery","unshift","outer","nodata","loadTile_","viewResolver","showFullExtent","toUserCoordinate","toUserExtent","sourceInfo","pool","pixelBounds","samples","fillValue","bandNumber","readOptions","height","interleave","readRasters","maskIndex","mask","composeTile_","sourceSamples","addAlpha","pixelCount","dataLength","dataIndex","pixelIndex","transparent","gain","bias","stats","sourceValue","bandIndex","nodataIsNaN","ol_control_Swipe","ol_control_Control","appendChild","move","precomposeRight_","precomposeRight","precomposeLeft_","precomposeLeft","postcompose_","postcompose","rightLayers","renderSync","isMoving","getImageRatio","orientation","right","un","_listener","isLayer_","removeLayers","removeLayer","splice","getRectangle","getSize","_movefn","eventName","pageX","touches","changedTouches","getBoundingClientRect","pageXOffset","documentElement","clientLeft","pageY","pageYOffset","clientTop","_transformPt","pt","tr","inversePixelTransform","_drawRect","pts","rot","atan2","pixelToCoordinateTransform","translate","rotate","lineTo","moveTo","restore","ratio","rect","ctx","WebGLRenderingContext","_lefttime","time","clearColor","COLOR_BUFFER_BIT","enable","SCISSOR_TEST","mapSize","bottomLeft","topRight","fullWidth","fullHeight","scissor","beginPath","clip","_righttime","gl","disable","getClassName","GeocoderMixin","MapMixin","WebServiceMixin","AddDataControl","ChannelControl","Pane","ScatterChart","Splitpanes","TextControl","swipe","mapState","isWebService","Service","GeoTiffFile","isGeoJson","JSON_","renderMap","view","loadData","connection","isMapServiceSupported","createMap","evt","updateSwiper","addLayerSwitcher","toExtent","getFitOptions","addBasemaps","addGeoJson","basemap","getCode","addGeoTiff","stac","getContext","$listeners","drop","getViewport","onPointerMove","onClick","addCollection","showWebService","fromLonLat","extentLayer","VectorLayer","VectorSource","Feature","PolygonFromExtent","removeLayerFill","getPixelValues","pixel","getData","from","alpha","formatCoords","coords","toFixed","formatValue","plural","validValues","flat","Set","datasets","label","tiffState","sourceOpts","getBlob","getUrl","OlGeoTiff","once","files","confirmOpenAll","promises","getArray","every","opts","Swipe","setOptions"],"sourceRoot":""} \ No newline at end of file diff --git a/js/4475.d3c27d4d.js b/js/4475.8df38147.js similarity index 99% rename from js/4475.d3c27d4d.js rename to js/4475.8df38147.js index 16c9f5fc..70487c5f 100644 --- a/js/4475.d3c27d4d.js +++ b/js/4475.8df38147.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[4475],{35254:(e,t,l)=>{l.d(t,{A:()=>n});const n={components:{FederationNotice:()=>l.e(2604).then(l.bind(l,52604)),FederationMissingNotice:()=>l.e(5363).then(l.bind(l,35363))},props:{federation:{type:Object,default:()=>({})}}}},69748:(e,t,l)=>{l.d(t,{A:()=>u});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component collections"},[t("SearchableList",{attrs:{data:e.collections,identifierKey:"id",summaryKey:"title",keywordsKey:"keywords",showKeywords:e.showKeywords,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(l){return[t("Collection",{attrs:{data:l.item,mapOptions:e.mapOptions,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("collection-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("collection-end",null,null,t)]}},{key:"spatial-extents",fn:function(t){return[e._t("collection-spatial-extents",null,null,t)]}},{key:"temporal-extents",fn:function(t){return[e._t("collection-temporal-extents",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},o=[],i=l(86975),a=l(35254);const s={name:"Collections",components:{Collection:()=>i.A.loadAsyncComponent(Promise.all([l.e(156),l.e(2919),l.e(4432),l.e(9140),l.e(2281),l.e(3249)]).then(l.bind(l,3249))),SearchableList:()=>i.A.loadAsyncComponent(l.e(4152).then(l.bind(l,34152)))},mixins:[a.A],props:{collections:{type:Array,default:()=>[]},mapOptions:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Collections"},collapsed:{type:Boolean,default:null},loadAdditionalData:{type:Function,default:null},showKeywords:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...a.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},r=s;var d=l(81656),c=(0,d.A)(r,n,o,!1,null,null,null);const u=c.exports},4475:(e,t,l)=>{l.r(t),l.d(t,{default:()=>p});var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-collection"},[t("p",[e._v("Please select the collection which you want to download data for.")]),t("Collections",{attrs:{heading:"",collections:e.filteredCollections,offerDetails:!1},scopedSlots:e._u([{key:"summary",fn:function({item:l}){return[t("div",{class:{element:!0,selected:l.id==e.value}},[t("div",{staticClass:"summary",on:{click:function(t){return e.update(l.id)}}},[t("strong",{attrs:{title:l.id}},[e._v(e._s(l.id))]),l.title?t("small",{attrs:{title:l.title}},[e._v(e._s(l.title))]):e._e()]),t("button",{staticClass:"button",attrs:{type:"button",title:"Show collection details"},on:{click:function(t){return e.showCollectionInfo(l.id)}}},[t("i",{staticClass:"fas fa-info"})])])]}}])})],1)},o=[],i=l(69748),a=l(2566),s=l(61663);const r={name:"ChooseCollection",mixins:[s.A],components:{Collections:i.A},props:{value:{type:String,default:null},filter:{type:Function,default:null}},computed:{...a.A.mapState(["collections"]),filteredCollections(){return"function"===typeof this.filter?this.collections.filter(this.filter):this.collections}},methods:{...a.A.mapActions(["describeCollection"]),async update(e){this.$emit("input",e)},showCollectionInfo(e){this.broadcast("showCollection",e)}}},d=r;var c=l(81656),u=(0,c.A)(d,n,o,!1,null,null,null);const p=u.exports}}]); -//# sourceMappingURL=4475.d3c27d4d.js.map \ No newline at end of file +//# sourceMappingURL=4475.8df38147.js.map \ No newline at end of file diff --git a/js/4475.d3c27d4d.js.map b/js/4475.8df38147.js.map similarity index 99% rename from js/4475.d3c27d4d.js.map rename to js/4475.8df38147.js.map index 49ac626f..f96ad75b 100644 --- a/js/4475.d3c27d4d.js.map +++ b/js/4475.8df38147.js.map @@ -1 +1 @@ -{"version":3,"file":"js/4475.d3c27d4d.js","mappings":"4JAAA,SACCA,WAAY,CACXC,iBAAkB,IAAM,gCACxBC,wBAAyB,IAAM,iCAEhCC,MAAO,CACNC,WAAY,CACXC,KAAMC,OACNC,QAAS,KAAM,CAAG,K,mCCRrB,IAAIC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,KAAOL,EAAIM,YAAY,cAAgB,KAAK,WAAa,QAAQ,YAAc,WAAW,aAAeN,EAAIO,aAAa,qBAAsB,EAAM,mBAAqBP,EAAIQ,WAAW,uBAAyBR,EAAIS,eAAe,iBAAmBT,EAAIU,iBAAiB,yBAA2BV,EAAIW,iBAAiB,mBAAqBX,EAAIY,mBAAmB,KAAOZ,EAAIa,KAAK,aAAeb,EAAIc,aAAa,QAAUd,EAAIe,QAAQ,UAAYf,EAAIgB,UAAU,mBAAqBhB,EAAIiB,mBAAmB,UAAY,IAAIC,GAAG,CAAC,eAAiBlB,EAAImB,gBAAgBC,YAAYpB,EAAIqB,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,SAASC,GAAO,MAAO,CAACxB,EAAIyB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAIxB,EAAW,QAAE,CAACsB,IAAI,gBAAgBC,GAAG,WAAW,MAAO,CAACrB,EAAG,0BAA0B,CAACG,MAAM,CAAC,QAAUL,EAAI0B,QAAQ,WAAa1B,EAAIL,cAAc,EAAEgC,OAAM,GAAM,KAAK,CAACL,IAAI,UAAUC,GAAG,SAASC,GAAO,MAAO,CAACxB,EAAIyB,GAAG,UAAU,KAAK,KAAKD,GAAO,GAAG,CAACF,IAAI,UAAUC,GAAG,SAASK,GAAM,MAAO,CAAC1B,EAAG,aAAa,CAACG,MAAM,CAAC,KAAOuB,EAAKC,KAAK,WAAa7B,EAAI8B,WAAW,WAAa9B,EAAIL,YAAYyB,YAAYpB,EAAIqB,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAACrB,EAAG,OAAO,CAACE,YAAY,WAAW,EAAEuB,OAAM,GAAM,CAACL,IAAI,qBAAqBC,GAAG,SAASC,GAAO,MAAO,CAACxB,EAAIyB,GAAG,gCAAgC,KAAK,KAAKD,GAAO,GAAG,CAACF,IAAI,MAAMC,GAAG,SAASC,GAAO,MAAO,CAACxB,EAAIyB,GAAG,iBAAiB,KAAK,KAAKD,GAAO,GAAG,CAACF,IAAI,kBAAkBC,GAAG,SAASC,GAAO,MAAO,CAACxB,EAAIyB,GAAG,6BAA6B,KAAK,KAAKD,GAAO,GAAG,CAACF,IAAI,mBAAmBC,GAAG,SAASC,GAAO,MAAO,CAACxB,EAAIyB,GAAG,8BAA8B,KAAK,KAAKD,GAAO,IAAI,MAAK,KAAQ,IAAI,MAAK,MAAS,EACpsD,EACIO,EAAkB,G,sBCuCtB,SACCC,KAAM,cACNzC,WAAY,CACX0C,WAAY,IAAM,IAAMC,mBAAmB,gGAC3CC,eAAgB,IAAM,IAAMD,mBAAmB,kCAEhDE,OAAQ,CACPC,EAAA,GAED3C,MAAO,CACNY,YAAa,CACZV,KAAM0C,MACNxC,QAAS,IAAM,IAEhBgC,WAAY,CACXlC,KAAMC,OACNC,QAAS,KAAM,CAAG,IAEnBU,WAAY,CACXZ,KAAM2C,OACNzC,QAAS,MAEVe,KAAM,CACLjB,KAAM4C,QACN1C,SAAS,GAEVgB,aAAc,CACblB,KAAM4C,QACN1C,SAAS,GAEViB,QAAS,CACRnB,KAAM2C,OACNzC,QAAS,eAEVkB,UAAW,CACVpB,KAAM4C,QACN1C,QAAS,MAEVmB,mBAAoB,CACnBrB,KAAM6C,SACN3C,QAAS,MAEVS,aAAc,CACbX,KAAM4C,QACN1C,SAAS,GAEVW,eAAgB,CACfb,KAAM4C,QACN1C,SAAS,GAEVY,iBAAkB,CACjBd,KAAM4C,QACN1C,SAAS,GAEVa,iBAAkB,CACjBf,KAAM4C,QACN1C,SAAS,GAEVc,mBAAoB,CACnBhB,KAAM4C,QACN1C,SAAS,GAEV4B,QAAS,CACR9B,KAAM0C,MACNxC,QAAS,SAEPuC,EAAA,EAAgB3C,OAEpB,YAAAgD,GACC,IAAMC,gBAAgB1C,KACvB,EACA2C,QAAS,CACR,cAAAzB,IAAkB0B,GACjB5C,KAAK6C,MAAM,oBAAqBD,EACjC,ICnH2H,I,eCQzHE,GAAY,OACd,EACAhD,EACAgC,GACA,EACA,KACA,KACA,MAIF,QAAegB,EAAiB,O,+CCnBhC,IAAIhD,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,IAAI,CAACF,EAAIgD,GAAG,uEAAuE9C,EAAG,cAAc,CAACG,MAAM,CAAC,QAAU,GAAG,YAAcL,EAAIiD,oBAAoB,cAAe,GAAO7B,YAAYpB,EAAIqB,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,UAAS,KAAEM,IAAQ,MAAO,CAAC3B,EAAG,MAAM,CAACgD,MAAM,CAACC,SAAS,EAAMC,SAAUvB,EAAKwB,IAAMrD,EAAIsD,QAAQ,CAACpD,EAAG,MAAM,CAACE,YAAY,UAAUc,GAAG,CAAC,MAAQ,SAASqC,GAAQ,OAAOvD,EAAIwD,OAAO3B,EAAKwB,GAAG,IAAI,CAACnD,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQwB,EAAKwB,KAAK,CAACrD,EAAIgD,GAAGhD,EAAIyD,GAAG5B,EAAKwB,OAAQxB,EAAK6B,MAAOxD,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQwB,EAAK6B,QAAQ,CAAC1D,EAAIgD,GAAGhD,EAAIyD,GAAG5B,EAAK6B,UAAU1D,EAAI2D,OAAOzD,EAAG,SAAS,CAACE,YAAY,SAASC,MAAM,CAAC,KAAO,SAAS,MAAQ,2BAA2Ba,GAAG,CAAC,MAAQ,SAASqC,GAAQ,OAAOvD,EAAI4D,mBAAmB/B,EAAKwB,GAAG,IAAI,CAACnD,EAAG,IAAI,CAACE,YAAY,oBAAoB,QAAQ,EAC93B,EACI2B,EAAkB,G,gCCoBtB,SACAC,KAAA,mBACAI,OAAA,CACAyB,EAAAA,GAEAtE,WAAA,CACAuE,YAAAA,EAAAA,GAEApE,MAAA,CACA4D,MAAA,CACA1D,KAAA2C,OACAzC,QAAA,MAEAiE,OAAA,CACAnE,KAAA6C,SACA3C,QAAA,OAGAkE,SAAA,IACAC,EAAAA,EAAAC,SAAA,iBACAjB,mBAAAA,GACA,+BAAAc,OACA,KAAAzD,YAAAyD,OAAA,KAAAA,QAGA,KAAAzD,WAEA,GAEAsC,QAAA,IACAqB,EAAAA,EAAAE,WAAA,wBACA,YAAAX,CAAAH,GACA,KAAAP,MAAA,QAAAO,EACA,EACAO,kBAAAA,CAAAP,GACA,KAAAe,UAAA,iBAAAf,EACA,IC1DiR,I,eCQ7QN,GAAY,OACd,EACAhD,EACAgC,GACA,EACA,KACA,KACA,MAIF,QAAegB,EAAiB,O","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?7b7e","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?1611"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-collection\"},[_c('p',[_vm._v(\"Please select the collection which you want to download data for.\")]),_c('Collections',{attrs:{\"heading\":\"\",\"collections\":_vm.filteredCollections,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show collection details\"},on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseCollection.vue?vue&type=template&id=7801e739\"\nimport script from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseCollection.vue?vue&type=style&index=0&id=7801e739&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","_v","filteredCollections","class","element","selected","id","value","$event","update","_s","title","_e","showCollectionInfo","EventBusMixin","Collections","filter","computed","Utils","mapState","mapActions","broadcast"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/4475.8df38147.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseCollection.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?7b7e","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseCollection.vue?1611"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-collection\"},[_c('p',[_vm._v(\"Please select the collection which you want to download data for.\")]),_c('Collections',{attrs:{\"heading\":\"\",\"collections\":_vm.filteredCollections,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show collection details\"},on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseCollection.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseCollection.vue?vue&type=template&id=7801e739\"\nimport script from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseCollection.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseCollection.vue?vue&type=style&index=0&id=7801e739&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","_v","filteredCollections","class","element","selected","id","value","$event","update","_s","title","_e","showCollectionInfo","EventBusMixin","Collections","filter","computed","Utils","mapState","mapActions","broadcast"],"sourceRoot":""} \ No newline at end of file diff --git a/js/4477.a0cdaafc.js b/js/4477.9ea74349.js similarity index 94% rename from js/4477.a0cdaafc.js rename to js/4477.9ea74349.js index 10fb2852..d234c093 100644 --- a/js/4477.a0cdaafc.js +++ b/js/4477.9ea74349.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[4477],{4477:(e,t,a)=>{a.r(t),a.d(t,{default:()=>u});var r=function(){var e=this,t=e._self._c;return e.active?t("div",{staticClass:"wizard-tab-container"},[e._t("default",null,{active:e.active})],2):e._e()},n=[];const i={name:"WizardTab",props:{parent:{type:Object,required:!0},pos:{type:Number,required:!0},title:{type:String,default:""},beforeChange:{type:Function},afterChange:{type:Function}},data(){return{active:!1,validationError:null,checked:!1}},mounted(){this.parent.addTab(this,this.pos)},beforeDestroy(){this.parent.removeTab(this)}},o=i;var s=a(81656),l=(0,s.A)(o,r,n,!1,null,null,null);const u=l.exports}}]); -//# sourceMappingURL=4477.a0cdaafc.js.map \ No newline at end of file +//# sourceMappingURL=4477.9ea74349.js.map \ No newline at end of file diff --git a/js/4477.a0cdaafc.js.map b/js/4477.9ea74349.js.map similarity index 98% rename from js/4477.a0cdaafc.js.map rename to js/4477.9ea74349.js.map index 0370fbc6..ab434736 100644 --- a/js/4477.a0cdaafc.js.map +++ b/js/4477.9ea74349.js.map @@ -1 +1 @@ -{"version":3,"file":"js/4477.a0cdaafc.js","mappings":"wKAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAQF,EAAII,OAAQF,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIM,GAAG,UAAU,KAAK,CAAC,OAASN,EAAII,UAAU,GAAGJ,EAAIO,IACpL,EACIC,EAAkB,GCKtB,SACAC,KAAA,YACAC,MAAA,CACAC,OAAA,CACAC,KAAAC,OACAC,UAAA,GAEAC,IAAA,CACAH,KAAAI,OACAF,UAAA,GAEAG,MAAA,CACAL,KAAAM,OACAC,QAAA,IAMAC,aAAA,CACAR,KAAAS,UAMAC,YAAA,CACAV,KAAAS,WAGAE,IAAAA,GACA,OACAnB,QAAA,EACAoB,gBAAA,KACAC,SAAA,EAEA,EACAC,OAAAA,GACA,KAAAf,OAAAgB,OAAA,UAAAZ,IACA,EACAa,aAAAA,GACA,KAAAjB,OAAAkB,UAAA,KACA,GCjD0Q,I,eCOtQC,GAAY,OACd,EACA/B,EACAS,GACA,EACA,KACA,KACA,MAIF,QAAesB,EAAiB,O","sources":["webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?ebe2","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?d2e5"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.active)?_c('div',{staticClass:\"wizard-tab-container\"},[_vm._t(\"default\",null,{\"active\":_vm.active})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WizardTab.vue?vue&type=template&id=9a832c4a\"\nimport script from \"./WizardTab.vue?vue&type=script&lang=js\"\nexport * from \"./WizardTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","active","staticClass","_t","_e","staticRenderFns","name","props","parent","type","Object","required","pos","Number","title","String","default","beforeChange","Function","afterChange","data","validationError","checked","mounted","addTab","beforeDestroy","removeTab","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/4477.9ea74349.js","mappings":"wKAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAQF,EAAII,OAAQF,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACL,EAAIM,GAAG,UAAU,KAAK,CAAC,OAASN,EAAII,UAAU,GAAGJ,EAAIO,IACpL,EACIC,EAAkB,GCKtB,SACAC,KAAA,YACAC,MAAA,CACAC,OAAA,CACAC,KAAAC,OACAC,UAAA,GAEAC,IAAA,CACAH,KAAAI,OACAF,UAAA,GAEAG,MAAA,CACAL,KAAAM,OACAC,QAAA,IAMAC,aAAA,CACAR,KAAAS,UAMAC,YAAA,CACAV,KAAAS,WAGAE,IAAAA,GACA,OACAnB,QAAA,EACAoB,gBAAA,KACAC,SAAA,EAEA,EACAC,OAAAA,GACA,KAAAf,OAAAgB,OAAA,UAAAZ,IACA,EACAa,aAAAA,GACA,KAAAjB,OAAAkB,UAAA,KACA,GCjD0Q,I,eCOtQC,GAAY,OACd,EACA/B,EACAS,GACA,EACA,KACA,KACA,MAIF,QAAesB,EAAiB,O","sources":["webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?ebe2","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?d2e5"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.active)?_c('div',{staticClass:\"wizard-tab-container\"},[_vm._t(\"default\",null,{\"active\":_vm.active})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WizardTab.vue?vue&type=template&id=9a832c4a\"\nimport script from \"./WizardTab.vue?vue&type=script&lang=js\"\nexport * from \"./WizardTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","active","staticClass","_t","_e","staticRenderFns","name","props","parent","type","Object","required","pos","Number","title","String","default","beforeChange","Function","afterChange","data","validationError","checked","mounted","addTab","beforeDestroy","removeTab","component"],"sourceRoot":""} \ No newline at end of file diff --git a/js/4824.210a1e92.js b/js/4824.e45c7fb2.js similarity index 99% rename from js/4824.210a1e92.js rename to js/4824.e45c7fb2.js index ec1c25e6..30c2e15b 100644 --- a/js/4824.210a1e92.js +++ b/js/4824.e45c7fb2.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[4824,4477,1237,7186,7336],{35254:(e,t,s)=>{s.d(t,{A:()=>r});const r={components:{FederationNotice:()=>s.e(2604).then(s.bind(s,52604)),FederationMissingNotice:()=>s.e(5363).then(s.bind(s,35363))},props:{federation:{type:Object,default:()=>({})}}}},48312:(e,t,s)=>{s.d(t,{A:()=>d});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component processes"},[t("SearchableList",{attrs:{data:e.processes,keywordsKey:"categories",showKeywords:e.showCategories,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Process",{attrs:{process:s.item,provideDownload:e.provideDownload,processUrl:e.processUrl,showGraph:e.showGraph,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("process-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("process-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},o=[],a=s(86975),n=s(35254);const i={name:"Processes",components:{Process:()=>a.A.loadAsyncComponent(s.e(6660).then(s.bind(s,34279))),SearchableList:()=>a.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[n.A],props:{processes:{type:Array,default:()=>[]},provideDownload:{type:Boolean,default:!0},processUrl:String,searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Processes"},collapsed:{type:Boolean,default:null},showCategories:{type:Boolean,default:!1},showGraph:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},loadAdditionalData:{type:Function,default:null},missing:{type:Array,default:null},...n.A.props},beforeCreate(){a.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=i;var c=s(81656),p=(0,c.A)(l,r,o,!1,null,null,null);const d=p.exports},4824:(e,t,s)=>{s.r(t),s.d(t,{default:()=>f});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wizard-tab-content"},[e.noProcessSelection?e._e():t("WizardTab",{attrs:{pos:e.tabPos[0],parent:e.parent,title:"Process",beforeChange:e.checkProcessRequirements}},[t("ChooseUserDefinedProcess",{attrs:{value:e.process,namespace:e.processNamespace,url:e.processUrl},on:{input:e.submitProcess}})],1),t("WizardTab",{attrs:{pos:e.tabPos[1],parent:e.parent,title:"Parameters",beforeChange:e.checkParameterRequirements}},[e.processSpec?t("ChooseProcessParameters",{attrs:{process:e.processSpec},model:{value:e.args,callback:function(t){e.args=t},expression:"args"}}):e.loading?t("p",{staticClass:"center"},[t("i",{staticClass:"fas fa-spinner fa-spin"}),e._v(" Loading process...")]):t("p",[e._v("Process not available.")])],1),t("WizardTab",{attrs:{pos:e.tabPos[2],parent:e.parent,title:"Finish"}},[t("ChooseProcessingMode",{attrs:{title:e.jobTitle},on:{"update:title":function(t){e.jobTitle=t}},model:{value:e.mode,callback:function(t){e.mode=t},expression:"mode"}})],1)],1)},o=[],a=s(37186),n=s(31237),i=s(37336),l=s(45699),c=s(2566),p=s(14894);const d={name:"UDP",mixins:[l.A],components:{ChooseUserDefinedProcess:i["default"],ChooseProcessingMode:a["default"],ChooseProcessParameters:n["default"]},data(){return{loading:!1,noProcessSelection:!1,process:null,processUrl:null,processSpec:null,processNamespace:null,args:{},jobTitle:"",mode:""}},computed:{...c.A.mapGetters(["processes"]),tabPos(){return this.noProcessSelection?[null,0,1]:[0,1,2]},graph(){if(!this.process||!this.processSpec)return null;let e={process_id:this.process,arguments:this.args,result:!0};return c.A.hasText(this.processNamespace)&&(e.namespace=this.processNamespace),c.A.hasText(this.processSpec.summary)&&(e.description=this.processSpec.summary),{process_graph:{[this.process]:e}}}},async beforeMount(){if("string"===typeof this.process&&this.process.length>0){const[e,t]=c.A.extractUDPParams(this.process);this.noProcessSelection=!0,this.process=e,t&&(this.processNamespace=t);let s=await this.checkProcessRequirements();s||this.$emit("close","Sorry, the wizard can't load the requested process.")}},methods:{...c.A.mapActions(["loadProcess"]),submitProcess(e,t=!1){t?this.processUrl=e:(this.process=e.id,e.namespace&&(this.processNamespace=e.namespace),this.parent.nextTab())},async loadFromUrl(e){if(!c.A.isUrl(e))throw new Error("Please provide a valid URL!");let t;try{const s=await axios(e);t=s.data}catch(s){throw new Error("Failed to load process from the given URL")}if("string"===typeof t)try{t=JSON.parse(t)}catch(s){throw new Error("Process is not valid JSON")}if(!c.A.isObject(t))throw new Error("Process does not contain any data");if(!c.A.hasText(t.id))throw new Error("Process does not contain an id");if(!c.A.isObject(t.process_graph))throw new Error("Process does not contain a process graph");return t},async checkProcessRequirements(){if(this.loading=!0,this.processUrl){const e=await this.loadFromUrl(this.processUrl);this.processes.add(e,this.processUrl),this.processNamespace=this.processUrl,this.process=e.id,this.processSpec=e}else{if(!this.process)throw new Error("Please select a user-defined process");this.processSpec=await this.loadProcess({id:this.process,namespace:this.processNamespace})}return this.loading=!1,this.processSpec&&(this.jobTitle=this.processSpec.id),!0},checkParameterRequirements(){if(this.graph){var e=new p.ProcessGraph(this.graph,this.processes);return e.validate()}return!1},async finish(){this.$emit("input",{process:this.graph,mode:this.mode,modeOptions:{title:this.jobTitle}})}}},u=d;var h=s(81656),m=(0,h.A)(u,r,o,!1,null,null,null);const f=m.exports},4477:(e,t,s)=>{s.r(t),s.d(t,{default:()=>c});var r=function(){var e=this,t=e._self._c;return e.active?t("div",{staticClass:"wizard-tab-container"},[e._t("default",null,{active:e.active})],2):e._e()},o=[];const a={name:"WizardTab",props:{parent:{type:Object,required:!0},pos:{type:Number,required:!0},title:{type:String,default:""},beforeChange:{type:Function},afterChange:{type:Function}},data(){return{active:!1,validationError:null,checked:!1}},mounted(){this.parent.addTab(this,this.pos)},beforeDestroy(){this.parent.removeTab(this)}},n=a;var i=s(81656),l=(0,i.A)(n,r,o,!1,null,null,null);const c=l.exports},31237:(e,t,s)=>{s.r(t),s.d(t,{default:()=>u});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-process-parameters"},[0===e.parameters.length?t("p",[e._v(" This process doesn't expose any parameters. You can skip this step. ")]):t("Parameters",{attrs:{parameters:e.parameters,parent:e.process},model:{value:e.value,callback:function(t){e.value=t},expression:"value"}})],1)},o=[],a=s(31572),n=s(10510),i=s(2566);const l={name:"ChooseProcessParameters",components:{Parameters:n.A},props:{process:{type:Object,required:!0},value:{type:Object,required:!0}},computed:{parameters(){return i.A.isObject(this.process)&&Array.isArray(this.process.parameters)?this.process.parameters.map((e=>new a.ProcessParameter(e))).filter((e=>e.isEditable())):[]}}},c=l;var p=s(81656),d=(0,p.A)(c,r,o,!1,null,null,null);const u=d.exports},37186:(e,t,s)=>{s.r(t),s.d(t,{default:()=>p});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-processing-mode"},[e.isAuthenticated&&(e.supportsJobs||e.supportsSync)?[t("p",[e._v("Please select how you'd like to execute this workflow?")]),t("ul",{staticClass:"mode"},[e.supportsJobs?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"job",value:"job"},domProps:{checked:e._q(e.mode,"job")},on:{change:function(t){e.mode="job"}}}),t("label",{attrs:{for:"job"}},[t("strong",[e._v("Batch Jobs")]),t("br"),e._v(" Slower processing mode for large amounts of data. Creates and queues a batch job."),t("br"),e._v(" It is recommended to provide a title for the batch job: "),t("input",{directives:[{name:"model",rawName:"v-model",value:e.titleInput,expression:"titleInput"}],ref:"title",attrs:{type:"text"},domProps:{value:e.titleInput},on:{input:function(t){t.target.composing||(e.titleInput=t.target.value)}}})])]):e._e(),e.supportsSync?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"sync",value:"sync"},domProps:{checked:e._q(e.mode,"sync")},on:{change:function(t){e.mode="sync"}}}),e._m(0)]):e._e(),e.supportsSync?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"model",value:""},domProps:{checked:e._q(e.mode,"")},on:{change:function(t){e.mode=""}}}),e._m(1)]):e._e()])]:t("p",[e._v(" The wizard has all information to create the workflow for you."),t("br"),e.isAuthenticated?[e._v("Unforntunately, this back-end can't process data,")]:[e._v("You are not logged in and thus you can't process data directly,")],e._v(" but you can insert the process into the visual model builder now. ")],2)],2)},o=[function(){var e=this,t=e._self._c;return t("label",{attrs:{for:"sync"}},[t("strong",[e._v("Synchronous Processing")]),t("br"),e._v(" Fast processing mode for small amounts of data. ")])},function(){var e=this,t=e._self._c;return t("label",{attrs:{for:"model"}},[t("strong",[e._v("Don't execute")]),t("br"),e._v(" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. ")])}],a=s(2566);const n={name:"ChooseProcessingMode",props:{value:{type:String,default:null},title:{type:String,default:""}},data(){return{mode:this.value}},computed:{...a.A.mapState(["isAuthenticated"]),...a.A.mapGetters(["supports"]),titleInput:{get(){return this.title},set(e){this.$emit("update:title",e)}},supportsJobs(){return this.supports("createJob")&&this.supports("startJob")},supportsSync(){return this.supports("computeResult")}},watch:{value(){this.mode=this.value},mode(){this.$emit("input",this.mode),"job"===this.mode&&this.$refs.title.select()},title(){this.$emit("update:title",this.title)}}},i=n;var l=s(81656),c=(0,l.A)(i,r,o,!1,null,"449febe3",null);const p=c.exports},37336:(e,t,s)=>{s.r(t),s.d(t,{default:()=>u});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-process"},[t("p",[e._v("Please select the user-defined process to execute:")]),t("Processes",{attrs:{heading:"",processes:e.filteredProcesses,offerDetails:!1},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{class:{element:!0,selected:s.id==e.value}},[t("div",{staticClass:"summary",on:{click:function(t){return e.update(s)}}},[t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()]),t("button",{staticClass:"button",attrs:{type:"button",title:"Show process details"},on:{click:function(t){return e.showProcess(s)}}},[t("i",{staticClass:"fas fa-info"})])])]}}])}),t("hr"),t("p",[e._v("Alternatively, provide a URL to a user-defined process:")]),t("input",{staticClass:"url",attrs:{type:"url",name:"url"},domProps:{value:e.url},on:{blur:e.updateUrl}})],1)},o=[],a=s(48312),n=s(2566),i=s(61663);const l={name:"ChooseUserDefinedProcess",mixins:[i.A],components:{Processes:a.A},props:{value:{type:String,default:null},namespace:{type:String,default:null},url:{type:String,default:null}},computed:{...n.A.mapGetters(["processes"]),filteredProcesses(){return this.processes.namespace(this.namespace||"user")}},methods:{...n.A.mapActions(["describeUserProcess"]),update(e){this.$emit("input",e)},updateUrl(e){const t=e.target.value;if(t){if(!n.A.isUrl(t))throw new Error("The provided URL is not valid.");this.$emit("input",t,!0)}},showProcess(e){this.broadcast("showProcess",e)}}},c=l;var p=s(81656),d=(0,p.A)(c,r,o,!1,null,null,null);const u=d.exports},45699:(e,t,s)=>{s.d(t,{A:()=>o});var r=s(4477);const o={components:{WizardTab:r["default"]},props:{parent:{type:Object,required:!0},options:{type:Object,default:()=>({})}},created(){for(let e in this.options)this[e]=this.options[e]}}}}]); -//# sourceMappingURL=4824.210a1e92.js.map \ No newline at end of file +//# sourceMappingURL=4824.e45c7fb2.js.map \ No newline at end of file diff --git a/js/4824.210a1e92.js.map b/js/4824.e45c7fb2.js.map similarity index 99% rename from js/4824.210a1e92.js.map rename to js/4824.e45c7fb2.js.map index f00e6b34..2424fec3 100644 --- a/js/4824.210a1e92.js.map +++ b/js/4824.e45c7fb2.js.map @@ -1 +1 @@ -{"version":3,"file":"js/4824.210a1e92.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./src/components/wizards/UDP.vue","webpack://@openeo/web-editor/src/components/wizards/UDP.vue","webpack://@openeo/web-editor/./src/components/wizards/UDP.vue?b4e1","webpack://@openeo/web-editor/./src/components/wizards/UDP.vue?49c6","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?ebe2","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?d2e5","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessParameters.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessParameters.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessParameters.vue?2081","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessParameters.vue?1ae4","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?7251","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?b614","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseUserDefinedProcess.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue?16cc","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue?2ac0","webpack://@openeo/web-editor/./src/components/wizards/WizardMixin.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wizard-tab-content\"},[(!_vm.noProcessSelection)?_c('WizardTab',{attrs:{\"pos\":_vm.tabPos[0],\"parent\":_vm.parent,\"title\":\"Process\",\"beforeChange\":_vm.checkProcessRequirements}},[_c('ChooseUserDefinedProcess',{attrs:{\"value\":_vm.process,\"namespace\":_vm.processNamespace,\"url\":_vm.processUrl},on:{\"input\":_vm.submitProcess}})],1):_vm._e(),_c('WizardTab',{attrs:{\"pos\":_vm.tabPos[1],\"parent\":_vm.parent,\"title\":\"Parameters\",\"beforeChange\":_vm.checkParameterRequirements}},[(_vm.processSpec)?_c('ChooseProcessParameters',{attrs:{\"process\":_vm.processSpec},model:{value:(_vm.args),callback:function ($$v) {_vm.args=$$v},expression:\"args\"}}):(_vm.loading)?_c('p',{staticClass:\"center\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading process...\")]):_c('p',[_vm._v(\"Process not available.\")])],1),_c('WizardTab',{attrs:{\"pos\":_vm.tabPos[2],\"parent\":_vm.parent,\"title\":\"Finish\"}},[_c('ChooseProcessingMode',{attrs:{\"title\":_vm.jobTitle},on:{\"update:title\":function($event){_vm.jobTitle=$event}},model:{value:(_vm.mode),callback:function ($$v) {_vm.mode=$$v},expression:\"mode\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UDP.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UDP.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UDP.vue?vue&type=template&id=3ecf3630\"\nimport script from \"./UDP.vue?vue&type=script&lang=js\"\nexport * from \"./UDP.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.active)?_c('div',{staticClass:\"wizard-tab-container\"},[_vm._t(\"default\",null,{\"active\":_vm.active})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WizardTab.vue?vue&type=template&id=9a832c4a\"\nimport script from \"./WizardTab.vue?vue&type=script&lang=js\"\nexport * from \"./WizardTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-process-parameters\"},[(_vm.parameters.length === 0)?_c('p',[_vm._v(\" This process doesn't expose any parameters. You can skip this step. \")]):_c('Parameters',{attrs:{\"parameters\":_vm.parameters,\"parent\":_vm.process},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessParameters.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessParameters.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessParameters.vue?vue&type=template&id=5df7758f\"\nimport script from \"./ChooseProcessParameters.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessParameters.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-processing-mode\"},[(_vm.isAuthenticated && (_vm.supportsJobs || _vm.supportsSync))?[_c('p',[_vm._v(\"Please select how you'd like to execute this workflow?\")]),_c('ul',{staticClass:\"mode\"},[(_vm.supportsJobs)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"job\",\"value\":\"job\"},domProps:{\"checked\":_vm._q(_vm.mode,\"job\")},on:{\"change\":function($event){_vm.mode=\"job\"}}}),_c('label',{attrs:{\"for\":\"job\"}},[_c('strong',[_vm._v(\"Batch Jobs\")]),_c('br'),_vm._v(\" Slower processing mode for large amounts of data. Creates and queues a batch job.\"),_c('br'),_vm._v(\" It is recommended to provide a title for the batch job: \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.titleInput),expression:\"titleInput\"}],ref:\"title\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.titleInput)},on:{\"input\":function($event){if($event.target.composing)return;_vm.titleInput=$event.target.value}}})])]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"sync\",\"value\":\"sync\"},domProps:{\"checked\":_vm._q(_vm.mode,\"sync\")},on:{\"change\":function($event){_vm.mode=\"sync\"}}}),_vm._m(0)]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"model\",\"value\":\"\"},domProps:{\"checked\":_vm._q(_vm.mode,\"\")},on:{\"change\":function($event){_vm.mode=\"\"}}}),_vm._m(1)]):_vm._e()])]:_c('p',[_vm._v(\" The wizard has all information to create the workflow for you.\"),_c('br'),(_vm.isAuthenticated)?[_vm._v(\"Unforntunately, this back-end can't process data,\")]:[_vm._v(\"You are not logged in and thus you can't process data directly,\")],_vm._v(\" but you can insert the process into the visual model builder now. \")],2)],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"sync\"}},[_c('strong',[_vm._v(\"Synchronous Processing\")]),_c('br'),_vm._v(\" Fast processing mode for small amounts of data. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"model\"}},[_c('strong',[_vm._v(\"Don't execute\")]),_c('br'),_vm._v(\" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessingMode.vue?vue&type=template&id=449febe3&scoped=true\"\nimport script from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseProcessingMode.vue?vue&type=style&index=0&id=449febe3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"449febe3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-process\"},[_c('p',[_vm._v(\"Please select the user-defined process to execute:\")]),_c('Processes',{attrs:{\"heading\":\"\",\"processes\":_vm.filteredProcesses,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show process details\"},on:{\"click\":function($event){return _vm.showProcess(item)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])}),_c('hr'),_c('p',[_vm._v(\"Alternatively, provide a URL to a user-defined process:\")]),_c('input',{staticClass:\"url\",attrs:{\"type\":\"url\",\"name\":\"url\"},domProps:{\"value\":_vm.url},on:{\"blur\":_vm.updateUrl}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseUserDefinedProcess.vue?vue&type=template&id=4512f50b\"\nimport script from \"./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseUserDefinedProcess.vue?vue&type=style&index=0&id=4512f50b&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import WizardTab from './components/WizardTab.vue';\n\nexport default {\n\tcomponents: {\n\t\tWizardTab\n\t},\n\tprops: {\n\t\tparent: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\toptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t},\n\tcreated() {\n\t\tfor(let key in this.options) {\n\t\t\tthis[key] = this.options[key];\n\t\t}\n\t}\n};"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","processes","showCategories","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","provideDownload","processUrl","showGraph","staticRenderFns","name","Process","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","Boolean","String","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","noProcessSelection","_e","tabPos","parent","checkProcessRequirements","process","processNamespace","submitProcess","checkParameterRequirements","processSpec","model","value","callback","$$v","expression","loading","_v","jobTitle","$event","mode","WizardMixin","ChooseUserDefinedProcess","ChooseProcessingMode","ChooseProcessParameters","data","computed","Utils","mapGetters","graph","node","process_id","arguments","result","hasText","namespace","summary","description","process_graph","beforeMount","length","id","ns","extractUDPParams","loaded","mapActions","isUrl","nextTab","loadFromUrl","url","Error","response","axios","error","JSON","parse","isObject","add","loadProcess","pg","ProcessGraph","validate","finish","modeOptions","title","active","required","pos","Number","beforeChange","afterChange","validationError","checked","mounted","addTab","beforeDestroy","removeTab","parameters","Parameters","isArray","map","p","ProcessParameter","filter","isEditable","isAuthenticated","supportsJobs","supportsSync","directives","rawName","domProps","_q","titleInput","ref","target","composing","_m","mapState","get","set","supports","watch","$refs","select","filteredProcesses","class","element","selected","update","_s","showProcess","updateUrl","EventBusMixin","Processes","event","broadcast","WizardTab","options","created"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/4824.e45c7fb2.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./src/components/wizards/UDP.vue","webpack://@openeo/web-editor/src/components/wizards/UDP.vue","webpack://@openeo/web-editor/./src/components/wizards/UDP.vue?b4e1","webpack://@openeo/web-editor/./src/components/wizards/UDP.vue?49c6","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/src/components/wizards/components/WizardTab.vue","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?ebe2","webpack://@openeo/web-editor/./src/components/wizards/components/WizardTab.vue?d2e5","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessParameters.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessParameters.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessParameters.vue?2081","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessParameters.vue?1ae4","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?7251","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?b614","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseUserDefinedProcess.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue?16cc","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue?2ac0","webpack://@openeo/web-editor/./src/components/wizards/WizardMixin.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wizard-tab-content\"},[(!_vm.noProcessSelection)?_c('WizardTab',{attrs:{\"pos\":_vm.tabPos[0],\"parent\":_vm.parent,\"title\":\"Process\",\"beforeChange\":_vm.checkProcessRequirements}},[_c('ChooseUserDefinedProcess',{attrs:{\"value\":_vm.process,\"namespace\":_vm.processNamespace,\"url\":_vm.processUrl},on:{\"input\":_vm.submitProcess}})],1):_vm._e(),_c('WizardTab',{attrs:{\"pos\":_vm.tabPos[1],\"parent\":_vm.parent,\"title\":\"Parameters\",\"beforeChange\":_vm.checkParameterRequirements}},[(_vm.processSpec)?_c('ChooseProcessParameters',{attrs:{\"process\":_vm.processSpec},model:{value:(_vm.args),callback:function ($$v) {_vm.args=$$v},expression:\"args\"}}):(_vm.loading)?_c('p',{staticClass:\"center\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading process...\")]):_c('p',[_vm._v(\"Process not available.\")])],1),_c('WizardTab',{attrs:{\"pos\":_vm.tabPos[2],\"parent\":_vm.parent,\"title\":\"Finish\"}},[_c('ChooseProcessingMode',{attrs:{\"title\":_vm.jobTitle},on:{\"update:title\":function($event){_vm.jobTitle=$event}},model:{value:(_vm.mode),callback:function ($$v) {_vm.mode=$$v},expression:\"mode\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UDP.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UDP.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UDP.vue?vue&type=template&id=3ecf3630\"\nimport script from \"./UDP.vue?vue&type=script&lang=js\"\nexport * from \"./UDP.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.active)?_c('div',{staticClass:\"wizard-tab-container\"},[_vm._t(\"default\",null,{\"active\":_vm.active})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WizardTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WizardTab.vue?vue&type=template&id=9a832c4a\"\nimport script from \"./WizardTab.vue?vue&type=script&lang=js\"\nexport * from \"./WizardTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-process-parameters\"},[(_vm.parameters.length === 0)?_c('p',[_vm._v(\" This process doesn't expose any parameters. You can skip this step. \")]):_c('Parameters',{attrs:{\"parameters\":_vm.parameters,\"parent\":_vm.process},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessParameters.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessParameters.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessParameters.vue?vue&type=template&id=5df7758f\"\nimport script from \"./ChooseProcessParameters.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessParameters.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-processing-mode\"},[(_vm.isAuthenticated && (_vm.supportsJobs || _vm.supportsSync))?[_c('p',[_vm._v(\"Please select how you'd like to execute this workflow?\")]),_c('ul',{staticClass:\"mode\"},[(_vm.supportsJobs)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"job\",\"value\":\"job\"},domProps:{\"checked\":_vm._q(_vm.mode,\"job\")},on:{\"change\":function($event){_vm.mode=\"job\"}}}),_c('label',{attrs:{\"for\":\"job\"}},[_c('strong',[_vm._v(\"Batch Jobs\")]),_c('br'),_vm._v(\" Slower processing mode for large amounts of data. Creates and queues a batch job.\"),_c('br'),_vm._v(\" It is recommended to provide a title for the batch job: \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.titleInput),expression:\"titleInput\"}],ref:\"title\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.titleInput)},on:{\"input\":function($event){if($event.target.composing)return;_vm.titleInput=$event.target.value}}})])]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"sync\",\"value\":\"sync\"},domProps:{\"checked\":_vm._q(_vm.mode,\"sync\")},on:{\"change\":function($event){_vm.mode=\"sync\"}}}),_vm._m(0)]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"model\",\"value\":\"\"},domProps:{\"checked\":_vm._q(_vm.mode,\"\")},on:{\"change\":function($event){_vm.mode=\"\"}}}),_vm._m(1)]):_vm._e()])]:_c('p',[_vm._v(\" The wizard has all information to create the workflow for you.\"),_c('br'),(_vm.isAuthenticated)?[_vm._v(\"Unforntunately, this back-end can't process data,\")]:[_vm._v(\"You are not logged in and thus you can't process data directly,\")],_vm._v(\" but you can insert the process into the visual model builder now. \")],2)],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"sync\"}},[_c('strong',[_vm._v(\"Synchronous Processing\")]),_c('br'),_vm._v(\" Fast processing mode for small amounts of data. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"model\"}},[_c('strong',[_vm._v(\"Don't execute\")]),_c('br'),_vm._v(\" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessingMode.vue?vue&type=template&id=449febe3&scoped=true\"\nimport script from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseProcessingMode.vue?vue&type=style&index=0&id=449febe3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"449febe3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-process\"},[_c('p',[_vm._v(\"Please select the user-defined process to execute:\")]),_c('Processes',{attrs:{\"heading\":\"\",\"processes\":_vm.filteredProcesses,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show process details\"},on:{\"click\":function($event){return _vm.showProcess(item)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])}),_c('hr'),_c('p',[_vm._v(\"Alternatively, provide a URL to a user-defined process:\")]),_c('input',{staticClass:\"url\",attrs:{\"type\":\"url\",\"name\":\"url\"},domProps:{\"value\":_vm.url},on:{\"blur\":_vm.updateUrl}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseUserDefinedProcess.vue?vue&type=template&id=4512f50b\"\nimport script from \"./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseUserDefinedProcess.vue?vue&type=style&index=0&id=4512f50b&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import WizardTab from './components/WizardTab.vue';\n\nexport default {\n\tcomponents: {\n\t\tWizardTab\n\t},\n\tprops: {\n\t\tparent: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\toptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t},\n\tcreated() {\n\t\tfor(let key in this.options) {\n\t\t\tthis[key] = this.options[key];\n\t\t}\n\t}\n};"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","processes","showCategories","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","provideDownload","processUrl","showGraph","staticRenderFns","name","Process","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","Boolean","String","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","noProcessSelection","_e","tabPos","parent","checkProcessRequirements","process","processNamespace","submitProcess","checkParameterRequirements","processSpec","model","value","callback","$$v","expression","loading","_v","jobTitle","$event","mode","WizardMixin","ChooseUserDefinedProcess","ChooseProcessingMode","ChooseProcessParameters","data","computed","Utils","mapGetters","graph","node","process_id","arguments","result","hasText","namespace","summary","description","process_graph","beforeMount","length","id","ns","extractUDPParams","loaded","mapActions","isUrl","nextTab","loadFromUrl","url","Error","response","axios","error","JSON","parse","isObject","add","loadProcess","pg","ProcessGraph","validate","finish","modeOptions","title","active","required","pos","Number","beforeChange","afterChange","validationError","checked","mounted","addTab","beforeDestroy","removeTab","parameters","Parameters","isArray","map","p","ProcessParameter","filter","isEditable","isAuthenticated","supportsJobs","supportsSync","directives","rawName","domProps","_q","titleInput","ref","target","composing","_m","mapState","get","set","supports","watch","$refs","select","filteredProcesses","class","element","selected","update","_s","showProcess","updateUrl","EventBusMixin","Processes","event","broadcast","WizardTab","options","created"],"sourceRoot":""} \ No newline at end of file diff --git a/js/5457.4f6eaddc.js b/js/5457.8a1b428a.js similarity index 99% rename from js/5457.4f6eaddc.js rename to js/5457.8a1b428a.js index c7126794..d8e6943c 100644 --- a/js/5457.4f6eaddc.js +++ b/js/5457.8a1b428a.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[5457,6660,5839,2722,9409,4279],{35254:(e,t,s)=>{s.d(t,{A:()=>r});const r={components:{FederationNotice:()=>s.e(2604).then(s.bind(s,52604)),FederationMissingNotice:()=>s.e(5363).then(s.bind(s,35363))},props:{federation:{type:Object,default:()=>({})}}}},69748:(e,t,s)=>{s.d(t,{A:()=>p});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component collections"},[t("SearchableList",{attrs:{data:e.collections,identifierKey:"id",summaryKey:"title",keywordsKey:"keywords",showKeywords:e.showKeywords,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Collection",{attrs:{data:s.item,mapOptions:e.mapOptions,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("collection-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("collection-end",null,null,t)]}},{key:"spatial-extents",fn:function(t){return[e._t("collection-spatial-extents",null,null,t)]}},{key:"temporal-extents",fn:function(t){return[e._t("collection-temporal-extents",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},a=[],i=s(86975),o=s(35254);const n={name:"Collections",components:{Collection:()=>i.A.loadAsyncComponent(Promise.all([s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(3249)]).then(s.bind(s,3249))),SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[o.A],props:{collections:{type:Array,default:()=>[]},mapOptions:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Collections"},collapsed:{type:Boolean,default:null},loadAdditionalData:{type:Function,default:null},showKeywords:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,r,a,!1,null,null,null);const p=d.exports},90334:(e,t,s)=>{s.d(t,{A:()=>p});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component file-formats"},[t("SearchableList",{attrs:{data:e.fileFormats,summaryKey:"title",keywordsKey:"gis_data_types",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(s){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(s.item.name))]),t("ul",{staticClass:"badges small inline"},[e.showAll&&"input"===s.item.type?t("li",{staticClass:"badge option1"},[e._v("Import")]):e._e(),e.showAll&&"output"===s.item.type?t("li",{staticClass:"badge option2"},[e._v("Export")]):e._e(),Array.isArray(s.item.gis_data_types)?e._l(s.item.gis_data_types,(function(s){return t("li",{key:s,staticClass:"badge gis"},[e._v(e._s(s))])})):e._e()],2),t("br"),t("small",[e._v(e._s(s.summary.summary))])]}),null,s)]}},{key:"details",fn:function(s){return[t("FileFormat",{attrs:{id:s.summary.identifier,format:s.item,type:s.item.type,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("file-format-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("file-format-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},a=[],i=s(86975),o=s(35254);const n={name:"FileFormats",components:{SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152))),FileFormat:()=>i.A.loadAsyncComponent(s.e(3504).then(s.bind(s,13504)))},mixins:[o.A],props:{formats:{type:Object,default:()=>({})},showInput:{type:Boolean,default:!0},showOutput:{type:Boolean,default:!0},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"File Formats"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},computed:{showAll(){return this.showInput&&this.showOutput},typesToShow(){let e=[];return this.showInput&&e.push("input"),this.showOutput&&e.push("output"),e},fileFormats(){let e=[];for(let s of this.typesToShow)for(var t in this.formats[s]){let r=Object.assign({id:`${t}-${s}`,name:t,type:s},this.formats[s][t]);e.push(r)}return e}},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,r,a,!1,null,null,null);const p=d.exports},34279:(e,t,s)=>{s.r(t),s.d(t,{default:()=>g});var r=function(){var e=this,t=e._self._c;return t("article",{staticClass:"vue-component process"},[e.process.id?e._t("title",(function(){return[t("a",{staticClass:"anchor",attrs:{name:e.process.id}}),t("h2",[e._v(" "+e._s(e.process.id)+" "),e.displayableNamespace?t("span",{staticClass:"namespace"},[e._v(" — "+e._s(e.displayableNamespace))]):e._e()])]}),{vBind:e.$props,displayableNamespace:e.displayableNamespace}):e._e(),e.process.summary||e.process.deprecated||e.process.experimental?[t("summary",[e._v(" "+e._s(e.process.summary)+" "),e.process.deprecated||e.process.experimental?[e.process.summary?[e._v(" — ")]:e._e(),e.process.deprecated?t("strong",{staticClass:"deprecated"},[e._v("deprecated")]):e._e(),e.process.experimental?t("strong",{staticClass:"experimental"},[e._v("experimental")]):e._e()]:e._e()],2)]:e._e(),e.provideDownload||e.hasElements(e.process.categories)?[t("div",{staticClass:"process-bar"},[e.hasElements(e.process.categories)?t("ul",{staticClass:"badges categories"},e._l(e.process.categories,(function(s){return t("li",{key:s,staticClass:"badge category",domProps:{textContent:e._s(e.formatCategory(s))}})})),0):e._e(),e.provideDownload?t("ul",{staticClass:"badges actions"},[t("li",{staticClass:"badge action download"},[t("a",{staticClass:"badge-fill",on:{click:e.download}},[e._v("Download JSON")])])]):e._e()])]:e._e(),e._t("before-description",null,{vBind:e.$props}),e.process.description?t("section",{staticClass:"description"},[t("h3",[e._v("Description")]),t("code",{staticClass:"signature",domProps:{innerHTML:e._s(e.signature)}}),t("Description",{attrs:{description:e.process.description,processUrl:e.processUrl}}),e.process.deprecated?t("DeprecationNotice",{attrs:{entity:"process"}}):e._e(),e.process.experimental?t("ExperimentalNotice",{attrs:{entity:"process"}}):e._e(),e.process["federation:backends"]?t("FederationNotice",{attrs:{backends:e.process["federation:backends"],federation:e.federation,entity:"process"}}):e._e()],1):e._e(),t("section",{staticClass:"parameters"},[t("h3",[e._v("Parameters")]),e._l(e.parameters,(function(s){return t("ProcessParameter",{key:s.name,attrs:{parameter:s,processUrl:e.processUrl,federation:e.federation}})})),0===e.parameters.length?t("p",[e._v("This process has no parameters.")]):e._e()],2),t("section",{staticClass:"returns"},[t("h3",[e._v("Return Value")]),e.returns.description||e.returns.schema?[e.returns.description?t("Description",{attrs:{description:e.returns.description,processUrl:e.processUrl}}):e._e(),e.returns.schema?t("div",{staticClass:"json-schema-container"},[t("JsonSchema",{attrs:{schema:e.returns.schema}})],1):e._e()]:t("p",[e._v("The return value has not been defined.")])],2),e.hasElements(e.process.exceptions)?t("section",{staticClass:"exceptions"},[t("h3",[e._v("Errors/Exceptions")]),t("ul",e._l(e.process.exceptions,(function(s,r){return t("li",{key:r,staticClass:"exception"},[t("code",[e._v(e._s(r))]),s.http?t("span",{staticClass:"http-code"},[e._v(" — HTTP "+e._s(s.http))]):e._e(),s.code?t("span",{staticClass:"error-code"},[e._v(" — "+e._s(s.code))]):e._e(),s.description?t("Description",{attrs:{description:s.description,processUrl:e.processUrl,compact:!0}}):e._e(),s.message?t("div",{staticClass:"message"},[e._v("Message: "),t("em",[e._v(e._s(s.message))])]):e._e()],1)})),0)]):e._e(),e.hasElements(e.process.examples)?t("section",{staticClass:"examples"},[t("h3",[e._v("Examples")]),e._l(e.process.examples,(function(s,r){return t("ProcessExample",{key:r,attrs:{id:r,example:s,processId:e.id,processParameters:e.parameters,processUrl:e.processUrl}})})),t("LinkList",{attrs:{links:e.exampleLinks,heading:"Processes",headingTag:"h4"}})],2):e._e(),t("section",{staticClass:"links"},[t("LinkList",{attrs:{links:e.process.links,heading:"See Also",headingTag:"h3",ignoreRel:["self","example"]}})],1),e.showGraph&&e.process.process_graph?t("section",{staticClass:"process-graph"},[t("h3",[e._v("Processing Instructions")]),t("div",{staticClass:"graph"},[e._t("process-graph",(function(){return[t("ModelBuilder",{attrs:{id:e.id,value:e.process,explicitZoom:!0}})]}),{vBind:e.$props})],2)]):e._e(),e._t("end",null,{vBind:e.$props})],2)},a=[],i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component process-example"},[t("h4",[e._v(e._s(e.title))]),t("div",{staticClass:"content"},[e.example.description?t("Description",{attrs:{description:e.example.description,processUrl:e.processUrl,compact:!0}}):e._e(),e.example.arguments?t("div",{staticClass:"arguments"},[t("code",{domProps:{innerHTML:e._s(e.renderedArguments)}})]):e._e()],1)])},o=[],n=s(86975);const l={name:"ProcessExample",props:{id:Number,example:Object,processId:String,processParameters:Array,processUrl:String},components:{Description:()=>Promise.all([s.e(7261),s.e(1194)]).then(s.bind(s,27261))},computed:{identifier(){return"#"+(this.id+1)},title(){return this.example.title?this.example.title+" ("+this.identifier+")":"Example "+this.identifier},renderedArguments(){var e=[];for(var t in this.processParameters){var s=this.processParameters[t];if("undefined"!==typeof this.example.arguments[s.name]){var r=this.example.arguments[s.name];let t;t=n.A.isObject(r)&&r.from_parameter?'$'+n.A.htmlentities(r.from_parameter)+"":n.A.isObject(r)&&r.from_node?'$'+n.A.htmlentities(r.from_node)+"":JSON.stringify(r),e.push(''+s.name+' = '+t+"")}}var a="";return"undefined"!==typeof this.example.returns&&(a=' => '+JSON.stringify(this.example.returns)+""),''+this.processId+"("+e.join(", ")+")"+a}}},c=l;var d=s(81656),p=(0,d.A)(c,i,o,!1,null,null,null);const u=p.exports;var m=s(35254);const h={name:"Process",components:{JsonSchema:()=>s.e(5771).then(s.bind(s,25771)),DeprecationNotice:()=>s.e(6238).then(s.bind(s,36238)),Description:()=>Promise.all([s.e(7261),s.e(1194)]).then(s.bind(s,27261)),ExperimentalNotice:()=>s.e(4387).then(s.bind(s,84387)),ModelBuilder:()=>Promise.all([s.e(4638),s.e(2722)]).then(s.bind(s,4638)),ProcessExample:u,ProcessParameter:()=>s.e(8354).then(s.bind(s,88354)),LinkList:()=>s.e(2810).then(s.bind(s,52810))},mixins:[m.A],props:{process:{type:Object,default:()=>({})},namespace:{type:String,default:null},provideDownload:{type:Boolean,default:!0},processUrl:String,showGraph:{type:Boolean,default:!1},...m.A.props},computed:{displayableNamespace(){let e=this.process.namespace||this.namespace;return"backend"===e?"":"user"===e?"user-defined":e},id(){return this.process.id||"unnamed"},parameters(){return Array.isArray(this.process.parameters)?this.process.parameters:[]},returns(){return n.A.isObject(this.process.returns)?this.process.returns:{}},signature(e=!0){return n.A.formatProcessSignature(this,e)},exampleLinks(){return Array.isArray(this.process.links)?this.process.links.filter((e=>"example"===e.rel)):[]}},beforeCreate(){n.A.enableHtmlProps(this)},methods:{hasElements(e){return"object"===typeof e&&null!==e&&Object.keys(e).length>0},formatCategory(e){return e.replace("_"," ")},download(){let e="data:application/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(this.process,null,2)),t=document.createElement("a");t.setAttribute("href",e),t.setAttribute("download",this.id+".json"),document.body.appendChild(t),t.click(),t.remove()}}},f=h;var y=(0,d.A)(f,r,a,!1,null,null,null);const g=y.exports},48312:(e,t,s)=>{s.d(t,{A:()=>p});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component processes"},[t("SearchableList",{attrs:{data:e.processes,keywordsKey:"categories",showKeywords:e.showCategories,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Process",{attrs:{process:s.item,provideDownload:e.provideDownload,processUrl:e.processUrl,showGraph:e.showGraph,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("process-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("process-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},a=[],i=s(86975),o=s(35254);const n={name:"Processes",components:{Process:()=>i.A.loadAsyncComponent(s.e(6660).then(s.bind(s,34279))),SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[o.A],props:{processes:{type:Array,default:()=>[]},provideDownload:{type:Boolean,default:!0},processUrl:String,searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Processes"},collapsed:{type:Boolean,default:null},showCategories:{type:Boolean,default:!1},showGraph:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},loadAdditionalData:{type:Function,default:null},missing:{type:Array,default:null},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,r,a,!1,null,null,null);const p=d.exports},9409:(e,t,s)=>{s.r(t),s.d(t,{default:()=>c});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component search-box",class:{compact:e.compact}},[t("span",{staticClass:"icon"},[e._v("🔎")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.searchTerm,expression:"searchTerm"}],attrs:{type:"search",placeholder:e.placeholder,minlength:e.minLength,title:e.searchHint},domProps:{value:e.searchTerm},on:{input:function(t){t.target.composing||(e.searchTerm=t.target.value)}}})])},a=[];const i={name:"SearchBox",props:{value:{type:String,default:""},placeholder:{type:String,default:"Search"},minLength:{type:Number,default:1},compact:{type:Boolean,default:!1}},data(){return{searchTerm:this.value}},watch:{searchTerm(e,t){e.length1?`Searching requires at least ${this.minLength} characters.`:null}}},o=i;var n=s(81656),l=(0,n.A)(o,r,a,!1,null,null,null);const c=l.exports},91065:(e,t,s)=>{s.d(t,{A:()=>p});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component udf-runtimes"},[t("SearchableList",{attrs:{data:e.runtimes,summaryKey:"title",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},{key:"summary",fn:function(s){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(s.summary.identifier))]),t("ul",{staticClass:"badges small inline"},["docker"===s.item.type||s.item.docker&&s.item.tags?[t("li",{staticClass:"badge docker"},[e._v("Docker")]),e._l(s.item.tags,(function(r){return t("li",{key:r,staticClass:"badge version",class:{default:r===s.item.default}},[e._v(e._s(r))])}))]:e._l(s.item.versions,(function(r,a){return t("li",{key:a,staticClass:"badge version",class:{default:a===s.item.default}},[e._v(e._s(a))])}))],2),t("br"),t("small",[e._v(e._s(s.summary.summary))])]}),null,s)]}},{key:"details",fn:function(s){return[t("UdfRuntime",{attrs:{id:s.summary.identifier,runtime:s.item,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(t){return[e._t("udf-runtime-badges",null,null,t)]}},{key:"before-description",fn:function(t){return[e._t("udf-runtime-before-description",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},a=[],i=s(86975),o=s(35254);const n={name:"UdfRuntimes",components:{SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152))),UdfRuntime:()=>i.A.loadAsyncComponent(s.e(3271).then(s.bind(s,33271)))},mixins:[o.A],props:{runtimes:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"UDF Runtimes"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,r,a,!1,null,null,null);const p=d.exports},77754:(e,t,s)=>{s.d(t,{A:()=>y});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"discovery-toolbar"},[t("SearchBox",{model:{value:e.searchTerm,callback:function(t){e.searchTerm=t},expression:"searchTerm"}}),t("div",{staticClass:"filters"},[t("span",{staticClass:"label"},[e._v(" Show ")]),t("label",{staticClass:"show-deprecated",attrs:{title:"Show deprecated elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showDeprecated,expression:"showDeprecated"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showDeprecated)?e._i(e.showDeprecated,null)>-1:e.showDeprecated},on:{change:function(t){var s=e.showDeprecated,r=t.target,a=!!r.checked;if(Array.isArray(s)){var i=null,o=e._i(s,i);r.checked?o<0&&(e.showDeprecated=s.concat([i])):o>-1&&(e.showDeprecated=s.slice(0,o).concat(s.slice(o+1)))}else e.showDeprecated=a}}}),e._v(" deprecated ")]),t("label",{staticClass:"show-experimental",attrs:{title:"Show experimental elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showExperimental,expression:"showExperimental"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showExperimental)?e._i(e.showExperimental,null)>-1:e.showExperimental},on:{change:function(t){var s=e.showExperimental,r=t.target,a=!!r.checked;if(Array.isArray(s)){var i=null,o=e._i(s,i);r.checked?o<0&&(e.showExperimental=s.concat([i])):o>-1&&(e.showExperimental=s.slice(0,o).concat(s.slice(o+1)))}else e.showExperimental=a}}}),e._v(" experimental ")])]),t("div",{staticClass:"search-results"},[t("Collections",{staticClass:"category",attrs:{collections:e.collections,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsLoadCollection},on:{dragstart:function(t){return e.onDrag(t,"collection",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showCollectionInfo(s.id)}}},[t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()]),e.hasCollectionPreview(s)?t("button",{staticClass:"discovery-button",attrs:{type:"button",title:"View on map"},on:{click:function(t){return e.showCollectionPreview(s)}}},[t("i",{staticClass:"fas fa-map"})]):e._e()])]}}])}),t("Processes",{staticClass:"category",attrs:{processes:e.allProcesses,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:"true"},on:{dragstart:function(t){return e.onDrag(t,"process",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showProcess(s)}}},["user"===s.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-sitemap",attrs:{title:"Custom Process"}}):"backend"!==s.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-tag",attrs:{title:`Process from namespace '${s.namespace}'`}}):e._e(),t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.summary?t("small",{attrs:{title:s.summary}},[e._v(e._s(s.summary))]):e._e()])])]}}])}),e.hasUdfRuntimes?t("UdfRuntimes",{staticClass:"category",attrs:{runtimes:e.udfRuntimes,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({summary:s,item:r}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsRunUdf},on:{dragstart:function(t){return e.onDrag(t,"udf",{runtime:s.identifier,version:r.default})}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showUdfInfo(s.identifier,r)}}},[t("strong",{attrs:{title:s.identifier}},[e._v(e._s(s.identifier)+" ("+e._s(r.default)+")")]),s.summary?t("small",{attrs:{title:s.summary}},[e._v(e._s(s.summary))]):e._e()])])]}}],null,!1,92063951)}):e._e(),t("FileFormats",{staticClass:"category",attrs:{formats:e.fileFormats,showInput:!1,heading:"Export File Formats",searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsSaveResult},on:{dragstart:function(t){return e.onDrag(t,"fileformat",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showFileFormatInfo(s)}}},[t("strong",{attrs:{title:s.name}},[e._v(e._s(s.name))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()])])]}}])})],1)],1)},a=[],i=s(61663),o=s(2566),n=s(69748),l=s(90334),c=s(48312),d=s(9409),p=s(91065);const u={name:"DiscoveryToolbar",mixins:[i.A],components:{Collections:n.A,FileFormats:l.A,Processes:c.A,SearchBox:d["default"],UdfRuntimes:p.A},props:{onAddProcess:{type:Function,required:!0},collectionPreview:{type:Boolean,default:!1},persist:{type:Boolean,default:!1}},data(){return{internalSearchTerm:"",collapsed:!0,showDeprecated:this.$config.showDeprecatedByDefault||!1,showExperimental:this.$config.showExperimentalByDefault||!1}},computed:{...o.A.mapState(["collections","udfRuntimes"]),...o.A.mapState("editor",["discoverySearchTerm"]),...o.A.mapGetters(["supports","fileFormats","processes"]),supportsLoadCollection(){return this.processes.has("load_collection")},supportsRunUdf(){return this.processes.has("run_udf")},supportsSaveResult(){return this.processes.has("save_result")},hasUdfRuntimes(){return o.A.size(this.udfRuntimes)},allProcesses(){return this.processes.all()},searchTerm:{get(){return this.persist?this.discoverySearchTerm:this.internalSearchTerm},set(e){this.persist?this.setDiscoverySearchTerm(e):this.internalSearchTerm=e}}},watch:{searchTerm:{immediate:!0,handler(e,t){!e&&t?this.collapsed=!0:e&&!t&&(this.collapsed=!1)}}},methods:{...o.A.mapMutations("editor",["setDiscoverySearchTerm","setModelDnd"]),...o.A.mapActions(["loadProcess"]),onDrag(e,t,s){let r=e=>this.setModelDnd({type:t,data:s,loading:e});"process"===t?(r(!0),this.loadProcess(s).then((()=>r(!1)))):r(!1)},showCollectionInfo(e){this.broadcast("showCollection",e)},hasCollectionPreview(e){return Boolean(this.collectionPreview&&o.A.getPreviewLinkFromSTAC(e))},showCollectionPreview(e){this.broadcast("showCollectionPreview",e)},showProcess(e){this.broadcast("showProcess",e)},showUdfInfo(e,t){this.broadcast("showModal","UdfRuntimeModal",{id:e,data:t,version:t.default})},showFileFormatInfo(e){let t={id:e.name,format:this.fileFormats.output[e.name],type:"output"};this.broadcast("showModal","FileFormatModal",t)}}},m=u;var h=s(81656),f=(0,h.A)(m,r,a,!1,null,"281f64a6",null);const y=f.exports},63036:(e,t,s)=>{s.r(t),s.d(t,{default:()=>k});var r=function(){var e=this,t=e._self._c;return t("Tabs",{ref:"tabs",staticClass:"editor",attrs:{id:"customProcessContent",position:"bottom"}},[t("Tab",{attrs:{id:"visual",name:"Visual Model",icon:"fa-project-diagram",selected:!0,allowShow:e.canSwitchView},on:{show:e.showModel}},[t("VisualEditor",{ref:"graphBuilder",staticClass:"visualEditorTab",attrs:{editable:e.editable,parent:e.parent,parentSchema:e.parentSchema,value:e.modelValue,title:e.title,id:e.id+"_visual",showDiscoveryToolbar:e.showDiscoveryToolbar,showIntro:e.showIntro,defaultValue:e.defaultValue},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1),t("Tab",{attrs:{id:"source",name:"Code",icon:"fa-code",allowShow:e.canSwitchView},on:{show:e.showCode}},[t("TextEditor",{ref:"sourceEditor",staticClass:"textEditorTab",attrs:{editable:e.editable,value:e.codeValue,title:e.title,id:e.id+"_text",language:"processgraph"},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1)],1)},a=[],i=s(2566),o=s(4615),n=s(58379),l=function(){var e=this,t=e._self._c;return t("div",{ref:"visualEditor",staticClass:"visualEditor"},[t("div",{staticClass:"sourceHeader"},[e.title?t("strong",[e._v(e._s(e.title))]):e._e(),t("div",{staticClass:"sourceToolbar"},[e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",title:"New script / Clear current script"},on:{click:e.confirmClear}},[t("i",{staticClass:"fas fa-file"})]),e._t("file-toolbar")],2):e._e(),e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",disabled:!e.canUndo,title:"Revert last change"},on:{click:function(t){return e.$refs.blocks.undo()}}},[t("i",{staticClass:"fas fa-undo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.canRedo,title:"Redo last reverted change"},on:{click:function(t){return e.$refs.blocks.redo()}}},[t("i",{staticClass:"fas fa-redo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.hasSelection,title:"Delete selected elements"},on:{click:function(t){return e.$refs.blocks.deleteSelected()}}},[t("i",{staticClass:"fas fa-trash"})])]):e._e(),e.editable?t("span",{staticClass:"sepr"},[e.parent?e._e():t("button",{attrs:{type:"button",title:"Edit Process Metadata"},on:{click:()=>e.editProcess(e.value)}},[t("i",{staticClass:"fas fa-edit"})]),t("button",{attrs:{type:"button",title:"Add Parameter"},on:{click:e.addParameter}},[t("i",{staticClass:"fas fa-parking"})]),e.supportsMath?t("button",{class:{highlightFormula:e.isMath},attrs:{type:"button",title:"Insert/Edit formula"},on:{click:e.showExpressionModal}},[t("i",{staticClass:"fas fa-square-root-alt"})]):e._e()]):e._e(),t("button",{class:{compactMode:e.compactMode},attrs:{type:"button",title:"Compact Mode"},on:{click:function(t){return e.$refs.blocks.toggleCompact()}}},[t("i",{staticClass:"fas fa-compress-arrows-alt"})]),t("button",{attrs:{type:"button",title:"Scale to perfect size"},on:{click:function(t){return e.$refs.blocks.perfectScale()}}},[t("i",{staticClass:"fas fa-arrows-alt"})]),t("FullscreenButton",{attrs:{element:()=>this.$refs.visualEditor},on:{changed:t=>{this.$refs.blocks.perfectScale(),e.isFullScreen=t}}}),e._t("toolbar")],2)]),t("div",{staticClass:"editorSplitter"},[(e.showDiscoveryToolbar||e.isFullScreen)&&e.editable?t("DiscoveryToolbar",{staticClass:"discoveryToolbar",attrs:{onAddProcess:e.insertProcess}}):e._e(),t("div",{staticClass:"graphBuilder",on:{drop:e.onDrop,dragover:e.allowDrop}},[e.showHelpOverlay?t("div",{staticClass:"model-overlay"},[t("h2",[e._v("Welcome!")]),t("p",[e._v(" What you are seeing in this area of the "+e._s(e.$config.appName)+" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. ")]),t("p",[e._v(" Alternatively, you can also import existing processes into the model builder: "),t("ul",[e.canPaste?t("li",[e._v("Paste the JSON from your clipboard by clicking "),t("button",{attrs:{type:"button",title:"Paste from clipboard"},on:{click:e.paste}},[t("i",{staticClass:"fas fa-paste"})]),e._v(" or use "),t("kbd",[e._v("CTRL")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (Windows, Linux) or "),t("kbd",[e._v("⌘")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (MacOS) when the model builder is in focus.")]):e._e(),t("li",[e._v("Drag and drop a JSON file from your computer")]),t("li",[e._v("Import a JSON file from your computer or another source such as the internet by clicking "),t("button",{attrs:{type:"button",title:"Import process from external source"},on:{click:e.importProcess}},[t("i",{staticClass:"fas fa-cloud-download-alt"})])])])]),e._m(0),t("p",[e._v("Once you start interacting with this area, this message will disappear.")])]):e._e(),t("ModelBuilder",{ref:"blocks",attrs:{editable:e.editable,id:e.id,processes:e.processes,collections:e.collections,parent:e.parent,parentSchema:e.parentSchema,value:e.value},on:{input:e.commit,error:e.errorHandler,showProcess:(t,s)=>e.broadcast("showProcess",{id:t,namespace:s}),showCollection:t=>e.broadcast("showCollection",t),showParameter:(t,s)=>e.broadcast("showProcessParameter",t,s),editParameter:e.editParameter,editArguments:e.openArgumentEditor,compactMode:e=>this.compactMode=e,selectionChanged:e.selectionChanged,historyChanged:e.historyChanged}})],1)],1)])},c=[function(){var e=this,t=e._self._c;return t("p",[e._v(" You can also import the processes from the Python and R client. You need to export your process to JSON first: "),t("ul",[t("li",[e._v("In Python use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export",target:"_blank"}},[t("code",[e._v("print(result.to_json())")])])]),t("li",[e._v("In R use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-r-client/reference/index.html",target:"_blank"}},[t("code",[e._v('toJSON(as(result, "Process"))')])])])]),e._v(" In both cases, "),t("code",[e._v("result")]),e._v(" is your last return value from a data cube process such as "),t("code",[e._v("save_result")]),e._v(". For more details, please read the corresponding chapter in the "),t("a",{attrs:{href:"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json",target:"_blank"}},[e._v("openEO cookbook")]),e._v(". ")])}],d=s(4638),p=s(77754),u=s(61663),m=s(82574),h=s(31572),f=s(47067);const y={name:"VisualEditor",mixins:[u.A],components:{ModelBuilder:d["default"],DiscoveryToolbar:p.A,FullscreenButton:m.A},props:{id:String,editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},title:{type:String},defaultValue:{}},computed:{...i.A.mapState(["connection","collections"]),...i.A.mapGetters(["processes","supportsMath"]),...i.A.mapState("editor",["initialNode"]),...i.A.mapGetters("editor",["getModelNodeFromDnD"]),isMath(){return this.supportsMath&&this.processes.isMath(this.value)}},data(){return{showHelpOverlay:this.showIntro,canUndo:!1,canRedo:!1,canPaste:!1,compactMode:!1,hasSelection:!1,formula:null,isFullScreen:!1}},watch:{value:{immediate:!0,handler(e){if(e&&(this.showHelpOverlay=!1),this.initialNode&&i.A.isObject(e)&&i.A.isObject(e.process_graph))try{let t=this.initialNode;"1"==t&&i.A.size(e.process_graph)&&(t=Object.keys(e.process_graph)[0]),this.openArgumentEditorForNode(t)}catch(t){i.A.exception(this,t)}finally{this.setInitialNode(null)}}}},mounted(){this.canPaste=navigator&&navigator.clipboard&&"function"===typeof navigator.clipboard.readText},methods:{...i.A.mapMutations("editor",["setInitialNode","setModelDnD"]),commit(e){"undefined"!==typeof this.defaultValue&&i.A.isObject(e)&&0===i.A.size(e.process_graph)&&(e=this.defaultValue),this.$emit("input",e)},async paste(){this.canPaste||i.A.error(this,"error","Pasting is not supported by your browser.");try{const e=await navigator.clipboard.readText();let t=JSON.parse(e);await this.$refs.blocks.import(t)}catch(e){i.A.exception(this,e,"Paste Error")}},importProcess(){this.broadcast("importProcess")},errorHandler(e,t=null){i.A.exception(this,e,t)},selectionChanged(e,t){this.hasSelection=Boolean(e.filter((e=>e.$el.allowsDelete)).length||t.length)},historyChanged(e,t){this.canUndo=!!e[t-1],this.canRedo=!!e[t+1]},allowDrop(e){this.showHelpOverlay=!1,e.preventDefault()},async onDrop(e){const t=await this.getModelNodeFromDnD();if(t)return this.insertProcess(t,e.pageX,e.pageY),this.setModelDnD(),e.preventDefault();let s=e.dataTransfer.files;if(1===s.length){let t=e.dataTransfer.files[0];if("application/json"===t.type){var r=new FileReader;return r.onload=async e=>{try{let t=JSON.parse(e.target.result);await this.$refs.blocks.import(t)}catch(t){i.A.exception(this,t,"Parsing JSON file failed")}},r.onerror=e=>i.A.exception(this,e,"Reading JSON file failed"),r.readAsText(t,"UTF-8"),e.preventDefault()}}},getNameField(e=void 0,t="name"){return{value:e,name:t,description:"A unique identifier. Must contain only letters (`a`-`z`), digits (`0`-`9`) and underscores (`_`). `snake_case` is recommended.",label:"Name",schema:{type:"string",pattern:"^\\w+$"},default:null}},getDescriptionField(e=void 0,t=!1,s="description",r="Description"){return{value:e,name:s,description:"Provides a detailed description. CommonMark (Markdown) syntax can be used for rich text formatting.",label:r,optional:t,schema:{type:"string",subtype:"commonmark"}}},getOptionalField(e=void 0){return{value:e,name:"optional",label:"Optional",description:"Parameters by default are required. CHeck this option to make the parameter optional. For optional parameters a default value should be specified.",optional:!0,schema:{type:"boolean"},default:!1}},getDefaultField(e=void 0){return{value:e,name:"default",label:"Default Value",description:"This value is used whenever the user of this process did not specify a value for this parameter.",toggledBy:"optional",optional:!0,schema:{}}},getExperimentalField(e=void 0){return{value:e,name:"experimental",label:"Experimental",description:"Declares that this is experimental, which means that it is unstable and likely to change.",optional:!0,schema:{type:"boolean"},default:!1}},getDeprecatedField(e=void 0){return{value:e,name:"deprecated",label:"Deprecated",description:"Declares that this is deprecated with the potential to be removed in any of the next versions. It should be transitioned out of usage.",optional:!0,schema:{type:"boolean"},default:!1}},getSchemaField(e=void 0,t="schema",s="Data Types"){let r=e?"json-schema":"openeo-datatype";return{value:e,name:t,label:s,description:"Allowed data type(s) as JSON Schema.",schema:[{title:"Single data type",type:"object",subtype:r},{title:"Multiple data types",type:"array",minItems:2,items:{type:"object",subtype:r}}]}},editProcess(e){e=i.A.isObject(e)?e:{};let t=i.A.isObject(e.returns)?e.returns:{};var s=[this.getNameField(e.id,"id"),{value:e.summary,name:"summary",description:"A very short description of the process with usually less than 60 characters.",label:"Summary",optional:!0,schema:{type:"string"}},this.getDescriptionField(e.description,!0),{value:e.categories,name:"categories",label:"Categories",optional:!0,schema:{type:"array",items:{type:"string"}}},this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),{label:"Parameters",description:'The parameters can be edited directly in the "Visual Model" interface.',info:!0},this.getDescriptionField(t.description,!0,"returns_description","Return Value > Description"),this.getSchemaField(t.schema,"returns_schema","Return Value > Data Type"),{value:e.exceptions,name:"exceptions",description:"Declares exceptions (errors) that might occur during execution of this process. This list is just for informative purposes.\n\nThe keys of the object are the error codes, which should only consist of alphanumerical characters. `PascalCase` is recommended.",label:"Errors",optional:!0,schema:{type:"object",additionalProperties:{type:"object",required:["message"],properties:{message:{title:"Error Message",type:"string"},description:{title:"Description",type:"string",subtype:"commonmark"},http:{title:"HTTP Status Code",type:"integer",enum:[400,500,501]}}}}},{value:e.examples,name:"examples",label:"Examples",description:"Example calls for this process with specific values for the parameters (arguments) and the result (return value).",optional:!0,schema:{type:"array",items:{type:"object",required:["arguments"],properties:{title:{title:"Title",type:"string"},title:{title:"Description",type:"string",subtype:"commonmark"},arguments:{title:"Arguments",type:"object",default:{}},returns:{title:"Return Value"}}}}},{value:e.links,name:"links",label:"Links",description:"Links related to this process, e.g. additional documentation.",optional:!0,schema:{type:"array",items:{type:"object",required:["href","rel"],properties:{href:{title:"URL",type:"string"},rel:{title:"Relation",description:"For examples see [IANA relation types](https://www.iana.org/assignments/link-relations/link-relations.xhtml)",type:"string",default:"about"},title:{title:"Title",type:"string"},type:{title:"Media Type",description:"For examples see [IANA media types](https://www.iana.org/assignments/media-types/media-types.xhtml)",type:"string"}}}}}];this.broadcast("showDataForm","Edit Process",s,(async e=>{let t=i.A.pickFromObject(e,["id","summary","description","categories","experimental","deprecated","exception","examples","links"]);("string"===typeof t.description||i.A.isObject(t.schema))&&(t.returns={description:e.returns_description,schema:e.returns_schema});let s=this.$refs.blocks.export(!0),r=Object.assign({},s,t);const a={id:"",summary:"",description:"",categories:[],experimental:!1,deprecated:!1,examples:[],links:[],process_graph:{}};for(let o in a)i.A.equals(a[o],r[o])&&delete r[o];this.commit(r)}))},addParameter(){var e=[this.getNameField(),this.getDescriptionField(),this.getOptionalField(),this.getDefaultField(),this.getExperimentalField(),this.getDeprecatedField(),this.getSchemaField()];this.broadcast("showDataForm","Add Parameter",e,(async e=>{"string"===typeof e.name&&e.name.length>0&&await this.$refs.blocks.addPgParameter(e)}))},editParameter(e,t="Edit Parameter",s=null){var r=[this.getNameField(e.name),this.getDescriptionField(e.description),this.getOptionalField(e.optional),this.getDefaultField(e.default),this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),this.getSchemaField(e.schema)];this.broadcast("showDataForm",t,r,s)},showExpressionModal(){let e=new f.A(this.value,this.processes,this.connection,!0);e.setCallbackParameters(this.$refs.blocks.getPgParameters().map((e=>e.spec)));try{e.parse();let t={process:e},s={save:this.insertNodes};this.broadcast("showModal","ExpressionModal",t,s)}catch(t){i.A.exception(this,t)}},openArgumentEditorForNode(e){let t=i.A.deepClone(this.value),s=t.process_graph[e],r=this.processes.get(s.process_id,s.namespace);Array.isArray(r.parameters)&&r.parameters.length>0&&this.openArgumentEditor(r.parameters.map((e=>new h.ProcessParameter(e))).filter((e=>e.isEditable())),s.arguments,r.id,!0,null,(e=>{Object.assign(s,{arguments:e}),this.commit(t)}))},openArgumentEditor(e,t,s="Edit",r=!0,a=null,i=null,o=null){let n={title:s,parameters:e,data:t,editable:r,selectParameterName:a,parent:o},l={};"function"===typeof i&&(l.save=i),this.broadcast("showModal","ParameterModal",n,l)},confirmClear(){var e=confirm("Do you really want to clear the existing model?");e&&this.clear()},clear(){this.$refs.blocks&&this.$refs.blocks.clear(),this.commit(null)},insertProcess(e,t=null,s=null){try{var r=this.$refs.blocks.getPositionForPageXY(t,s);let a=e.namespace;"backend"!==a&&"user"!==a||(a=null),this.$refs.blocks.addProcess(e.process_id,e.arguments,r,a)}catch(a){i.A.exception(this,a)}},async insertNodes(e,t=!1){return await this.$refs.blocks.import({process_graph:e},{clear:t})}}},g=y;var b=s(81656),v=(0,b.A)(g,l,c,!1,null,null,null);const _=v.exports;var w=s(57497);const x={name:"Editor",components:{VisualEditor:_,TextEditor:w.A,Tabs:o["default"],Tab:n["default"]},props:{id:{type:String,default:()=>`editor_${Date.now()}`},editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},title:{type:String},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},defaultValue:{}},watch:{value(){this.updateTab()}},data(){return{modelValue:null,codeValue:null,error:null}},mounted(){this.updateTab()},methods:{...i.A.mapActions(["loadProcess"]),showModel(){this.error=null,this.modelValue=this.value},showCode(){this.error=null,this.codeValue=this.value,this.$refs.sourceEditor.updateState()},updateTab(){"source"===this.$refs.tabs.getActiveTabId()?this.showCode():this.showModel()},commit(e){this.error=null,this.$emit("input",e)},onError(e){this.error=e},activeEditor(){return"source"===this.$refs.tabs.getActiveTabId()?this.$refs.sourceEditor:this.$refs.graphBuilder},async insertProcess(e){try{await this.loadProcess({id:e.process_id,namespace:e.namespace}),this.activeEditor().insertProcess(e)}catch(t){i.A.exception(this,t)}},canSwitchView(){return!this.editable||null===this.error||(i.A.exception(this,this.error,"Process Invalid Error"),!1)}}},A=x;var C=(0,b.A)(A,r,a,!1,null,null,null);const k=C.exports},12307:(e,t,s)=>{s.r(t),s.d(t,{default:()=>m});var r=function(){var e=this,t=e._self._c;return t("Modal",{attrs:{width:e.minWidth,title:e.process.id},on:{closed:function(t){return e.$emit("closed")}}},[t("div",{staticClass:"docgen"},[t("Process",{attrs:{process:e.process,provideDownload:!1,showGraph:!0},scopedSlots:e._u([{key:"process-graph",fn:function(){return[t("Editor",{staticClass:"infoViewer",attrs:{value:e.process,editable:!1,id:"pgInfoViewer"}})]},proxy:!0}])})],1)])},a=[],i=s(63036),o=s(94679),n=s(34279),l=s(2566);const c={name:"ProcessModal",components:{Editor:i["default"],Modal:o.A,Process:n["default"]},props:{process:{type:Object}},computed:{minWidth(){return l.A.isObject(this.process)&&this.process.process_graph?"80%":"50%"}}},d=c;var p=s(81656),u=(0,p.A)(d,r,a,!1,null,null,null);const m=u.exports},16125:(e,t,s)=>{s.d(t,{A:()=>o});var r=s(14894),a=s(2566);class i extends r.BaseProcess{constructor(e,t){super(e),this.exporter=t}async execute(e){await this.exporter.generateFunction(e)}}class o extends r.ProcessGraph{constructor(e,t,s){super(a.A.isObject(e)?e:{},t),this.connection=s,this.code=[],this.fnCounter=1,this.allowEmpty(),this.fillUndefinedParameters()}createProcessGraphInstance(e){let t=new o(e,this.processRegistry,this.getJsonSchemaValidator());return this.copyProcessGraphInstanceProperties(t)}copyProcessGraphInstanceProperties(e){return e=super.copyProcessGraphInstanceProperties(e),e.connection=this.connection,e}createProcessInstance(e){return new i(e,this)}isKeyword(e){return this.getKeywords().includes(e.toLowerCase())}getKeywords(){return[]}comment(){}generateImports(){}generateConnection(){}generateAuthentication(){}generateBuilder(){}generateMetadata(){}generateMissingParameter(){}async generateFunction(){}generateFunctionParams(e){return e.map((e=>"undefined"!==typeof e.default?`${e.name} = ${this.e(e.default)}`:e.name))}async generateCallback(){}generateResult(){}makeNull(){return"null"}makeBoolean(e){return e?"true":"false"}makeArray(e){return`[${e.join(", ")}]`}makeObject(e){let t=a.A.mapObject(e,((e,t)=>`${this.makeString(t)}: ${e}`));return`{${t.join(", ")}}`}makeString(e){return JSON.stringify(e)}makeNumber(e){return e}e(e){return null===e?this.makeNull():"boolean"===typeof e?this.makeBoolean(e):"number"===typeof e?this.makeNumber(e):"string"===typeof e?this.makeString(e):Array.isArray(e)?this.makeArray(e.map((e=>this.e(e)))):a.A.isObject(e)?this.makeObject(a.A.mapObjectValues(e,(e=>this.e(e)))):"function"===typeof e?e():this.makeNull()}generateMetadata(){let e=!1;for(let t in this.process){if("process_graph"===t)continue;let s=this.process[t];Array.isArray(s)&&0===s.length||("string"===typeof s&&0===s.length||("boolean"!==typeof s||s)&&(e||(this.newLine(),this.comment("Set the metadata for the process"),e=!0),this.generateMetadataEntry(t,s)))}}async resolveArguments(e,t,s){let r=Array.isArray(e)?[]:{};for(let i in e){let n=e[i];if(!s||!s(i,n))if(a.A.isObject(n)){if(n.from_node){r[i]=()=>this.var(n.from_node,this.varPrefix());continue}if(n.from_parameter){r[i]=()=>this.var(n.from_parameter);continue}if(n instanceof o){let e=await t(i);r[i]=()=>e;continue}r[i]=await this.resolveArguments(n,t,s)}else Array.isArray(n)?r[i]=await this.resolveArguments(n,t,s):r[i]=n}return r}async resolveCallback(e,t){let s;if("load_collection"===e.process_id){let r=e.getArgument("properties");s=r[t]}else s=e.getArgument(t);let r=s.getCallbackParameters();await s.execute(r);let a=this.var(`${t}${this.fnCounter++}`,"fn_"),i=await this.generateCallback(s,r,a);return i||a}async generateArguments(e,t=!1,s=null){let r=await this.resolveArguments(e.arguments,(async t=>await this.resolveCallback(e,t)),s);return t&&(r=this.orderArguments(e,r)),r}orderArguments(e,t){let s=e.getProcessGraph().getProcess(e);if(s&&Array.isArray(s.parameters)){let e=s.parameters.map((e=>"undefined"!==typeof t[e.name]?t[e.name]:e.optional?void 0:null)),r=!1;for(let t=e.length-1;t>=0;t--)"undefined"===typeof e[t]?r?e[t]=null:e.pop():r=!0;return e}}varPrefix(){return this.getParent()?"data":"datacube"}var(e,t="var"){return e=String(e),this.isKeyword(e)?`${e}_`:e.match(/^[a-z_]\w*$/)?e:t+e.replace(/[^\w]+/g,"_")}getTab(){return"\t"}addCode(e,t="",s=0){if("string"!==typeof e)return;let r=this.getTab().repeat(s),a=e.trim().split(/\r\n|\r|\n/g);for(let i of a)this.code.push(`${r}${t}${i}\n`)}newLine(e=1){for(let t=0;t0){this.comment("ToDo: Here you need to set values for the parameters");for(let e of t)this.generateMissingParameter(e);this.newLine()}return await this.execute(),e||(this.newLine(),this.comment("The process can be executed synchronously (see below), as batch job or as web service now")),this.generateResult(this.getResultNode(),e),this.code.join("").trim()}async execute(){return await this.validate(),this.reset(),await this.executeNodes(this.getStartNodes()),this.getResultNode()}isMath(){return"undefined"===typeof this._isMath&&(this._isMath=this.processRegistry.isMath(this)),this._isMath}}},47067:(e,t,s)=>{s.d(t,{A:()=>n});var r=s(2566),a=s(16125),i=s(73902);const o=["abstract","arguments","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","eval","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with","yield","builder","connection","formula","openeo","result"];class n extends a.A{constructor(e,t,s,r=!1){super(e,t,s),this.generateFormula=r}createProcessGraphInstance(e){let t=new n(e,this.processRegistry,this.getJsonSchemaValidator(),this.generateFormula);return this.copyProcessGraphInstanceProperties(t)}parse(){this.parsed||super.parse()}getKeywords(){return o}comment(e){this.addCode(e,"// ")}generateImports(){this.addCode("import { OpenEO, Formula } from '@openeo/js-client';")}generateConnection(){this.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`)}generateAuthentication(){this.comment("ToDo: Here you need to add your authentication steps")}generateBuilder(){this.addCode("let builder = await connection.buildProcess();")}generateMetadataEntry(e,t){this.addCode(`builder.${e} = ${this.e(t)};`)}async generateFunction(e){let t=e.getParent()?"this":"builder",s=this.var(e.id,this.varPrefix()),a=await this.generateArguments(e,!e.namespace);if(this.comment(e.description),r.A.isObject(a)){let r=e.namespace?`${e.process_id}@${e.namespace}`:e.process_id;this.addCode(`let ${s} = ${t}.process("${r}", ${this.e(a)});`)}else this.addCode(`let ${s} = ${t}.${e.process_id}(${a.map((e=>this.e(e))).join(", ")});`)}generateMissingParameter(e){this.comment(e.description);let t=this.var(e.name,"param"),s="undefined"!==typeof e.default?e.default:null;this.addCode(`let ${t} = ${this.e(s)};`)}async generateCallback(e,t,s){if(this.generateFormula&&e&&e.isMath()){let t=e.toFormulaString(),s=JSON.stringify(t);return`new Formula(${s})`}{let r=this.generateFunctionParams(t);this.newLine(),this.addCode(`let ${s} = function(${r.join(", ")}) {`),this.addCode(await e.toCode(!0),"",1),this.addCode("}")}}generateResult(e,t){if(!e)return;let s=this.var(e.id,this.varPrefix());t?this.addCode(`return ${s};`):this.addCode(`let result = await connection.computeResult(${s});`)}toFormulaString(){return this.isMath()?this.nodeToFormula(this.getResultNode()):""}getArrayElementPlaceholder(e){if("array_element"===e.process_id&&"parameter"===e.getArgumentType("data")){let t=e.getRawArgument("data").from_parameter,s=this.getCallbackParameters().findIndex((e=>e.name===t));if(s>=0)return"$".repeat(s+1)+(e.getArgument("label")||e.getArgument("index"))}return null}nodeToFormula(e,t=null){if("array_element"===e.process_id){let t=this.getArrayElementPlaceholder(e);if(t)return t}let s=i.Formula.reverseOperatorMapping[e.process_id],a=this.processRegistry.get(e.process_id),o="undefined"!==typeof i.Formula.arrayOperatorMapping[e.process_id],n=t=>{if(r.A.isObject(t))if(t.from_node){let r=e.getProcessGraph().getNode(t.from_node);t=r?this.nodeToFormula(r,s):"#"+t.from_node}else{if(!t.from_parameter)throw new Error("Objects not allowed");t=t.from_parameter}return t},l=[],c=Array.isArray(a.parameters)?a.parameters:[];for(let r of c){let t=n(e.getRawArgument(r.name));if(o&&Array.isArray(t)&&"data"===r.name){l=t.map((e=>n(e)));break}if("undefined"!==typeof t)l.push(t);else{if("undefined"===typeof r.default)throw new Error('Argument for parameter "'+r.name+'" missing');l.push(r.default)}}if(o&&(l=l.filter((e=>null!==e))),s){let e=["/","*"],r=["-","+"],a=l.map((e=>e<0?"("+e+")":e)).join(s);return!t||r.includes(t)&&r.includes(s)||"^"===s||r.includes(t)&&e.includes(s)?a:"("+a+")"}return e.process_id+"("+l.join(", ")+")"}}}}]); -//# sourceMappingURL=5457.4f6eaddc.js.map \ No newline at end of file +//# sourceMappingURL=5457.8a1b428a.js.map \ No newline at end of file diff --git a/js/5457.4f6eaddc.js.map b/js/5457.8a1b428a.js.map similarity index 99% rename from js/5457.4f6eaddc.js.map rename to js/5457.8a1b428a.js.map index 8bd5559a..74955550 100644 --- a/js/5457.4f6eaddc.js.map +++ b/js/5457.8a1b428a.js.map @@ -1 +1 @@ -{"version":3,"file":"js/5457.4f6eaddc.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Process.vue?69cf","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/ProcessExample.vue?860f","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/internal/ProcessExample.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/ProcessExample.vue?97de","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/ProcessExample.vue","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Process.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Process.vue?2266","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Process.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/components/modals/ProcessModal.vue","webpack://@openeo/web-editor/src/components/modals/ProcessModal.vue","webpack://@openeo/web-editor/./src/components/modals/ProcessModal.vue?b09b","webpack://@openeo/web-editor/./src/components/modals/ProcessModal.vue?9bab","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('article',{staticClass:\"vue-component process\"},[(_vm.process.id)?_vm._t(\"title\",function(){return [_c('a',{staticClass:\"anchor\",attrs:{\"name\":_vm.process.id}}),_c('h2',[_vm._v(\" \"+_vm._s(_vm.process.id)+\" \"),(_vm.displayableNamespace)?_c('span',{staticClass:\"namespace\"},[_vm._v(\" — \"+_vm._s(_vm.displayableNamespace))]):_vm._e()])]},{\"vBind\":_vm.$props,\"displayableNamespace\":_vm.displayableNamespace}):_vm._e(),(_vm.process.summary || _vm.process.deprecated || _vm.process.experimental)?[_c('summary',[_vm._v(\" \"+_vm._s(_vm.process.summary)+\" \"),(_vm.process.deprecated || _vm.process.experimental)?[(_vm.process.summary)?[_vm._v(\" — \")]:_vm._e(),(_vm.process.deprecated)?_c('strong',{staticClass:\"deprecated\"},[_vm._v(\"deprecated\")]):_vm._e(),(_vm.process.experimental)?_c('strong',{staticClass:\"experimental\"},[_vm._v(\"experimental\")]):_vm._e()]:_vm._e()],2)]:_vm._e(),(_vm.provideDownload || _vm.hasElements(_vm.process.categories))?[_c('div',{staticClass:\"process-bar\"},[(_vm.hasElements(_vm.process.categories))?_c('ul',{staticClass:\"badges categories\"},_vm._l((_vm.process.categories),function(value){return _c('li',{key:value,staticClass:\"badge category\",domProps:{\"textContent\":_vm._s(_vm.formatCategory(value))}})}),0):_vm._e(),(_vm.provideDownload)?_c('ul',{staticClass:\"badges actions\"},[_c('li',{staticClass:\"badge action download\"},[_c('a',{staticClass:\"badge-fill\",on:{\"click\":_vm.download}},[_vm._v(\"Download JSON\")])])]):_vm._e()])]:_vm._e(),_vm._t(\"before-description\",null,{\"vBind\":_vm.$props}),(_vm.process.description)?_c('section',{staticClass:\"description\"},[_c('h3',[_vm._v(\"Description\")]),_c('code',{staticClass:\"signature\",domProps:{\"innerHTML\":_vm._s(_vm.signature)}}),_c('Description',{attrs:{\"description\":_vm.process.description,\"processUrl\":_vm.processUrl}}),(_vm.process.deprecated)?_c('DeprecationNotice',{attrs:{\"entity\":\"process\"}}):_vm._e(),(_vm.process.experimental)?_c('ExperimentalNotice',{attrs:{\"entity\":\"process\"}}):_vm._e(),(_vm.process['federation:backends'])?_c('FederationNotice',{attrs:{\"backends\":_vm.process['federation:backends'],\"federation\":_vm.federation,\"entity\":\"process\"}}):_vm._e()],1):_vm._e(),_c('section',{staticClass:\"parameters\"},[_c('h3',[_vm._v(\"Parameters\")]),_vm._l((_vm.parameters),function(param){return _c('ProcessParameter',{key:param.name,attrs:{\"parameter\":param,\"processUrl\":_vm.processUrl,\"federation\":_vm.federation}})}),(_vm.parameters.length === 0)?_c('p',[_vm._v(\"This process has no parameters.\")]):_vm._e()],2),_c('section',{staticClass:\"returns\"},[_c('h3',[_vm._v(\"Return Value\")]),(_vm.returns.description || _vm.returns.schema)?[(_vm.returns.description)?_c('Description',{attrs:{\"description\":_vm.returns.description,\"processUrl\":_vm.processUrl}}):_vm._e(),(_vm.returns.schema)?_c('div',{staticClass:\"json-schema-container\"},[_c('JsonSchema',{attrs:{\"schema\":_vm.returns.schema}})],1):_vm._e()]:_c('p',[_vm._v(\"The return value has not been defined.\")])],2),(_vm.hasElements(_vm.process.exceptions))?_c('section',{staticClass:\"exceptions\"},[_c('h3',[_vm._v(\"Errors/Exceptions\")]),_c('ul',_vm._l((_vm.process.exceptions),function(exception,name){return _c('li',{key:name,staticClass:\"exception\"},[_c('code',[_vm._v(_vm._s(name))]),(exception.http)?_c('span',{staticClass:\"http-code\"},[_vm._v(\" — HTTP \"+_vm._s(exception.http))]):_vm._e(),(exception.code)?_c('span',{staticClass:\"error-code\"},[_vm._v(\" — \"+_vm._s(exception.code))]):_vm._e(),(exception.description)?_c('Description',{attrs:{\"description\":exception.description,\"processUrl\":_vm.processUrl,\"compact\":true}}):_vm._e(),(exception.message)?_c('div',{staticClass:\"message\"},[_vm._v(\"Message: \"),_c('em',[_vm._v(_vm._s(exception.message))])]):_vm._e()],1)}),0)]):_vm._e(),(_vm.hasElements(_vm.process.examples))?_c('section',{staticClass:\"examples\"},[_c('h3',[_vm._v(\"Examples\")]),_vm._l((_vm.process.examples),function(example,key){return _c('ProcessExample',{key:key,attrs:{\"id\":key,\"example\":example,\"processId\":_vm.id,\"processParameters\":_vm.parameters,\"processUrl\":_vm.processUrl}})}),_c('LinkList',{attrs:{\"links\":_vm.exampleLinks,\"heading\":\"Processes\",\"headingTag\":\"h4\"}})],2):_vm._e(),_c('section',{staticClass:\"links\"},[_c('LinkList',{attrs:{\"links\":_vm.process.links,\"heading\":\"See Also\",\"headingTag\":\"h3\",\"ignoreRel\":['self', 'example']}})],1),(_vm.showGraph && _vm.process.process_graph)?_c('section',{staticClass:\"process-graph\"},[_c('h3',[_vm._v(\"Processing Instructions\")]),_c('div',{staticClass:\"graph\"},[_vm._t(\"process-graph\",function(){return [_c('ModelBuilder',{attrs:{\"id\":_vm.id,\"value\":_vm.process,\"explicitZoom\":true}})]},{\"vBind\":_vm.$props})],2)]):_vm._e(),_vm._t(\"end\",null,{\"vBind\":_vm.$props})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component process-example\"},[_c('h4',[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"content\"},[(_vm.example.description)?_c('Description',{attrs:{\"description\":_vm.example.description,\"processUrl\":_vm.processUrl,\"compact\":true}}):_vm._e(),(_vm.example.arguments)?_c('div',{staticClass:\"arguments\"},[_c('code',{domProps:{\"innerHTML\":_vm._s(_vm.renderedArguments)}})]):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProcessExample.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProcessExample.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProcessExample.vue?vue&type=template&id=5ad13098\"\nimport script from \"./ProcessExample.vue?vue&type=script&lang=js\"\nexport * from \"./ProcessExample.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProcessExample.vue?vue&type=style&index=0&id=5ad13098&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Process.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Process.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Process.vue?vue&type=template&id=5cbf22d8\"\nimport script from \"./Process.vue?vue&type=script&lang=js\"\nexport * from \"./Process.vue?vue&type=script&lang=js\"\nimport style0 from \"./Process.vue?vue&type=style&index=0&id=5cbf22d8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Modal',{attrs:{\"width\":_vm.minWidth,\"title\":_vm.process.id},on:{\"closed\":function($event){return _vm.$emit('closed')}}},[_c('div',{staticClass:\"docgen\"},[_c('Process',{attrs:{\"process\":_vm.process,\"provideDownload\":false,\"showGraph\":true},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(){return [_c('Editor',{staticClass:\"infoViewer\",attrs:{\"value\":_vm.process,\"editable\":false,\"id\":\"pgInfoViewer\"}})]},proxy:true}])})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProcessModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProcessModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProcessModal.vue?vue&type=template&id=66030cfd\"\nimport script from \"./ProcessModal.vue?vue&type=script&lang=js\"\nexport * from \"./ProcessModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProcessModal.vue?vue&type=style&index=0&id=66030cfd&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","computed","typesToShow","types","push","data","format","assign","id","process","displayableNamespace","$props","deprecated","experimental","provideDownload","hasElements","categories","value","domProps","formatCategory","download","signature","description","processUrl","param","parameters","length","returns","schema","exceptions","exception","http","code","message","examples","example","exampleLinks","links","showGraph","process_graph","title","renderedArguments","Number","processId","processParameters","Description","params","i","arguments","arg","displayValue","isObject","from_parameter","htmlentities","from_node","JSON","stringify","join","JsonSchema","DeprecationNotice","ExperimentalNotice","ModelBuilder","ProcessExample","ProcessParameter","LinkList","namespace","html","formatProcessSignature","filter","l","rel","keys","replace","dataStr","encodeURIComponent","downloadAnchorNode","document","createElement","setAttribute","body","appendChild","click","remove","processes","showCategories","Process","class","compact","directives","rawName","expression","placeholder","minLength","searchHint","$event","target","composing","watch","newValue","oldValue","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","size","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","DiscoveryToolbar","FullscreenButton","formula","initialNode","node","openArgumentEditorForNode","error","setInitialNode","mounted","navigator","clipboard","readText","text","parse","import","edges","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","label","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","fields","info","additionalProperties","properties","enum","href","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","p","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","minWidth","Editor","Modal","ProcessImpl","BaseProcess","constructor","exporter","super","execute","generateFunction","Exporter","ProcessGraph","registry","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","includes","toLowerCase","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","makeObject","obj","mapObject","makeString","str","makeNumber","num","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","var","varPrefix","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","async","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","pop","getParent","prefix","match","getTab","addCode","level","repeat","lines","trim","split","line","count","getServerUrl","getUrl","toCode","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","Error","argList","v","strongOps","weakOps"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/5457.8a1b428a.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Process.vue?69cf","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/ProcessExample.vue?860f","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/internal/ProcessExample.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/ProcessExample.vue?97de","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/ProcessExample.vue","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Process.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Process.vue?2266","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Process.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/components/modals/ProcessModal.vue","webpack://@openeo/web-editor/src/components/modals/ProcessModal.vue","webpack://@openeo/web-editor/./src/components/modals/ProcessModal.vue?b09b","webpack://@openeo/web-editor/./src/components/modals/ProcessModal.vue?9bab","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('article',{staticClass:\"vue-component process\"},[(_vm.process.id)?_vm._t(\"title\",function(){return [_c('a',{staticClass:\"anchor\",attrs:{\"name\":_vm.process.id}}),_c('h2',[_vm._v(\" \"+_vm._s(_vm.process.id)+\" \"),(_vm.displayableNamespace)?_c('span',{staticClass:\"namespace\"},[_vm._v(\" — \"+_vm._s(_vm.displayableNamespace))]):_vm._e()])]},{\"vBind\":_vm.$props,\"displayableNamespace\":_vm.displayableNamespace}):_vm._e(),(_vm.process.summary || _vm.process.deprecated || _vm.process.experimental)?[_c('summary',[_vm._v(\" \"+_vm._s(_vm.process.summary)+\" \"),(_vm.process.deprecated || _vm.process.experimental)?[(_vm.process.summary)?[_vm._v(\" — \")]:_vm._e(),(_vm.process.deprecated)?_c('strong',{staticClass:\"deprecated\"},[_vm._v(\"deprecated\")]):_vm._e(),(_vm.process.experimental)?_c('strong',{staticClass:\"experimental\"},[_vm._v(\"experimental\")]):_vm._e()]:_vm._e()],2)]:_vm._e(),(_vm.provideDownload || _vm.hasElements(_vm.process.categories))?[_c('div',{staticClass:\"process-bar\"},[(_vm.hasElements(_vm.process.categories))?_c('ul',{staticClass:\"badges categories\"},_vm._l((_vm.process.categories),function(value){return _c('li',{key:value,staticClass:\"badge category\",domProps:{\"textContent\":_vm._s(_vm.formatCategory(value))}})}),0):_vm._e(),(_vm.provideDownload)?_c('ul',{staticClass:\"badges actions\"},[_c('li',{staticClass:\"badge action download\"},[_c('a',{staticClass:\"badge-fill\",on:{\"click\":_vm.download}},[_vm._v(\"Download JSON\")])])]):_vm._e()])]:_vm._e(),_vm._t(\"before-description\",null,{\"vBind\":_vm.$props}),(_vm.process.description)?_c('section',{staticClass:\"description\"},[_c('h3',[_vm._v(\"Description\")]),_c('code',{staticClass:\"signature\",domProps:{\"innerHTML\":_vm._s(_vm.signature)}}),_c('Description',{attrs:{\"description\":_vm.process.description,\"processUrl\":_vm.processUrl}}),(_vm.process.deprecated)?_c('DeprecationNotice',{attrs:{\"entity\":\"process\"}}):_vm._e(),(_vm.process.experimental)?_c('ExperimentalNotice',{attrs:{\"entity\":\"process\"}}):_vm._e(),(_vm.process['federation:backends'])?_c('FederationNotice',{attrs:{\"backends\":_vm.process['federation:backends'],\"federation\":_vm.federation,\"entity\":\"process\"}}):_vm._e()],1):_vm._e(),_c('section',{staticClass:\"parameters\"},[_c('h3',[_vm._v(\"Parameters\")]),_vm._l((_vm.parameters),function(param){return _c('ProcessParameter',{key:param.name,attrs:{\"parameter\":param,\"processUrl\":_vm.processUrl,\"federation\":_vm.federation}})}),(_vm.parameters.length === 0)?_c('p',[_vm._v(\"This process has no parameters.\")]):_vm._e()],2),_c('section',{staticClass:\"returns\"},[_c('h3',[_vm._v(\"Return Value\")]),(_vm.returns.description || _vm.returns.schema)?[(_vm.returns.description)?_c('Description',{attrs:{\"description\":_vm.returns.description,\"processUrl\":_vm.processUrl}}):_vm._e(),(_vm.returns.schema)?_c('div',{staticClass:\"json-schema-container\"},[_c('JsonSchema',{attrs:{\"schema\":_vm.returns.schema}})],1):_vm._e()]:_c('p',[_vm._v(\"The return value has not been defined.\")])],2),(_vm.hasElements(_vm.process.exceptions))?_c('section',{staticClass:\"exceptions\"},[_c('h3',[_vm._v(\"Errors/Exceptions\")]),_c('ul',_vm._l((_vm.process.exceptions),function(exception,name){return _c('li',{key:name,staticClass:\"exception\"},[_c('code',[_vm._v(_vm._s(name))]),(exception.http)?_c('span',{staticClass:\"http-code\"},[_vm._v(\" — HTTP \"+_vm._s(exception.http))]):_vm._e(),(exception.code)?_c('span',{staticClass:\"error-code\"},[_vm._v(\" — \"+_vm._s(exception.code))]):_vm._e(),(exception.description)?_c('Description',{attrs:{\"description\":exception.description,\"processUrl\":_vm.processUrl,\"compact\":true}}):_vm._e(),(exception.message)?_c('div',{staticClass:\"message\"},[_vm._v(\"Message: \"),_c('em',[_vm._v(_vm._s(exception.message))])]):_vm._e()],1)}),0)]):_vm._e(),(_vm.hasElements(_vm.process.examples))?_c('section',{staticClass:\"examples\"},[_c('h3',[_vm._v(\"Examples\")]),_vm._l((_vm.process.examples),function(example,key){return _c('ProcessExample',{key:key,attrs:{\"id\":key,\"example\":example,\"processId\":_vm.id,\"processParameters\":_vm.parameters,\"processUrl\":_vm.processUrl}})}),_c('LinkList',{attrs:{\"links\":_vm.exampleLinks,\"heading\":\"Processes\",\"headingTag\":\"h4\"}})],2):_vm._e(),_c('section',{staticClass:\"links\"},[_c('LinkList',{attrs:{\"links\":_vm.process.links,\"heading\":\"See Also\",\"headingTag\":\"h3\",\"ignoreRel\":['self', 'example']}})],1),(_vm.showGraph && _vm.process.process_graph)?_c('section',{staticClass:\"process-graph\"},[_c('h3',[_vm._v(\"Processing Instructions\")]),_c('div',{staticClass:\"graph\"},[_vm._t(\"process-graph\",function(){return [_c('ModelBuilder',{attrs:{\"id\":_vm.id,\"value\":_vm.process,\"explicitZoom\":true}})]},{\"vBind\":_vm.$props})],2)]):_vm._e(),_vm._t(\"end\",null,{\"vBind\":_vm.$props})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component process-example\"},[_c('h4',[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"content\"},[(_vm.example.description)?_c('Description',{attrs:{\"description\":_vm.example.description,\"processUrl\":_vm.processUrl,\"compact\":true}}):_vm._e(),(_vm.example.arguments)?_c('div',{staticClass:\"arguments\"},[_c('code',{domProps:{\"innerHTML\":_vm._s(_vm.renderedArguments)}})]):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProcessExample.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProcessExample.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProcessExample.vue?vue&type=template&id=5ad13098\"\nimport script from \"./ProcessExample.vue?vue&type=script&lang=js\"\nexport * from \"./ProcessExample.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProcessExample.vue?vue&type=style&index=0&id=5ad13098&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Process.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Process.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Process.vue?vue&type=template&id=5cbf22d8\"\nimport script from \"./Process.vue?vue&type=script&lang=js\"\nexport * from \"./Process.vue?vue&type=script&lang=js\"\nimport style0 from \"./Process.vue?vue&type=style&index=0&id=5cbf22d8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Modal',{attrs:{\"width\":_vm.minWidth,\"title\":_vm.process.id},on:{\"closed\":function($event){return _vm.$emit('closed')}}},[_c('div',{staticClass:\"docgen\"},[_c('Process',{attrs:{\"process\":_vm.process,\"provideDownload\":false,\"showGraph\":true},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(){return [_c('Editor',{staticClass:\"infoViewer\",attrs:{\"value\":_vm.process,\"editable\":false,\"id\":\"pgInfoViewer\"}})]},proxy:true}])})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProcessModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProcessModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProcessModal.vue?vue&type=template&id=66030cfd\"\nimport script from \"./ProcessModal.vue?vue&type=script&lang=js\"\nexport * from \"./ProcessModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProcessModal.vue?vue&type=style&index=0&id=66030cfd&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","computed","typesToShow","types","push","data","format","assign","id","process","displayableNamespace","$props","deprecated","experimental","provideDownload","hasElements","categories","value","domProps","formatCategory","download","signature","description","processUrl","param","parameters","length","returns","schema","exceptions","exception","http","code","message","examples","example","exampleLinks","links","showGraph","process_graph","title","renderedArguments","Number","processId","processParameters","Description","params","i","arguments","arg","displayValue","isObject","from_parameter","htmlentities","from_node","JSON","stringify","join","JsonSchema","DeprecationNotice","ExperimentalNotice","ModelBuilder","ProcessExample","ProcessParameter","LinkList","namespace","html","formatProcessSignature","filter","l","rel","keys","replace","dataStr","encodeURIComponent","downloadAnchorNode","document","createElement","setAttribute","body","appendChild","click","remove","processes","showCategories","Process","class","compact","directives","rawName","expression","placeholder","minLength","searchHint","$event","target","composing","watch","newValue","oldValue","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","size","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","DiscoveryToolbar","FullscreenButton","formula","initialNode","node","openArgumentEditorForNode","error","setInitialNode","mounted","navigator","clipboard","readText","text","parse","import","edges","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","label","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","fields","info","additionalProperties","properties","enum","href","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","p","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","minWidth","Editor","Modal","ProcessImpl","BaseProcess","constructor","exporter","super","execute","generateFunction","Exporter","ProcessGraph","registry","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","includes","toLowerCase","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","makeObject","obj","mapObject","makeString","str","makeNumber","num","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","var","varPrefix","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","async","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","pop","getParent","prefix","match","getTab","addCode","level","repeat","lines","trim","split","line","count","getServerUrl","getUrl","toCode","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","Error","argList","v","strongOps","weakOps"],"sourceRoot":""} \ No newline at end of file diff --git a/js/5839.13e0bb10.js b/js/5839.827b7af7.js similarity index 99% rename from js/5839.13e0bb10.js rename to js/5839.827b7af7.js index 50c56ade..b30c1bbf 100644 --- a/js/5839.13e0bb10.js +++ b/js/5839.827b7af7.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[5839,2722,9409],{35254:(e,t,a)=>{a.d(t,{A:()=>s});const s={components:{FederationNotice:()=>a.e(2604).then(a.bind(a,52604)),FederationMissingNotice:()=>a.e(5363).then(a.bind(a,35363))},props:{federation:{type:Object,default:()=>({})}}}},69748:(e,t,a)=>{a.d(t,{A:()=>u});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component collections"},[t("SearchableList",{attrs:{data:e.collections,identifierKey:"id",summaryKey:"title",keywordsKey:"keywords",showKeywords:e.showKeywords,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(a){return[t("Collection",{attrs:{data:a.item,mapOptions:e.mapOptions,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("collection-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("collection-end",null,null,t)]}},{key:"spatial-extents",fn:function(t){return[e._t("collection-spatial-extents",null,null,t)]}},{key:"temporal-extents",fn:function(t){return[e._t("collection-temporal-extents",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=a(86975),o=a(35254);const n={name:"Collections",components:{Collection:()=>i.A.loadAsyncComponent(Promise.all([a.e(156),a.e(2919),a.e(4432),a.e(9140),a.e(2281),a.e(3249)]).then(a.bind(a,3249))),SearchableList:()=>i.A.loadAsyncComponent(a.e(4152).then(a.bind(a,34152)))},mixins:[o.A],props:{collections:{type:Array,default:()=>[]},mapOptions:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Collections"},collapsed:{type:Boolean,default:null},loadAdditionalData:{type:Function,default:null},showKeywords:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=a(81656),d=(0,c.A)(l,s,r,!1,null,null,null);const u=d.exports},90334:(e,t,a)=>{a.d(t,{A:()=>u});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component file-formats"},[t("SearchableList",{attrs:{data:e.fileFormats,summaryKey:"title",keywordsKey:"gis_data_types",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(a){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(a.item.name))]),t("ul",{staticClass:"badges small inline"},[e.showAll&&"input"===a.item.type?t("li",{staticClass:"badge option1"},[e._v("Import")]):e._e(),e.showAll&&"output"===a.item.type?t("li",{staticClass:"badge option2"},[e._v("Export")]):e._e(),Array.isArray(a.item.gis_data_types)?e._l(a.item.gis_data_types,(function(a){return t("li",{key:a,staticClass:"badge gis"},[e._v(e._s(a))])})):e._e()],2),t("br"),t("small",[e._v(e._s(a.summary.summary))])]}),null,a)]}},{key:"details",fn:function(a){return[t("FileFormat",{attrs:{id:a.summary.identifier,format:a.item,type:a.item.type,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("file-format-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("file-format-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=a(86975),o=a(35254);const n={name:"FileFormats",components:{SearchableList:()=>i.A.loadAsyncComponent(a.e(4152).then(a.bind(a,34152))),FileFormat:()=>i.A.loadAsyncComponent(a.e(3504).then(a.bind(a,13504)))},mixins:[o.A],props:{formats:{type:Object,default:()=>({})},showInput:{type:Boolean,default:!0},showOutput:{type:Boolean,default:!0},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"File Formats"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},computed:{showAll(){return this.showInput&&this.showOutput},typesToShow(){let e=[];return this.showInput&&e.push("input"),this.showOutput&&e.push("output"),e},fileFormats(){let e=[];for(let a of this.typesToShow)for(var t in this.formats[a]){let s=Object.assign({id:`${t}-${a}`,name:t,type:a},this.formats[a][t]);e.push(s)}return e}},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=a(81656),d=(0,c.A)(l,s,r,!1,null,null,null);const u=d.exports},48312:(e,t,a)=>{a.d(t,{A:()=>u});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component processes"},[t("SearchableList",{attrs:{data:e.processes,keywordsKey:"categories",showKeywords:e.showCategories,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(a){return[t("Process",{attrs:{process:a.item,provideDownload:e.provideDownload,processUrl:e.processUrl,showGraph:e.showGraph,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("process-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("process-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=a(86975),o=a(35254);const n={name:"Processes",components:{Process:()=>i.A.loadAsyncComponent(a.e(6660).then(a.bind(a,34279))),SearchableList:()=>i.A.loadAsyncComponent(a.e(4152).then(a.bind(a,34152)))},mixins:[o.A],props:{processes:{type:Array,default:()=>[]},provideDownload:{type:Boolean,default:!0},processUrl:String,searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Processes"},collapsed:{type:Boolean,default:null},showCategories:{type:Boolean,default:!1},showGraph:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},loadAdditionalData:{type:Function,default:null},missing:{type:Array,default:null},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=a(81656),d=(0,c.A)(l,s,r,!1,null,null,null);const u=d.exports},9409:(e,t,a)=>{a.r(t),a.d(t,{default:()=>c});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component search-box",class:{compact:e.compact}},[t("span",{staticClass:"icon"},[e._v("🔎")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.searchTerm,expression:"searchTerm"}],attrs:{type:"search",placeholder:e.placeholder,minlength:e.minLength,title:e.searchHint},domProps:{value:e.searchTerm},on:{input:function(t){t.target.composing||(e.searchTerm=t.target.value)}}})])},r=[];const i={name:"SearchBox",props:{value:{type:String,default:""},placeholder:{type:String,default:"Search"},minLength:{type:Number,default:1},compact:{type:Boolean,default:!1}},data(){return{searchTerm:this.value}},watch:{searchTerm(e,t){e.length1?`Searching requires at least ${this.minLength} characters.`:null}}},o=i;var n=a(81656),l=(0,n.A)(o,s,r,!1,null,null,null);const c=l.exports},91065:(e,t,a)=>{a.d(t,{A:()=>u});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component udf-runtimes"},[t("SearchableList",{attrs:{data:e.runtimes,summaryKey:"title",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},{key:"summary",fn:function(a){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(a.summary.identifier))]),t("ul",{staticClass:"badges small inline"},["docker"===a.item.type||a.item.docker&&a.item.tags?[t("li",{staticClass:"badge docker"},[e._v("Docker")]),e._l(a.item.tags,(function(s){return t("li",{key:s,staticClass:"badge version",class:{default:s===a.item.default}},[e._v(e._s(s))])}))]:e._l(a.item.versions,(function(s,r){return t("li",{key:r,staticClass:"badge version",class:{default:r===a.item.default}},[e._v(e._s(r))])}))],2),t("br"),t("small",[e._v(e._s(a.summary.summary))])]}),null,a)]}},{key:"details",fn:function(a){return[t("UdfRuntime",{attrs:{id:a.summary.identifier,runtime:a.item,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(t){return[e._t("udf-runtime-badges",null,null,t)]}},{key:"before-description",fn:function(t){return[e._t("udf-runtime-before-description",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=a(86975),o=a(35254);const n={name:"UdfRuntimes",components:{SearchableList:()=>i.A.loadAsyncComponent(a.e(4152).then(a.bind(a,34152))),UdfRuntime:()=>i.A.loadAsyncComponent(a.e(3271).then(a.bind(a,33271)))},mixins:[o.A],props:{runtimes:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"UDF Runtimes"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=a(81656),d=(0,c.A)(l,s,r,!1,null,null,null);const u=d.exports},77754:(e,t,a)=>{a.d(t,{A:()=>y});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"discovery-toolbar"},[t("SearchBox",{model:{value:e.searchTerm,callback:function(t){e.searchTerm=t},expression:"searchTerm"}}),t("div",{staticClass:"filters"},[t("span",{staticClass:"label"},[e._v(" Show ")]),t("label",{staticClass:"show-deprecated",attrs:{title:"Show deprecated elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showDeprecated,expression:"showDeprecated"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showDeprecated)?e._i(e.showDeprecated,null)>-1:e.showDeprecated},on:{change:function(t){var a=e.showDeprecated,s=t.target,r=!!s.checked;if(Array.isArray(a)){var i=null,o=e._i(a,i);s.checked?o<0&&(e.showDeprecated=a.concat([i])):o>-1&&(e.showDeprecated=a.slice(0,o).concat(a.slice(o+1)))}else e.showDeprecated=r}}}),e._v(" deprecated ")]),t("label",{staticClass:"show-experimental",attrs:{title:"Show experimental elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showExperimental,expression:"showExperimental"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showExperimental)?e._i(e.showExperimental,null)>-1:e.showExperimental},on:{change:function(t){var a=e.showExperimental,s=t.target,r=!!s.checked;if(Array.isArray(a)){var i=null,o=e._i(a,i);s.checked?o<0&&(e.showExperimental=a.concat([i])):o>-1&&(e.showExperimental=a.slice(0,o).concat(a.slice(o+1)))}else e.showExperimental=r}}}),e._v(" experimental ")])]),t("div",{staticClass:"search-results"},[t("Collections",{staticClass:"category",attrs:{collections:e.collections,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:a}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsLoadCollection},on:{dragstart:function(t){return e.onDrag(t,"collection",a)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showCollectionInfo(a.id)}}},[t("strong",{attrs:{title:a.id}},[e._v(e._s(a.id))]),a.title?t("small",{attrs:{title:a.title}},[e._v(e._s(a.title))]):e._e()]),e.hasCollectionPreview(a)?t("button",{staticClass:"discovery-button",attrs:{type:"button",title:"View on map"},on:{click:function(t){return e.showCollectionPreview(a)}}},[t("i",{staticClass:"fas fa-map"})]):e._e()])]}}])}),t("Processes",{staticClass:"category",attrs:{processes:e.allProcesses,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:a}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:"true"},on:{dragstart:function(t){return e.onDrag(t,"process",a)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showProcess(a)}}},["user"===a.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-sitemap",attrs:{title:"Custom Process"}}):"backend"!==a.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-tag",attrs:{title:`Process from namespace '${a.namespace}'`}}):e._e(),t("strong",{attrs:{title:a.id}},[e._v(e._s(a.id))]),a.summary?t("small",{attrs:{title:a.summary}},[e._v(e._s(a.summary))]):e._e()])])]}}])}),e.hasUdfRuntimes?t("UdfRuntimes",{staticClass:"category",attrs:{runtimes:e.udfRuntimes,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({summary:a,item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsRunUdf},on:{dragstart:function(t){return e.onDrag(t,"udf",{runtime:a.identifier,version:s.default})}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showUdfInfo(a.identifier,s)}}},[t("strong",{attrs:{title:a.identifier}},[e._v(e._s(a.identifier)+" ("+e._s(s.default)+")")]),a.summary?t("small",{attrs:{title:a.summary}},[e._v(e._s(a.summary))]):e._e()])])]}}],null,!1,92063951)}):e._e(),t("FileFormats",{staticClass:"category",attrs:{formats:e.fileFormats,showInput:!1,heading:"Export File Formats",searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:a}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsSaveResult},on:{dragstart:function(t){return e.onDrag(t,"fileformat",a)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showFileFormatInfo(a)}}},[t("strong",{attrs:{title:a.name}},[e._v(e._s(a.name))]),a.title?t("small",{attrs:{title:a.title}},[e._v(e._s(a.title))]):e._e()])])]}}])})],1)],1)},r=[],i=a(61663),o=a(2566),n=a(69748),l=a(90334),c=a(48312),d=a(9409),u=a(91065);const p={name:"DiscoveryToolbar",mixins:[i.A],components:{Collections:n.A,FileFormats:l.A,Processes:c.A,SearchBox:d["default"],UdfRuntimes:u.A},props:{onAddProcess:{type:Function,required:!0},collectionPreview:{type:Boolean,default:!1},persist:{type:Boolean,default:!1}},data(){return{internalSearchTerm:"",collapsed:!0,showDeprecated:this.$config.showDeprecatedByDefault||!1,showExperimental:this.$config.showExperimentalByDefault||!1}},computed:{...o.A.mapState(["collections","udfRuntimes"]),...o.A.mapState("editor",["discoverySearchTerm"]),...o.A.mapGetters(["supports","fileFormats","processes"]),supportsLoadCollection(){return this.processes.has("load_collection")},supportsRunUdf(){return this.processes.has("run_udf")},supportsSaveResult(){return this.processes.has("save_result")},hasUdfRuntimes(){return o.A.size(this.udfRuntimes)},allProcesses(){return this.processes.all()},searchTerm:{get(){return this.persist?this.discoverySearchTerm:this.internalSearchTerm},set(e){this.persist?this.setDiscoverySearchTerm(e):this.internalSearchTerm=e}}},watch:{searchTerm:{immediate:!0,handler(e,t){!e&&t?this.collapsed=!0:e&&!t&&(this.collapsed=!1)}}},methods:{...o.A.mapMutations("editor",["setDiscoverySearchTerm","setModelDnd"]),...o.A.mapActions(["loadProcess"]),onDrag(e,t,a){let s=e=>this.setModelDnd({type:t,data:a,loading:e});"process"===t?(s(!0),this.loadProcess(a).then((()=>s(!1)))):s(!1)},showCollectionInfo(e){this.broadcast("showCollection",e)},hasCollectionPreview(e){return Boolean(this.collectionPreview&&o.A.getPreviewLinkFromSTAC(e))},showCollectionPreview(e){this.broadcast("showCollectionPreview",e)},showProcess(e){this.broadcast("showProcess",e)},showUdfInfo(e,t){this.broadcast("showModal","UdfRuntimeModal",{id:e,data:t,version:t.default})},showFileFormatInfo(e){let t={id:e.name,format:this.fileFormats.output[e.name],type:"output"};this.broadcast("showModal","FileFormatModal",t)}}},h=p;var m=a(81656),f=(0,m.A)(h,s,r,!1,null,"281f64a6",null);const y=f.exports},63036:(e,t,a)=>{a.r(t),a.d(t,{default:()=>C});var s=function(){var e=this,t=e._self._c;return t("Tabs",{ref:"tabs",staticClass:"editor",attrs:{id:"customProcessContent",position:"bottom"}},[t("Tab",{attrs:{id:"visual",name:"Visual Model",icon:"fa-project-diagram",selected:!0,allowShow:e.canSwitchView},on:{show:e.showModel}},[t("VisualEditor",{ref:"graphBuilder",staticClass:"visualEditorTab",attrs:{editable:e.editable,parent:e.parent,parentSchema:e.parentSchema,value:e.modelValue,title:e.title,id:e.id+"_visual",showDiscoveryToolbar:e.showDiscoveryToolbar,showIntro:e.showIntro,defaultValue:e.defaultValue},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1),t("Tab",{attrs:{id:"source",name:"Code",icon:"fa-code",allowShow:e.canSwitchView},on:{show:e.showCode}},[t("TextEditor",{ref:"sourceEditor",staticClass:"textEditorTab",attrs:{editable:e.editable,value:e.codeValue,title:e.title,id:e.id+"_text",language:"processgraph"},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1)],1)},r=[],i=a(2566),o=a(4615),n=a(58379),l=function(){var e=this,t=e._self._c;return t("div",{ref:"visualEditor",staticClass:"visualEditor"},[t("div",{staticClass:"sourceHeader"},[e.title?t("strong",[e._v(e._s(e.title))]):e._e(),t("div",{staticClass:"sourceToolbar"},[e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",title:"New script / Clear current script"},on:{click:e.confirmClear}},[t("i",{staticClass:"fas fa-file"})]),e._t("file-toolbar")],2):e._e(),e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",disabled:!e.canUndo,title:"Revert last change"},on:{click:function(t){return e.$refs.blocks.undo()}}},[t("i",{staticClass:"fas fa-undo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.canRedo,title:"Redo last reverted change"},on:{click:function(t){return e.$refs.blocks.redo()}}},[t("i",{staticClass:"fas fa-redo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.hasSelection,title:"Delete selected elements"},on:{click:function(t){return e.$refs.blocks.deleteSelected()}}},[t("i",{staticClass:"fas fa-trash"})])]):e._e(),e.editable?t("span",{staticClass:"sepr"},[e.parent?e._e():t("button",{attrs:{type:"button",title:"Edit Process Metadata"},on:{click:()=>e.editProcess(e.value)}},[t("i",{staticClass:"fas fa-edit"})]),t("button",{attrs:{type:"button",title:"Add Parameter"},on:{click:e.addParameter}},[t("i",{staticClass:"fas fa-parking"})]),e.supportsMath?t("button",{class:{highlightFormula:e.isMath},attrs:{type:"button",title:"Insert/Edit formula"},on:{click:e.showExpressionModal}},[t("i",{staticClass:"fas fa-square-root-alt"})]):e._e()]):e._e(),t("button",{class:{compactMode:e.compactMode},attrs:{type:"button",title:"Compact Mode"},on:{click:function(t){return e.$refs.blocks.toggleCompact()}}},[t("i",{staticClass:"fas fa-compress-arrows-alt"})]),t("button",{attrs:{type:"button",title:"Scale to perfect size"},on:{click:function(t){return e.$refs.blocks.perfectScale()}}},[t("i",{staticClass:"fas fa-arrows-alt"})]),t("FullscreenButton",{attrs:{element:()=>this.$refs.visualEditor},on:{changed:t=>{this.$refs.blocks.perfectScale(),e.isFullScreen=t}}}),e._t("toolbar")],2)]),t("div",{staticClass:"editorSplitter"},[(e.showDiscoveryToolbar||e.isFullScreen)&&e.editable?t("DiscoveryToolbar",{staticClass:"discoveryToolbar",attrs:{onAddProcess:e.insertProcess}}):e._e(),t("div",{staticClass:"graphBuilder",on:{drop:e.onDrop,dragover:e.allowDrop}},[e.showHelpOverlay?t("div",{staticClass:"model-overlay"},[t("h2",[e._v("Welcome!")]),t("p",[e._v(" What you are seeing in this area of the "+e._s(e.$config.appName)+" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. ")]),t("p",[e._v(" Alternatively, you can also import existing processes into the model builder: "),t("ul",[e.canPaste?t("li",[e._v("Paste the JSON from your clipboard by clicking "),t("button",{attrs:{type:"button",title:"Paste from clipboard"},on:{click:e.paste}},[t("i",{staticClass:"fas fa-paste"})]),e._v(" or use "),t("kbd",[e._v("CTRL")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (Windows, Linux) or "),t("kbd",[e._v("⌘")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (MacOS) when the model builder is in focus.")]):e._e(),t("li",[e._v("Drag and drop a JSON file from your computer")]),t("li",[e._v("Import a JSON file from your computer or another source such as the internet by clicking "),t("button",{attrs:{type:"button",title:"Import process from external source"},on:{click:e.importProcess}},[t("i",{staticClass:"fas fa-cloud-download-alt"})])])])]),e._m(0),t("p",[e._v("Once you start interacting with this area, this message will disappear.")])]):e._e(),t("ModelBuilder",{ref:"blocks",attrs:{editable:e.editable,id:e.id,processes:e.processes,collections:e.collections,parent:e.parent,parentSchema:e.parentSchema,value:e.value},on:{input:e.commit,error:e.errorHandler,showProcess:(t,a)=>e.broadcast("showProcess",{id:t,namespace:a}),showCollection:t=>e.broadcast("showCollection",t),showParameter:(t,a)=>e.broadcast("showProcessParameter",t,a),editParameter:e.editParameter,editArguments:e.openArgumentEditor,compactMode:e=>this.compactMode=e,selectionChanged:e.selectionChanged,historyChanged:e.historyChanged}})],1)],1)])},c=[function(){var e=this,t=e._self._c;return t("p",[e._v(" You can also import the processes from the Python and R client. You need to export your process to JSON first: "),t("ul",[t("li",[e._v("In Python use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export",target:"_blank"}},[t("code",[e._v("print(result.to_json())")])])]),t("li",[e._v("In R use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-r-client/reference/index.html",target:"_blank"}},[t("code",[e._v('toJSON(as(result, "Process"))')])])])]),e._v(" In both cases, "),t("code",[e._v("result")]),e._v(" is your last return value from a data cube process such as "),t("code",[e._v("save_result")]),e._v(". For more details, please read the corresponding chapter in the "),t("a",{attrs:{href:"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json",target:"_blank"}},[e._v("openEO cookbook")]),e._v(". ")])}],d=a(4638),u=a(77754),p=a(61663),h=a(82574),m=a(31572),f=a(47067);const y={name:"VisualEditor",mixins:[p.A],components:{ModelBuilder:d["default"],DiscoveryToolbar:u.A,FullscreenButton:h.A},props:{id:String,editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},title:{type:String},defaultValue:{}},computed:{...i.A.mapState(["connection","collections"]),...i.A.mapGetters(["processes","supportsMath"]),...i.A.mapState("editor",["initialNode"]),...i.A.mapGetters("editor",["getModelNodeFromDnD"]),isMath(){return this.supportsMath&&this.processes.isMath(this.value)}},data(){return{showHelpOverlay:this.showIntro,canUndo:!1,canRedo:!1,canPaste:!1,compactMode:!1,hasSelection:!1,formula:null,isFullScreen:!1}},watch:{value:{immediate:!0,handler(e){if(e&&(this.showHelpOverlay=!1),this.initialNode&&i.A.isObject(e)&&i.A.isObject(e.process_graph))try{let t=this.initialNode;"1"==t&&i.A.size(e.process_graph)&&(t=Object.keys(e.process_graph)[0]),this.openArgumentEditorForNode(t)}catch(t){i.A.exception(this,t)}finally{this.setInitialNode(null)}}}},mounted(){this.canPaste=navigator&&navigator.clipboard&&"function"===typeof navigator.clipboard.readText},methods:{...i.A.mapMutations("editor",["setInitialNode","setModelDnD"]),commit(e){"undefined"!==typeof this.defaultValue&&i.A.isObject(e)&&0===i.A.size(e.process_graph)&&(e=this.defaultValue),this.$emit("input",e)},async paste(){this.canPaste||i.A.error(this,"error","Pasting is not supported by your browser.");try{const e=await navigator.clipboard.readText();let t=JSON.parse(e);await this.$refs.blocks.import(t)}catch(e){i.A.exception(this,e,"Paste Error")}},importProcess(){this.broadcast("importProcess")},errorHandler(e,t=null){i.A.exception(this,e,t)},selectionChanged(e,t){this.hasSelection=Boolean(e.filter((e=>e.$el.allowsDelete)).length||t.length)},historyChanged(e,t){this.canUndo=!!e[t-1],this.canRedo=!!e[t+1]},allowDrop(e){this.showHelpOverlay=!1,e.preventDefault()},async onDrop(e){const t=await this.getModelNodeFromDnD();if(t)return this.insertProcess(t,e.pageX,e.pageY),this.setModelDnD(),e.preventDefault();let a=e.dataTransfer.files;if(1===a.length){let t=e.dataTransfer.files[0];if("application/json"===t.type){var s=new FileReader;return s.onload=async e=>{try{let t=JSON.parse(e.target.result);await this.$refs.blocks.import(t)}catch(t){i.A.exception(this,t,"Parsing JSON file failed")}},s.onerror=e=>i.A.exception(this,e,"Reading JSON file failed"),s.readAsText(t,"UTF-8"),e.preventDefault()}}},getNameField(e=void 0,t="name"){return{value:e,name:t,description:"A unique identifier. Must contain only letters (`a`-`z`), digits (`0`-`9`) and underscores (`_`). `snake_case` is recommended.",label:"Name",schema:{type:"string",pattern:"^\\w+$"},default:null}},getDescriptionField(e=void 0,t=!1,a="description",s="Description"){return{value:e,name:a,description:"Provides a detailed description. CommonMark (Markdown) syntax can be used for rich text formatting.",label:s,optional:t,schema:{type:"string",subtype:"commonmark"}}},getOptionalField(e=void 0){return{value:e,name:"optional",label:"Optional",description:"Parameters by default are required. CHeck this option to make the parameter optional. For optional parameters a default value should be specified.",optional:!0,schema:{type:"boolean"},default:!1}},getDefaultField(e=void 0){return{value:e,name:"default",label:"Default Value",description:"This value is used whenever the user of this process did not specify a value for this parameter.",toggledBy:"optional",optional:!0,schema:{}}},getExperimentalField(e=void 0){return{value:e,name:"experimental",label:"Experimental",description:"Declares that this is experimental, which means that it is unstable and likely to change.",optional:!0,schema:{type:"boolean"},default:!1}},getDeprecatedField(e=void 0){return{value:e,name:"deprecated",label:"Deprecated",description:"Declares that this is deprecated with the potential to be removed in any of the next versions. It should be transitioned out of usage.",optional:!0,schema:{type:"boolean"},default:!1}},getSchemaField(e=void 0,t="schema",a="Data Types"){let s=e?"json-schema":"openeo-datatype";return{value:e,name:t,label:a,description:"Allowed data type(s) as JSON Schema.",schema:[{title:"Single data type",type:"object",subtype:s},{title:"Multiple data types",type:"array",minItems:2,items:{type:"object",subtype:s}}]}},editProcess(e){e=i.A.isObject(e)?e:{};let t=i.A.isObject(e.returns)?e.returns:{};var a=[this.getNameField(e.id,"id"),{value:e.summary,name:"summary",description:"A very short description of the process with usually less than 60 characters.",label:"Summary",optional:!0,schema:{type:"string"}},this.getDescriptionField(e.description,!0),{value:e.categories,name:"categories",label:"Categories",optional:!0,schema:{type:"array",items:{type:"string"}}},this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),{label:"Parameters",description:'The parameters can be edited directly in the "Visual Model" interface.',info:!0},this.getDescriptionField(t.description,!0,"returns_description","Return Value > Description"),this.getSchemaField(t.schema,"returns_schema","Return Value > Data Type"),{value:e.exceptions,name:"exceptions",description:"Declares exceptions (errors) that might occur during execution of this process. This list is just for informative purposes.\n\nThe keys of the object are the error codes, which should only consist of alphanumerical characters. `PascalCase` is recommended.",label:"Errors",optional:!0,schema:{type:"object",additionalProperties:{type:"object",required:["message"],properties:{message:{title:"Error Message",type:"string"},description:{title:"Description",type:"string",subtype:"commonmark"},http:{title:"HTTP Status Code",type:"integer",enum:[400,500,501]}}}}},{value:e.examples,name:"examples",label:"Examples",description:"Example calls for this process with specific values for the parameters (arguments) and the result (return value).",optional:!0,schema:{type:"array",items:{type:"object",required:["arguments"],properties:{title:{title:"Title",type:"string"},title:{title:"Description",type:"string",subtype:"commonmark"},arguments:{title:"Arguments",type:"object",default:{}},returns:{title:"Return Value"}}}}},{value:e.links,name:"links",label:"Links",description:"Links related to this process, e.g. additional documentation.",optional:!0,schema:{type:"array",items:{type:"object",required:["href","rel"],properties:{href:{title:"URL",type:"string"},rel:{title:"Relation",description:"For examples see [IANA relation types](https://www.iana.org/assignments/link-relations/link-relations.xhtml)",type:"string",default:"about"},title:{title:"Title",type:"string"},type:{title:"Media Type",description:"For examples see [IANA media types](https://www.iana.org/assignments/media-types/media-types.xhtml)",type:"string"}}}}}];this.broadcast("showDataForm","Edit Process",a,(async e=>{let t=i.A.pickFromObject(e,["id","summary","description","categories","experimental","deprecated","exception","examples","links"]);("string"===typeof t.description||i.A.isObject(t.schema))&&(t.returns={description:e.returns_description,schema:e.returns_schema});let a=this.$refs.blocks.export(!0),s=Object.assign({},a,t);const r={id:"",summary:"",description:"",categories:[],experimental:!1,deprecated:!1,examples:[],links:[],process_graph:{}};for(let o in r)i.A.equals(r[o],s[o])&&delete s[o];this.commit(s)}))},addParameter(){var e=[this.getNameField(),this.getDescriptionField(),this.getOptionalField(),this.getDefaultField(),this.getExperimentalField(),this.getDeprecatedField(),this.getSchemaField()];this.broadcast("showDataForm","Add Parameter",e,(async e=>{"string"===typeof e.name&&e.name.length>0&&await this.$refs.blocks.addPgParameter(e)}))},editParameter(e,t="Edit Parameter",a=null){var s=[this.getNameField(e.name),this.getDescriptionField(e.description),this.getOptionalField(e.optional),this.getDefaultField(e.default),this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),this.getSchemaField(e.schema)];this.broadcast("showDataForm",t,s,a)},showExpressionModal(){let e=new f.A(this.value,this.processes,this.connection,!0);e.setCallbackParameters(this.$refs.blocks.getPgParameters().map((e=>e.spec)));try{e.parse();let t={process:e},a={save:this.insertNodes};this.broadcast("showModal","ExpressionModal",t,a)}catch(t){i.A.exception(this,t)}},openArgumentEditorForNode(e){let t=i.A.deepClone(this.value),a=t.process_graph[e],s=this.processes.get(a.process_id,a.namespace);Array.isArray(s.parameters)&&s.parameters.length>0&&this.openArgumentEditor(s.parameters.map((e=>new m.ProcessParameter(e))).filter((e=>e.isEditable())),a.arguments,s.id,!0,null,(e=>{Object.assign(a,{arguments:e}),this.commit(t)}))},openArgumentEditor(e,t,a="Edit",s=!0,r=null,i=null,o=null){let n={title:a,parameters:e,data:t,editable:s,selectParameterName:r,parent:o},l={};"function"===typeof i&&(l.save=i),this.broadcast("showModal","ParameterModal",n,l)},confirmClear(){var e=confirm("Do you really want to clear the existing model?");e&&this.clear()},clear(){this.$refs.blocks&&this.$refs.blocks.clear(),this.commit(null)},insertProcess(e,t=null,a=null){try{var s=this.$refs.blocks.getPositionForPageXY(t,a);let r=e.namespace;"backend"!==r&&"user"!==r||(r=null),this.$refs.blocks.addProcess(e.process_id,e.arguments,s,r)}catch(r){i.A.exception(this,r)}},async insertNodes(e,t=!1){return await this.$refs.blocks.import({process_graph:e},{clear:t})}}},g=y;var b=a(81656),v=(0,b.A)(g,l,c,!1,null,null,null);const w=v.exports;var _=a(57497);const A={name:"Editor",components:{VisualEditor:w,TextEditor:_.A,Tabs:o["default"],Tab:n["default"]},props:{id:{type:String,default:()=>`editor_${Date.now()}`},editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},title:{type:String},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},defaultValue:{}},watch:{value(){this.updateTab()}},data(){return{modelValue:null,codeValue:null,error:null}},mounted(){this.updateTab()},methods:{...i.A.mapActions(["loadProcess"]),showModel(){this.error=null,this.modelValue=this.value},showCode(){this.error=null,this.codeValue=this.value,this.$refs.sourceEditor.updateState()},updateTab(){"source"===this.$refs.tabs.getActiveTabId()?this.showCode():this.showModel()},commit(e){this.error=null,this.$emit("input",e)},onError(e){this.error=e},activeEditor(){return"source"===this.$refs.tabs.getActiveTabId()?this.$refs.sourceEditor:this.$refs.graphBuilder},async insertProcess(e){try{await this.loadProcess({id:e.process_id,namespace:e.namespace}),this.activeEditor().insertProcess(e)}catch(t){i.A.exception(this,t)}},canSwitchView(){return!this.editable||null===this.error||(i.A.exception(this,this.error,"Process Invalid Error"),!1)}}},x=A;var k=(0,b.A)(x,s,r,!1,null,null,null);const C=k.exports},16125:(e,t,a)=>{a.d(t,{A:()=>o});var s=a(14894),r=a(2566);class i extends s.BaseProcess{constructor(e,t){super(e),this.exporter=t}async execute(e){await this.exporter.generateFunction(e)}}class o extends s.ProcessGraph{constructor(e,t,a){super(r.A.isObject(e)?e:{},t),this.connection=a,this.code=[],this.fnCounter=1,this.allowEmpty(),this.fillUndefinedParameters()}createProcessGraphInstance(e){let t=new o(e,this.processRegistry,this.getJsonSchemaValidator());return this.copyProcessGraphInstanceProperties(t)}copyProcessGraphInstanceProperties(e){return e=super.copyProcessGraphInstanceProperties(e),e.connection=this.connection,e}createProcessInstance(e){return new i(e,this)}isKeyword(e){return this.getKeywords().includes(e.toLowerCase())}getKeywords(){return[]}comment(){}generateImports(){}generateConnection(){}generateAuthentication(){}generateBuilder(){}generateMetadata(){}generateMissingParameter(){}async generateFunction(){}generateFunctionParams(e){return e.map((e=>"undefined"!==typeof e.default?`${e.name} = ${this.e(e.default)}`:e.name))}async generateCallback(){}generateResult(){}makeNull(){return"null"}makeBoolean(e){return e?"true":"false"}makeArray(e){return`[${e.join(", ")}]`}makeObject(e){let t=r.A.mapObject(e,((e,t)=>`${this.makeString(t)}: ${e}`));return`{${t.join(", ")}}`}makeString(e){return JSON.stringify(e)}makeNumber(e){return e}e(e){return null===e?this.makeNull():"boolean"===typeof e?this.makeBoolean(e):"number"===typeof e?this.makeNumber(e):"string"===typeof e?this.makeString(e):Array.isArray(e)?this.makeArray(e.map((e=>this.e(e)))):r.A.isObject(e)?this.makeObject(r.A.mapObjectValues(e,(e=>this.e(e)))):"function"===typeof e?e():this.makeNull()}generateMetadata(){let e=!1;for(let t in this.process){if("process_graph"===t)continue;let a=this.process[t];Array.isArray(a)&&0===a.length||("string"===typeof a&&0===a.length||("boolean"!==typeof a||a)&&(e||(this.newLine(),this.comment("Set the metadata for the process"),e=!0),this.generateMetadataEntry(t,a)))}}async resolveArguments(e,t,a){let s=Array.isArray(e)?[]:{};for(let i in e){let n=e[i];if(!a||!a(i,n))if(r.A.isObject(n)){if(n.from_node){s[i]=()=>this.var(n.from_node,this.varPrefix());continue}if(n.from_parameter){s[i]=()=>this.var(n.from_parameter);continue}if(n instanceof o){let e=await t(i);s[i]=()=>e;continue}s[i]=await this.resolveArguments(n,t,a)}else Array.isArray(n)?s[i]=await this.resolveArguments(n,t,a):s[i]=n}return s}async resolveCallback(e,t){let a;if("load_collection"===e.process_id){let s=e.getArgument("properties");a=s[t]}else a=e.getArgument(t);let s=a.getCallbackParameters();await a.execute(s);let r=this.var(`${t}${this.fnCounter++}`,"fn_"),i=await this.generateCallback(a,s,r);return i||r}async generateArguments(e,t=!1,a=null){let s=await this.resolveArguments(e.arguments,(async t=>await this.resolveCallback(e,t)),a);return t&&(s=this.orderArguments(e,s)),s}orderArguments(e,t){let a=e.getProcessGraph().getProcess(e);if(a&&Array.isArray(a.parameters)){let e=a.parameters.map((e=>"undefined"!==typeof t[e.name]?t[e.name]:e.optional?void 0:null)),s=!1;for(let t=e.length-1;t>=0;t--)"undefined"===typeof e[t]?s?e[t]=null:e.pop():s=!0;return e}}varPrefix(){return this.getParent()?"data":"datacube"}var(e,t="var"){return e=String(e),this.isKeyword(e)?`${e}_`:e.match(/^[a-z_]\w*$/)?e:t+e.replace(/[^\w]+/g,"_")}getTab(){return"\t"}addCode(e,t="",a=0){if("string"!==typeof e)return;let s=this.getTab().repeat(a),r=e.trim().split(/\r\n|\r|\n/g);for(let i of r)this.code.push(`${s}${t}${i}\n`)}newLine(e=1){for(let t=0;t0){this.comment("ToDo: Here you need to set values for the parameters");for(let e of t)this.generateMissingParameter(e);this.newLine()}return await this.execute(),e||(this.newLine(),this.comment("The process can be executed synchronously (see below), as batch job or as web service now")),this.generateResult(this.getResultNode(),e),this.code.join("").trim()}async execute(){return await this.validate(),this.reset(),await this.executeNodes(this.getStartNodes()),this.getResultNode()}isMath(){return"undefined"===typeof this._isMath&&(this._isMath=this.processRegistry.isMath(this)),this._isMath}}},47067:(e,t,a)=>{a.d(t,{A:()=>n});var s=a(2566),r=a(16125),i=a(73902);const o=["abstract","arguments","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","eval","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with","yield","builder","connection","formula","openeo","result"];class n extends r.A{constructor(e,t,a,s=!1){super(e,t,a),this.generateFormula=s}createProcessGraphInstance(e){let t=new n(e,this.processRegistry,this.getJsonSchemaValidator(),this.generateFormula);return this.copyProcessGraphInstanceProperties(t)}parse(){this.parsed||super.parse()}getKeywords(){return o}comment(e){this.addCode(e,"// ")}generateImports(){this.addCode("import { OpenEO, Formula } from '@openeo/js-client';")}generateConnection(){this.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`)}generateAuthentication(){this.comment("ToDo: Here you need to add your authentication steps")}generateBuilder(){this.addCode("let builder = await connection.buildProcess();")}generateMetadataEntry(e,t){this.addCode(`builder.${e} = ${this.e(t)};`)}async generateFunction(e){let t=e.getParent()?"this":"builder",a=this.var(e.id,this.varPrefix()),r=await this.generateArguments(e,!e.namespace);if(this.comment(e.description),s.A.isObject(r)){let s=e.namespace?`${e.process_id}@${e.namespace}`:e.process_id;this.addCode(`let ${a} = ${t}.process("${s}", ${this.e(r)});`)}else this.addCode(`let ${a} = ${t}.${e.process_id}(${r.map((e=>this.e(e))).join(", ")});`)}generateMissingParameter(e){this.comment(e.description);let t=this.var(e.name,"param"),a="undefined"!==typeof e.default?e.default:null;this.addCode(`let ${t} = ${this.e(a)};`)}async generateCallback(e,t,a){if(this.generateFormula&&e&&e.isMath()){let t=e.toFormulaString(),a=JSON.stringify(t);return`new Formula(${a})`}{let s=this.generateFunctionParams(t);this.newLine(),this.addCode(`let ${a} = function(${s.join(", ")}) {`),this.addCode(await e.toCode(!0),"",1),this.addCode("}")}}generateResult(e,t){if(!e)return;let a=this.var(e.id,this.varPrefix());t?this.addCode(`return ${a};`):this.addCode(`let result = await connection.computeResult(${a});`)}toFormulaString(){return this.isMath()?this.nodeToFormula(this.getResultNode()):""}getArrayElementPlaceholder(e){if("array_element"===e.process_id&&"parameter"===e.getArgumentType("data")){let t=e.getRawArgument("data").from_parameter,a=this.getCallbackParameters().findIndex((e=>e.name===t));if(a>=0)return"$".repeat(a+1)+(e.getArgument("label")||e.getArgument("index"))}return null}nodeToFormula(e,t=null){if("array_element"===e.process_id){let t=this.getArrayElementPlaceholder(e);if(t)return t}let a=i.Formula.reverseOperatorMapping[e.process_id],r=this.processRegistry.get(e.process_id),o="undefined"!==typeof i.Formula.arrayOperatorMapping[e.process_id],n=t=>{if(s.A.isObject(t))if(t.from_node){let s=e.getProcessGraph().getNode(t.from_node);t=s?this.nodeToFormula(s,a):"#"+t.from_node}else{if(!t.from_parameter)throw new Error("Objects not allowed");t=t.from_parameter}return t},l=[],c=Array.isArray(r.parameters)?r.parameters:[];for(let s of c){let t=n(e.getRawArgument(s.name));if(o&&Array.isArray(t)&&"data"===s.name){l=t.map((e=>n(e)));break}if("undefined"!==typeof t)l.push(t);else{if("undefined"===typeof s.default)throw new Error('Argument for parameter "'+s.name+'" missing');l.push(s.default)}}if(o&&(l=l.filter((e=>null!==e))),a){let e=["/","*"],s=["-","+"],r=l.map((e=>e<0?"("+e+")":e)).join(a);return!t||s.includes(t)&&s.includes(a)||"^"===a||s.includes(t)&&e.includes(a)?r:"("+r+")"}return e.process_id+"("+l.join(", ")+")"}}}}]); -//# sourceMappingURL=5839.13e0bb10.js.map \ No newline at end of file +//# sourceMappingURL=5839.827b7af7.js.map \ No newline at end of file diff --git a/js/5839.13e0bb10.js.map b/js/5839.827b7af7.js.map similarity index 99% rename from js/5839.13e0bb10.js.map rename to js/5839.827b7af7.js.map index 1304f735..a8271cf7 100644 --- a/js/5839.13e0bb10.js.map +++ b/js/5839.827b7af7.js.map @@ -1 +1 @@ -{"version":3,"file":"js/5839.13e0bb10.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","computed","typesToShow","types","push","data","format","assign","id","processes","showCategories","provideDownload","processUrl","showGraph","Process","class","compact","directives","rawName","value","expression","placeholder","minLength","searchHint","domProps","$event","target","composing","Number","watch","newValue","oldValue","length","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","title","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","namespace","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","size","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","process","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","click","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","param","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","ModelBuilder","DiscoveryToolbar","FullscreenButton","formula","initialNode","isObject","process_graph","node","keys","openArgumentEditorForNode","error","exception","setInitialNode","mounted","navigator","clipboard","readText","text","JSON","parse","import","message","edges","filter","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","description","label","schema","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","returns","fields","categories","experimental","deprecated","info","exceptions","additionalProperties","properties","http","enum","examples","arguments","links","href","rel","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","parameters","p","ProcessParameter","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","replace","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","ProcessImpl","BaseProcess","constructor","exporter","super","execute","generateFunction","Exporter","ProcessGraph","registry","code","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","includes","toLowerCase","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","join","makeObject","obj","mapObject","makeString","str","stringify","makeNumber","num","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","from_node","var","varPrefix","from_parameter","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","async","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","i","pop","getParent","prefix","match","getTab","addCode","level","repeat","lines","trim","split","line","count","getServerUrl","getUrl","toCode","params","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","processId","arg","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","Error","argList","v","strongOps","weakOps"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/5839.827b7af7.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","computed","typesToShow","types","push","data","format","assign","id","processes","showCategories","provideDownload","processUrl","showGraph","Process","class","compact","directives","rawName","value","expression","placeholder","minLength","searchHint","domProps","$event","target","composing","Number","watch","newValue","oldValue","length","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","title","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","namespace","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","size","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","process","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","click","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","param","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","ModelBuilder","DiscoveryToolbar","FullscreenButton","formula","initialNode","isObject","process_graph","node","keys","openArgumentEditorForNode","error","exception","setInitialNode","mounted","navigator","clipboard","readText","text","JSON","parse","import","message","edges","filter","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","description","label","schema","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","returns","fields","categories","experimental","deprecated","info","exceptions","additionalProperties","properties","http","enum","examples","arguments","links","href","rel","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","parameters","p","ProcessParameter","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","replace","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","ProcessImpl","BaseProcess","constructor","exporter","super","execute","generateFunction","Exporter","ProcessGraph","registry","code","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","includes","toLowerCase","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","join","makeObject","obj","mapObject","makeString","str","stringify","makeNumber","num","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","from_node","var","varPrefix","from_parameter","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","async","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","i","pop","getParent","prefix","match","getTab","addCode","level","repeat","lines","trim","split","line","count","getServerUrl","getUrl","toCode","params","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","processId","arg","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","Error","argList","v","strongOps","weakOps"],"sourceRoot":""} \ No newline at end of file diff --git a/js/6036.d73dc1a0.js b/js/6036.51b11294.js similarity index 99% rename from js/6036.d73dc1a0.js rename to js/6036.51b11294.js index 2e7932ca..e002c71c 100644 --- a/js/6036.d73dc1a0.js +++ b/js/6036.51b11294.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[6036,4737],{54737:(e,t,s)=>{s.r(t),s.d(t,{default:()=>d});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"select-container"},[e.loaded?[t("MultiSelect",{key:e.type,ref:"htmlElement",attrs:{label:"label","track-by":"id",multiple:e.multiple,options:e.selectOptions,allowEmpty:!1,preselectFirst:e.preselect,disabled:!e.editable,deselectLabel:e.deselectLabel,taggable:e.taggable,tagPlaceholder:e.tagPlaceholder},on:{tag:e.addValue},model:{value:e.selected,callback:function(t){e.selected=t},expression:"selected"}}),e.showDetails?t("button",{attrs:{type:"button",title:"Details"},on:{click:function(t){return e.$emit("onDetails")}}},[t("i",{staticClass:"fas fa-info"})]):e._e()]:t("div",{staticClass:"loading"},[t("i",{staticClass:"fas fa-spinner fa-spin"}),e._v(" Loading options...")])],2)},a=[],l=s(75262),r=s.n(l),n=s(2566);const o={name:"SelectBox",components:{MultiSelect:r()},props:{value:{},type:{type:String,default:""},editable:{type:Boolean,default:!0},options:{type:[Array,Object]},schema:{type:Object},context:{},optionFilter:{type:Function,default:null}},computed:{selectOptions(){let e=[];switch(this.type){case"band-name":let t=this.$store.state.collections.find((e=>e.id==this.context));if(n.A.isObject(t)){try{e=t.summaries["bands"].map((e=>e.name))}catch(a){}if(0===e.length&&n.A.isObject(t["cube:dimensions"]))try{let s=Object.values(t["cube:dimensions"]).find((e=>"bands"===e.type));s&&Array.isArray(s.values)&&(e=s.values)}catch(a){}}break;case"collection-id":e=this.$store.state.collections;break;case"job-id":e=this.$store.state.jobs.jobs;break;case"file-path":case"file-paths":e=this.$store.state.files.files;break;case"epsg-code":e=this.$store.state.editor.epsgCodes;break;case"input-format":e=this.$store.state.fileFormats.getInputTypes();break;case"openeo-datatype":let i=s(63610),l={};for(let e of i.NATIVE_TYPES)l[e]={type:e};e=Object.assign(l,i.API_TYPES);break;case"output-format":e=this.$store.state.fileFormats.getOutputTypes();break;case"service-type":e=this.$store.state.serviceTypes;break;case"billing-plan":e=this.$store.state.connection.capabilities().listPlans();break;case"udf-runtime":e=Object.keys(this.$store.state.udfRuntimes);break;case"udf-runtime-version":e=this.context in this.$store.state.udfRuntimes?Object.keys(this.$store.state.udfRuntimes[this.context].versions):[];break}"function"===typeof this.optionFilter&&e&&"object"===typeof e&&(e=n.A.isObject(e)?Object.fromEntries(Object.entries(e).filter((([e,t])=>this.optionFilter(t,e)))):e.filter(((e,t)=>this.optionFilter(e,t))));let t=[];switch(this.type){case"collection-id":return e.map((e=>this.e(e.id))).sort(this.sortByLabel);case"job-id":return e.map((e=>({id:e.id,label:n.A.getResourceTitle(e)}))).sort(this.sortByLabel);case"openeo-datatype":for(let i in e){let s=e[i];t.push({id:i,label:s.title||n.A.prettifyString(i),value:s})}return t;case"file-path":case"file-paths":return e.map((e=>this.e(e.path))).sort(((e,t)=>n.A.sortByPath(e.id,t.id)));case"epsg-code":for(let i in e)t.push({id:Number.parseInt(i,10),label:i+": "+e[i]});return t;case"input-format":case"output-format":case"service-type":for(let i in e){let s=i.toUpperCase(),a=e[i].title;a?s!==a.toUpperCase()&&(a=`${a} - ${s}`):a=s,t.push({id:s,label:a})}return t.sort(this.sortByLabel);case"billing-plan":return e.map((e=>({id:e.name,label:e.name+(e.paid?" (paid)":" (free)")})));case"year":let s=(new Date).getFullYear(),a=Array.from({length:100},((e,t)=>this.e(String(s-t))));if("string"===typeof this.value&&this.value.length>0&&-1===a.findIndex((e=>e.id===this.value))){var i=this.e(this.value);this.value>s?a.unshift(i):a.push(this.e(this.value))}return a;case"band-name":case"udf-runtime":case"udf-runtime-version":return e.map((e=>this.e(e)));default:return n.A.isObject(this.schema)&&this.schema.isEnum()?this.schema.getEnumChoices().map((e=>this.e(e))):Array.isArray(this.options)?this.options.map((e=>n.A.isObject(e)?e:this.e(e))):[]}},showDetails(){return"collection-id"===this.type},deselectLabel(){return this.multiple?"Press enter to remove":""},tagPlaceholder(){return"year"===this.type?"Press enter to select":"Press enter to create a tag"},multiple(){return"file-paths"===this.type},taggable(){let e=["band-name","collection-id","job-id","input-format","output-format"];return"year"===this.type||0===this.selectOptions.length&&e.includes(this.type)},preselect(){return this.multiple?!Array.isArray(this.selected)||0===this.selected.length:null===this.selected}},data(){return{selected:null,loaded:!1}},created(){this.loadData()},watch:{type(){this.loadData()},selected(e){let t;if(null===e)t=null;else if(this.multiple)Array.isArray(e)||(e=[e]),t=e.map((e=>e.id));else switch(this.type){case"epsg-code":var s=Number.parseInt(e.id);t=Number.isNaN(s)?null:s;break;case"openeo-datatype":t=e.value;break;case"year":t=String(e.id);break;default:t=e.id}this.$emit("input",t)},context(){switch(this.type){case"udf-runtime":case"udf-runtime-version":this.selected=null,this.preselectFirst();break;case"band-name":this.selected=null,this.loadData();break}}},methods:{...n.A.mapActions(["describeCollection"]),...n.A.mapActions("editor",["loadEpsgCodes"]),e(e){return{id:e,label:e}},async loadData(){this.loaded=!1,"epsg-code"===this.type?await this.loadEpsgCodes():"band-name"===this.type&&await this.describeCollection(this.context),this.initSelection(),this.loaded=!0},async preselectFirst(){await this.$nextTick();let e=this.$refs.htmlElement;e.preselectFirst&&Array.isArray(e.filteredOptions)&&e.filteredOptions.length&&e.select(e.filteredOptions[0])},initSelection(){let e="undefined"===typeof this.value?this.schema.default():this.value;if(this.multiple&&Array.isArray(e))this.selected=this.selectOptions.filter((t=>e.includes(t.id)));else{switch(this.type){case"input-format":case"output-format":case"service-type":"string"===typeof e&&(e=e.toUpperCase());break}let t=this.selectOptions.find((t=>t.id===e));void 0!==t&&(this.selected=t)}},sortByLabel(e,t){return n.A.compareStringCaseInsensitive(e.label,t.label)},addValue(e){this.selected=this.e(e)}}},c=o;var p=s(81656),u=(0,p.A)(c,i,a,!1,null,null,null);const d=u.exports},46036:(e,t,s)=>{s.r(t),s.d(t,{default:()=>u});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-time"},[t("p",[e._v(e._s(e.text))]),t("SelectBox",{attrs:{options:e.options,value:e.value},on:{input:t=>e.$emit("input",t)}})],1)},a=[],l=s(54737),r=s(2566);const n={name:"ChooseReducer",components:{SelectBox:l["default"]},props:{text:{type:String,default:"Please select a method for aggregation:"},allowEmpty:{type:Boolean,default:!1},value:{type:String,default:"mean"}},computed:{...r.A.mapGetters(["processes"]),options(){let e=this.processes.all().filter((e=>{if(Array.isArray(e.categories)&&e.categories.includes("reducer")&&Array.isArray(e.parameters)&&"array_element"!==e.id){let t=e.parameters.filter((e=>!0!==e.optional));return 1===t.length&&"data"===t[0].name}return!1})).map((e=>({id:e.id,label:`${e.id} - ${e.summary}`})));return e.unshift({id:"",label:"No composite"}),e}}},o=n;var c=s(81656),p=(0,c.A)(o,i,a,!1,null,null,null);const u=p.exports},63610:(e,t,s)=>{s.r(t),s.d(t,{API_TYPES:()=>a,NATIVE_TYPES:()=>l});var i=s(2566);const a=i.A.resolveJsonRefs(s(96318)).definitions,l=["string","integer","number","boolean","array","object"]}}]); -//# sourceMappingURL=6036.d73dc1a0.js.map \ No newline at end of file +//# sourceMappingURL=6036.51b11294.js.map \ No newline at end of file diff --git a/js/6036.d73dc1a0.js.map b/js/6036.51b11294.js.map similarity index 99% rename from js/6036.d73dc1a0.js.map rename to js/6036.51b11294.js.map index 0b150a45..7f9a05bd 100644 --- a/js/6036.d73dc1a0.js.map +++ b/js/6036.51b11294.js.map @@ -1 +1 @@ -{"version":3,"file":"js/6036.d73dc1a0.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?ff2a","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?8dc4","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseReducer.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue?bf71","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue?822a","webpack://@openeo/web-editor/./src/components/datatypes/api.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"select-container\"},[(_vm.loaded)?[_c('MultiSelect',{key:_vm.type,ref:\"htmlElement\",attrs:{\"label\":\"label\",\"track-by\":\"id\",\"multiple\":_vm.multiple,\"options\":_vm.selectOptions,\"allowEmpty\":false,\"preselectFirst\":_vm.preselect,\"disabled\":!_vm.editable,\"deselectLabel\":_vm.deselectLabel,\"taggable\":_vm.taggable,\"tagPlaceholder\":_vm.tagPlaceholder},on:{\"tag\":_vm.addValue},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),(_vm.showDetails)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Details\"},on:{\"click\":function($event){return _vm.$emit('onDetails')}}},[_c('i',{staticClass:\"fas fa-info\"})]):_vm._e()]:_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading options...\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectBox.vue?vue&type=template&id=4d9e902d\"\nimport script from \"./SelectBox.vue?vue&type=script&lang=js\"\nexport * from \"./SelectBox.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./SelectBox.vue?vue&type=style&index=1&id=4d9e902d&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(_vm._s(_vm.text))]),_c('SelectBox',{attrs:{\"options\":_vm.options,\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseReducer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseReducer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseReducer.vue?vue&type=template&id=7923ec13\"\nimport script from \"./ChooseReducer.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseReducer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Utils from '../../utils';\nexport const API_TYPES = Utils.resolveJsonRefs(require('@openeo/js-processgraphs/assets/subtype-schemas.json')).definitions;\nexport const NATIVE_TYPES = [\n\t'string',\n\t'integer',\n\t'number',\n\t'boolean',\n\t'array',\n\t'object'\n];"],"names":["render","_vm","this","_c","_self","staticClass","loaded","key","type","ref","attrs","multiple","selectOptions","preselect","editable","deselectLabel","taggable","tagPlaceholder","on","addValue","model","value","selected","callback","$$v","expression","showDetails","$event","$emit","_e","_v","staticRenderFns","name","components","MultiSelect","props","String","default","Boolean","options","Array","Object","schema","context","optionFilter","Function","computed","state","collection","$store","collections","find","c","id","Utils","isObject","summaries","map","band","error","length","bandDimension","values","d","isArray","jobs","files","editor","epsgCodes","fileFormats","getInputTypes","t","require","types","native","NATIVE_TYPES","assign","API_TYPES","getOutputTypes","serviceTypes","connection","capabilities","listPlans","keys","udfRuntimes","versions","fromEntries","entries","filter","data","e","sort","sortByLabel","j","label","getResourceTitle","push","title","prettifyString","f","path","a","b","sortByPath","Number","parseInt","toUpperCase","p","paid","thisYear","Date","getFullYear","years","from","x","i","findIndex","y","customYear","unshift","val","isEnum","getEnumChoices","freeInputIfEmpty","includes","created","loadData","watch","newValue","v","num","isNaN","preselectFirst","methods","mapActions","loadEpsgCodes","describeCollection","initSelection","$nextTick","elem","$refs","htmlElement","filteredOptions","select","o","selectedOption","undefined","compareStringCaseInsensitive","component","_s","text","SelectBox","allowEmpty","mapGetters","reducers","processes","all","categories","parameters","params","param","optional","summary","resolveJsonRefs","definitions"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/6036.51b11294.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?ff2a","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?8dc4","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseReducer.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue?bf71","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseReducer.vue?822a","webpack://@openeo/web-editor/./src/components/datatypes/api.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"select-container\"},[(_vm.loaded)?[_c('MultiSelect',{key:_vm.type,ref:\"htmlElement\",attrs:{\"label\":\"label\",\"track-by\":\"id\",\"multiple\":_vm.multiple,\"options\":_vm.selectOptions,\"allowEmpty\":false,\"preselectFirst\":_vm.preselect,\"disabled\":!_vm.editable,\"deselectLabel\":_vm.deselectLabel,\"taggable\":_vm.taggable,\"tagPlaceholder\":_vm.tagPlaceholder},on:{\"tag\":_vm.addValue},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),(_vm.showDetails)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Details\"},on:{\"click\":function($event){return _vm.$emit('onDetails')}}},[_c('i',{staticClass:\"fas fa-info\"})]):_vm._e()]:_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading options...\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectBox.vue?vue&type=template&id=4d9e902d\"\nimport script from \"./SelectBox.vue?vue&type=script&lang=js\"\nexport * from \"./SelectBox.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./SelectBox.vue?vue&type=style&index=1&id=4d9e902d&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(_vm._s(_vm.text))]),_c('SelectBox',{attrs:{\"options\":_vm.options,\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseReducer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseReducer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseReducer.vue?vue&type=template&id=7923ec13\"\nimport script from \"./ChooseReducer.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseReducer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Utils from '../../utils';\nexport const API_TYPES = Utils.resolveJsonRefs(require('@openeo/js-processgraphs/assets/subtype-schemas.json')).definitions;\nexport const NATIVE_TYPES = [\n\t'string',\n\t'integer',\n\t'number',\n\t'boolean',\n\t'array',\n\t'object'\n];"],"names":["render","_vm","this","_c","_self","staticClass","loaded","key","type","ref","attrs","multiple","selectOptions","preselect","editable","deselectLabel","taggable","tagPlaceholder","on","addValue","model","value","selected","callback","$$v","expression","showDetails","$event","$emit","_e","_v","staticRenderFns","name","components","MultiSelect","props","String","default","Boolean","options","Array","Object","schema","context","optionFilter","Function","computed","state","collection","$store","collections","find","c","id","Utils","isObject","summaries","map","band","error","length","bandDimension","values","d","isArray","jobs","files","editor","epsgCodes","fileFormats","getInputTypes","t","require","types","native","NATIVE_TYPES","assign","API_TYPES","getOutputTypes","serviceTypes","connection","capabilities","listPlans","keys","udfRuntimes","versions","fromEntries","entries","filter","data","e","sort","sortByLabel","j","label","getResourceTitle","push","title","prettifyString","f","path","a","b","sortByPath","Number","parseInt","toUpperCase","p","paid","thisYear","Date","getFullYear","years","from","x","i","findIndex","y","customYear","unshift","val","isEnum","getEnumChoices","freeInputIfEmpty","includes","created","loadData","watch","newValue","v","num","isNaN","preselectFirst","methods","mapActions","loadEpsgCodes","describeCollection","initSelection","$nextTick","elem","$refs","htmlElement","filteredOptions","select","o","selectedOption","undefined","compareStringCaseInsensitive","component","_s","text","SelectBox","allowEmpty","mapGetters","reducers","processes","all","categories","parameters","params","param","optional","summary","resolveJsonRefs","definitions"],"sourceRoot":""} \ No newline at end of file diff --git a/js/7186.9dd7e65f.js b/js/7186.7ddfb742.js similarity index 98% rename from js/7186.9dd7e65f.js rename to js/7186.7ddfb742.js index a50f1275..9d19be80 100644 --- a/js/7186.9dd7e65f.js +++ b/js/7186.7ddfb742.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[7186],{37186:(e,t,o)=>{o.r(t),o.d(t,{default:()=>d});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-processing-mode"},[e.isAuthenticated&&(e.supportsJobs||e.supportsSync)?[t("p",[e._v("Please select how you'd like to execute this workflow?")]),t("ul",{staticClass:"mode"},[e.supportsJobs?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"job",value:"job"},domProps:{checked:e._q(e.mode,"job")},on:{change:function(t){e.mode="job"}}}),t("label",{attrs:{for:"job"}},[t("strong",[e._v("Batch Jobs")]),t("br"),e._v(" Slower processing mode for large amounts of data. Creates and queues a batch job."),t("br"),e._v(" It is recommended to provide a title for the batch job: "),t("input",{directives:[{name:"model",rawName:"v-model",value:e.titleInput,expression:"titleInput"}],ref:"title",attrs:{type:"text"},domProps:{value:e.titleInput},on:{input:function(t){t.target.composing||(e.titleInput=t.target.value)}}})])]):e._e(),e.supportsSync?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"sync",value:"sync"},domProps:{checked:e._q(e.mode,"sync")},on:{change:function(t){e.mode="sync"}}}),e._m(0)]):e._e(),e.supportsSync?t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.mode,expression:"mode"}],attrs:{type:"radio",id:"model",value:""},domProps:{checked:e._q(e.mode,"")},on:{change:function(t){e.mode=""}}}),e._m(1)]):e._e()])]:t("p",[e._v(" The wizard has all information to create the workflow for you."),t("br"),e.isAuthenticated?[e._v("Unforntunately, this back-end can't process data,")]:[e._v("You are not logged in and thus you can't process data directly,")],e._v(" but you can insert the process into the visual model builder now. ")],2)],2)},r=[function(){var e=this,t=e._self._c;return t("label",{attrs:{for:"sync"}},[t("strong",[e._v("Synchronous Processing")]),t("br"),e._v(" Fast processing mode for small amounts of data. ")])},function(){var e=this,t=e._self._c;return t("label",{attrs:{for:"model"}},[t("strong",[e._v("Don't execute")]),t("br"),e._v(" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. ")])}],a=o(2566);const i={name:"ChooseProcessingMode",props:{value:{type:String,default:null},title:{type:String,default:""}},data(){return{mode:this.value}},computed:{...a.A.mapState(["isAuthenticated"]),...a.A.mapGetters(["supports"]),titleInput:{get(){return this.title},set(e){this.$emit("update:title",e)}},supportsJobs(){return this.supports("createJob")&&this.supports("startJob")},supportsSync(){return this.supports("computeResult")}},watch:{value(){this.mode=this.value},mode(){this.$emit("input",this.mode),"job"===this.mode&&this.$refs.title.select()},title(){this.$emit("update:title",this.title)}}},n=i;var l=o(81656),u=(0,l.A)(n,s,r,!1,null,"449febe3",null);const d=u.exports}}]); -//# sourceMappingURL=7186.9dd7e65f.js.map \ No newline at end of file +//# sourceMappingURL=7186.7ddfb742.js.map \ No newline at end of file diff --git a/js/7186.9dd7e65f.js.map b/js/7186.7ddfb742.js.map similarity index 99% rename from js/7186.9dd7e65f.js.map rename to js/7186.7ddfb742.js.map index d660aea0..e9476ec9 100644 --- a/js/7186.9dd7e65f.js.map +++ b/js/7186.7ddfb742.js.map @@ -1 +1 @@ -{"version":3,"file":"js/7186.9dd7e65f.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?7251","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?b614"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-processing-mode\"},[(_vm.isAuthenticated && (_vm.supportsJobs || _vm.supportsSync))?[_c('p',[_vm._v(\"Please select how you'd like to execute this workflow?\")]),_c('ul',{staticClass:\"mode\"},[(_vm.supportsJobs)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"job\",\"value\":\"job\"},domProps:{\"checked\":_vm._q(_vm.mode,\"job\")},on:{\"change\":function($event){_vm.mode=\"job\"}}}),_c('label',{attrs:{\"for\":\"job\"}},[_c('strong',[_vm._v(\"Batch Jobs\")]),_c('br'),_vm._v(\" Slower processing mode for large amounts of data. Creates and queues a batch job.\"),_c('br'),_vm._v(\" It is recommended to provide a title for the batch job: \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.titleInput),expression:\"titleInput\"}],ref:\"title\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.titleInput)},on:{\"input\":function($event){if($event.target.composing)return;_vm.titleInput=$event.target.value}}})])]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"sync\",\"value\":\"sync\"},domProps:{\"checked\":_vm._q(_vm.mode,\"sync\")},on:{\"change\":function($event){_vm.mode=\"sync\"}}}),_vm._m(0)]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"model\",\"value\":\"\"},domProps:{\"checked\":_vm._q(_vm.mode,\"\")},on:{\"change\":function($event){_vm.mode=\"\"}}}),_vm._m(1)]):_vm._e()])]:_c('p',[_vm._v(\" The wizard has all information to create the workflow for you.\"),_c('br'),(_vm.isAuthenticated)?[_vm._v(\"Unforntunately, this back-end can't process data,\")]:[_vm._v(\"You are not logged in and thus you can't process data directly,\")],_vm._v(\" but you can insert the process into the visual model builder now. \")],2)],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"sync\"}},[_c('strong',[_vm._v(\"Synchronous Processing\")]),_c('br'),_vm._v(\" Fast processing mode for small amounts of data. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"model\"}},[_c('strong',[_vm._v(\"Don't execute\")]),_c('br'),_vm._v(\" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessingMode.vue?vue&type=template&id=449febe3&scoped=true\"\nimport script from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseProcessingMode.vue?vue&type=style&index=0&id=449febe3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"449febe3\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","isAuthenticated","supportsJobs","supportsSync","_v","directives","name","rawName","value","mode","expression","attrs","domProps","_q","on","$event","titleInput","ref","target","composing","_e","_m","staticRenderFns","props","type","String","default","title","data","computed","Utils","mapState","mapGetters","get","set","$emit","supports","watch","$refs","select","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/7186.7ddfb742.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseProcessingMode.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?7251","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseProcessingMode.vue?b614"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-processing-mode\"},[(_vm.isAuthenticated && (_vm.supportsJobs || _vm.supportsSync))?[_c('p',[_vm._v(\"Please select how you'd like to execute this workflow?\")]),_c('ul',{staticClass:\"mode\"},[(_vm.supportsJobs)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"job\",\"value\":\"job\"},domProps:{\"checked\":_vm._q(_vm.mode,\"job\")},on:{\"change\":function($event){_vm.mode=\"job\"}}}),_c('label',{attrs:{\"for\":\"job\"}},[_c('strong',[_vm._v(\"Batch Jobs\")]),_c('br'),_vm._v(\" Slower processing mode for large amounts of data. Creates and queues a batch job.\"),_c('br'),_vm._v(\" It is recommended to provide a title for the batch job: \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.titleInput),expression:\"titleInput\"}],ref:\"title\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.titleInput)},on:{\"input\":function($event){if($event.target.composing)return;_vm.titleInput=$event.target.value}}})])]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"sync\",\"value\":\"sync\"},domProps:{\"checked\":_vm._q(_vm.mode,\"sync\")},on:{\"change\":function($event){_vm.mode=\"sync\"}}}),_vm._m(0)]):_vm._e(),(_vm.supportsSync)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mode),expression:\"mode\"}],attrs:{\"type\":\"radio\",\"id\":\"model\",\"value\":\"\"},domProps:{\"checked\":_vm._q(_vm.mode,\"\")},on:{\"change\":function($event){_vm.mode=\"\"}}}),_vm._m(1)]):_vm._e()])]:_c('p',[_vm._v(\" The wizard has all information to create the workflow for you.\"),_c('br'),(_vm.isAuthenticated)?[_vm._v(\"Unforntunately, this back-end can't process data,\")]:[_vm._v(\"You are not logged in and thus you can't process data directly,\")],_vm._v(\" but you can insert the process into the visual model builder now. \")],2)],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"sync\"}},[_c('strong',[_vm._v(\"Synchronous Processing\")]),_c('br'),_vm._v(\" Fast processing mode for small amounts of data. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{attrs:{\"for\":\"model\"}},[_c('strong',[_vm._v(\"Don't execute\")]),_c('br'),_vm._v(\" Only show the generated workflow in the visual model builder. You can then export it or you can run it later. \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseProcessingMode.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseProcessingMode.vue?vue&type=template&id=449febe3&scoped=true\"\nimport script from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseProcessingMode.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseProcessingMode.vue?vue&type=style&index=0&id=449febe3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"449febe3\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","isAuthenticated","supportsJobs","supportsSync","_v","directives","name","rawName","value","mode","expression","attrs","domProps","_q","on","$event","titleInput","ref","target","composing","_e","_m","staticRenderFns","props","type","String","default","title","data","computed","Utils","mapState","mapGetters","get","set","$emit","supports","watch","$refs","select","component"],"sourceRoot":""} \ No newline at end of file diff --git a/js/7213.1f19366c.js b/js/7213.456d73fc.js similarity index 99% rename from js/7213.1f19366c.js rename to js/7213.456d73fc.js index be52d4bd..bab03c60 100644 --- a/js/7213.1f19366c.js +++ b/js/7213.456d73fc.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[7213,5839,2722,9409],{35254:(e,t,s)=>{s.d(t,{A:()=>i});const i={components:{FederationNotice:()=>s.e(2604).then(s.bind(s,52604)),FederationMissingNotice:()=>s.e(5363).then(s.bind(s,35363))},props:{federation:{type:Object,default:()=>({})}}}},69748:(e,t,s)=>{s.d(t,{A:()=>u});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component collections"},[t("SearchableList",{attrs:{data:e.collections,identifierKey:"id",summaryKey:"title",keywordsKey:"keywords",showKeywords:e.showKeywords,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Collection",{attrs:{data:s.item,mapOptions:e.mapOptions,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("collection-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("collection-end",null,null,t)]}},{key:"spatial-extents",fn:function(t){return[e._t("collection-spatial-extents",null,null,t)]}},{key:"temporal-extents",fn:function(t){return[e._t("collection-temporal-extents",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},a=[],r=s(86975),o=s(35254);const n={name:"Collections",components:{Collection:()=>r.A.loadAsyncComponent(Promise.all([s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(3249)]).then(s.bind(s,3249))),SearchableList:()=>r.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[o.A],props:{collections:{type:Array,default:()=>[]},mapOptions:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Collections"},collapsed:{type:Boolean,default:null},loadAdditionalData:{type:Function,default:null},showKeywords:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},beforeCreate(){r.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,i,a,!1,null,null,null);const u=d.exports},90334:(e,t,s)=>{s.d(t,{A:()=>u});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component file-formats"},[t("SearchableList",{attrs:{data:e.fileFormats,summaryKey:"title",keywordsKey:"gis_data_types",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(s){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(s.item.name))]),t("ul",{staticClass:"badges small inline"},[e.showAll&&"input"===s.item.type?t("li",{staticClass:"badge option1"},[e._v("Import")]):e._e(),e.showAll&&"output"===s.item.type?t("li",{staticClass:"badge option2"},[e._v("Export")]):e._e(),Array.isArray(s.item.gis_data_types)?e._l(s.item.gis_data_types,(function(s){return t("li",{key:s,staticClass:"badge gis"},[e._v(e._s(s))])})):e._e()],2),t("br"),t("small",[e._v(e._s(s.summary.summary))])]}),null,s)]}},{key:"details",fn:function(s){return[t("FileFormat",{attrs:{id:s.summary.identifier,format:s.item,type:s.item.type,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("file-format-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("file-format-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},a=[],r=s(86975),o=s(35254);const n={name:"FileFormats",components:{SearchableList:()=>r.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152))),FileFormat:()=>r.A.loadAsyncComponent(s.e(3504).then(s.bind(s,13504)))},mixins:[o.A],props:{formats:{type:Object,default:()=>({})},showInput:{type:Boolean,default:!0},showOutput:{type:Boolean,default:!0},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"File Formats"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},computed:{showAll(){return this.showInput&&this.showOutput},typesToShow(){let e=[];return this.showInput&&e.push("input"),this.showOutput&&e.push("output"),e},fileFormats(){let e=[];for(let s of this.typesToShow)for(var t in this.formats[s]){let i=Object.assign({id:`${t}-${s}`,name:t,type:s},this.formats[s][t]);e.push(i)}return e}},beforeCreate(){r.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,i,a,!1,null,null,null);const u=d.exports},48312:(e,t,s)=>{s.d(t,{A:()=>u});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component processes"},[t("SearchableList",{attrs:{data:e.processes,keywordsKey:"categories",showKeywords:e.showCategories,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Process",{attrs:{process:s.item,provideDownload:e.provideDownload,processUrl:e.processUrl,showGraph:e.showGraph,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("process-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("process-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},a=[],r=s(86975),o=s(35254);const n={name:"Processes",components:{Process:()=>r.A.loadAsyncComponent(s.e(6660).then(s.bind(s,34279))),SearchableList:()=>r.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[o.A],props:{processes:{type:Array,default:()=>[]},provideDownload:{type:Boolean,default:!0},processUrl:String,searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Processes"},collapsed:{type:Boolean,default:null},showCategories:{type:Boolean,default:!1},showGraph:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},loadAdditionalData:{type:Function,default:null},missing:{type:Array,default:null},...o.A.props},beforeCreate(){r.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,i,a,!1,null,null,null);const u=d.exports},9409:(e,t,s)=>{s.r(t),s.d(t,{default:()=>c});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component search-box",class:{compact:e.compact}},[t("span",{staticClass:"icon"},[e._v("🔎")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.searchTerm,expression:"searchTerm"}],attrs:{type:"search",placeholder:e.placeholder,minlength:e.minLength,title:e.searchHint},domProps:{value:e.searchTerm},on:{input:function(t){t.target.composing||(e.searchTerm=t.target.value)}}})])},a=[];const r={name:"SearchBox",props:{value:{type:String,default:""},placeholder:{type:String,default:"Search"},minLength:{type:Number,default:1},compact:{type:Boolean,default:!1}},data(){return{searchTerm:this.value}},watch:{searchTerm(e,t){e.length1?`Searching requires at least ${this.minLength} characters.`:null}}},o=r;var n=s(81656),l=(0,n.A)(o,i,a,!1,null,null,null);const c=l.exports},91065:(e,t,s)=>{s.d(t,{A:()=>u});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component udf-runtimes"},[t("SearchableList",{attrs:{data:e.runtimes,summaryKey:"title",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},{key:"summary",fn:function(s){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(s.summary.identifier))]),t("ul",{staticClass:"badges small inline"},["docker"===s.item.type||s.item.docker&&s.item.tags?[t("li",{staticClass:"badge docker"},[e._v("Docker")]),e._l(s.item.tags,(function(i){return t("li",{key:i,staticClass:"badge version",class:{default:i===s.item.default}},[e._v(e._s(i))])}))]:e._l(s.item.versions,(function(i,a){return t("li",{key:a,staticClass:"badge version",class:{default:a===s.item.default}},[e._v(e._s(a))])}))],2),t("br"),t("small",[e._v(e._s(s.summary.summary))])]}),null,s)]}},{key:"details",fn:function(s){return[t("UdfRuntime",{attrs:{id:s.summary.identifier,runtime:s.item,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(t){return[e._t("udf-runtime-badges",null,null,t)]}},{key:"before-description",fn:function(t){return[e._t("udf-runtime-before-description",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},a=[],r=s(86975),o=s(35254);const n={name:"UdfRuntimes",components:{SearchableList:()=>r.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152))),UdfRuntime:()=>r.A.loadAsyncComponent(s.e(3271).then(s.bind(s,33271)))},mixins:[o.A],props:{runtimes:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"UDF Runtimes"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},...o.A.props},beforeCreate(){r.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,i,a,!1,null,null,null);const u=d.exports},77754:(e,t,s)=>{s.d(t,{A:()=>g});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"discovery-toolbar"},[t("SearchBox",{model:{value:e.searchTerm,callback:function(t){e.searchTerm=t},expression:"searchTerm"}}),t("div",{staticClass:"filters"},[t("span",{staticClass:"label"},[e._v(" Show ")]),t("label",{staticClass:"show-deprecated",attrs:{title:"Show deprecated elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showDeprecated,expression:"showDeprecated"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showDeprecated)?e._i(e.showDeprecated,null)>-1:e.showDeprecated},on:{change:function(t){var s=e.showDeprecated,i=t.target,a=!!i.checked;if(Array.isArray(s)){var r=null,o=e._i(s,r);i.checked?o<0&&(e.showDeprecated=s.concat([r])):o>-1&&(e.showDeprecated=s.slice(0,o).concat(s.slice(o+1)))}else e.showDeprecated=a}}}),e._v(" deprecated ")]),t("label",{staticClass:"show-experimental",attrs:{title:"Show experimental elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showExperimental,expression:"showExperimental"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showExperimental)?e._i(e.showExperimental,null)>-1:e.showExperimental},on:{change:function(t){var s=e.showExperimental,i=t.target,a=!!i.checked;if(Array.isArray(s)){var r=null,o=e._i(s,r);i.checked?o<0&&(e.showExperimental=s.concat([r])):o>-1&&(e.showExperimental=s.slice(0,o).concat(s.slice(o+1)))}else e.showExperimental=a}}}),e._v(" experimental ")])]),t("div",{staticClass:"search-results"},[t("Collections",{staticClass:"category",attrs:{collections:e.collections,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsLoadCollection},on:{dragstart:function(t){return e.onDrag(t,"collection",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showCollectionInfo(s.id)}}},[t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()]),e.hasCollectionPreview(s)?t("button",{staticClass:"discovery-button",attrs:{type:"button",title:"View on map"},on:{click:function(t){return e.showCollectionPreview(s)}}},[t("i",{staticClass:"fas fa-map"})]):e._e()])]}}])}),t("Processes",{staticClass:"category",attrs:{processes:e.allProcesses,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:"true"},on:{dragstart:function(t){return e.onDrag(t,"process",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showProcess(s)}}},["user"===s.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-sitemap",attrs:{title:"Custom Process"}}):"backend"!==s.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-tag",attrs:{title:`Process from namespace '${s.namespace}'`}}):e._e(),t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.summary?t("small",{attrs:{title:s.summary}},[e._v(e._s(s.summary))]):e._e()])])]}}])}),e.hasUdfRuntimes?t("UdfRuntimes",{staticClass:"category",attrs:{runtimes:e.udfRuntimes,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({summary:s,item:i}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsRunUdf},on:{dragstart:function(t){return e.onDrag(t,"udf",{runtime:s.identifier,version:i.default})}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showUdfInfo(s.identifier,i)}}},[t("strong",{attrs:{title:s.identifier}},[e._v(e._s(s.identifier)+" ("+e._s(i.default)+")")]),s.summary?t("small",{attrs:{title:s.summary}},[e._v(e._s(s.summary))]):e._e()])])]}}],null,!1,92063951)}):e._e(),t("FileFormats",{staticClass:"category",attrs:{formats:e.fileFormats,showInput:!1,heading:"Export File Formats",searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsSaveResult},on:{dragstart:function(t){return e.onDrag(t,"fileformat",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showFileFormatInfo(s)}}},[t("strong",{attrs:{title:s.name}},[e._v(e._s(s.name))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()])])]}}])})],1)],1)},a=[],r=s(61663),o=s(2566),n=s(69748),l=s(90334),c=s(48312),d=s(9409),u=s(91065);const p={name:"DiscoveryToolbar",mixins:[r.A],components:{Collections:n.A,FileFormats:l.A,Processes:c.A,SearchBox:d["default"],UdfRuntimes:u.A},props:{onAddProcess:{type:Function,required:!0},collectionPreview:{type:Boolean,default:!1},persist:{type:Boolean,default:!1}},data(){return{internalSearchTerm:"",collapsed:!0,showDeprecated:this.$config.showDeprecatedByDefault||!1,showExperimental:this.$config.showExperimentalByDefault||!1}},computed:{...o.A.mapState(["collections","udfRuntimes"]),...o.A.mapState("editor",["discoverySearchTerm"]),...o.A.mapGetters(["supports","fileFormats","processes"]),supportsLoadCollection(){return this.processes.has("load_collection")},supportsRunUdf(){return this.processes.has("run_udf")},supportsSaveResult(){return this.processes.has("save_result")},hasUdfRuntimes(){return o.A.size(this.udfRuntimes)},allProcesses(){return this.processes.all()},searchTerm:{get(){return this.persist?this.discoverySearchTerm:this.internalSearchTerm},set(e){this.persist?this.setDiscoverySearchTerm(e):this.internalSearchTerm=e}}},watch:{searchTerm:{immediate:!0,handler(e,t){!e&&t?this.collapsed=!0:e&&!t&&(this.collapsed=!1)}}},methods:{...o.A.mapMutations("editor",["setDiscoverySearchTerm","setModelDnd"]),...o.A.mapActions(["loadProcess"]),onDrag(e,t,s){let i=e=>this.setModelDnd({type:t,data:s,loading:e});"process"===t?(i(!0),this.loadProcess(s).then((()=>i(!1)))):i(!1)},showCollectionInfo(e){this.broadcast("showCollection",e)},hasCollectionPreview(e){return Boolean(this.collectionPreview&&o.A.getPreviewLinkFromSTAC(e))},showCollectionPreview(e){this.broadcast("showCollectionPreview",e)},showProcess(e){this.broadcast("showProcess",e)},showUdfInfo(e,t){this.broadcast("showModal","UdfRuntimeModal",{id:e,data:t,version:t.default})},showFileFormatInfo(e){let t={id:e.name,format:this.fileFormats.output[e.name],type:"output"};this.broadcast("showModal","FileFormatModal",t)}}},h=p;var m=s(81656),f=(0,m.A)(h,i,a,!1,null,"281f64a6",null);const g=f.exports},63036:(e,t,s)=>{s.r(t),s.d(t,{default:()=>C});var i=function(){var e=this,t=e._self._c;return t("Tabs",{ref:"tabs",staticClass:"editor",attrs:{id:"customProcessContent",position:"bottom"}},[t("Tab",{attrs:{id:"visual",name:"Visual Model",icon:"fa-project-diagram",selected:!0,allowShow:e.canSwitchView},on:{show:e.showModel}},[t("VisualEditor",{ref:"graphBuilder",staticClass:"visualEditorTab",attrs:{editable:e.editable,parent:e.parent,parentSchema:e.parentSchema,value:e.modelValue,title:e.title,id:e.id+"_visual",showDiscoveryToolbar:e.showDiscoveryToolbar,showIntro:e.showIntro,defaultValue:e.defaultValue},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1),t("Tab",{attrs:{id:"source",name:"Code",icon:"fa-code",allowShow:e.canSwitchView},on:{show:e.showCode}},[t("TextEditor",{ref:"sourceEditor",staticClass:"textEditorTab",attrs:{editable:e.editable,value:e.codeValue,title:e.title,id:e.id+"_text",language:"processgraph"},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1)],1)},a=[],r=s(2566),o=s(4615),n=s(58379),l=function(){var e=this,t=e._self._c;return t("div",{ref:"visualEditor",staticClass:"visualEditor"},[t("div",{staticClass:"sourceHeader"},[e.title?t("strong",[e._v(e._s(e.title))]):e._e(),t("div",{staticClass:"sourceToolbar"},[e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",title:"New script / Clear current script"},on:{click:e.confirmClear}},[t("i",{staticClass:"fas fa-file"})]),e._t("file-toolbar")],2):e._e(),e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",disabled:!e.canUndo,title:"Revert last change"},on:{click:function(t){return e.$refs.blocks.undo()}}},[t("i",{staticClass:"fas fa-undo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.canRedo,title:"Redo last reverted change"},on:{click:function(t){return e.$refs.blocks.redo()}}},[t("i",{staticClass:"fas fa-redo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.hasSelection,title:"Delete selected elements"},on:{click:function(t){return e.$refs.blocks.deleteSelected()}}},[t("i",{staticClass:"fas fa-trash"})])]):e._e(),e.editable?t("span",{staticClass:"sepr"},[e.parent?e._e():t("button",{attrs:{type:"button",title:"Edit Process Metadata"},on:{click:()=>e.editProcess(e.value)}},[t("i",{staticClass:"fas fa-edit"})]),t("button",{attrs:{type:"button",title:"Add Parameter"},on:{click:e.addParameter}},[t("i",{staticClass:"fas fa-parking"})]),e.supportsMath?t("button",{class:{highlightFormula:e.isMath},attrs:{type:"button",title:"Insert/Edit formula"},on:{click:e.showExpressionModal}},[t("i",{staticClass:"fas fa-square-root-alt"})]):e._e()]):e._e(),t("button",{class:{compactMode:e.compactMode},attrs:{type:"button",title:"Compact Mode"},on:{click:function(t){return e.$refs.blocks.toggleCompact()}}},[t("i",{staticClass:"fas fa-compress-arrows-alt"})]),t("button",{attrs:{type:"button",title:"Scale to perfect size"},on:{click:function(t){return e.$refs.blocks.perfectScale()}}},[t("i",{staticClass:"fas fa-arrows-alt"})]),t("FullscreenButton",{attrs:{element:()=>this.$refs.visualEditor},on:{changed:t=>{this.$refs.blocks.perfectScale(),e.isFullScreen=t}}}),e._t("toolbar")],2)]),t("div",{staticClass:"editorSplitter"},[(e.showDiscoveryToolbar||e.isFullScreen)&&e.editable?t("DiscoveryToolbar",{staticClass:"discoveryToolbar",attrs:{onAddProcess:e.insertProcess}}):e._e(),t("div",{staticClass:"graphBuilder",on:{drop:e.onDrop,dragover:e.allowDrop}},[e.showHelpOverlay?t("div",{staticClass:"model-overlay"},[t("h2",[e._v("Welcome!")]),t("p",[e._v(" What you are seeing in this area of the "+e._s(e.$config.appName)+" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. ")]),t("p",[e._v(" Alternatively, you can also import existing processes into the model builder: "),t("ul",[e.canPaste?t("li",[e._v("Paste the JSON from your clipboard by clicking "),t("button",{attrs:{type:"button",title:"Paste from clipboard"},on:{click:e.paste}},[t("i",{staticClass:"fas fa-paste"})]),e._v(" or use "),t("kbd",[e._v("CTRL")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (Windows, Linux) or "),t("kbd",[e._v("⌘")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (MacOS) when the model builder is in focus.")]):e._e(),t("li",[e._v("Drag and drop a JSON file from your computer")]),t("li",[e._v("Import a JSON file from your computer or another source such as the internet by clicking "),t("button",{attrs:{type:"button",title:"Import process from external source"},on:{click:e.importProcess}},[t("i",{staticClass:"fas fa-cloud-download-alt"})])])])]),e._m(0),t("p",[e._v("Once you start interacting with this area, this message will disappear.")])]):e._e(),t("ModelBuilder",{ref:"blocks",attrs:{editable:e.editable,id:e.id,processes:e.processes,collections:e.collections,parent:e.parent,parentSchema:e.parentSchema,value:e.value},on:{input:e.commit,error:e.errorHandler,showProcess:(t,s)=>e.broadcast("showProcess",{id:t,namespace:s}),showCollection:t=>e.broadcast("showCollection",t),showParameter:(t,s)=>e.broadcast("showProcessParameter",t,s),editParameter:e.editParameter,editArguments:e.openArgumentEditor,compactMode:e=>this.compactMode=e,selectionChanged:e.selectionChanged,historyChanged:e.historyChanged}})],1)],1)])},c=[function(){var e=this,t=e._self._c;return t("p",[e._v(" You can also import the processes from the Python and R client. You need to export your process to JSON first: "),t("ul",[t("li",[e._v("In Python use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export",target:"_blank"}},[t("code",[e._v("print(result.to_json())")])])]),t("li",[e._v("In R use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-r-client/reference/index.html",target:"_blank"}},[t("code",[e._v('toJSON(as(result, "Process"))')])])])]),e._v(" In both cases, "),t("code",[e._v("result")]),e._v(" is your last return value from a data cube process such as "),t("code",[e._v("save_result")]),e._v(". For more details, please read the corresponding chapter in the "),t("a",{attrs:{href:"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json",target:"_blank"}},[e._v("openEO cookbook")]),e._v(". ")])}],d=s(4638),u=s(77754),p=s(61663),h=s(82574),m=s(31572),f=s(47067);const g={name:"VisualEditor",mixins:[p.A],components:{ModelBuilder:d["default"],DiscoveryToolbar:u.A,FullscreenButton:h.A},props:{id:String,editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},title:{type:String},defaultValue:{}},computed:{...r.A.mapState(["connection","collections"]),...r.A.mapGetters(["processes","supportsMath"]),...r.A.mapState("editor",["initialNode"]),...r.A.mapGetters("editor",["getModelNodeFromDnD"]),isMath(){return this.supportsMath&&this.processes.isMath(this.value)}},data(){return{showHelpOverlay:this.showIntro,canUndo:!1,canRedo:!1,canPaste:!1,compactMode:!1,hasSelection:!1,formula:null,isFullScreen:!1}},watch:{value:{immediate:!0,handler(e){if(e&&(this.showHelpOverlay=!1),this.initialNode&&r.A.isObject(e)&&r.A.isObject(e.process_graph))try{let t=this.initialNode;"1"==t&&r.A.size(e.process_graph)&&(t=Object.keys(e.process_graph)[0]),this.openArgumentEditorForNode(t)}catch(t){r.A.exception(this,t)}finally{this.setInitialNode(null)}}}},mounted(){this.canPaste=navigator&&navigator.clipboard&&"function"===typeof navigator.clipboard.readText},methods:{...r.A.mapMutations("editor",["setInitialNode","setModelDnD"]),commit(e){"undefined"!==typeof this.defaultValue&&r.A.isObject(e)&&0===r.A.size(e.process_graph)&&(e=this.defaultValue),this.$emit("input",e)},async paste(){this.canPaste||r.A.error(this,"error","Pasting is not supported by your browser.");try{const e=await navigator.clipboard.readText();let t=JSON.parse(e);await this.$refs.blocks.import(t)}catch(e){r.A.exception(this,e,"Paste Error")}},importProcess(){this.broadcast("importProcess")},errorHandler(e,t=null){r.A.exception(this,e,t)},selectionChanged(e,t){this.hasSelection=Boolean(e.filter((e=>e.$el.allowsDelete)).length||t.length)},historyChanged(e,t){this.canUndo=!!e[t-1],this.canRedo=!!e[t+1]},allowDrop(e){this.showHelpOverlay=!1,e.preventDefault()},async onDrop(e){const t=await this.getModelNodeFromDnD();if(t)return this.insertProcess(t,e.pageX,e.pageY),this.setModelDnD(),e.preventDefault();let s=e.dataTransfer.files;if(1===s.length){let t=e.dataTransfer.files[0];if("application/json"===t.type){var i=new FileReader;return i.onload=async e=>{try{let t=JSON.parse(e.target.result);await this.$refs.blocks.import(t)}catch(t){r.A.exception(this,t,"Parsing JSON file failed")}},i.onerror=e=>r.A.exception(this,e,"Reading JSON file failed"),i.readAsText(t,"UTF-8"),e.preventDefault()}}},getNameField(e=void 0,t="name"){return{value:e,name:t,description:"A unique identifier. Must contain only letters (`a`-`z`), digits (`0`-`9`) and underscores (`_`). `snake_case` is recommended.",label:"Name",schema:{type:"string",pattern:"^\\w+$"},default:null}},getDescriptionField(e=void 0,t=!1,s="description",i="Description"){return{value:e,name:s,description:"Provides a detailed description. CommonMark (Markdown) syntax can be used for rich text formatting.",label:i,optional:t,schema:{type:"string",subtype:"commonmark"}}},getOptionalField(e=void 0){return{value:e,name:"optional",label:"Optional",description:"Parameters by default are required. CHeck this option to make the parameter optional. For optional parameters a default value should be specified.",optional:!0,schema:{type:"boolean"},default:!1}},getDefaultField(e=void 0){return{value:e,name:"default",label:"Default Value",description:"This value is used whenever the user of this process did not specify a value for this parameter.",toggledBy:"optional",optional:!0,schema:{}}},getExperimentalField(e=void 0){return{value:e,name:"experimental",label:"Experimental",description:"Declares that this is experimental, which means that it is unstable and likely to change.",optional:!0,schema:{type:"boolean"},default:!1}},getDeprecatedField(e=void 0){return{value:e,name:"deprecated",label:"Deprecated",description:"Declares that this is deprecated with the potential to be removed in any of the next versions. It should be transitioned out of usage.",optional:!0,schema:{type:"boolean"},default:!1}},getSchemaField(e=void 0,t="schema",s="Data Types"){let i=e?"json-schema":"openeo-datatype";return{value:e,name:t,label:s,description:"Allowed data type(s) as JSON Schema.",schema:[{title:"Single data type",type:"object",subtype:i},{title:"Multiple data types",type:"array",minItems:2,items:{type:"object",subtype:i}}]}},editProcess(e){e=r.A.isObject(e)?e:{};let t=r.A.isObject(e.returns)?e.returns:{};var s=[this.getNameField(e.id,"id"),{value:e.summary,name:"summary",description:"A very short description of the process with usually less than 60 characters.",label:"Summary",optional:!0,schema:{type:"string"}},this.getDescriptionField(e.description,!0),{value:e.categories,name:"categories",label:"Categories",optional:!0,schema:{type:"array",items:{type:"string"}}},this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),{label:"Parameters",description:'The parameters can be edited directly in the "Visual Model" interface.',info:!0},this.getDescriptionField(t.description,!0,"returns_description","Return Value > Description"),this.getSchemaField(t.schema,"returns_schema","Return Value > Data Type"),{value:e.exceptions,name:"exceptions",description:"Declares exceptions (errors) that might occur during execution of this process. This list is just for informative purposes.\n\nThe keys of the object are the error codes, which should only consist of alphanumerical characters. `PascalCase` is recommended.",label:"Errors",optional:!0,schema:{type:"object",additionalProperties:{type:"object",required:["message"],properties:{message:{title:"Error Message",type:"string"},description:{title:"Description",type:"string",subtype:"commonmark"},http:{title:"HTTP Status Code",type:"integer",enum:[400,500,501]}}}}},{value:e.examples,name:"examples",label:"Examples",description:"Example calls for this process with specific values for the parameters (arguments) and the result (return value).",optional:!0,schema:{type:"array",items:{type:"object",required:["arguments"],properties:{title:{title:"Title",type:"string"},title:{title:"Description",type:"string",subtype:"commonmark"},arguments:{title:"Arguments",type:"object",default:{}},returns:{title:"Return Value"}}}}},{value:e.links,name:"links",label:"Links",description:"Links related to this process, e.g. additional documentation.",optional:!0,schema:{type:"array",items:{type:"object",required:["href","rel"],properties:{href:{title:"URL",type:"string"},rel:{title:"Relation",description:"For examples see [IANA relation types](https://www.iana.org/assignments/link-relations/link-relations.xhtml)",type:"string",default:"about"},title:{title:"Title",type:"string"},type:{title:"Media Type",description:"For examples see [IANA media types](https://www.iana.org/assignments/media-types/media-types.xhtml)",type:"string"}}}}}];this.broadcast("showDataForm","Edit Process",s,(async e=>{let t=r.A.pickFromObject(e,["id","summary","description","categories","experimental","deprecated","exception","examples","links"]);("string"===typeof t.description||r.A.isObject(t.schema))&&(t.returns={description:e.returns_description,schema:e.returns_schema});let s=this.$refs.blocks.export(!0),i=Object.assign({},s,t);const a={id:"",summary:"",description:"",categories:[],experimental:!1,deprecated:!1,examples:[],links:[],process_graph:{}};for(let o in a)r.A.equals(a[o],i[o])&&delete i[o];this.commit(i)}))},addParameter(){var e=[this.getNameField(),this.getDescriptionField(),this.getOptionalField(),this.getDefaultField(),this.getExperimentalField(),this.getDeprecatedField(),this.getSchemaField()];this.broadcast("showDataForm","Add Parameter",e,(async e=>{"string"===typeof e.name&&e.name.length>0&&await this.$refs.blocks.addPgParameter(e)}))},editParameter(e,t="Edit Parameter",s=null){var i=[this.getNameField(e.name),this.getDescriptionField(e.description),this.getOptionalField(e.optional),this.getDefaultField(e.default),this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),this.getSchemaField(e.schema)];this.broadcast("showDataForm",t,i,s)},showExpressionModal(){let e=new f.A(this.value,this.processes,this.connection,!0);e.setCallbackParameters(this.$refs.blocks.getPgParameters().map((e=>e.spec)));try{e.parse();let t={process:e},s={save:this.insertNodes};this.broadcast("showModal","ExpressionModal",t,s)}catch(t){r.A.exception(this,t)}},openArgumentEditorForNode(e){let t=r.A.deepClone(this.value),s=t.process_graph[e],i=this.processes.get(s.process_id,s.namespace);Array.isArray(i.parameters)&&i.parameters.length>0&&this.openArgumentEditor(i.parameters.map((e=>new m.ProcessParameter(e))).filter((e=>e.isEditable())),s.arguments,i.id,!0,null,(e=>{Object.assign(s,{arguments:e}),this.commit(t)}))},openArgumentEditor(e,t,s="Edit",i=!0,a=null,r=null,o=null){let n={title:s,parameters:e,data:t,editable:i,selectParameterName:a,parent:o},l={};"function"===typeof r&&(l.save=r),this.broadcast("showModal","ParameterModal",n,l)},confirmClear(){var e=confirm("Do you really want to clear the existing model?");e&&this.clear()},clear(){this.$refs.blocks&&this.$refs.blocks.clear(),this.commit(null)},insertProcess(e,t=null,s=null){try{var i=this.$refs.blocks.getPositionForPageXY(t,s);let a=e.namespace;"backend"!==a&&"user"!==a||(a=null),this.$refs.blocks.addProcess(e.process_id,e.arguments,i,a)}catch(a){r.A.exception(this,a)}},async insertNodes(e,t=!1){return await this.$refs.blocks.import({process_graph:e},{clear:t})}}},v=g;var y=s(81656),b=(0,y.A)(v,l,c,!1,null,null,null);const w=b.exports;var S=s(57497);const A={name:"Editor",components:{VisualEditor:w,TextEditor:S.A,Tabs:o["default"],Tab:n["default"]},props:{id:{type:String,default:()=>`editor_${Date.now()}`},editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},title:{type:String},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},defaultValue:{}},watch:{value(){this.updateTab()}},data(){return{modelValue:null,codeValue:null,error:null}},mounted(){this.updateTab()},methods:{...r.A.mapActions(["loadProcess"]),showModel(){this.error=null,this.modelValue=this.value},showCode(){this.error=null,this.codeValue=this.value,this.$refs.sourceEditor.updateState()},updateTab(){"source"===this.$refs.tabs.getActiveTabId()?this.showCode():this.showModel()},commit(e){this.error=null,this.$emit("input",e)},onError(e){this.error=e},activeEditor(){return"source"===this.$refs.tabs.getActiveTabId()?this.$refs.sourceEditor:this.$refs.graphBuilder},async insertProcess(e){try{await this.loadProcess({id:e.process_id,namespace:e.namespace}),this.activeEditor().insertProcess(e)}catch(t){r.A.exception(this,t)}},canSwitchView(){return!this.editable||null===this.error||(r.A.exception(this,this.error,"Process Invalid Error"),!1)}}},x=A;var P=(0,y.A)(x,i,a,!1,null,null,null);const C=P.exports},18351:(e,t,s)=>{s.r(t),s.d(t,{default:()=>Te});var i=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"wrapper"}},[t("div",{class:{authenticated:e.isAuthenticated,appMode:Boolean(e.appMode)},attrs:{id:"ide"}},[t("header",{staticClass:"navbar"},[t("Logo"),t("ul",{attrs:{id:"menu"}},[t("li",[t("div",{staticClass:"menuItem",attrs:{title:"Start a guided tour"},on:{click:e.showHelp}},[t("i",{staticClass:"fas fa-question-circle fa-fw"}),e._v("Help")])]),t("li",[t("div",{staticClass:"menuItem",attrs:{title:"Start the process wizard"},on:{click:function(t){return e.showWizard()}}},[t("i",{staticClass:"fas fa-magic fa-fw"}),e._v("Wizard")])]),t("li",[t("div",{staticClass:"menuItem",attrs:{title:"Get server information"},on:{click:e.showServerInfo}},[t("i",{staticClass:"fas fa-info-circle fa-fw"}),e._v("Server")])]),t("li",[t("UserMenu")],1)])],1),t("Splitpanes",{staticClass:"default-theme",on:{resize:e.resized,"pane-maximize":e.resized}},[t("Pane",{attrs:{id:"discovery",size:e.splitpaneSizeH[0]}},[t("DiscoveryToolbar",{staticClass:"toolbar tour-ide-discovery",attrs:{onAddProcess:e.insertProcess,collectionPreview:!0,persist:!0}})],1),t("Pane",{attrs:{id:"workspace",size:e.splitpaneSizeH[1]}},[t("Splitpanes",{staticClass:"default-theme",attrs:{horizontal:""},on:{resize:e.resized,"pane-maximize":e.resized}},[t("Pane",{attrs:{id:"editor",size:e.splitpaneSizeV[0]}},[t("Editor",{ref:"editor",staticClass:"mainEditor tour-ide-editor",attrs:{id:"main",value:e.process,title:e.contextTitle,showIntro:""},on:{input:e.updateEditor},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[t("button",{attrs:{type:"button",title:"Import process from external source"},on:{click:e.importProcess}},[t("i",{staticClass:"fas fa-cloud-download-alt"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.saveSupported,expression:"saveSupported"}],attrs:{type:"button",disabled:!e.hasProcess,title:"Save to "+e.contextTitle},on:{click:e.saveProcess}},[t("i",{staticClass:"fas fa-save"})]),t("button",{attrs:{type:"button",disabled:!e.hasProcess,title:"Export into another programming language"},on:{click:e.exportCode}},[t("i",{staticClass:"fas fa-file-export"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.validateSupported,expression:"validateSupported"}],attrs:{type:"button",disabled:!e.hasProcess,title:"Validate process on server-side"},on:{click:e.validateProcess}},[t("i",{staticClass:"fas fa-tasks"})])]},proxy:!0}])})],1),t("Pane",{attrs:{id:"user",size:e.splitpaneSizeV[1]}},[e.isAuthenticated?t("UserWorkspace",{staticClass:"userContent tour-ide-workspace"}):t("div",{staticClass:"message info",attrs:{title:"Login is required to interact with the server."}},[t("i",{staticClass:"fas fa-sign-in-alt"}),t("span",{staticClass:"login-message"},[t("strong",[t("a",{on:{click:e.login}},[e._v("Log in")])]),e._v(" is required to interact with the server.")])])],1)],1)],1),t("Pane",{class:{empty:!e.showViewer},attrs:{id:"viewer",size:e.splitpaneSizeH[2]}},[t("Viewer",{staticClass:"tour-ide-viewer",on:{empty:e.onViewerEmpty}})],1)],1)],1)])},a=[],r=s(61663),o=s(2566),n=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"UserMenu"}},[t("div",{staticClass:"menuItem"},[e._m(0),t("div",{staticClass:"data"},[t("span",{staticClass:"name nowrap"},[t("i",{staticClass:"fas fa-user"}),e._v(" "+e._s(e.userName))]),e.budget?t("span",{staticClass:"credits nowrap"},[t("i",{staticClass:"fas fa-dollar-sign fa-fw"}),e._v(" "+e._s(e.budget))]):e._e(),e.hasStorage?t("span",{staticClass:"storage nowrap"},[t("i",{staticClass:"fas fa-database fa-fw"}),e._v(" "+e._s(e.storageUsedPercent)+"% used")]):e._e()])]),t("div",{staticClass:"dropdown"},[e.profileLink?t("a",{staticClass:"item",attrs:{href:e.profileLink.href,target:"_blank"}},[e._v("Welcome, "+e._s(e.userName)+"!")]):t("div",{staticClass:"item"},[e._v("Welcome, "+e._s(e.userName)+"!")]),e.isAuthenticated?[e.hasProfile?t("a",{staticClass:"item",on:{click:function(t){return t.preventDefault(),e.userDetails.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-user"}),e._v(" Profile")]):e._e(),e.settingsLink?t("a",{staticClass:"item",attrs:{href:e.settingsLink.href,target:"_blank"}},[t("i",{staticClass:"fas fa-user-edit"}),e._v(" "+e._s(e.settingsLink.title||"Edit Profile"))]):e._e(),t("a",{staticClass:"item",on:{click:function(t){return t.preventDefault(),e.logout.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-sign-out-alt"}),e._v(" Logout")])]:[t("a",{staticClass:"item",on:{click:function(t){return t.preventDefault(),e.login.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-sign-in-alt"}),e._v(" Login")]),e.registerLink?t("a",{staticClass:"item",attrs:{href:e.registerLink.href,target:"_blank"}},[t("i",{staticClass:"fas fa-user-plus"}),e._v(" Register")]):e._e(),e.passwordLink?t("a",{staticClass:"item",attrs:{href:e.passwordLink.href,target:"_blank"}},[t("i",{staticClass:"fas fa-key"}),e._v(" Forgotten Password?")]):e._e()],e.$config.serverUrl?e._e():t("a",{staticClass:"item",on:{click:function(t){return t.preventDefault(),e.disconnect.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-sign-out-alt"}),e._v(" Disconnect")]),e.userLinks.length>0?[t("hr"),e._l(e.userLinks,(function(s,i){return t("a",{key:i,staticClass:"item",attrs:{href:s.href,target:"_blank",rel:s.rel}},[e._v(e._s(s.title))])}))]:e._e(),e.budget||e.userInfo.default_plan||e.paymentLink?[t("hr"),t("div",{staticClass:"item"},[t("h4",[e._v("Billing")]),e.userInfo.default_plan?t("div",{staticClass:"secondary-text"},[e._v("Plan: "+e._s(e.userInfo.default_plan))]):e._e(),e.budget?t("div",{staticClass:"secondary-text"},[e._v("Budget: "+e._s(e.budget))]):e._e()]),e.paymentLink?t("a",{staticClass:"item",attrs:{href:e.paymentLink.href,target:"_blank"}},[t("i",{staticClass:"fas fa-credit-card"}),e._v(" "+e._s(e.paymentLink.title||"Recharge"))]):e._e()]:e._e(),e.hasStorage?[t("hr"),t("div",{staticClass:"item"},[t("h4",[e._v("Storage")]),t("div",{staticClass:"secondary-text nowrap"},[e._v("Used "+e._s(e.formatMegabyte(e.storageUsed))+" of "+e._s(e.formatMegabyte(e.userInfo.storage.quota))+".")]),t("div",{staticClass:"storagePercent"},[t("div",{staticClass:"used",style:"width: "+e.storageUsedPercent+"%"})])])]:e._e()],2)])},l=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"down"},[t("i",{staticClass:"fas fa-chevron-down"})])}];const c={name:"UserMenu",mixins:[r.A],computed:{...o.A.mapState(["userInfo","isAuthenticated"]),...o.A.mapGetters(["currency","capabilities"]),userLinks(){return o.A.friendlyLinks(this.userInfo.links,!0,["self","edit-form","payment","alternate"])},serverLinks(){return this.capabilities?this.capabilities.links():[]},registerLink(){return this.serverLinks.find((e=>"create-form"===e.rel))},passwordLink(){return this.serverLinks.find((e=>"recovery-form"===e.rel))},settingsLink(){return Array.isArray(this.userInfo.links)?this.userInfo.links.find((e=>"edit-form"===e.rel)):void 0},paymentLink(){return Array.isArray(this.userInfo.links)?this.userInfo.links.find((e=>"payment"===e.rel)):void 0},profileLink(){return Array.isArray(this.userInfo.links)?this.userInfo.links.find((e=>"alternate"===e.rel)):void 0},hasStorage(){return o.A.isObject(this.userInfo.storage)&&"number"===typeof this.userInfo.storage.quota&&"number"===typeof this.userInfo.storage.free},budget(){return o.A.formatBudget(this.userInfo.budget,this.currency)},profile(){return o.A.omitFromObject(this.userInfo,["budget","links","storage","default_plan"])},hasProfile(){return o.A.size(this.profile)>0},userName(){return"string"===typeof this.userInfo.name?this.userInfo.name:"string"===typeof this.userInfo.user_id?this.userInfo.user_id:this.isAuthenticated?"User":"Guest"},storageUsed(){return this.hasStorage?this.userInfo.storage.quota-this.userInfo.storage.free:null},storageUsedPercent(){return this.hasStorage?Math.round(this.storageUsed/this.userInfo.storage.quota*100):null}},methods:{...o.A.mapActions({logoutUser:"logout"}),...o.A.mapMutations("editor",{resetEditor:"reset"}),async logout(){await this.logoutUser(!1),o.A.ok(this,"Logout successful.")},async disconnect(){await this.logoutUser(!0),this.resetEditor(),window.history.pushState({},"","?")},login(){this.broadcast("showLogin")},userDetails(){this.broadcast("showDataModal",this.profile,"User Profile")},formatMegabyte(e){var t=1073741824;return e>t?Math.round(e/t)+" GB":Math.round(e/1048576)+" MB"}}},d=c;var u=s(81656),p=(0,u.A)(d,n,l,!1,null,"23c6ba20",null);const h=p.exports;var m=function(){var e=this,t=e._self._c;return t("Tabs",{ref:"tabs",attrs:{id:"userContent"}},[e.showJobs?t("Tab",{attrs:{id:"jobs",name:"Data Processing",icon:"fa-tasks"},on:{show:e.onShow,hide:e.onHide}},[t("JobPanel")],1):e._e(),e.showServices?t("Tab",{attrs:{id:"services",name:"Web Services",icon:"fa-cloud"},on:{show:e.onShow,hide:e.onHide}},[t("ServicePanel")],1):e._e(),e.showCustomProcesses?t("Tab",{attrs:{id:"customProcesses",name:"Custom Processes",icon:"fa-sitemap"},on:{show:e.onShow,hide:e.onHide}},[t("CustomProcessPanel")],1):e._e(),e.showFiles?t("Tab",{attrs:{id:"files",name:"Files",icon:"fa-file"},on:{show:e.onShow,hide:e.onHide}},[t("FilePanel")],1):e._e()],1)},f=[],g=s(4615),v=s(58379),y=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"FilePanel"},on:{dragenter:function(t){return e.dropZoneInfo(!0)},dragleave:function(t){return e.dropZoneInfo(!1)},drop:e.uploadFiles,dragover:e.allowDrop}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.showUploadDropHint,expression:"showUploadDropHint"}],staticClass:"dropZone"},[e._v("To upload files, drop them here.")]),t("DataTable",{ref:"table",attrs:{data:e.data,columns:e.columns},scopedSlots:e._u([{key:"actions",fn:function(s){return[t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsRead,expression:"supportsRead"}],attrs:{title:"Download"},on:{click:function(t){return e.downloadFile(s.row)}}},[t("i",{staticClass:"fas fa-download"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsDelete,expression:"supportsDelete"}],attrs:{title:"Delete"},on:{click:function(t){return e.deleteFile(s.row)}}},[t("i",{staticClass:"fas fa-trash"})])]}}])},[t("template",{slot:"toolbar"},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.supportsCreate,expression:"supportsCreate"}],staticClass:"upload"},[t("div",{staticClass:"percent",class:{active:this.uploadProgress>0}},[t("div",{staticClass:"used",class:{error:e.uploadErrored},style:"width: "+this.uploadProgress+"%; opacity: "+this.uploadFadeOut})]),t("div",{staticClass:"addFile"},[t("input",{ref:"uploadUserFile",staticClass:"uploadUserFile",attrs:{type:"file",name:"uploadUserFile",multiple:""},on:{change:e.uploadFiles}})])]),t("SyncButton",{attrs:{name:"files",sync:()=>e.updateData(!0)}})],1)],2)],1)},b=[],w=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component data-table"},[t("div",{staticClass:"menu"},[t("div",{staticClass:"toolbar"},[e._t("toolbar")],2),e.hasData?t("div",{staticClass:"filter"},[t("SearchBox",{attrs:{compact:!0},model:{value:e.filterValue,callback:function(t){e.filterValue=t},expression:"filterValue"}})],1):e._e()]),e.hasData?t("table",[t("thead",[t("tr",e._l(e.columns,(function(s,i){return t("th",{directives:[{name:"show",rawName:"v-show",value:!s.hide,expression:"!col.hide"}],key:s.name,class:e.thClasses(i),attrs:{title:e.thTitle(i)},on:{click:function(t){return e.enableSort(i)}}},[e._v(e._s(s.name))])})),0)]),t("tbody",[e._l(e.view,(function(s,i){return t("tr",{key:i},e._l(e.columns,(function(a,r){return t("td",{directives:[{name:"show",rawName:"v-show",value:!a.hide,expression:"!col.hide"}],key:`${a.name}_${i}`,class:[r,{edit:e.canEdit(a)}],attrs:{title:!!e.canEdit(a)&&"Double-click to change the value","data-value":!!a.stylable&&e.value(s,a,r)},on:{dblclick:function(t){return e.onDblClick(t,s,a,r)}}},[e._t(r,(function(){return[e.showEditField(s,a,r)?[t("form",{on:{submit:function(t){return t.preventDefault(),t.stopPropagation(),e.saveEditField(t,s,a,r)}}},[t("input",{ref:"editField",refInFor:!0,attrs:{type:"text"},domProps:{value:e.value(s,a,r)},on:{blur:function(t){return e.saveEditField(t,s,a,r)},keyup:function(t){return e.resetEditFieldEsc(t,s,a,r)}}})])]:t("span",{domProps:{innerHTML:e._s(e.formattedValue(s,a,r))}})]}),{row:s,col:a,id:r})],2)})),0)})),e.hasData&&0==e.view.length?t("tr",{staticClass:"no-results"},[t("td",{attrs:{colspan:e.columnCount}},[e._v("No element matches your search criteria.")])]):e._e()],2)]):t("div",{staticClass:"no-data"},[e._v(e._s(e.noDataMessage))])])},S=[],A=s(86975),x=s(74870);const P={name:"DataTable",components:{SearchBox:()=>Promise.resolve().then(s.bind(s,9409))},props:{columns:{type:Object,default:()=>({})},data:{type:Array,default:()=>[]}},data(){return{view:[],filterValue:null,primaryKey:null,noDataMessage:"No data available.",editField:null,sortState:{id:null,direction:null}}},watch:{data(){this.updateView()},filterValue(){this.updateView()},sortState(){this.updateView()},columns:{immediate:!0,handler(){for(let e in this.columns){let t=this.columns[e].sort;if(["asc","desc"].includes(t)){this.enableSort(e,t);break}}}}},computed:{columnCount(){return Object.keys(this.columns).length},hasData(){return this.data.length>0},hasFilter(){return"string"===typeof this.filterValue&&this.filterValue.length>0}},beforeCreate(){A.A.enableHtmlProps(this)},created(){this.determinePrimaryKey()},methods:{canEdit(e){return"function"===typeof e.edit},showEditField(e,t,s){return this.canEdit(t)&&null!=this.editField&&this.editField[0]==e&&this.editField[1]==s},onDblClick(e,t,s,i){if(this.canEdit(s)){var a=this.value(t,s,i);if("boolean"===typeof a){var r=this.columns[i].edit;r(t)}else this.editField=[t,i],this.$nextTick((()=>this.$refs.editField[0].focus()));e.preventDefault(),e.stopPropagation()}},saveEditField(e,t,s,i){if(null!==this.editField&&this.canEdit(s)){var a=this.columns[i].edit;a(t,this.$refs.editField[0].value),this.editField=null,e.preventDefault(),e.stopPropagation()}},resetEditFieldEsc(e,t,s,i){"Escape"==e.key&&(this.editField=null)},determinePrimaryKey(){for(var e in this.columns)if(this.columns[e].primaryKey){this.primaryKey=e;break}},setNoData(e){"string"!=typeof e?A.A.isObject(e)&&("object"===typeof e.data&&"object"===typeof e.config&&"object"===typeof e.headers&&(e=e.data),A.A.isObject(e)&&"string"===typeof e.message)?this.noDataMessage=e.message:(console.warn(e),this.noDataMessage="Sorry, an unknown error has occured."):this.noDataMessage=e},value(e,t,s){var i;return i="object"===typeof e?e[s]:e,A.A.isObject(t)&&"function"===typeof t.computedValue&&(i=t.computedValue(e,i)),i},formattedValue(e,t,s){return this.format(this.value(e,t,s),t)},thClasses(e){let t=this.columns[e],s=[e];return!1!==t.sort&&(s.push("sortable"),this.sortState.id===e&&s.push("sort-"+this.sortState.direction)),s},thTitle(e){let t=this.columns[e];return!1!==t.sort?this.sortState.id===e&&"asc"===this.sortState.direction?"Click to sort column in descending order":"Click to sort column in ascending order":null},enableSort(e,t=null){!1!==this.columns[e].sort&&(null===t&&(t=this.sortState.id===e&&"asc"===this.sortState.direction?"desc":"asc"),this.sortState={id:e,direction:t})},sort(e){let t=this.sortState.id;if(null===t||!this.columns[t])return e;let s=this.columns[t];return!1===s.sort?e:e.slice(0).sort(((e,i)=>{let a="function"===typeof s.sortFn?s.sortFn:A.A.compareStringCaseInsensitive,r=a(e[t],i[t]);return"desc"===this.sortState.direction?-1*r:r}))},filter(e){if(!this.hasFilter)return e;var t=this.filterValue.toLowerCase();return e.filter((e=>{let s=[];for(var i in e){var a=this.columns[i];if(!("undefined"===typeof a||a.hasOwnProperty("filterable")&&!1===a.filterable)){var r=this.value(e,a,i);"number"!==typeof r&&"string"!==typeof r&&"boolean"!==typeof r||(r=r.toString(),s.push(r))}}return A.A.search(t,s)}))},clearFilter(){this.filterValue="",this.updateView()},updateView(){Array.isArray(this.data)?this.view=this.sort(this.filter(this.data)):this.view=[]},format(e,t){return"string"!==typeof t.format?"function"===typeof t.format?t.format.call(this,e,t):x.DataTypes.format(e):"function"===typeof x.Formatters["format"+t.format]?x.Formatters["format"+t.format](e,t):void console.warn(t.format+" is an invalid formatter.")}}},C=P;var _=(0,u.A)(C,w,S,!1,null,null,null);const k=_.exports,D=(e,t,s,i=!0)=>({components:{DataTable:k},data(){return{syncTimer:null,lastSyncTime:null}},mounted(){i&&this.updateData()},beforeDestroy(){this.stopSyncTimer()},computed:{...o.A.mapState(e,{data:e}),...o.A.mapGetters(e,["supportsList","supportsCreate","supportsRead","supportsUpdate","supportsDelete"])},methods:{...o.A.mapActions(e,["list","create","read","update","delete"]),getTable(){return this.$refs&&this.$refs.table?this.$refs.table:null},onShow(){this.updateData().catch((e=>o.A.exception(this,e,`Updating ${s} failed`))),this.startSyncTimer()},onHide(){this.stopSyncTimer()},startSyncTimer(){this.supportsList&&null===this.syncTimer&&(this.syncTimer=setInterval(this.updateData,this.getSyncInterval()))},stopSyncTimer(){null!==this.syncTimer&&(clearInterval(this.syncTimer),this.syncTimer=null)},getSyncInterval(){return 60*this.$config.dataRefreshInterval*1e3},async refreshElement(e,s=null){var i=Object.assign({},e);try{let t=await this.read({data:e});"function"===typeof s&&s(t,i)}catch(a){o.A.exception(this,a,"Load "+t+" error")}},async updateData(e=!1){var i=this.getTable(),a=Date.now()-this.getSyncInterval();if(!i||!e&&this.lastSyncTime>a)return!1;if(this.supportsList){var r=this.data.length>0;r||i.setNoData("Loading "+s+"..."),this.lastSyncTime=Date.now();try{let e=await this.list();return 0==e.length&&i.setNoData("Add your first "+t+" here..."),!0}catch(n){r?console.log(n):(o.A.exception(this,n),i.setNoData("Sorry, unable to load data from the server."))}}else i.setNoData("Sorry, listing stored "+s+" is not supported by the server.");return!1}}});var T=function(){var e=this,t=e._self._c;return t("button",{staticClass:"data-sync",attrs:{title:e.title},on:{click:e.update}},[!0===e.syncState?t("i",{staticClass:"fas fa-check"}):!1===e.syncState?t("i",{staticClass:"fas fa-times"}):t("i",{staticClass:"fas fa-sync"})])},F=[];const E={name:"SyncButton",props:{name:{type:String,required:!0},sync:{type:Function,required:!0}},data(){return{syncState:null}},computed:{title(){return"Refresh list of "+this.name}},methods:{async update(e){null===this.syncState&&(this.syncState=await this.sync(e),setTimeout((()=>this.syncState=null),3e3))}}},M=E;var z=(0,u.A)(M,T,F,!1,null,"b21f72c4",null);const R=z.exports,$={name:"FilePanel",mixins:[D("files","file","files")],components:{SyncButton:R},data(){return{columns:{path:{name:"Path",primaryKey:!0,sortFn:o.A.sortByPath,sort:"asc"},size:{name:"Size",format:"FileSize",filterable:!1},modified:{name:"Last modified",format:"Timestamp"},actions:{name:"Actions",filterable:!1,sort:!1}},uploadProgress:0,uploadProgressPerFile:[],uploadErrored:!1,uploadFadeOut:1,showUploadDropHint:0}},watch:{uploadProgressPerFile:{deep:!0,handler(){this.uploadProgress=this.uploadProgressPerFile.reduce(((e,t)=>e+t),0)/this.uploadProgressPerFile.length,this.uploadProgress>99.9999&&this.finishAllUploads()}}},methods:{allowDrop(e){this.supportsCreate&&(e.preventDefault(),e.stopPropagation())},dropZoneInfo(e){this.showUploadDropHint+=e?1:-1},uploadFiles(e){this.showUploadDropHint=0;var t=[];if(e.dataTransfer&&e.dataTransfer.files&&e.dataTransfer.files.length?(t=e.dataTransfer.files,e.preventDefault(),e.stopPropagation()):e.target&&e.target.files&&e.target.files.length&&(t=e.target.files),this.supportsCreate)if(0!==t.length){this.uploadProgressPerFile=[],this.uploadProgress=0,this.uploadErrored=!1;for(let e=0;ethis.$set(this.uploadProgressPerFile,t,e)]),this.$set(this.uploadProgressPerFile,t,100),o.A.ok(this,"File upload completed.",e.name)}catch(s){console.error(s),o.A.exception(this,s,"Upload File Error: "+e.name)}},finishAllUploads(){this.$refs.uploadUserFile.value="";var e=setInterval((()=>{this.uploadFadeOut-=.05,this.uploadFadeOut<0&&(this.uploadProgress=0,this.uploadFadeOut=1,clearInterval(e))}),100)},downloadFile(e){e.downloadFile(e.path)},deleteFile(e){confirm(`Do you really want to delete the file "${e.path}"?`)&&this.delete({data:e}).catch((t=>o.A.exception(this,t,"Delete File Error: "+e.path)))}}},I=$;var N=(0,u.A)(I,y,b,!1,null,null,null);const L=N.exports;var O=function(){var e=this,t=e._self._c;return t("DataTable",{ref:"table",staticClass:"JobPanel",attrs:{data:e.data,columns:e.columns},scopedSlots:e._u([{key:"actions",fn:function(s){return[t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsRead,expression:"supportsRead"}],attrs:{title:"Details"},on:{click:function(t){return e.showJobInfo(s.row)}}},[t("i",{staticClass:"fas fa-info"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsEstimate,expression:"supportsEstimate"}],attrs:{title:"Estimate"},on:{click:function(t){return e.estimateJob(s.row)}}},[t("i",{staticClass:"fas fa-file-invoice-dollar"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsUpdate,expression:"supportsUpdate"}],attrs:{title:"Edit metadata",disabled:!e.isJobInactive(s.row)},on:{click:function(t){return e.editMetadata(s.row)}}},[t("i",{staticClass:"fas fa-edit"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsRead,expression:"supportsRead"}],attrs:{title:"Edit process"},on:{click:function(t){return e.showInEditor(s.row)}}},[t("i",{staticClass:"fas fa-project-diagram"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsDelete,expression:"supportsDelete"}],attrs:{title:"Delete"},on:{click:function(t){return e.deleteJob(s.row)}}},[t("i",{staticClass:"fas fa-trash"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsStart&&e.isJobInactive(s.row),expression:"supportsStart && isJobInactive(p.row)"}],attrs:{title:"Start processing"},on:{click:function(t){return e.queueJob(s.row)}}},[t("i",{staticClass:"fas fa-play-circle"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsStop&&e.isJobActive(s.row),expression:"supportsStop && isJobActive(p.row)"}],attrs:{title:"Cancel processing"},on:{click:function(t){return e.cancelJob(s.row)}}},[t("i",{staticClass:"fas fa-stop-circle"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsDownloadResults&&e.mayHaveResults(s.row),expression:"supportsDownloadResults && mayHaveResults(p.row)"}],attrs:{title:"Download"},on:{click:function(t){return e.downloadResults(s.row)}}},[t("i",{staticClass:"fas fa-download"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsDownloadResults&&e.mayHaveResults(s.row),expression:"supportsDownloadResults && mayHaveResults(p.row)"}],attrs:{title:"View results"},on:{click:function(t){return e.viewResults(s.row,!0)}}},[t("i",{staticClass:"fas fa-eye"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.canShare&&e.supports("downloadResults")&&e.mayHaveResults(s.row),expression:"canShare && supports('downloadResults') && mayHaveResults(p.row)"}],attrs:{title:"Export / Share"},on:{click:function(t){return e.shareResults(s.row)}}},[t("i",{staticClass:"fas fa-share"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsDebug,expression:"supportsDebug"}],attrs:{title:"View logs"},on:{click:function(t){return e.showLogs(s.row)}}},[t("i",{staticClass:"fas fa-bug"})])]}}])},[t("template",{slot:"toolbar"},[t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsCreate,expression:"supportsCreate"}],attrs:{title:"Add new job for batch processing",disabled:!this.hasProcess},on:{click:function(t){return e.createJobFromScript()}}},[t("i",{staticClass:"fas fa-plus"}),e._v(" Create Batch Job")]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supports("computeResult"),expression:"supports('computeResult')"}],attrs:{title:"Run the process directly and view the results without storing them permanently",disabled:!this.hasProcess},on:{click:e.executeProcess}},[t("i",{staticClass:"fas fa-play"}),e._v(" Run now")]),e.supportsList?t("SyncButton",{attrs:{name:"batch jobs",sync:()=>e.updateData(!0)}}):e._e()],1)],2)},B=[],j=s(73902),U=s(99017);const V={methods:{getTitleField(e=null){return{name:"title",label:"Title",schema:{type:"string"},default:null,value:e,optional:!0}},getDescriptionField(e=null){return{name:"description",label:"Description",schema:{type:"string",subtype:"commonmark"},default:null,value:e,description:"CommonMark (Markdown) is allowed.",optional:!0}},getLogLevelField(e=void 0){return{name:"log_level",label:"Log level",schema:{type:"string",enum:["debug","info","warning","error"]},default:"info",value:e,description:"The minimum severity level for log entries that the back-end stores for the processing request.\n\ndebug (all logs) > info > warning > error (only errors)",optional:!0}},getBillingPlanField(e=void 0){return{name:"plan",label:"Billing plan",schema:{type:"string",subtype:"billing-plan"},value:e,optional:!0}},getBudgetField(e=null){return{name:"budget",label:"Budget limit",schema:{type:"number",subtype:"budget"},default:null,value:e,optional:!0}}}};var J=s(71321),H=s.n(J);const q=D("jobs","batch job","batch jobs"),W={name:"JobPanel",mixins:[q,r.A,V],components:{SyncButton:R},data(){return{watchers:{},jobUpdater:null}},mounted(){this.listen("replaceProcess",this.replaceProcess),this.listen("executeProcess",this.executeProcess),this.listen("startAndQueueProcess",this.startAndQueueProcess)},computed:{...o.A.mapState(["connection"]),...o.A.mapGetters(["supports","supportsBilling","supportsBillingPlans"]),...o.A.mapGetters("editor",["hasProcess"]),...o.A.mapState("editor",["process"]),columns(){return{id:{name:"ID",primaryKey:!0,hide:!0},title:{name:"Batch Job",computedValue:e=>o.A.getResourceTitle(e),format:e=>o.A.formatIdOrTitle(e),edit:this.supportsUpdate?this.updateTitle:null},status:{name:"Status",stylable:!0},created:{name:"Submitted",format:"Timestamp",sort:"desc"},updated:{name:"Last update",format:"Timestamp"},actions:{name:"Actions",filterable:!1,sort:!1}}},supportsStart(){return this.supports("startJob")},supportsStop(){return this.supports("stopJob")},supportsEstimate(){return this.supports("estimateJob")},supportsDownloadResults(){return this.supports("downloadResults")},supportsDebug(){return this.supports("debugJob")},canShare(){return Array.isArray(this.$config.supportedBatchJobSharingServices)&&this.$config.supportedBatchJobSharingServices.length>0}},watch:{data:{handler:function(e){this.watchers={};for(let t of e)o.A.isActiveJobStatusCode(t.status)&&(this.watchers[t.id]=t)},deep:!0}},methods:{...o.A.mapActions("jobs",["queue","cancel"]),startSyncTimer(){q.methods.startSyncTimer.call(this);let e=()=>{this.executeWatchers();let t=5+5*Math.log2(o.A.size(this.watchers));this.jobUpdater=setTimeout(e,1e3*t)};e()},stopSyncTimer(){q.methods.stopSyncTimer.call(this),null!==this.jobUpdater&&clearTimeout(this.jobUpdater)},showInEditor(e){this.refreshElement(e,(e=>this.broadcast("editProcess",e)))},async startAndQueueProcess(e){let t=await this.createJob(this.process,e);await this.queueJob(t)},async executeProcess(){const e=async e=>{const t=await this.connection.computeResult(this.process,null,null,e);this.broadcast("viewSyncResult",t)};try{await(0,U.Kt)(this,e,"Run")}catch(t){t instanceof U.QJ?(0,U.Vz)(this,t):o.A.exception(this,t)}},jobCreated(e){var t=[];this.supports("estimateJob")&&t.push({text:"Estimate",action:()=>this.estimateJob(e)}),this.supports("startJob")&&t.push({text:"Start processing",action:()=>this.queueJob(e)}),this.supports("deleteJob")&&t.push({text:"Delete",action:()=>this.deleteJob(e)}),o.A.confirm(this,'Job "'+o.A.getResourceTitle(e)+'" created!',t)},normalizeToDefaultData(e){return"undefined"===typeof e.title||"string"===typeof e.title&&0!==e.title.length||(e.title=null),"undefined"===typeof e.description||"string"===typeof e.description&&0!==e.description.length||(e.description=null),"undefined"===typeof e.plan||"string"===typeof e.plan&&0!==e.plan.length||(e.plan=null),"undefined"!==typeof e.budget&&("number"!==typeof e.budget||e.budget<0)&&(e.budget=null),e},async createJob(e,t){try{t=this.normalizeToDefaultData(t);let s=await this.create([e,t.title,t.description,t.plan,t.budget,{log_level:t.log_level}]);return this.jobCreated(s),s}catch(s){return o.A.exception(this,s,"Create Job Error: "+(t.title||"")),null}},createJobFromScript(){var e=[this.getTitleField(),this.getDescriptionField(),this.getLogLevelField(),this.supportsBillingPlans?this.getBillingPlanField():null,this.supportsBilling?this.getBudgetField():null];this.broadcast("showDataForm","Create new batch job",e,(e=>this.createJob(this.process,e)))},async deleteJob(e){if(confirm(`Do you really want to delete the batch job "${o.A.getResourceTitle(e)}"?`))try{await this.delete({data:e}),this.broadcast("removeBatchJob",e.id)}catch(t){o.A.exception(this,t,"Delete Job Error: "+o.A.getResourceTitle(e))}},executeWatchers(){for(var e in this.watchers)this.refreshElement(this.watchers[e],((e,t)=>{if("finished"!==t.status&&"finished"===e.status){var s=[];this.supports("downloadResults")&&(s.push({text:"Download",action:()=>this.downloadResults(e)}),s.push({text:"View",action:()=>this.viewResults(e)})),o.A.confirm(this,'Job "'+o.A.getResourceTitle(e)+'" has finished!',s)}else"error"!==t.status&&"error"===e.status&&o.A.error(this,'Job "'+o.A.getResourceTitle(e)+'" has stopped due to an error or timeout.');t.status!==e.status&&this.broadcast("jobStatusUpdated",e,t)}))},showJobInfo(e){this.refreshElement(e,(async e=>{let t=null;if("finished"===e.status)try{t=await e.getResultsAsStac(),t=H().stac(t,!1)}catch(s){o.A.exception(this,s,"Load Results Error: "+o.A.getResourceTitle(e))}this.broadcast("showModal","JobInfoModal",{job:e.getAll(),result:t})}))},async estimateJob(e){try{let t=await e.estimateJob();this.broadcast("showModal","JobEstimateModal",{job:e.getAll(),estimate:t})}catch(t){o.A.exception(this,t,"Job Estimate Error: "+o.A.getResourceTitle(e))}},showLogs(e){this.broadcast("viewLogs",e)},replaceProcess(e,t){e instanceof j.Job&&(this.isJobActive(e)?o.A.error(this,"Can't update process while batch job is running."):this.updateJob(e,{process:t}))},editMetadata(e){this.refreshElement(e,(e=>{var t=[this.getTitleField(e.title),this.getDescriptionField(e.description),this.getLogLevelField(e.log_level),this.supportsBillingPlans?this.getBillingPlanField(e.plan):null,this.supportsBilling?this.getBudgetField(e.budget):null];this.broadcast("showDataForm","Edit batch job",t,(t=>this.updateJob(e,t)))}))},updateTitle(e,t){this.updateJob(e,{title:t})},async updateJob(e,t){try{let s=await this.update({data:e,parameters:this.normalizeToDefaultData(t)});o.A.ok(this,'Job "'+o.A.getResourceTitle(s)+'" successfully updated.')}catch(s){o.A.exception(this,s,"Update Job Error: "+o.A.getResourceTitle(e))}},queueJob(e){this.refreshElement(e,(async t=>{if("finished"!==t.status||confirm(`The batch job "${o.A.getResourceTitle(t)}" has already finished with results. Queueing the job again may discard all previous results! Do you really want to queue it again?`))try{let t=await this.queue({data:e});o.A.ok(this,'Job "'+o.A.getResourceTitle(t)+'" successfully queued.')}catch(s){o.A.exception(this,s,"Queue Job Error: "+o.A.getResourceTitle(e))}}))},async cancelJob(e){if(confirm(`Do you really want to cancel the execution of batch job "${o.A.getResourceTitle(e)}"?`))try{let t=await this.cancel({data:e});o.A.ok(this,'Job "'+o.A.getResourceTitle(t)+'" successfully canceled.')}catch(t){o.A.exception(this,t,"Cancel Job Error: "+o.A.getResourceTitle(e))}},async viewResults(e){try{let t=await e.getResultsAsStac();t=H().stac(t,!1),this.broadcast("viewJobResults",t,e)}catch(t){o.A.exception(this,t,"View Result Error: "+o.A.getResourceTitle(e))}},async downloadResults(e){try{let t=await e.getResultsAsStac();if(t=H().stac(t,!1),0==o.A.size(t.assets))return void o.A.error(this,'No results available for job "'+o.A.getResourceTitle(e)+'".');this.broadcast("showModal","DownloadAssetsModal",{job:e,result:t})}catch(t){o.A.exception(this,t,"Download Result Error: "+o.A.getResourceTitle(e))}},async shareResults(e){if(this.canShare){let t,s,i=await e.getResultsAsStac();if(i=H().stac(i,!1),Array.isArray(i.links)&&(s=i.links.find((e=>"canonical"===e.rel)),s&&"string"===typeof s.href&&(t=s.href)),t){let a=i.properties?.title||e.title||s?.title;this.broadcast("showModal","ShareModal",{url:t,title:a,extra:i,context:e})}else o.A.error(this,"Sorry, this job has no public URL")}},mayHaveResults(e){return"string"!==typeof e.status||"finished"==e.status.toLowerCase()},isJobInactive(e){return!0!==o.A.isActiveJobStatusCode(e.status)},isJobActive(e){return!1!==o.A.isActiveJobStatusCode(e.status)}}},G=W;var K=(0,u.A)(G,O,B,!1,null,null,null);const Q=K.exports;var Y=function(){var e=this,t=e._self._c;return t("DataTable",{ref:"table",staticClass:"CustomProcessPanel",attrs:{data:e.data,columns:e.columns},scopedSlots:e._u([{key:"actions",fn:function(s){return[t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsRead,expression:"supportsRead"}],attrs:{title:"Details"},on:{click:function(t){return e.processInfo(s.row)}}},[t("i",{staticClass:"fas fa-info"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsRead,expression:"supportsRead"}],attrs:{title:"Edit process"},on:{click:function(t){return e.showInEditor(s.row)}}},[t("i",{staticClass:"fas fa-project-diagram"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsDelete,expression:"supportsDelete"}],attrs:{title:"Delete"},on:{click:function(t){return e.deleteProcess(s.row)}}},[t("i",{staticClass:"fas fa-trash"})])]}}])},[t("template",{slot:"toolbar"},[t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsCreate,expression:"supportsCreate"}],attrs:{title:"Add new custom process",disabled:!this.hasProcess},on:{click:e.addProcessFromScript}},[t("i",{staticClass:"fas fa-plus"}),e._v(" Add")]),t("SyncButton",{attrs:{name:"custom processes",sync:()=>e.updateData(!0)}})],1)],2)},Z=[];const X={name:"CustomProcessPanel",mixins:[D("userProcesses","custom process","custom processes",!1),r.A],components:{SyncButton:R},data(){return{columns:{id:{name:"ID",primaryKey:!0,sort:"asc"},summary:{name:"Summary"},actions:{name:"Actions",filterable:!1,sort:!1}}}},computed:{...o.A.mapState("editor",["process"]),...o.A.mapGetters(["processes"]),...o.A.mapGetters("editor",["hasProcess"])},mounted(){this.listen("replaceProcess",this.replaceProcess)},methods:{showInEditor(e){this.refreshElement(e,(e=>this.broadcast("editProcess",e)))},getIdField(e=void 0){return{value:e,name:"id",description:"A unique identifier. Must contain only letters (`a`-`z`), digits (`0`-`9`) and underscores (`_`). `snake_case` is recommended.",label:"Process ID",schema:{type:"string",pattern:"^\\w+$"},default:null}},addProcessFromScript(){let e=[];this.process.id?this.process.id.match("^\\w+$")?this.processes.has(this.process.id,"user")&&(e.push({label:"Warning!",description:"A process with the given name exists! If you click 'Save' below, you confirm that you want to override the existing process. If you don't want to override the existing process, please choose a different name below.",info:!0}),e.push(this.getIdField(this.process.id))):(e.push({label:"Please note...",description:"The given process name is invalid, please choose another one below.",info:!0}),e.push(this.getIdField(this.process.id))):e.push(this.getIdField());let t=e=>this.addProcess(this.normalize(this.process,e));e.length>0?this.broadcast("showDataForm","Store a new custom process",e,t):t()},normalize(e,t={}){return Object.assign({},"function"===typeof e.toJSON?e.toJSON():e,t)},addProcess(e){this.create([e.id,e]).catch((t=>o.A.exception(this,t,"Store Process Error"+(e.id?`: ${e.id}`:""))))},processInfo(e){this.broadcast("showProcess",e)},replaceProcess(e,t){e instanceof j.UserProcess&&this.updateMetadata(e,t)},async updateMetadata(e,t){try{let s=await this.update({data:e,parameters:this.normalize(e,t)});o.A.ok(this,'Process "'+o.A.getResourceTitle(s)+'" successfully updated.')}catch(s){o.A.exception(this,s,"Update Process Error"+(e.id?`: ${e.id}`:""))}},deleteProcess(e){confirm(`Do you really want to delete the process "${o.A.getResourceTitle(e)}"?`)&&this.delete({data:e}).catch((t=>o.A.exception(this,t,"Delete Process Error"+(e.id?`: ${e.id}`:""))))}}},ee=X;var te=(0,u.A)(ee,Y,Z,!1,null,null,null);const se=te.exports;var ie=function(){var e=this,t=e._self._c;return t("DataTable",{ref:"table",staticClass:"ServicePanel",attrs:{data:e.data,columns:e.columns},scopedSlots:e._u([{key:"actions",fn:function(s){return[t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsRead,expression:"supportsRead"}],attrs:{title:"Details"},on:{click:function(t){return e.serviceInfo(s.row)}}},[t("i",{staticClass:"fas fa-info"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsUpdate,expression:"supportsUpdate"}],attrs:{title:"Edit metadata"},on:{click:function(t){return e.editMetadata(s.row)}}},[t("i",{staticClass:"fas fa-edit"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsRead,expression:"supportsRead"}],attrs:{title:"Edit process"},on:{click:function(t){return e.showInEditor(s.row)}}},[t("i",{staticClass:"fas fa-project-diagram"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsDelete,expression:"supportsDelete"}],attrs:{title:"Delete"},on:{click:function(t){return e.deleteService(s.row)}}},[t("i",{staticClass:"fas fa-trash"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:s.row.enabled&&e.isMapServiceSupported(s.row.type),expression:"p.row.enabled && isMapServiceSupported(p.row.type)"}],attrs:{title:"View on map"},on:{click:function(t){return e.viewService(s.row)}}},[t("i",{staticClass:"fas fa-map"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:s.row.enabled&&e.canShare,expression:"p.row.enabled && canShare"}],attrs:{title:"Export / Share"},on:{click:function(t){return e.shareResults(s.row)}}},[t("i",{staticClass:"fas fa-share"})]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsDebug,expression:"supportsDebug"}],attrs:{title:"View logs"},on:{click:function(t){return e.showLogs(s.row)}}},[t("i",{staticClass:"fas fa-bug"})])]}}])},[t("template",{slot:"toolbar"},[t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsCreate,expression:"supportsCreate"}],attrs:{title:"Add new permanently stored web service",disabled:!this.hasProcess},on:{click:function(t){return e.createServiceFromScript()}}},[t("i",{staticClass:"fas fa-plus"}),e._v(" Create")]),t("button",{directives:[{name:"show",rawName:"v-show",value:e.supportsQuickView,expression:"supportsQuickView"}],attrs:{title:"Quickly show the process on map without storing it permanently",disabled:!this.hasProcess},on:{click:function(t){return e.quickViewServiceFromScript()}}},[t("i",{staticClass:"fas fa-map"}),e._v(" Show on Map")]),t("SyncButton",{attrs:{name:"web services",sync:()=>e.updateData(!0)}})],1)],2)},ae=[],re=s(95353);const oe={name:"ServicePanel",mixins:[D("services","web service","web services"),r.A,V],components:{SyncButton:R},data(){return{createdQuickViews:{}}},computed:{...o.A.mapState("editor",["process"]),...o.A.mapGetters("editor",["hasProcess"]),...o.A.mapState(["serviceTypes"]),...o.A.mapGetters(["supports","supportsBilling","supportsBillingPlans"]),columns(){return{id:{name:"ID",primaryKey:!0,hide:!0},title:{name:"Web Service",computedValue:e=>o.A.getResourceTitle(e),format:e=>o.A.formatIdOrTitle(e),edit:this.supportsUpdate?this.updateTitle:null},type:{name:"Type",format:e=>"string"===typeof e?e.toUpperCase():e},enabled:{name:"Enabled",edit:this.supportsUpdate?this.toggleEnabled:null},created:{name:"Submitted",format:"Timestamp",sort:"desc"},actions:{name:"Actions",filterable:!1,sort:!1}}},canShare(){return Array.isArray(this.$config.supportedBatchJobSharingServices)&&this.$config.supportedBatchJobSharingServices.length>0},supportsDebug(){return this.supports("debugService")},supportsQuickView(){return this.supportsCreate&&this.supportsDelete&&null!==this.mapService},mapService(){for(let e in this.serviceTypes){if(!o.A.isMapServiceSupported(e))continue;let t=this.serviceTypes[e],s=Object.values(t.configuration).some((e=>!0===e.required));if(!s)return e}return null}},mounted(){this.listen("replaceProcess",this.replaceProcess),this.beforeLogoutListener({key:this.$options.name,listener:this.onExit})},beforeDestroy(){this.beforeLogoutListener({key:this.$options.name})},methods:{...(0,re.PY)(["beforeLogoutListener"]),async onExit(){let e=[];for(let t in this.createdQuickViews){let s=this.createdQuickViews[t];e.push(this.deleteService(s,!0))}await Promise.all(e),this.createdQuickViews={}},isMapServiceSupported(e){return o.A.isMapServiceSupported(e)},showInEditor(e){this.refreshElement(e,(e=>this.broadcast("editProcess",e)))},showLogs(e){this.broadcast("viewLogs",e)},serviceCreated(e){var t=[];this.isMapServiceSupported(e.type)&&t.push({text:"View on map",action:()=>this.viewService(e)}),this.supportsRead&&t.push({text:"Details",action:()=>this.serviceInfo(e)}),this.supportsDelete&&t.push({text:"Delete",action:()=>this.deleteService(e)}),o.A.confirm(this,"Web Service created!",t)},getServiceTypeField(e=void 0){return{name:"type",label:"Type",schema:{type:"string",subtype:"service-type"},value:e}},getEnabledField(e=!0){return{name:"enabled",label:"Enabled",schema:{type:"boolean"},default:!0,value:e,optional:!0}},getConfigField(e=void 0){return{name:"configuration",label:"Service Configuration",schema:{type:"object",subtype:"service-config"},value:e,optional:!0}},normalizeToDefaultData(e){return"undefined"===typeof e.title||"string"===typeof e.title&&0!==e.title.length||(e.title=null),"undefined"===typeof e.description||"string"===typeof e.description&&0!==e.description.length||(e.description=null),"undefined"!==typeof e.enabled&&"boolean"!==typeof e.enabled&&(e.enabled=!0),"undefined"===typeof e.configuration||o.A.isObject(e.configuration)||(e.configuration={}),"undefined"===typeof e.plan||"string"===typeof e.plan&&0!==e.plan.length||(e.plan=null),"undefined"!==typeof e.budget&&("number"!==typeof e.budget||e.budget<0)&&(e.budget=null),e},async createService(e,t,s=!1){t=this.normalizeToDefaultData(t);try{let i=await this.create([e,t.type,t.title,t.description,t.enabled,t.configuration,t.plan,t.budget,{log_level:t.log_level}]);return s||this.serviceCreated(i),i}catch(i){return o.A.exception(this,i,"Create Service Error: "+(t.title||"")),null}},createServiceFromScript(){var e=[this.getTitleField(),this.getDescriptionField(),this.getServiceTypeField(),this.getEnabledField(),this.getLogLevelField(),this.supportsBillingPlans?this.getBillingPlanField():null,this.supportsBilling?this.getBudgetField():null,this.getConfigField()];this.broadcast("showDataForm","Create new web service",e,(e=>this.createService(this.process,e)))},async quickViewServiceFromScript(){try{let e={title:"Quick view",type:this.mapService,enabled:!0},t=await this.createService(this.process,e,!0);t&&(this.createdQuickViews[t.id]=t,this.viewService(t,(()=>this.deleteService(t,!0))))}catch(e){o.A.exception(this,e,"Show on Map Error")}},editMetadata(e){this.refreshElement(e,(e=>{var t=[this.getTitleField(e.title),this.getDescriptionField(e.description),this.getEnabledField(e.enabled),this.getLogLevelField(e.log_level),this.supportsBillingPlans?this.getBillingPlanField(e.plan):null,this.supportsBilling?this.getBudgetField(e.budget):null,this.getConfigField(e.configuration)];this.broadcast("showDataForm","Edit web service",t,(t=>this.updateService(e,t)))}))},serviceInfo(e){this.refreshElement(e,(e=>{this.broadcast("showModal","ServiceInfoModal",{service:e.getAll()})}))},replaceProcess(e,t){e instanceof j.Service&&this.updateService(e,{process:t})},updateTitle(e,t){this.updateService(e,{title:t})},toggleEnabled(e){this.updateService(e,{enabled:!e.enabled})},async updateService(e,t){try{let s=await this.update({data:e,parameters:this.normalizeToDefaultData(t)});o.A.ok(this,'Service "'+o.A.getResourceTitle(s)+'" successfully updated.')}catch(s){o.A.exception(this,s,"Update Service Error: "+o.A.getResourceTitle(e))}},async deleteService(e,t=!1){if(t||confirm(`Do you really want to delete the service "${o.A.getResourceTitle(e)}"?`))try{await this.delete({data:e}),this.broadcast("removeWebService",e.id),delete this.createdQuickViews[e.id]}catch(s){t?console.error(s):o.A.exception(this,s,"Delete Service Error: "+o.A.getResourceTitle(e))}},viewService(e,t=null){this.refreshElement(e,(e=>this.broadcast("viewWebService",e,t)))},async shareResults(e){this.canShare&&this.refreshElement(e,(t=>{e.enabled?t.url?this.broadcast("showModal","ShareModal",{url:t.url,title:t.title,context:t}):o.A.error(this,"Sorry, this service has no public URL."):o.A.error(this,"Sorry, only enabled services can be shared.")}))}}},ne=oe;var le=(0,u.A)(ne,ie,ae,!1,null,null,null);const ce=le.exports,de={name:"UserWorkspace",components:{FilePanel:L,JobPanel:Q,CustomProcessPanel:se,ServicePanel:ce,Tabs:g["default"],Tab:v["default"]},computed:{...o.A.mapGetters(["supports"]),showJobs(){return this.supports("listJobs")||this.supports("createJob")||this.supports("computeResult")},showServices(){return this.supports("listServices")||this.supports("createService")},showCustomProcesses(){return this.supports("listUserProcesses")||this.supports("setUserProcess")},showFiles(){return this.supports("listFiles")||this.supports("uploadFile")}},methods:{onShow(e){e.$children.length&&"function"===typeof e.$children[0].onShow&&e.$children[0].onShow()},onHide(e){e.$children.length&&"function"===typeof e.$children[0].onHide&&e.$children[0].onHide()}}},ue=de;var pe=(0,u.A)(ue,m,f,!1,null,null,null);const he=pe.exports;var me=function(){var e=this,t=e._self._c;return t("div",{staticClass:"viewerContainer",on:{drop:e.onDrop,dragover:e.allowDrop}},[t("Tabs",{ref:"tabs",attrs:{id:"viewerTabs",allowTabRename:""},on:{empty:e.onTabsEmpty},scopedSlots:e._u([{key:"empty",fn:function(){return[e._v("Nothing to show right now...")]},proxy:!0},{key:"dynamic",fn:function({tab:s}){return[e.logViewerIcons.includes(s.icon)?t("LogViewer",{attrs:{data:s.data},on:{mounted:e.onMounted,options:e.onOptionsChanged}}):s.data.component?t(s.data.component,e._g(e._b({tag:"component",on:{mounted:e.onMounted,options:e.onOptionsChanged}},"component",s.data.props,!1),s.data.events)):"fa-map"===s.icon?t("MapViewer",{attrs:{data:s.data,removableLayers:e.isCollectionPreview(s.data)},on:{mounted:e.onMounted,options:e.onOptionsChanged}}):t("div",{staticClass:"unsupported"},[e._v(" Sorry, the viewer doesn't support showing this type of data. "),e.isFormat(s.data)?[e._v(" Instead, you can download the data by clicking the link below."),t("br"),t("a",{attrs:{href:s.data.getUrl(),download:""}},[e._v("Download")])]:e._e()],2)]}}])})],1)},fe=[],ge=s(6765);const ve={name:"Viewer",mixins:[r.A],components:{Tabs:g["default"],DataViewer:()=>s.e(8396).then(s.bind(s,58396)),TableViewer:()=>Promise.all([s.e(7237),s.e(1426),s.e(8363),s.e(3592)]).then(s.bind(s,51001)),ImageViewer:()=>s.e(4285).then(s.bind(s,94285)),LogViewer:()=>s.e(887).then(s.bind(s,20887)),MapViewer:()=>Promise.all([s.e(1160),s.e(5983),s.e(1323),s.e(5624),s.e(1189),s.e(6617),s.e(5640),s.e(2559),s.e(2365),s.e(3800),s.e(3291),s.e(3876),s.e(9882),s.e(7237),s.e(1426),s.e(8363),s.e(4368)]).then(s.bind(s,13324))},mounted(){this.listen("viewSyncResult",this.showSyncResults),this.listen("viewJobResults",this.showJobResults),this.listen("viewWebService",this.showWebService),this.listen("showCollectionPreview",(e=>this.showCollectionPreview(e).catch((e=>o.A.exception(this,e,"Failed loading collection."))))),this.listen("viewLogs",this.showLogs),this.listen("removeWebService",this.closeTabWithLogs),this.listen("removeBatchJob",this.closeTabWithLogs),this.listen("addToMapChooser",this.addToMapChooser),this.appMode&&this.showAppMode()},data(){return{tabTitleCounter:{},tabIdCounter:0,logViewerIcons:["fa-bug","fa-bomb","fa-tasks"],options:null}},computed:{...o.A.mapState(["connection"]),...o.A.mapState("editor",["appMode","formatRegistry"]),...o.A.mapGetters("editor",["getModelNodeFromDnD"]),nextTabId(){return`viewer~${this.tabIdCounter}`}},methods:{...o.A.mapActions(["describeCollection"]),...o.A.mapMutations("editor",["setViewerOptions","setModelDnD"]),showAppMode(){if("service"===this.appMode.resultType){console.log(this.appMode);const e=new j.Service(this.connection,"app");e.title=this.appMode.title,e.url=this.appMode.resultUrl,e.type=this.appMode.service,e.enabled=!0,console.log(e),this.showWebService(e)}else if(this.showJobResults(this.appMode.data,null,this.appMode.title),"string"===typeof this.appMode.expires){const e=x.Formatters.formatTimestamp(this.appMode.expires);o.A.info(this,`The shared data is available until ${e}`)}},isCollectionPreview(e){return e instanceof j.Service&&o.A.isObject(e.attributes)&&!0===e.attributes.preview},isFormat(e){return e instanceof ge.yL},async showCollectionPreview(e){if("string"===typeof e)try{e=await this.describeCollection(e)}catch(a){return void o.A.error(this,"Sorry, can't load collection '"+e+"'.")}let t=o.A.getPreviewLinkFromSTAC(e);t||o.A.error(this,"No visualizations found for collection");let s=new j.Service(null,`collection-preview~${e.id}`);s.url=t.href,s.type=t.rel.toLowerCase(),s.attributes={preview:!0,bbox:o.A.extentToBBox(e.extent.spatial.bbox[0])},"wmts"===t.rel.toLowerCase()&&("string"===typeof t["wmts:layer"]?s.attributes.layers=[t["wmts:layer"]]:Array.isArray(t["wmts:layer"])&&(s.attributes.layers=t["wmts:layer"]),s.attributes.dimensions=t["wmts:dimensions"]);let i=o.A.getResourceTitle(e,!0);this.showMapViewer(s,s.id,i,!0)},showWebService(e,t=null){this.showMapViewer(e,e.id,null,!0,t)},showLogs(e,t="Logs",s=!0,i="fa-bug"){let a=Array.isArray(e)?t:o.A.getResourceTitle(e,"Logs"),r=Array.isArray(e)?null:`logs~${e.id}`;if(r){let e=this.$refs.tabs.getTab(r);if(e)return void this.$refs.tabs.selectTab(e)}this.$refs.tabs.addTab(a,i,e,r,s,!0,(e=>this.onShow(e)),(e=>this.onHide(e)))},closeTabWithLogs(e){this.closeTab(e),this.closeTab(`logs~${e}`)},closeTab(e){let t=this.$refs.tabs.getTab(e);t&&this.$refs.tabs.closeTab(t)},showSyncResults(e){let t=this.makeTitle("Result"),s=this.formatRegistry.createFilesFromBlob(e.data);s.forEach((e=>e.download())),this.showViewer(s,t).catch((e=>o.A.exception(this,e))).finally((()=>{Array.isArray(e.logs)&&e.logs.length>0&&this.showLogs(e.logs,t,!1)}))},showJobResults(e,t=null,s=null){null===s&&(s=e.title?e.title:e.properties&&e.properties.title?e.properties.title:o.A.getResourceTitle(t,!0));let i=e.id;t&&t.id&&(i=t.id);let a=this.formatRegistry.createFilesFromSTAC(e,t);0!==a.length?a.length>5&&!o.A.confirmOpenAll(a)||this.showViewer(a,s,(e=>`${i}-${e.getUrl()}`),!0).catch((e=>o.A.exception(this,e))):o.A.error(this,'No results available for "'+s+'".')},showMapViewer(e,t=null,s=null,i=!1,a=null){if(s||(s=o.A.getResourceTitle(e,!0)),t){if(i){let e=this.$refs.tabs.getTab(t);if(e)return this.$refs.tabs.selectTab(e)}}else if(t=this.nextTabId,this.tabIdCounter++,i)throw new Error("Tabs without id can't be re-used");this.$refs.tabs.addTab(s,"fa-map",e,t,!0,!0,(e=>this.onShow(e)),(e=>this.onHide(e)),a)},addToMapChooser({asset:e,context:t}){const s=this.$refs.tabs.tabs.filter((e=>"fa-map"===e.icon)),i=["New Map",...s.map((e=>e.name))];this.broadcast("showListModal","Select a map to add the data to",i,[{callback:async(i,a)=>{const r=this.formatRegistry.createFileFromAsset(e,t);if(await r.loadData(this.connection),0===a)this.showViewer([r],r.title).catch((e=>o.A.exception(this,e)));else{const e=s[a-1];this.$refs.tabs.selectTab(e),e.$children[0].addGeoTiff(r,r.title)}return!0}}])},async showViewer(e,t=null,s=null,i=!1){if(!Array.isArray(e))return;let a;for(let n of e)try{let e=n.getContext();if(a="function"===typeof s?s(n):!s&&e?e.id:s,i){if(!a)throw new Error("Tabs without id can't be re-used");let e=this.$refs.tabs.getTab(a);if(e)return void this.$refs.tabs.selectTab(e)}n.title?t=n.title:!t&&e?t=o.A.getResourceTitle(e,!0):t||(t=this.makeTitle("Untitled")),await n.loadData(this.connection),this.$refs.tabs.addTab(t,n.icon,n,a,!0,!0,(e=>this.onShow(e)),(e=>this.onHide(e)))}catch(r){o.A.exception(this,r,"Viewer Error"),n.download()}},callChildFunction(e,t,...s){if("function"===typeof e[t]){let i=e[t](...s);i instanceof Promise&&i.catch((e=>o.A.exception(this,e)))}},async onDrop(e){const t=await this.getModelNodeFromDnD();if(this.setModelDnD(),"load_collection"===t.process_id){e.preventDefault();let i=o.A.isObject(t.arguments)?t.arguments.id:null;try{await this.showCollectionPreview(i)}catch(s){o.A.exception(this,s,`Failed loading collection '${i}'.`)}}},allowDrop(e){e.preventDefault()},onShow(e){this.callChildFunction(e,"onShow")},onMounted(e){this.callChildFunction(e,"onShow"),this.setViewerOptions()},onHide(e){this.callChildFunction(e,"onHide")},onTabsEmpty(e){this.$emit("empty",e),this.setViewerOptions()},onOptionsChanged(e){this.setViewerOptions(e)},uniqueTitle(e){return this.tabTitleCounter[e]?(this.tabTitleCounter[e]++,e+" ("+this.tabTitleCounter[e]+")"):(this.tabTitleCounter[e]=1,e)},makeTitle(e,t,s=!0){return e?s?this.uniqueTitle(e):e:this.uniqueTitle(t)}}},ye=ve;var be=(0,u.A)(ye,me,fe,!1,null,null,null);const we=be.exports;var Se=s(63036),Ae=s(44263),xe=s(77754),Pe=s(31572),Ce=s(44304);const _e={name:"IDE",mixins:[r.A],components:{DiscoveryToolbar:xe.A,Editor:Se["default"],Logo:Ae.A,Viewer:we,UserMenu:h,UserWorkspace:he,Splitpanes:Ce.S,Pane:Ce.Z},data(){return{showViewer:!1,resizeListener:null,userInfoUpdater:null}},computed:{...o.A.mapState(["connection","isAuthenticated"]),...o.A.mapState("editor",["appMode","context","process","collectionPreview","openWizard","openWizardProps"]),...o.A.mapGetters(["title","apiVersion","supports"]),...o.A.mapGetters("editor",["hasProcess"]),...o.A.mapGetters("jobs",{supportsJobUpdate:"supportsUpdate"}),...o.A.mapGetters("services",{supportsServiceUpdate:"supportsUpdate"}),...o.A.mapGetters("userProcesses",{supportsUserProcessUpdate:"supportsUpdate"}),contextTitle(){return null!==this.context?o.A.getResourceTitle(this.context,!0):""},saveSupported(){return null!==this.context&&(this.context instanceof j.Job&&this.supportsJobUpdate||this.context instanceof j.Service&&this.supportsServiceUpdate||this.context instanceof j.UserProcess&&this.supportsUserProcessUpdate)},hasProcess(){return o.A.size(this.process)>0},validateSupported(){return this.supports("validateProcess")},splitpaneSizeH(){return this.appMode?this.process?[0,50,50]:[0,0,100]:this.showViewer?[20,40,40]:[25,75,0]},splitpaneSizeV(){return this.appMode?[100,0]:this.isAuthenticated?[50,50]:[99,1]}},async mounted(){this.listen("showDataForm",this.showDataForm),this.listen("editProcess",this.editProcess),this.listen("showLogin",this.login),this.listen("importProcess",this.importProcess),this.resizeListener=e=>this.resized(e),window.addEventListener("resize",this.resizeListener),this.isAuthenticated&&(this.userInfoUpdater=setInterval((()=>this.describeAccount().catch((e=>console.error(e)))),60*this.$config.dataRefreshInterval*1e3)),this.broadcast("title",this.title),this.collectionPreview&&this.$nextTick((()=>{this.broadcast("showCollectionPreview",this.collectionPreview),this.setCollectionPreview(null)})),this.openWizard&&this.showWizard(this.openWizard,this.openWizardProps)},beforeDestroy(){null!==this.resizeListener&&window.removeEventListener("resize",this.resizeListener),null!==this.userInfoUpdater&&clearInterval(this.userInfoUpdater)},methods:{...o.A.mapActions(["describeAccount"]),...o.A.mapMutations(["discoveryCompleted"]),...o.A.mapMutations("editor",["setContext","setProcess","setCollectionPreview"]),resized(e){this.broadcast("windowResized",e)},onViewerEmpty(e){this.showViewer=!e},login(){this.discoveryCompleted(!1)},importProcess(){let e={save:this.updateEditor};this.broadcast("showModal","ImportProcessModal",{},e)},saveProcess(){this.broadcast("replaceProcess",this.context,this.process)},async exportCode(){this.broadcast("showModal","ExportCodeModal")},showWizard(e=null,t={}){if(this.hasProcess){var s=confirm("Starting the wizard may clear the existing model.\r\nDo you really want to continue?");if(!s)return}this.broadcast("showModal","WizardModal",{preselectUsecase:e,options:t})},async validateProcess(){if(!this.validateSupported)return o.A.error(this,"Server doesn't support validation");if(!this.hasProcess)return o.A.info(this,"Nothing to validate...");try{let e=await this.connection.validateProcess(this.process);e.length>0?(e.forEach((e=>e.level="error")),this.broadcast("viewLogs",e,"Validation Result","fa-tasks")):o.A.ok(this,"The process is valid")}catch(e){o.A.exception(this,e,"Validation rejected")}},updateEditor(e){null===e&&this.setContext(null),this.setProcess(e||null)},editProcess(e){this.setContext(e)},insertProcess(e){this.$refs.editor.insertProcess(e)},showServerInfo(){this.broadcast("showModal","ServerInfoModal")},showHelp(){this.broadcast("showTour","ide")},showDataForm(e,t,s=null,i=null){var a="function"===typeof s,r={},o=[];for(let c of t)null!==c&&(o.push(new Pe.ProcessParameter(c)),r[c.name]=c.value);let n={title:e,parameters:o,data:r,editable:a},l={};"function"===typeof s&&(l.save=s),"function"===typeof i&&(l.closed=i),this.broadcast("showModal","ParameterModal",n,l)}}},ke=_e;var De=(0,u.A)(ke,i,a,!1,null,null,null);const Te=De.exports},99017:(e,t,s)=>{s.d(t,{Kt:()=>l,QJ:()=>r,Vz:()=>o});var i=s(73902),a=s(2566);class r extends Error{constructor(e,t=null,s=null,i=!0,a=!0){super(e,{cause:s}),this.title=t,this.close=i,this.isError=a}}function o(e,t){t instanceof r&&(t.isError?a.A.error(e,t.message,t.title):a.A.ok(e,t.message,t.title))}let n={};async function l(e,t,s){n[s]?n[s]++:n[s]=1;const o=new i.AbortController,l=Object.assign({},e.$config.snotifyDefaults,{timeout:0,type:"async",buttons:[{text:"Cancel",action:()=>{o.abort()}}]});let c;const d=`${s} #${n[s]}`;try{const s="Processing in progress, please wait...",i=()=>new Promise((()=>{}));c=e.$snotify.async(s,d,i,l),await t(o)}catch(u){if(axios.isCancel(u))throw new r("Cancelled successfully",d,u,!1,!1);if("string"!==typeof u.message||!a.A.isObject(u.response)||![400,500].includes(u.response.status))throw new r(u.message,d,u,!1);e.broadcast("viewLogs",[{id:u.id,code:u.code,level:"error",message:u.message,links:u.links||[]}]),a.A.error(e,`${s} failed. Please see the logs for details.`,d)}finally{c&&e.$snotify.remove(c.id,!0)}}},16125:(e,t,s)=>{s.d(t,{A:()=>o});var i=s(14894),a=s(2566);class r extends i.BaseProcess{constructor(e,t){super(e),this.exporter=t}async execute(e){await this.exporter.generateFunction(e)}}class o extends i.ProcessGraph{constructor(e,t,s){super(a.A.isObject(e)?e:{},t),this.connection=s,this.code=[],this.fnCounter=1,this.allowEmpty(),this.fillUndefinedParameters()}createProcessGraphInstance(e){let t=new o(e,this.processRegistry,this.getJsonSchemaValidator());return this.copyProcessGraphInstanceProperties(t)}copyProcessGraphInstanceProperties(e){return e=super.copyProcessGraphInstanceProperties(e),e.connection=this.connection,e}createProcessInstance(e){return new r(e,this)}isKeyword(e){return this.getKeywords().includes(e.toLowerCase())}getKeywords(){return[]}comment(){}generateImports(){}generateConnection(){}generateAuthentication(){}generateBuilder(){}generateMetadata(){}generateMissingParameter(){}async generateFunction(){}generateFunctionParams(e){return e.map((e=>"undefined"!==typeof e.default?`${e.name} = ${this.e(e.default)}`:e.name))}async generateCallback(){}generateResult(){}makeNull(){return"null"}makeBoolean(e){return e?"true":"false"}makeArray(e){return`[${e.join(", ")}]`}makeObject(e){let t=a.A.mapObject(e,((e,t)=>`${this.makeString(t)}: ${e}`));return`{${t.join(", ")}}`}makeString(e){return JSON.stringify(e)}makeNumber(e){return e}e(e){return null===e?this.makeNull():"boolean"===typeof e?this.makeBoolean(e):"number"===typeof e?this.makeNumber(e):"string"===typeof e?this.makeString(e):Array.isArray(e)?this.makeArray(e.map((e=>this.e(e)))):a.A.isObject(e)?this.makeObject(a.A.mapObjectValues(e,(e=>this.e(e)))):"function"===typeof e?e():this.makeNull()}generateMetadata(){let e=!1;for(let t in this.process){if("process_graph"===t)continue;let s=this.process[t];Array.isArray(s)&&0===s.length||("string"===typeof s&&0===s.length||("boolean"!==typeof s||s)&&(e||(this.newLine(),this.comment("Set the metadata for the process"),e=!0),this.generateMetadataEntry(t,s)))}}async resolveArguments(e,t,s){let i=Array.isArray(e)?[]:{};for(let r in e){let n=e[r];if(!s||!s(r,n))if(a.A.isObject(n)){if(n.from_node){i[r]=()=>this.var(n.from_node,this.varPrefix());continue}if(n.from_parameter){i[r]=()=>this.var(n.from_parameter);continue}if(n instanceof o){let e=await t(r);i[r]=()=>e;continue}i[r]=await this.resolveArguments(n,t,s)}else Array.isArray(n)?i[r]=await this.resolveArguments(n,t,s):i[r]=n}return i}async resolveCallback(e,t){let s;if("load_collection"===e.process_id){let i=e.getArgument("properties");s=i[t]}else s=e.getArgument(t);let i=s.getCallbackParameters();await s.execute(i);let a=this.var(`${t}${this.fnCounter++}`,"fn_"),r=await this.generateCallback(s,i,a);return r||a}async generateArguments(e,t=!1,s=null){let i=await this.resolveArguments(e.arguments,(async t=>await this.resolveCallback(e,t)),s);return t&&(i=this.orderArguments(e,i)),i}orderArguments(e,t){let s=e.getProcessGraph().getProcess(e);if(s&&Array.isArray(s.parameters)){let e=s.parameters.map((e=>"undefined"!==typeof t[e.name]?t[e.name]:e.optional?void 0:null)),i=!1;for(let t=e.length-1;t>=0;t--)"undefined"===typeof e[t]?i?e[t]=null:e.pop():i=!0;return e}}varPrefix(){return this.getParent()?"data":"datacube"}var(e,t="var"){return e=String(e),this.isKeyword(e)?`${e}_`:e.match(/^[a-z_]\w*$/)?e:t+e.replace(/[^\w]+/g,"_")}getTab(){return"\t"}addCode(e,t="",s=0){if("string"!==typeof e)return;let i=this.getTab().repeat(s),a=e.trim().split(/\r\n|\r|\n/g);for(let r of a)this.code.push(`${i}${t}${r}\n`)}newLine(e=1){for(let t=0;t0){this.comment("ToDo: Here you need to set values for the parameters");for(let e of t)this.generateMissingParameter(e);this.newLine()}return await this.execute(),e||(this.newLine(),this.comment("The process can be executed synchronously (see below), as batch job or as web service now")),this.generateResult(this.getResultNode(),e),this.code.join("").trim()}async execute(){return await this.validate(),this.reset(),await this.executeNodes(this.getStartNodes()),this.getResultNode()}isMath(){return"undefined"===typeof this._isMath&&(this._isMath=this.processRegistry.isMath(this)),this._isMath}}},47067:(e,t,s)=>{s.d(t,{A:()=>n});var i=s(2566),a=s(16125),r=s(73902);const o=["abstract","arguments","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","eval","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with","yield","builder","connection","formula","openeo","result"];class n extends a.A{constructor(e,t,s,i=!1){super(e,t,s),this.generateFormula=i}createProcessGraphInstance(e){let t=new n(e,this.processRegistry,this.getJsonSchemaValidator(),this.generateFormula);return this.copyProcessGraphInstanceProperties(t)}parse(){this.parsed||super.parse()}getKeywords(){return o}comment(e){this.addCode(e,"// ")}generateImports(){this.addCode("import { OpenEO, Formula } from '@openeo/js-client';")}generateConnection(){this.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`)}generateAuthentication(){this.comment("ToDo: Here you need to add your authentication steps")}generateBuilder(){this.addCode("let builder = await connection.buildProcess();")}generateMetadataEntry(e,t){this.addCode(`builder.${e} = ${this.e(t)};`)}async generateFunction(e){let t=e.getParent()?"this":"builder",s=this.var(e.id,this.varPrefix()),a=await this.generateArguments(e,!e.namespace);if(this.comment(e.description),i.A.isObject(a)){let i=e.namespace?`${e.process_id}@${e.namespace}`:e.process_id;this.addCode(`let ${s} = ${t}.process("${i}", ${this.e(a)});`)}else this.addCode(`let ${s} = ${t}.${e.process_id}(${a.map((e=>this.e(e))).join(", ")});`)}generateMissingParameter(e){this.comment(e.description);let t=this.var(e.name,"param"),s="undefined"!==typeof e.default?e.default:null;this.addCode(`let ${t} = ${this.e(s)};`)}async generateCallback(e,t,s){if(this.generateFormula&&e&&e.isMath()){let t=e.toFormulaString(),s=JSON.stringify(t);return`new Formula(${s})`}{let i=this.generateFunctionParams(t);this.newLine(),this.addCode(`let ${s} = function(${i.join(", ")}) {`),this.addCode(await e.toCode(!0),"",1),this.addCode("}")}}generateResult(e,t){if(!e)return;let s=this.var(e.id,this.varPrefix());t?this.addCode(`return ${s};`):this.addCode(`let result = await connection.computeResult(${s});`)}toFormulaString(){return this.isMath()?this.nodeToFormula(this.getResultNode()):""}getArrayElementPlaceholder(e){if("array_element"===e.process_id&&"parameter"===e.getArgumentType("data")){let t=e.getRawArgument("data").from_parameter,s=this.getCallbackParameters().findIndex((e=>e.name===t));if(s>=0)return"$".repeat(s+1)+(e.getArgument("label")||e.getArgument("index"))}return null}nodeToFormula(e,t=null){if("array_element"===e.process_id){let t=this.getArrayElementPlaceholder(e);if(t)return t}let s=r.Formula.reverseOperatorMapping[e.process_id],a=this.processRegistry.get(e.process_id),o="undefined"!==typeof r.Formula.arrayOperatorMapping[e.process_id],n=t=>{if(i.A.isObject(t))if(t.from_node){let i=e.getProcessGraph().getNode(t.from_node);t=i?this.nodeToFormula(i,s):"#"+t.from_node}else{if(!t.from_parameter)throw new Error("Objects not allowed");t=t.from_parameter}return t},l=[],c=Array.isArray(a.parameters)?a.parameters:[];for(let i of c){let t=n(e.getRawArgument(i.name));if(o&&Array.isArray(t)&&"data"===i.name){l=t.map((e=>n(e)));break}if("undefined"!==typeof t)l.push(t);else{if("undefined"===typeof i.default)throw new Error('Argument for parameter "'+i.name+'" missing');l.push(i.default)}}if(o&&(l=l.filter((e=>null!==e))),s){let e=["/","*"],i=["-","+"],a=l.map((e=>e<0?"("+e+")":e)).join(s);return!t||i.includes(t)&&i.includes(s)||"^"===s||i.includes(t)&&e.includes(s)?a:"("+a+")"}return e.process_id+"("+l.join(", ")+")"}}},44304:(e,t,s)=>{s.d(t,{S:()=>w,Z:()=>k});var i=Object.defineProperty,a=Object.defineProperties,r=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,c=(e,t,s)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,d=(e,t)=>{for(var s in t||(t={}))n.call(t,s)&&c(e,s,t[s]);if(o)for(var s of o(t))l.call(t,s)&&c(e,s,t[s]);return e},u=(e,t)=>a(e,r(t)),p=(e,t)=>{var s={};for(var i in e)n.call(e,i)&&t.indexOf(i)<0&&(s[i]=e[i]);if(null!=e&&o)for(var i of o(e))t.indexOf(i)<0&&l.call(e,i)&&(s[i]=e[i]);return s};function h(e,t,s,i,a,r,o,n){var l,c="function"===typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=s,c._compiled=!0),i&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),o?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},c._ssrRegister=l):a&&(l=n?function(){a.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(e,t){return l.call(t),d(e,t)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:c}}const m={name:"splitpanes",props:{horizontal:{type:Boolean},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean}},provide(){return{requestUpdate:this.requestUpdate,onPaneAdd:this.onPaneAdd,onPaneRemove:this.onPaneRemove,onPaneClick:this.onPaneClick}},data:()=>({container:null,ready:!1,panes:[],touch:{mouseDown:!1,dragging:!1,activeSplitter:null},splitterTaps:{splitter:null,timeoutId:null}}),computed:{panesCount(){return this.panes.length},indexedPanes(){return this.panes.reduce(((e,t)=>(e[t.id]=t)&&e),{})}},methods:{updatePaneComponents(){this.panes.forEach((e=>{e.update&&e.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[e.id].size}%`})}))},bindEvents(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseDown(e,t){this.bindEvents(),this.touch.mouseDown=!0,this.touch.activeSplitter=t},onMouseMove(e){this.touch.mouseDown&&(e.preventDefault(),this.touch.dragging=!0,this.calculatePanesSize(this.getCurrentMouseDrag(e)),this.$emit("resize",this.panes.map((e=>({min:e.min,max:e.max,size:e.size})))))},onMouseUp(){this.touch.dragging&&this.$emit("resized",this.panes.map((e=>({min:e.min,max:e.max,size:e.size})))),this.touch.mouseDown=!1,setTimeout((()=>{this.touch.dragging=!1,this.unbindEvents()}),100)},onSplitterClick(e,t){"ontouchstart"in window&&(e.preventDefault(),this.dblClickSplitter&&(this.splitterTaps.splitter===t?(clearTimeout(this.splitterTaps.timeoutId),this.splitterTaps.timeoutId=null,this.onSplitterDblClick(e,t),this.splitterTaps.splitter=null):(this.splitterTaps.splitter=t,this.splitterTaps.timeoutId=setTimeout((()=>{this.splitterTaps.splitter=null}),500)))),this.touch.dragging||this.$emit("splitter-click",this.panes[t])},onSplitterDblClick(e,t){let s=0;this.panes=this.panes.map(((e,i)=>(e.size=i===t?e.max:e.min,i!==t&&(s+=e.min),e))),this.panes[t].size-=s,this.$emit("pane-maximize",this.panes[t])},onPaneClick(e,t){this.$emit("pane-click",this.indexedPanes[t])},getCurrentMouseDrag(e){const t=this.container.getBoundingClientRect(),{clientX:s,clientY:i}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:s-t.left,y:i-t.top}},getCurrentDragPercentage(e){e=e[this.horizontal?"y":"x"];const t=this.container[this.horizontal?"clientHeight":"clientWidth"];return this.rtl&&!this.horizontal&&(e=t-e),100*e/t},calculatePanesSize(e){const t=this.touch.activeSplitter;let s={prevPanesSize:this.sumPrevPanesSize(t),nextPanesSize:this.sumNextPanesSize(t),prevReachedMinPanes:0,nextReachedMinPanes:0};const i=0+(this.pushOtherPanes?0:s.prevPanesSize),a=100-(this.pushOtherPanes?0:s.nextPanesSize),r=Math.max(Math.min(this.getCurrentDragPercentage(e),a),i);let o=[t,t+1],n=this.panes[o[0]]||null,l=this.panes[o[1]]||null;const c=n.max<100&&r>=n.max+s.prevPanesSize,d=l.max<100&&r<=100-(l.max+this.sumNextPanesSize(t+1));if(c||d)c?(n.size=n.max,l.size=Math.max(100-n.max-s.prevPanesSize-s.nextPanesSize,0)):(n.size=Math.max(100-l.max-s.prevPanesSize-this.sumNextPanesSize(t+1),0),l.size=l.max);else{if(this.pushOtherPanes){const e=this.doPushOtherPanes(s,r);if(!e)return;({sums:s,panesToResize:o}=e),n=this.panes[o[0]]||null,l=this.panes[o[1]]||null}null!==n&&(n.size=Math.min(Math.max(r-s.prevPanesSize-s.prevReachedMinPanes,n.min),n.max)),null!==l&&(l.size=Math.min(Math.max(100-r-s.nextPanesSize-s.nextReachedMinPanes,l.min),l.max))}},doPushOtherPanes(e,t){const s=this.touch.activeSplitter,i=[s,s+1];return t{a>i[0]&&a<=s&&(t.size=t.min,e.prevReachedMinPanes+=t.min)})),e.prevPanesSize=this.sumPrevPanesSize(i[0]),void 0===i[0])?(e.prevReachedMinPanes=0,this.panes[0].size=this.panes[0].min,this.panes.forEach(((t,i)=>{i>0&&i<=s&&(t.size=t.min,e.prevReachedMinPanes+=t.min)})),this.panes[i[1]].size=100-e.prevReachedMinPanes-this.panes[0].min-e.prevPanesSize-e.nextPanesSize,null):t>100-e.nextPanesSize-this.panes[i[1]].min&&(i[1]=this.findNextExpandedPane(s).index,e.nextReachedMinPanes=0,i[1]>s+1&&this.panes.forEach(((t,a)=>{a>s&&a{i=s+1&&(t.size=t.min,e.nextReachedMinPanes+=t.min)})),this.panes[i[0]].size=100-e.prevPanesSize-e.nextReachedMinPanes-this.panes[this.panesCount-1].min-e.nextPanesSize,null):{sums:e,panesToResize:i}},sumPrevPanesSize(e){return this.panes.reduce(((t,s,i)=>t+(it+(i>e+1?s.size:0)),0)},findPrevExpandedPane(e){const t=[...this.panes].reverse().find((t=>t.indext.min));return t||{}},findNextExpandedPane(e){const t=this.panes.find((t=>t.index>e+1&&t.size>t.min));return t||{}},checkSplitpanesNodes(){const e=Array.from(this.container.children);e.forEach((e=>{const t=e.classList.contains("splitpanes__pane"),s=e.classList.contains("splitpanes__splitter");if(!t&&!s)return e.parentNode.removeChild(e),void console.warn("Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.")}))},addSplitter(e,t,s=!1){const i=e-1,a=document.createElement("div");a.classList.add("splitpanes__splitter"),s||(a.onmousedown=e=>this.onMouseDown(e,i),"undefined"!==typeof window&&"ontouchstart"in window&&(a.ontouchstart=e=>this.onMouseDown(e,i)),a.onclick=e=>this.onSplitterClick(e,i+1)),this.dblClickSplitter&&(a.ondblclick=e=>this.onSplitterDblClick(e,i+1)),t.parentNode.insertBefore(a,t)},removeSplitter(e){e.onmousedown=void 0,e.onclick=void 0,e.ondblclick=void 0,e.parentNode.removeChild(e)},redoSplitters(){const e=Array.from(this.container.children);e.forEach((e=>{e.className.includes("splitpanes__splitter")&&this.removeSplitter(e)}));let t=0;e.forEach((e=>{e.className.includes("splitpanes__pane")&&(!t&&this.firstSplitter?this.addSplitter(t,e,!0):t&&this.addSplitter(t,e),t++)}))},requestUpdate(e){var t=e,{target:s}=t,i=p(t,["target"]);const a=this.indexedPanes[s._uid];Object.entries(i).forEach((([e,t])=>a[e]=t))},onPaneAdd(e){let t=-1;Array.from(e.$el.parentNode.children).some((s=>(s.className.includes("splitpanes__pane")&&t++,s===e.$el)));const s=parseFloat(e.minSize),i=parseFloat(e.maxSize);this.panes.splice(t,0,{id:e._uid,index:t,min:isNaN(s)?0:s,max:isNaN(i)?100:i,size:null===e.size?null:parseFloat(e.size),givenSize:e.size,update:e.update}),this.panes.forEach(((e,t)=>e.index=t)),this.ready&&this.$nextTick((()=>{this.redoSplitters(),this.resetPaneSizes({addedPane:this.panes[t]}),this.$emit("pane-add",{index:t,panes:this.panes.map((e=>({min:e.min,max:e.max,size:e.size})))})}))},onPaneRemove(e){const t=this.panes.findIndex((t=>t.id===e._uid)),s=this.panes.splice(t,1)[0];this.panes.forEach(((e,t)=>e.index=t)),this.$nextTick((()=>{this.redoSplitters(),this.resetPaneSizes({removedPane:u(d({},s),{index:t})}),this.$emit("pane-remove",{removed:s,panes:this.panes.map((e=>({min:e.min,max:e.max,size:e.size})))})}))},resetPaneSizes(e={}){e.addedPane||e.removedPane?this.panes.some((e=>null!==e.givenSize||e.min||e.max<100))?this.equalizeAfterAddOrRemove(e):this.equalize():this.initialPanesSizing(),this.ready&&this.$emit("resized",this.panes.map((e=>({min:e.min,max:e.max,size:e.size}))))},equalize(){const e=100/this.panesCount;let t=0,s=[],i=[];this.panes.forEach((a=>{a.size=Math.max(Math.min(e,a.max),a.min),t-=a.size,a.size>=a.max&&s.push(a.id),a.size<=a.min&&i.push(a.id)})),t>.1&&this.readjustSizes(t,s,i)},initialPanesSizing(){this.panesCount;let e=100,t=[],s=[],i=0;this.panes.forEach((a=>{e-=a.size,null!==a.size&&i++,a.size>=a.max&&t.push(a.id),a.size<=a.min&&s.push(a.id)}));let a=100;e>.1&&(this.panes.forEach((t=>{null===t.size&&(t.size=Math.max(Math.min(e/(this.panesCount-i),t.max),t.min)),a-=t.size})),a>.1&&this.readjustSizes(e,t,s))},equalizeAfterAddOrRemove({addedPane:e,removedPane:t}={}){let s=100/this.panesCount,i=0,a=[],r=[];e&&null!==e.givenSize&&(s=(100-e.givenSize)/(this.panesCount-1)),this.panes.forEach((e=>{i-=e.size,e.size>=e.max&&a.push(e.id),e.size<=e.min&&r.push(e.id)})),Math.abs(i)<.1||(this.panes.forEach((t=>{e&&null!==e.givenSize&&e.id===t.id||(t.size=Math.max(Math.min(s,t.max),t.min)),i-=t.size,t.size>=t.max&&a.push(t.id),t.size<=t.min&&r.push(t.id)})),i>.1&&this.readjustSizes(i,a,r))},readjustSizes(e,t,s){let i;i=e>0?e/(this.panesCount-t.length):e/(this.panesCount-s.length),this.panes.forEach(((a,r)=>{if(e>0&&!t.includes(a.id)){const t=Math.max(Math.min(a.size+i,a.max),a.min),s=t-a.size;e-=s,a.size=t}else if(!s.includes(a.id)){const t=Math.max(Math.min(a.size+i,a.max),a.min),s=t-a.size;e-=s,a.size=t}a.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[a.id].size}%`})})),Math.abs(e)>.1&&this.$nextTick((()=>{this.ready&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")}))}},watch:{panes:{deep:!0,immediate:!1,handler(){this.updatePaneComponents()}},horizontal(){this.updatePaneComponents()},firstSplitter(){this.redoSplitters()},dblClickSplitter(e){const t=[...this.container.querySelectorAll(".splitpanes__splitter")];t.forEach(((t,s)=>{t.ondblclick=e?e=>this.onSplitterDblClick(e,s):void 0}))}},beforeDestroy(){this.ready=!1},mounted(){this.container=this.$refs.container,this.checkSplitpanesNodes(),this.redoSplitters(),this.resetPaneSizes(),this.$emit("ready"),this.ready=!0},render(e){return e("div",{ref:"container",class:["splitpanes","splitpanes--"+(this.horizontal?"horizontal":"vertical"),{"splitpanes--dragging":this.touch.dragging}]},this.$slots.default)}};let f,g;const v={};var y=h(m,f,g,!1,b,null,null,null);function b(e){for(let t in v)this[t]=v[t]}var w=function(){return y.exports}(),S=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"splitpanes__pane",style:e.style,on:{click:function(t){return e.onPaneClick(t,e._uid)}}},[e._t("default")],2)},A=[];const x={name:"pane",inject:["requestUpdate","onPaneAdd","onPaneRemove","onPaneClick"],props:{size:{type:[Number,String],default:null},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},data:()=>({style:{}}),mounted(){this.onPaneAdd(this)},beforeDestroy(){this.onPaneRemove(this)},methods:{update(e){this.style=e}},computed:{sizeNumber(){return this.size||0===this.size?parseFloat(this.size):null},minSizeNumber(){return parseFloat(this.minSize)},maxSizeNumber(){return parseFloat(this.maxSize)}},watch:{sizeNumber(e){this.requestUpdate({target:this,size:e})},minSizeNumber(e){this.requestUpdate({target:this,min:e})},maxSizeNumber(e){this.requestUpdate({target:this,max:e})}}},P={};var C=h(x,S,A,!1,_,null,null,null);function _(e){for(let t in P)this[t]=P[t]}var k=function(){return C.exports}()}}]); -//# sourceMappingURL=7213.1f19366c.js.map \ No newline at end of file +//# sourceMappingURL=7213.456d73fc.js.map \ No newline at end of file diff --git a/js/7213.1f19366c.js.map b/js/7213.456d73fc.js.map similarity index 99% rename from js/7213.1f19366c.js.map rename to js/7213.456d73fc.js.map index 47f1feb1..fb77f0c8 100644 --- a/js/7213.1f19366c.js.map +++ b/js/7213.456d73fc.js.map @@ -1 +1 @@ -{"version":3,"file":"js/7213.1f19366c.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/components/IDE.vue","webpack://@openeo/web-editor/./src/components/UserMenu.vue","webpack://@openeo/web-editor/src/components/UserMenu.vue","webpack://@openeo/web-editor/./src/components/UserMenu.vue?2d6a","webpack://@openeo/web-editor/./src/components/UserMenu.vue?bef9","webpack://@openeo/web-editor/./src/components/UserWorkspace.vue","webpack://@openeo/web-editor/./src/components/FilePanel.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/DataTable.vue?76b4","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/DataTable.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/DataTable.vue?fc7a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/DataTable.vue","webpack://@openeo/web-editor/./src/components/WorkPanelMixin.js","webpack://@openeo/web-editor/./src/components/SyncButton.vue","webpack://@openeo/web-editor/src/components/SyncButton.vue","webpack://@openeo/web-editor/./src/components/SyncButton.vue?e941","webpack://@openeo/web-editor/./src/components/SyncButton.vue?1272","webpack://@openeo/web-editor/src/components/FilePanel.vue","webpack://@openeo/web-editor/./src/components/FilePanel.vue?6c4a","webpack://@openeo/web-editor/./src/components/FilePanel.vue?8f48","webpack://@openeo/web-editor/./src/components/JobPanel.vue","webpack://@openeo/web-editor/./src/components/FieldMixin.js","webpack://@openeo/web-editor/src/components/JobPanel.vue","webpack://@openeo/web-editor/./src/components/JobPanel.vue?b003","webpack://@openeo/web-editor/./src/components/JobPanel.vue?0eb9","webpack://@openeo/web-editor/./src/components/CustomProcessPanel.vue","webpack://@openeo/web-editor/src/components/CustomProcessPanel.vue","webpack://@openeo/web-editor/./src/components/CustomProcessPanel.vue?5bb8","webpack://@openeo/web-editor/./src/components/CustomProcessPanel.vue?0871","webpack://@openeo/web-editor/./src/components/ServicePanel.vue","webpack://@openeo/web-editor/src/components/ServicePanel.vue","webpack://@openeo/web-editor/./src/components/ServicePanel.vue?2fc5","webpack://@openeo/web-editor/./src/components/ServicePanel.vue?9da8","webpack://@openeo/web-editor/src/components/UserWorkspace.vue","webpack://@openeo/web-editor/./src/components/UserWorkspace.vue?3da1","webpack://@openeo/web-editor/./src/components/UserWorkspace.vue?daff","webpack://@openeo/web-editor/./src/components/Viewer.vue","webpack://@openeo/web-editor/src/components/Viewer.vue","webpack://@openeo/web-editor/./src/components/Viewer.vue?85cf","webpack://@openeo/web-editor/./src/components/Viewer.vue?7166","webpack://@openeo/web-editor/src/components/IDE.vue","webpack://@openeo/web-editor/./src/components/IDE.vue?eae2","webpack://@openeo/web-editor/./src/components/IDE.vue?7c7b","webpack://@openeo/web-editor/./src/components/cancellableRequest.js","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js","webpack://@openeo/web-editor/./node_modules/splitpanes/dist/splitpanes.es.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"wrapper\"}},[_c('div',{class:{authenticated: _vm.isAuthenticated, appMode: Boolean(_vm.appMode)},attrs:{\"id\":\"ide\"}},[_c('header',{staticClass:\"navbar\"},[_c('Logo'),_c('ul',{attrs:{\"id\":\"menu\"}},[_c('li',[_c('div',{staticClass:\"menuItem\",attrs:{\"title\":\"Start a guided tour\"},on:{\"click\":_vm.showHelp}},[_c('i',{staticClass:\"fas fa-question-circle fa-fw\"}),_vm._v(\"Help\")])]),_c('li',[_c('div',{staticClass:\"menuItem\",attrs:{\"title\":\"Start the process wizard\"},on:{\"click\":function($event){return _vm.showWizard()}}},[_c('i',{staticClass:\"fas fa-magic fa-fw\"}),_vm._v(\"Wizard\")])]),_c('li',[_c('div',{staticClass:\"menuItem\",attrs:{\"title\":\"Get server information\"},on:{\"click\":_vm.showServerInfo}},[_c('i',{staticClass:\"fas fa-info-circle fa-fw\"}),_vm._v(\"Server\")])]),_c('li',[_c('UserMenu')],1)])],1),_c('Splitpanes',{staticClass:\"default-theme\",on:{\"resize\":_vm.resized,\"pane-maximize\":_vm.resized}},[_c('Pane',{attrs:{\"id\":\"discovery\",\"size\":_vm.splitpaneSizeH[0]}},[_c('DiscoveryToolbar',{staticClass:\"toolbar tour-ide-discovery\",attrs:{\"onAddProcess\":_vm.insertProcess,\"collectionPreview\":true,\"persist\":true}})],1),_c('Pane',{attrs:{\"id\":\"workspace\",\"size\":_vm.splitpaneSizeH[1]}},[_c('Splitpanes',{staticClass:\"default-theme\",attrs:{\"horizontal\":\"\"},on:{\"resize\":_vm.resized,\"pane-maximize\":_vm.resized}},[_c('Pane',{attrs:{\"id\":\"editor\",\"size\":_vm.splitpaneSizeV[0]}},[_c('Editor',{ref:\"editor\",staticClass:\"mainEditor tour-ide-editor\",attrs:{\"id\":\"main\",\"value\":_vm.process,\"title\":_vm.contextTitle,\"showIntro\":\"\"},on:{\"input\":_vm.updateEditor},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.saveSupported),expression:\"saveSupported\"}],attrs:{\"type\":\"button\",\"disabled\":!_vm.hasProcess,\"title\":'Save to ' + _vm.contextTitle},on:{\"click\":_vm.saveProcess}},[_c('i',{staticClass:\"fas fa-save\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasProcess,\"title\":\"Export into another programming language\"},on:{\"click\":_vm.exportCode}},[_c('i',{staticClass:\"fas fa-file-export\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.validateSupported),expression:\"validateSupported\"}],attrs:{\"type\":\"button\",\"disabled\":!_vm.hasProcess,\"title\":\"Validate process on server-side\"},on:{\"click\":_vm.validateProcess}},[_c('i',{staticClass:\"fas fa-tasks\"})])]},proxy:true}])})],1),_c('Pane',{attrs:{\"id\":\"user\",\"size\":_vm.splitpaneSizeV[1]}},[(_vm.isAuthenticated)?_c('UserWorkspace',{staticClass:\"userContent tour-ide-workspace\"}):_c('div',{staticClass:\"message info\",attrs:{\"title\":\"Login is required to interact with the server.\"}},[_c('i',{staticClass:\"fas fa-sign-in-alt\"}),_c('span',{staticClass:\"login-message\"},[_c('strong',[_c('a',{on:{\"click\":_vm.login}},[_vm._v(\"Log in\")])]),_vm._v(\" is required to interact with the server.\")])])],1)],1)],1),_c('Pane',{class:{empty: !_vm.showViewer},attrs:{\"id\":\"viewer\",\"size\":_vm.splitpaneSizeH[2]}},[_c('Viewer',{staticClass:\"tour-ide-viewer\",on:{\"empty\":_vm.onViewerEmpty}})],1)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"UserMenu\"}},[_c('div',{staticClass:\"menuItem\"},[_vm._m(0),_c('div',{staticClass:\"data\"},[_c('span',{staticClass:\"name nowrap\"},[_c('i',{staticClass:\"fas fa-user\"}),_vm._v(\" \"+_vm._s(_vm.userName))]),(_vm.budget)?_c('span',{staticClass:\"credits nowrap\"},[_c('i',{staticClass:\"fas fa-dollar-sign fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.budget))]):_vm._e(),(_vm.hasStorage)?_c('span',{staticClass:\"storage nowrap\"},[_c('i',{staticClass:\"fas fa-database fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.storageUsedPercent)+\"% used\")]):_vm._e()])]),_c('div',{staticClass:\"dropdown\"},[(_vm.profileLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.profileLink.href,\"target\":\"_blank\"}},[_vm._v(\"Welcome, \"+_vm._s(_vm.userName)+\"!\")]):_c('div',{staticClass:\"item\"},[_vm._v(\"Welcome, \"+_vm._s(_vm.userName)+\"!\")]),(_vm.isAuthenticated)?[(_vm.hasProfile)?_c('a',{staticClass:\"item\",on:{\"click\":function($event){$event.preventDefault();return _vm.userDetails.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-user\"}),_vm._v(\" Profile\")]):_vm._e(),(_vm.settingsLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.settingsLink.href,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-user-edit\"}),_vm._v(\" \"+_vm._s(_vm.settingsLink.title || 'Edit Profile'))]):_vm._e(),_c('a',{staticClass:\"item\",on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"}),_vm._v(\" Logout\")])]:[_c('a',{staticClass:\"item\",on:{\"click\":function($event){$event.preventDefault();return _vm.login.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-sign-in-alt\"}),_vm._v(\" Login\")]),(_vm.registerLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.registerLink.href,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-user-plus\"}),_vm._v(\" Register\")]):_vm._e(),(_vm.passwordLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.passwordLink.href,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-key\"}),_vm._v(\" Forgotten Password?\")]):_vm._e()],(!_vm.$config.serverUrl)?_c('a',{staticClass:\"item\",on:{\"click\":function($event){$event.preventDefault();return _vm.disconnect.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"}),_vm._v(\" Disconnect\")]):_vm._e(),(_vm.userLinks.length > 0)?[_c('hr'),_vm._l((_vm.userLinks),function(link,key){return _c('a',{key:key,staticClass:\"item\",attrs:{\"href\":link.href,\"target\":\"_blank\",\"rel\":link.rel}},[_vm._v(_vm._s(link.title))])})]:_vm._e(),(_vm.budget || _vm.userInfo.default_plan || _vm.paymentLink)?[_c('hr'),_c('div',{staticClass:\"item\"},[_c('h4',[_vm._v(\"Billing\")]),(_vm.userInfo.default_plan)?_c('div',{staticClass:\"secondary-text\"},[_vm._v(\"Plan: \"+_vm._s(_vm.userInfo.default_plan))]):_vm._e(),(_vm.budget)?_c('div',{staticClass:\"secondary-text\"},[_vm._v(\"Budget: \"+_vm._s(_vm.budget))]):_vm._e()]),(_vm.paymentLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.paymentLink.href,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-credit-card\"}),_vm._v(\" \"+_vm._s(_vm.paymentLink.title || 'Recharge'))]):_vm._e()]:_vm._e(),(_vm.hasStorage)?[_c('hr'),_c('div',{staticClass:\"item\"},[_c('h4',[_vm._v(\"Storage\")]),_c('div',{staticClass:\"secondary-text nowrap\"},[_vm._v(\"Used \"+_vm._s(_vm.formatMegabyte(_vm.storageUsed))+\" of \"+_vm._s(_vm.formatMegabyte(_vm.userInfo.storage.quota))+\".\")]),_c('div',{staticClass:\"storagePercent\"},[_c('div',{staticClass:\"used\",style:('width: ' + _vm.storageUsedPercent + '%')})])])]:_vm._e()],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"down\"},[_c('i',{staticClass:\"fas fa-chevron-down\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserMenu.vue?vue&type=template&id=23c6ba20&scoped=true\"\nimport script from \"./UserMenu.vue?vue&type=script&lang=js\"\nexport * from \"./UserMenu.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserMenu.vue?vue&type=style&index=0&id=23c6ba20&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"23c6ba20\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",attrs:{\"id\":\"userContent\"}},[(_vm.showJobs)?_c('Tab',{attrs:{\"id\":\"jobs\",\"name\":\"Data Processing\",\"icon\":\"fa-tasks\"},on:{\"show\":_vm.onShow,\"hide\":_vm.onHide}},[_c('JobPanel')],1):_vm._e(),(_vm.showServices)?_c('Tab',{attrs:{\"id\":\"services\",\"name\":\"Web Services\",\"icon\":\"fa-cloud\"},on:{\"show\":_vm.onShow,\"hide\":_vm.onHide}},[_c('ServicePanel')],1):_vm._e(),(_vm.showCustomProcesses)?_c('Tab',{attrs:{\"id\":\"customProcesses\",\"name\":\"Custom Processes\",\"icon\":\"fa-sitemap\"},on:{\"show\":_vm.onShow,\"hide\":_vm.onHide}},[_c('CustomProcessPanel')],1):_vm._e(),(_vm.showFiles)?_c('Tab',{attrs:{\"id\":\"files\",\"name\":\"Files\",\"icon\":\"fa-file\"},on:{\"show\":_vm.onShow,\"hide\":_vm.onHide}},[_c('FilePanel')],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"FilePanel\"},on:{\"dragenter\":function($event){return _vm.dropZoneInfo(true)},\"dragleave\":function($event){return _vm.dropZoneInfo(false)},\"drop\":_vm.uploadFiles,\"dragover\":_vm.allowDrop}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showUploadDropHint),expression:\"showUploadDropHint\"}],staticClass:\"dropZone\"},[_vm._v(\"To upload files, drop them here.\")]),_c('DataTable',{ref:\"table\",attrs:{\"data\":_vm.data,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"actions\",fn:function(p){return [_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Download\"},on:{\"click\":function($event){return _vm.downloadFile(p.row)}}},[_c('i',{staticClass:\"fas fa-download\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDelete),expression:\"supportsDelete\"}],attrs:{\"title\":\"Delete\"},on:{\"click\":function($event){return _vm.deleteFile(p.row)}}},[_c('i',{staticClass:\"fas fa-trash\"})])]}}])},[_c('template',{slot:\"toolbar\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsCreate),expression:\"supportsCreate\"}],staticClass:\"upload\"},[_c('div',{staticClass:\"percent\",class:{active: this.uploadProgress > 0}},[_c('div',{staticClass:\"used\",class:{error: _vm.uploadErrored},style:('width: ' + this.uploadProgress + '%; opacity: ' + this.uploadFadeOut)})]),_c('div',{staticClass:\"addFile\"},[_c('input',{ref:\"uploadUserFile\",staticClass:\"uploadUserFile\",attrs:{\"type\":\"file\",\"name\":\"uploadUserFile\",\"multiple\":\"\"},on:{\"change\":_vm.uploadFiles}})])]),_c('SyncButton',{attrs:{\"name\":\"files\",\"sync\":() => _vm.updateData(true)}})],1)],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component data-table\"},[_c('div',{staticClass:\"menu\"},[_c('div',{staticClass:\"toolbar\"},[_vm._t(\"toolbar\")],2),(_vm.hasData)?_c('div',{staticClass:\"filter\"},[_c('SearchBox',{attrs:{\"compact\":true},model:{value:(_vm.filterValue),callback:function ($$v) {_vm.filterValue=$$v},expression:\"filterValue\"}})],1):_vm._e()]),(_vm.hasData)?_c('table',[_c('thead',[_c('tr',_vm._l((_vm.columns),function(col,id){return _c('th',{directives:[{name:\"show\",rawName:\"v-show\",value:(!col.hide),expression:\"!col.hide\"}],key:col.name,class:_vm.thClasses(id),attrs:{\"title\":_vm.thTitle(id)},on:{\"click\":function($event){return _vm.enableSort(id)}}},[_vm._v(_vm._s(col.name))])}),0)]),_c('tbody',[_vm._l((_vm.view),function(row,i){return _c('tr',{key:i},_vm._l((_vm.columns),function(col,id){return _c('td',{directives:[{name:\"show\",rawName:\"v-show\",value:(!col.hide),expression:\"!col.hide\"}],key:`${col.name}_${i}`,class:[id, {'edit': _vm.canEdit(col)}],attrs:{\"title\":_vm.canEdit(col) ? 'Double-click to change the value' : false,\"data-value\":col.stylable ? _vm.value(row, col, id) : false},on:{\"dblclick\":function($event){return _vm.onDblClick($event, row, col, id)}}},[_vm._t(id,function(){return [(_vm.showEditField(row, col, id))?[_c('form',{on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.saveEditField($event, row, col, id)}}},[_c('input',{ref:\"editField\",refInFor:true,attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.value(row, col, id)},on:{\"blur\":function($event){return _vm.saveEditField($event, row, col, id)},\"keyup\":function($event){return _vm.resetEditFieldEsc($event, row, col, id)}}})])]:_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.formattedValue(row, col, id))}})]},{\"row\":row,\"col\":col,\"id\":id})],2)}),0)}),(_vm.hasData && _vm.view.length == 0)?_c('tr',{staticClass:\"no-results\"},[_c('td',{attrs:{\"colspan\":_vm.columnCount}},[_vm._v(\"No element matches your search criteria.\")])]):_vm._e()],2)]):_c('div',{staticClass:\"no-data\"},[_vm._v(_vm._s(_vm.noDataMessage))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DataTable.vue?vue&type=template&id=aed041f4\"\nimport script from \"./DataTable.vue?vue&type=script&lang=js\"\nexport * from \"./DataTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./DataTable.vue?vue&type=style&index=0&id=aed041f4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DataTable from '@openeo/vue-components/components/DataTable.vue';\nimport Utils from '../utils.js';\n\nexport default (namespace, singular, plural, loadInitially = true) => {\n\treturn {\n\t\tcomponents: {\n\t\t\tDataTable\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tsyncTimer: null,\n\t\t\t\tlastSyncTime: null\n\t\t\t};\n\t\t},\n\t\tmounted() {\n\t\t\tif (loadInitially) {\n\t\t\t\tthis.updateData();\n\t\t\t}\n\t\t},\n\t\tbeforeDestroy() {\n\t\t\tthis.stopSyncTimer();\n\t\t},\n\t\tcomputed: {\n\t\t\t...Utils.mapState(namespace, {data: namespace}),\n\t\t\t...Utils.mapGetters(namespace, ['supportsList', 'supportsCreate', 'supportsRead', 'supportsUpdate', 'supportsDelete'])\n\t\t},\n\t\tmethods: {\n\t\t\t...Utils.mapActions(namespace, ['list', 'create', 'read', 'update', 'delete']),\n\t\t\tgetTable() { // To be overridden\n\t\t\t\treturn this.$refs && this.$refs.table ? this.$refs.table : null;\n\t\t\t},\n\t\t\tonShow() {\n\t\t\t\tthis.updateData().catch(error => Utils.exception(this, error, `Updating ${plural} failed`));\n\t\t\t\tthis.startSyncTimer();\n\t\t\t},\n\t\t\tonHide() {\n\t\t\t\tthis.stopSyncTimer();\n\t\t\t},\n\t\t\tstartSyncTimer() {\n\t\t\t\tif (this.supportsList && this.syncTimer === null) {\n\t\t\t\t\tthis.syncTimer = setInterval(this.updateData, this.getSyncInterval());\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopSyncTimer() {\n\t\t\t\tif (this.syncTimer !== null) {\n\t\t\t\t\tclearInterval(this.syncTimer);\n\t\t\t\t\tthis.syncTimer = null;\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetSyncInterval() {\n\t\t\t\treturn this.$config.dataRefreshInterval*60*1000; // Refresh data every x minutes\n\t\t\t},\n\t\t\tasync refreshElement(obj, callback = null) {\n\t\t\t\tvar old = Object.assign({}, obj);\n\t\t\t\ttry {\n\t\t\t\t\tlet updated = await this.read({data: obj});\n\t\t\t\t\tif (typeof callback === 'function') {\n\t\t\t\t\t\tcallback(updated, old);\n\t\t\t\t\t}\n\t\t\t\t} catch(error) {\n\t\t\t\t\tUtils.exception(this, error, \"Load \" + singular + \" error\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync updateData(force = false) {\n\t\t\t\tvar table = this.getTable();\n\t\t\t\tvar nextSyncTime = Date.now() - this.getSyncInterval();\n\t\t\t\tif (!table || (!force && this.lastSyncTime > nextSyncTime)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\telse if (!this.supportsList) {\n\t\t\t\t\ttable.setNoData(\"Sorry, listing stored \" + plural + \" is not supported by the server.\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar isUpdate = this.data.length > 0;\n\t\t\t\t\tif (!isUpdate) {\n\t\t\t\t\t\ttable.setNoData(\"Loading \" + plural + \"...\");\n\t\t\t\t\t}\n\t\t\t\t\tthis.lastSyncTime = Date.now();\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = await this.list();\n\t\t\t\t\t\tif(data.length == 0) {\n\t\t\t\t\t\t\ttable.setNoData(\"Add your first \" + singular + \" here...\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\tif (!isUpdate) {\n\t\t\t\t\t\t\tUtils.exception(this, error);\n\t\t\t\t\t\t\ttable.setNoData(\"Sorry, unable to load data from the server.\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t};\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"data-sync\",attrs:{\"title\":_vm.title},on:{\"click\":_vm.update}},[(_vm.syncState === true)?_c('i',{staticClass:\"fas fa-check\"}):(_vm.syncState === false)?_c('i',{staticClass:\"fas fa-times\"}):_c('i',{staticClass:\"fas fa-sync\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SyncButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SyncButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SyncButton.vue?vue&type=template&id=b21f72c4&scoped=true\"\nimport script from \"./SyncButton.vue?vue&type=script&lang=js\"\nexport * from \"./SyncButton.vue?vue&type=script&lang=js\"\nimport style0 from \"./SyncButton.vue?vue&type=style&index=0&id=b21f72c4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b21f72c4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FilePanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FilePanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FilePanel.vue?vue&type=template&id=4b241505\"\nimport script from \"./FilePanel.vue?vue&type=script&lang=js\"\nexport * from \"./FilePanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./FilePanel.vue?vue&type=style&index=0&id=4b241505&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('DataTable',{ref:\"table\",staticClass:\"JobPanel\",attrs:{\"data\":_vm.data,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"actions\",fn:function(p){return [_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Details\"},on:{\"click\":function($event){return _vm.showJobInfo(p.row)}}},[_c('i',{staticClass:\"fas fa-info\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsEstimate),expression:\"supportsEstimate\"}],attrs:{\"title\":\"Estimate\"},on:{\"click\":function($event){return _vm.estimateJob(p.row)}}},[_c('i',{staticClass:\"fas fa-file-invoice-dollar\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsUpdate),expression:\"supportsUpdate\"}],attrs:{\"title\":\"Edit metadata\",\"disabled\":!_vm.isJobInactive(p.row)},on:{\"click\":function($event){return _vm.editMetadata(p.row)}}},[_c('i',{staticClass:\"fas fa-edit\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Edit process\"},on:{\"click\":function($event){return _vm.showInEditor(p.row)}}},[_c('i',{staticClass:\"fas fa-project-diagram\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDelete),expression:\"supportsDelete\"}],attrs:{\"title\":\"Delete\"},on:{\"click\":function($event){return _vm.deleteJob(p.row)}}},[_c('i',{staticClass:\"fas fa-trash\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsStart && _vm.isJobInactive(p.row)),expression:\"supportsStart && isJobInactive(p.row)\"}],attrs:{\"title\":\"Start processing\"},on:{\"click\":function($event){return _vm.queueJob(p.row)}}},[_c('i',{staticClass:\"fas fa-play-circle\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsStop && _vm.isJobActive(p.row)),expression:\"supportsStop && isJobActive(p.row)\"}],attrs:{\"title\":\"Cancel processing\"},on:{\"click\":function($event){return _vm.cancelJob(p.row)}}},[_c('i',{staticClass:\"fas fa-stop-circle\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDownloadResults && _vm.mayHaveResults(p.row)),expression:\"supportsDownloadResults && mayHaveResults(p.row)\"}],attrs:{\"title\":\"Download\"},on:{\"click\":function($event){return _vm.downloadResults(p.row)}}},[_c('i',{staticClass:\"fas fa-download\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDownloadResults && _vm.mayHaveResults(p.row)),expression:\"supportsDownloadResults && mayHaveResults(p.row)\"}],attrs:{\"title\":\"View results\"},on:{\"click\":function($event){return _vm.viewResults(p.row, true)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.canShare && _vm.supports('downloadResults') && _vm.mayHaveResults(p.row)),expression:\"canShare && supports('downloadResults') && mayHaveResults(p.row)\"}],attrs:{\"title\":\"Export / Share\"},on:{\"click\":function($event){return _vm.shareResults(p.row)}}},[_c('i',{staticClass:\"fas fa-share\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDebug),expression:\"supportsDebug\"}],attrs:{\"title\":\"View logs\"},on:{\"click\":function($event){return _vm.showLogs(p.row)}}},[_c('i',{staticClass:\"fas fa-bug\"})])]}}])},[_c('template',{slot:\"toolbar\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsCreate),expression:\"supportsCreate\"}],attrs:{\"title\":\"Add new job for batch processing\",\"disabled\":!this.hasProcess},on:{\"click\":function($event){return _vm.createJobFromScript()}}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" Create Batch Job\")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supports('computeResult')),expression:\"supports('computeResult')\"}],attrs:{\"title\":\"Run the process directly and view the results without storing them permanently\",\"disabled\":!this.hasProcess},on:{\"click\":_vm.executeProcess}},[_c('i',{staticClass:\"fas fa-play\"}),_vm._v(\" Run now\")]),(_vm.supportsList)?_c('SyncButton',{attrs:{\"name\":\"batch jobs\",\"sync\":() => _vm.updateData(true)}}):_vm._e()],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n methods: {\n\t\tgetTitleField(value = null) {\n\t\t\treturn {\n\t\t\t\tname: 'title',\n\t\t\t\tlabel: 'Title',\n\t\t\t\tschema: {type: 'string'},\n\t\t\t\tdefault: null,\n\t\t\t\tvalue: value,\n\t\t\t\toptional: true\n\t\t\t};\n\t\t},\n\t\tgetDescriptionField(value = null) {\n\t\t\treturn {\n\t\t\t\tname: 'description',\n\t\t\t\tlabel: 'Description',\n\t\t\t\tschema: {type: 'string', subtype: 'commonmark'},\n\t\t\t\tdefault: null,\n\t\t\t\tvalue: value,\n\t\t\t\tdescription: 'CommonMark (Markdown) is allowed.',\n\t\t\t\toptional: true\n\t\t\t};\n\t\t},\n\t\tgetLogLevelField(value = undefined) {\n\t\t\treturn {\n\t\t\t\tname: 'log_level',\n\t\t\t\tlabel: 'Log level',\n\t\t\t\tschema: {type: 'string', enum: ['debug', 'info', 'warning', 'error']},\n\t\t\t\tdefault: 'info',\n\t\t\t\tvalue: value,\n\t\t\t\tdescription: 'The minimum severity level for log entries that the back-end stores for the processing request.\\n\\ndebug (all logs) > info > warning > error (only errors)',\n\t\t\t\toptional: true\n\t\t\t};\n\t\t},\n\t\tgetBillingPlanField(value = undefined) {\n\t\t\treturn {\n\t\t\t\tname: 'plan',\n\t\t\t\tlabel: 'Billing plan',\n\t\t\t\tschema: {type: 'string', subtype: 'billing-plan'},\n\t\t\t\tvalue: value,\n\t\t\t\toptional: true\n\t\t\t};\n\t\t},\n\t\tgetBudgetField(value = null) {\n\t\t\treturn {\n\t\t\t\tname: 'budget',\n\t\t\t\tlabel: 'Budget limit',\n\t\t\t\tschema: {type: 'number', subtype: 'budget'},\n\t\t\t\tdefault: null,\n\t\t\t\tvalue: value,\n\t\t\t\toptional: true\n\t\t\t};\n\t\t}\n }\n};","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./JobPanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./JobPanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./JobPanel.vue?vue&type=template&id=3637f4da\"\nimport script from \"./JobPanel.vue?vue&type=script&lang=js\"\nexport * from \"./JobPanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./JobPanel.vue?vue&type=style&index=0&id=3637f4da&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('DataTable',{ref:\"table\",staticClass:\"CustomProcessPanel\",attrs:{\"data\":_vm.data,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"actions\",fn:function(p){return [_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Details\"},on:{\"click\":function($event){return _vm.processInfo(p.row)}}},[_c('i',{staticClass:\"fas fa-info\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Edit process\"},on:{\"click\":function($event){return _vm.showInEditor(p.row)}}},[_c('i',{staticClass:\"fas fa-project-diagram\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDelete),expression:\"supportsDelete\"}],attrs:{\"title\":\"Delete\"},on:{\"click\":function($event){return _vm.deleteProcess(p.row)}}},[_c('i',{staticClass:\"fas fa-trash\"})])]}}])},[_c('template',{slot:\"toolbar\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsCreate),expression:\"supportsCreate\"}],attrs:{\"title\":\"Add new custom process\",\"disabled\":!this.hasProcess},on:{\"click\":_vm.addProcessFromScript}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" Add\")]),_c('SyncButton',{attrs:{\"name\":\"custom processes\",\"sync\":() => _vm.updateData(true)}})],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CustomProcessPanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CustomProcessPanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CustomProcessPanel.vue?vue&type=template&id=7a5bc17c\"\nimport script from \"./CustomProcessPanel.vue?vue&type=script&lang=js\"\nexport * from \"./CustomProcessPanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./CustomProcessPanel.vue?vue&type=style&index=0&id=7a5bc17c&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('DataTable',{ref:\"table\",staticClass:\"ServicePanel\",attrs:{\"data\":_vm.data,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"actions\",fn:function(p){return [_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Details\"},on:{\"click\":function($event){return _vm.serviceInfo(p.row)}}},[_c('i',{staticClass:\"fas fa-info\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsUpdate),expression:\"supportsUpdate\"}],attrs:{\"title\":\"Edit metadata\"},on:{\"click\":function($event){return _vm.editMetadata(p.row)}}},[_c('i',{staticClass:\"fas fa-edit\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Edit process\"},on:{\"click\":function($event){return _vm.showInEditor(p.row)}}},[_c('i',{staticClass:\"fas fa-project-diagram\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDelete),expression:\"supportsDelete\"}],attrs:{\"title\":\"Delete\"},on:{\"click\":function($event){return _vm.deleteService(p.row)}}},[_c('i',{staticClass:\"fas fa-trash\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(p.row.enabled && _vm.isMapServiceSupported(p.row.type)),expression:\"p.row.enabled && isMapServiceSupported(p.row.type)\"}],attrs:{\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.viewService(p.row)}}},[_c('i',{staticClass:\"fas fa-map\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(p.row.enabled && _vm.canShare),expression:\"p.row.enabled && canShare\"}],attrs:{\"title\":\"Export / Share\"},on:{\"click\":function($event){return _vm.shareResults(p.row)}}},[_c('i',{staticClass:\"fas fa-share\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDebug),expression:\"supportsDebug\"}],attrs:{\"title\":\"View logs\"},on:{\"click\":function($event){return _vm.showLogs(p.row)}}},[_c('i',{staticClass:\"fas fa-bug\"})])]}}])},[_c('template',{slot:\"toolbar\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsCreate),expression:\"supportsCreate\"}],attrs:{\"title\":\"Add new permanently stored web service\",\"disabled\":!this.hasProcess},on:{\"click\":function($event){return _vm.createServiceFromScript()}}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" Create\")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsQuickView),expression:\"supportsQuickView\"}],attrs:{\"title\":\"Quickly show the process on map without storing it permanently\",\"disabled\":!this.hasProcess},on:{\"click\":function($event){return _vm.quickViewServiceFromScript()}}},[_c('i',{staticClass:\"fas fa-map\"}),_vm._v(\" Show on Map\")]),_c('SyncButton',{attrs:{\"name\":\"web services\",\"sync\":() => _vm.updateData(true)}})],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ServicePanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ServicePanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServicePanel.vue?vue&type=template&id=a1c0ce84\"\nimport script from \"./ServicePanel.vue?vue&type=script&lang=js\"\nexport * from \"./ServicePanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./ServicePanel.vue?vue&type=style&index=0&id=a1c0ce84&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserWorkspace.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserWorkspace.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserWorkspace.vue?vue&type=template&id=413fd761\"\nimport script from \"./UserWorkspace.vue?vue&type=script&lang=js\"\nexport * from \"./UserWorkspace.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserWorkspace.vue?vue&type=style&index=0&id=413fd761&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"viewerContainer\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[_c('Tabs',{ref:\"tabs\",attrs:{\"id\":\"viewerTabs\",\"allowTabRename\":\"\"},on:{\"empty\":_vm.onTabsEmpty},scopedSlots:_vm._u([{key:\"empty\",fn:function(){return [_vm._v(\"Nothing to show right now...\")]},proxy:true},{key:\"dynamic\",fn:function({ tab }){return [(_vm.logViewerIcons.includes(tab.icon))?_c('LogViewer',{attrs:{\"data\":tab.data},on:{\"mounted\":_vm.onMounted,\"options\":_vm.onOptionsChanged}}):(tab.data.component)?_c(tab.data.component,_vm._g(_vm._b({tag:\"component\",on:{\"mounted\":_vm.onMounted,\"options\":_vm.onOptionsChanged}},'component',tab.data.props,false),tab.data.events)):(tab.icon === 'fa-map')?_c('MapViewer',{attrs:{\"data\":tab.data,\"removableLayers\":_vm.isCollectionPreview(tab.data)},on:{\"mounted\":_vm.onMounted,\"options\":_vm.onOptionsChanged}}):_c('div',{staticClass:\"unsupported\"},[_vm._v(\" Sorry, the viewer doesn't support showing this type of data. \"),(_vm.isFormat(tab.data))?[_vm._v(\" Instead, you can download the data by clicking the link below.\"),_c('br'),_c('a',{attrs:{\"href\":tab.data.getUrl(),\"download\":\"\"}},[_vm._v(\"Download\")])]:_vm._e()],2)]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Viewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Viewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Viewer.vue?vue&type=template&id=68e3244a\"\nimport script from \"./Viewer.vue?vue&type=script&lang=js\"\nexport * from \"./Viewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./Viewer.vue?vue&type=style&index=0&id=68e3244a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IDE.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IDE.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IDE.vue?vue&type=template&id=3f080392\"\nimport script from \"./IDE.vue?vue&type=script&lang=js\"\nexport * from \"./IDE.vue?vue&type=script&lang=js\"\nimport style0 from \"./IDE.vue?vue&type=style&index=0&id=3f080392&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { AbortController } from '@openeo/js-client';\nimport Utils from '../utils';\n\nexport class CancellableRequestError extends Error {\n constructor(message, title = null, cause = null, close = true, isError = true) {\n super(message, {cause});\n this.title = title;\n this.close = close;\n this.isError = isError;\n }\n}\n\nexport function showCancellableRequestError(vm, error) {\n if (error instanceof CancellableRequestError) {\n if (error.isError) {\n Utils.error(vm, error.message, error.title);\n }\n else {\n Utils.ok(vm, error.message, error.title);\n }\n }\n}\n\nlet runIds = {};\nexport async function cancellableRequest(vm, callback, entity) {\n if (!runIds[entity]) {\n runIds[entity] = 1;\n }\n else {\n runIds[entity]++;\n }\n\n const abortController = new AbortController();\n const snotifyConfig = Object.assign({}, vm.$config.snotifyDefaults, {\n timeout: 0,\n type: 'async',\n buttons: [{\n text: 'Cancel',\n action: () => {\n abortController.abort();\n }\n }]\n });\n\n let toast;\n const toastTitle = `${entity} #${runIds[entity]}`;\n try {\n const message = `Processing in progress, please wait...`;\n // Pass a promise to snotify that never resolves as we manually close the toast\n const endlessPromise = () => new Promise(() => {});\n toast = vm.$snotify.async(message, toastTitle, endlessPromise, snotifyConfig);\n\n await callback(abortController);\n } catch(error) {\n if (axios.isCancel(error)) {\n throw new CancellableRequestError(`Cancelled successfully`, toastTitle, error, false, false);\n }\n else if (typeof error.message === 'string' && Utils.isObject(error.response) && [400,500].includes(error.response.status)) {\n vm.broadcast('viewLogs', [{\n id: error.id,\n code: error.code,\n level: 'error',\n message: error.message,\n links: error.links || []\n }]);\n Utils.error(vm, `${entity} failed. Please see the logs for details.`, toastTitle);\n }\n else {\n throw new CancellableRequestError(error.message, toastTitle, error, false);\n }\n } finally {\n if (toast) {\n vm.$snotify.remove(toast.id, true);\n }\n }\n}","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar splitpanes_vue_vue_type_style_index_0_lang = \"\";\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options.render = render2;\n options.staticRenderFns = staticRenderFns2;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst __vue2_script$1 = {\n name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean },\n pushOtherPanes: { type: Boolean, default: true },\n dblClickSplitter: { type: Boolean, default: true },\n rtl: { type: Boolean, default: false },\n firstSplitter: { type: Boolean }\n },\n provide() {\n return {\n requestUpdate: this.requestUpdate,\n onPaneAdd: this.onPaneAdd,\n onPaneRemove: this.onPaneRemove,\n onPaneClick: this.onPaneClick\n };\n },\n data: () => ({\n container: null,\n ready: false,\n panes: [],\n touch: {\n mouseDown: false,\n dragging: false,\n activeSplitter: null\n },\n splitterTaps: {\n splitter: null,\n timeoutId: null\n }\n }),\n computed: {\n panesCount() {\n return this.panes.length;\n },\n indexedPanes() {\n return this.panes.reduce((obj, pane2) => (obj[pane2.id] = pane2) && obj, {});\n }\n },\n methods: {\n updatePaneComponents() {\n this.panes.forEach((pane2) => {\n pane2.update && pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n },\n bindEvents() {\n document.addEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.addEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"touchend\", this.onMouseUp);\n }\n },\n unbindEvents() {\n document.removeEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.removeEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"touchend\", this.onMouseUp);\n }\n },\n onMouseDown(event, splitterIndex) {\n this.bindEvents();\n this.touch.mouseDown = true;\n this.touch.activeSplitter = splitterIndex;\n },\n onMouseMove(event) {\n if (this.touch.mouseDown) {\n event.preventDefault();\n this.touch.dragging = true;\n this.calculatePanesSize(this.getCurrentMouseDrag(event));\n this.$emit(\"resize\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n },\n onMouseUp() {\n if (this.touch.dragging) {\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n this.touch.mouseDown = false;\n setTimeout(() => {\n this.touch.dragging = false;\n this.unbindEvents();\n }, 100);\n },\n onSplitterClick(event, splitterIndex) {\n if (\"ontouchstart\" in window) {\n event.preventDefault();\n if (this.dblClickSplitter) {\n if (this.splitterTaps.splitter === splitterIndex) {\n clearTimeout(this.splitterTaps.timeoutId);\n this.splitterTaps.timeoutId = null;\n this.onSplitterDblClick(event, splitterIndex);\n this.splitterTaps.splitter = null;\n } else {\n this.splitterTaps.splitter = splitterIndex;\n this.splitterTaps.timeoutId = setTimeout(() => {\n this.splitterTaps.splitter = null;\n }, 500);\n }\n }\n }\n if (!this.touch.dragging)\n this.$emit(\"splitter-click\", this.panes[splitterIndex]);\n },\n onSplitterDblClick(event, splitterIndex) {\n let totalMinSizes = 0;\n this.panes = this.panes.map((pane2, i) => {\n pane2.size = i === splitterIndex ? pane2.max : pane2.min;\n if (i !== splitterIndex)\n totalMinSizes += pane2.min;\n return pane2;\n });\n this.panes[splitterIndex].size -= totalMinSizes;\n this.$emit(\"pane-maximize\", this.panes[splitterIndex]);\n },\n onPaneClick(event, paneId) {\n this.$emit(\"pane-click\", this.indexedPanes[paneId]);\n },\n getCurrentMouseDrag(event) {\n const rect = this.container.getBoundingClientRect();\n const { clientX, clientY } = \"ontouchstart\" in window && event.touches ? event.touches[0] : event;\n return {\n x: clientX - rect.left,\n y: clientY - rect.top\n };\n },\n getCurrentDragPercentage(drag) {\n drag = drag[this.horizontal ? \"y\" : \"x\"];\n const containerSize = this.container[this.horizontal ? \"clientHeight\" : \"clientWidth\"];\n if (this.rtl && !this.horizontal)\n drag = containerSize - drag;\n return drag * 100 / containerSize;\n },\n calculatePanesSize(drag) {\n const splitterIndex = this.touch.activeSplitter;\n let sums = {\n prevPanesSize: this.sumPrevPanesSize(splitterIndex),\n nextPanesSize: this.sumNextPanesSize(splitterIndex),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const minDrag = 0 + (this.pushOtherPanes ? 0 : sums.prevPanesSize);\n const maxDrag = 100 - (this.pushOtherPanes ? 0 : sums.nextPanesSize);\n const dragPercentage = Math.max(Math.min(this.getCurrentDragPercentage(drag), maxDrag), minDrag);\n let panesToResize = [splitterIndex, splitterIndex + 1];\n let paneBefore = this.panes[panesToResize[0]] || null;\n let paneAfter = this.panes[panesToResize[1]] || null;\n const paneBeforeMaxReached = paneBefore.max < 100 && dragPercentage >= paneBefore.max + sums.prevPanesSize;\n const paneAfterMaxReached = paneAfter.max < 100 && dragPercentage <= 100 - (paneAfter.max + this.sumNextPanesSize(splitterIndex + 1));\n if (paneBeforeMaxReached || paneAfterMaxReached) {\n if (paneBeforeMaxReached) {\n paneBefore.size = paneBefore.max;\n paneAfter.size = Math.max(100 - paneBefore.max - sums.prevPanesSize - sums.nextPanesSize, 0);\n } else {\n paneBefore.size = Math.max(100 - paneAfter.max - sums.prevPanesSize - this.sumNextPanesSize(splitterIndex + 1), 0);\n paneAfter.size = paneAfter.max;\n }\n return;\n }\n if (this.pushOtherPanes) {\n const vars = this.doPushOtherPanes(sums, dragPercentage);\n if (!vars)\n return;\n ({ sums, panesToResize } = vars);\n paneBefore = this.panes[panesToResize[0]] || null;\n paneAfter = this.panes[panesToResize[1]] || null;\n }\n if (paneBefore !== null) {\n paneBefore.size = Math.min(Math.max(dragPercentage - sums.prevPanesSize - sums.prevReachedMinPanes, paneBefore.min), paneBefore.max);\n }\n if (paneAfter !== null) {\n paneAfter.size = Math.min(Math.max(100 - dragPercentage - sums.nextPanesSize - sums.nextReachedMinPanes, paneAfter.min), paneAfter.max);\n }\n },\n doPushOtherPanes(sums, dragPercentage) {\n const splitterIndex = this.touch.activeSplitter;\n const panesToResize = [splitterIndex, splitterIndex + 1];\n if (dragPercentage < sums.prevPanesSize + this.panes[panesToResize[0]].min) {\n panesToResize[0] = this.findPrevExpandedPane(splitterIndex).index;\n sums.prevReachedMinPanes = 0;\n if (panesToResize[0] < splitterIndex) {\n this.panes.forEach((pane2, i) => {\n if (i > panesToResize[0] && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n }\n sums.prevPanesSize = this.sumPrevPanesSize(panesToResize[0]);\n if (panesToResize[0] === void 0) {\n sums.prevReachedMinPanes = 0;\n this.panes[0].size = this.panes[0].min;\n this.panes.forEach((pane2, i) => {\n if (i > 0 && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[1]].size = 100 - sums.prevReachedMinPanes - this.panes[0].min - sums.prevPanesSize - sums.nextPanesSize;\n return null;\n }\n }\n if (dragPercentage > 100 - sums.nextPanesSize - this.panes[panesToResize[1]].min) {\n panesToResize[1] = this.findNextExpandedPane(splitterIndex).index;\n sums.nextReachedMinPanes = 0;\n if (panesToResize[1] > splitterIndex + 1) {\n this.panes.forEach((pane2, i) => {\n if (i > splitterIndex && i < panesToResize[1]) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n }\n sums.nextPanesSize = this.sumNextPanesSize(panesToResize[1] - 1);\n if (panesToResize[1] === void 0) {\n sums.nextReachedMinPanes = 0;\n this.panes[this.panesCount - 1].size = this.panes[this.panesCount - 1].min;\n this.panes.forEach((pane2, i) => {\n if (i < this.panesCount - 1 && i >= splitterIndex + 1) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[0]].size = 100 - sums.prevPanesSize - sums.nextReachedMinPanes - this.panes[this.panesCount - 1].min - sums.nextPanesSize;\n return null;\n }\n }\n return { sums, panesToResize };\n },\n sumPrevPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i < splitterIndex ? pane2.size : 0), 0);\n },\n sumNextPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i > splitterIndex + 1 ? pane2.size : 0), 0);\n },\n findPrevExpandedPane(splitterIndex) {\n const pane2 = [...this.panes].reverse().find((p) => p.index < splitterIndex && p.size > p.min);\n return pane2 || {};\n },\n findNextExpandedPane(splitterIndex) {\n const pane2 = this.panes.find((p) => p.index > splitterIndex + 1 && p.size > p.min);\n return pane2 || {};\n },\n checkSplitpanesNodes() {\n const children = Array.from(this.container.children);\n children.forEach((child) => {\n const isPane = child.classList.contains(\"splitpanes__pane\");\n const isSplitter = child.classList.contains(\"splitpanes__splitter\");\n if (!isPane && !isSplitter) {\n child.parentNode.removeChild(child);\n console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\");\n return;\n }\n });\n },\n addSplitter(paneIndex, nextPaneNode, isVeryFirst = false) {\n const splitterIndex = paneIndex - 1;\n const elm = document.createElement(\"div\");\n elm.classList.add(\"splitpanes__splitter\");\n if (!isVeryFirst) {\n elm.onmousedown = (event) => this.onMouseDown(event, splitterIndex);\n if (typeof window !== \"undefined\" && \"ontouchstart\" in window) {\n elm.ontouchstart = (event) => this.onMouseDown(event, splitterIndex);\n }\n elm.onclick = (event) => this.onSplitterClick(event, splitterIndex + 1);\n }\n if (this.dblClickSplitter) {\n elm.ondblclick = (event) => this.onSplitterDblClick(event, splitterIndex + 1);\n }\n nextPaneNode.parentNode.insertBefore(elm, nextPaneNode);\n },\n removeSplitter(node) {\n node.onmousedown = void 0;\n node.onclick = void 0;\n node.ondblclick = void 0;\n node.parentNode.removeChild(node);\n },\n redoSplitters() {\n const children = Array.from(this.container.children);\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__splitter\"))\n this.removeSplitter(el);\n });\n let paneIndex = 0;\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__pane\")) {\n if (!paneIndex && this.firstSplitter)\n this.addSplitter(paneIndex, el, true);\n else if (paneIndex)\n this.addSplitter(paneIndex, el);\n paneIndex++;\n }\n });\n },\n requestUpdate(_a) {\n var _b = _a, { target } = _b, args = __objRest(_b, [\"target\"]);\n const pane2 = this.indexedPanes[target._uid];\n Object.entries(args).forEach(([key, value]) => pane2[key] = value);\n },\n onPaneAdd(pane2) {\n let index = -1;\n Array.from(pane2.$el.parentNode.children).some((el) => {\n if (el.className.includes(\"splitpanes__pane\"))\n index++;\n return el === pane2.$el;\n });\n const min = parseFloat(pane2.minSize);\n const max = parseFloat(pane2.maxSize);\n this.panes.splice(index, 0, {\n id: pane2._uid,\n index,\n min: isNaN(min) ? 0 : min,\n max: isNaN(max) ? 100 : max,\n size: pane2.size === null ? null : parseFloat(pane2.size),\n givenSize: pane2.size,\n update: pane2.update\n });\n this.panes.forEach((p, i) => p.index = i);\n if (this.ready) {\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ addedPane: this.panes[index] });\n this.$emit(\"pane-add\", { index, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n }\n },\n onPaneRemove(pane2) {\n const index = this.panes.findIndex((p) => p.id === pane2._uid);\n const removed = this.panes.splice(index, 1)[0];\n this.panes.forEach((p, i) => p.index = i);\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ removedPane: __spreadProps(__spreadValues({}, removed), { index }) });\n this.$emit(\"pane-remove\", { removed, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n },\n resetPaneSizes(changedPanes = {}) {\n if (!changedPanes.addedPane && !changedPanes.removedPane)\n this.initialPanesSizing();\n else if (this.panes.some((pane2) => pane2.givenSize !== null || pane2.min || pane2.max < 100))\n this.equalizeAfterAddOrRemove(changedPanes);\n else\n this.equalize();\n if (this.ready)\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n },\n equalize() {\n const equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n this.panes.forEach((pane2) => {\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n initialPanesSizing() {\n 100 / this.panesCount;\n let leftToAllocate = 100;\n let ungrowable = [];\n let unshrinkable = [];\n let definedSizes = 0;\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size !== null)\n definedSizes++;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n let leftToAllocate2 = 100;\n if (leftToAllocate > 0.1) {\n this.panes.forEach((pane2) => {\n if (pane2.size === null) {\n pane2.size = Math.max(Math.min(leftToAllocate / (this.panesCount - definedSizes), pane2.max), pane2.min);\n }\n leftToAllocate2 -= pane2.size;\n });\n if (leftToAllocate2 > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n }\n },\n equalizeAfterAddOrRemove({ addedPane, removedPane } = {}) {\n let equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n if (addedPane && addedPane.givenSize !== null) {\n equalSpace = (100 - addedPane.givenSize) / (this.panesCount - 1);\n }\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (Math.abs(leftToAllocate) < 0.1)\n return;\n this.panes.forEach((pane2) => {\n if (addedPane && addedPane.givenSize !== null && addedPane.id === pane2.id)\n ;\n else\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n readjustSizes(leftToAllocate, ungrowable, unshrinkable) {\n let equalSpaceToAllocate;\n if (leftToAllocate > 0)\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - ungrowable.length);\n else\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - unshrinkable.length);\n this.panes.forEach((pane2, i) => {\n if (leftToAllocate > 0 && !ungrowable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n } else if (!unshrinkable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n }\n pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n if (Math.abs(leftToAllocate) > 0.1) {\n this.$nextTick(() => {\n if (this.ready) {\n console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n }\n });\n }\n }\n },\n watch: {\n panes: {\n deep: true,\n immediate: false,\n handler() {\n this.updatePaneComponents();\n }\n },\n horizontal() {\n this.updatePaneComponents();\n },\n firstSplitter() {\n this.redoSplitters();\n },\n dblClickSplitter(enable) {\n const splitters = [...this.container.querySelectorAll(\".splitpanes__splitter\")];\n splitters.forEach((splitter, i) => {\n splitter.ondblclick = enable ? (event) => this.onSplitterDblClick(event, i) : void 0;\n });\n }\n },\n beforeDestroy() {\n this.ready = false;\n },\n mounted() {\n this.container = this.$refs.container;\n this.checkSplitpanesNodes();\n this.redoSplitters();\n this.resetPaneSizes();\n this.$emit(\"ready\");\n this.ready = true;\n },\n render(h) {\n return h(\"div\", {\n ref: \"container\",\n class: [\n \"splitpanes\",\n `splitpanes--${this.horizontal ? \"horizontal\" : \"vertical\"}`,\n {\n \"splitpanes--dragging\": this.touch.dragging\n }\n ]\n }, this.$slots.default);\n }\n};\nlet __vue2_render, __vue2_staticRenderFns;\nconst __cssModules$1 = {};\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null);\nfunction __vue2_injectStyles$1(context) {\n for (let o in __cssModules$1) {\n this[o] = __cssModules$1[o];\n }\n}\nvar splitpanes = /* @__PURE__ */ function() {\n return __component__$1.exports;\n}();\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { staticClass: \"splitpanes__pane\", style: _vm.style, on: { \"click\": function($event) {\n return _vm.onPaneClick($event, _vm._uid);\n } } }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nconst __vue2_script = {\n name: \"pane\",\n inject: [\"requestUpdate\", \"onPaneAdd\", \"onPaneRemove\", \"onPaneClick\"],\n props: {\n size: { type: [Number, String], default: null },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n data: () => ({\n style: {}\n }),\n mounted() {\n this.onPaneAdd(this);\n },\n beforeDestroy() {\n this.onPaneRemove(this);\n },\n methods: {\n update(style) {\n this.style = style;\n }\n },\n computed: {\n sizeNumber() {\n return this.size || this.size === 0 ? parseFloat(this.size) : null;\n },\n minSizeNumber() {\n return parseFloat(this.minSize);\n },\n maxSizeNumber() {\n return parseFloat(this.maxSize);\n }\n },\n watch: {\n sizeNumber(size) {\n this.requestUpdate({ target: this, size });\n },\n minSizeNumber(min) {\n this.requestUpdate({ target: this, min });\n },\n maxSizeNumber(max) {\n this.requestUpdate({ target: this, max });\n }\n }\n};\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar pane = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nexport { pane as Pane, splitpanes as Splitpanes };\n"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","computed","typesToShow","types","push","data","format","assign","id","processes","showCategories","provideDownload","processUrl","showGraph","Process","class","compact","directives","rawName","value","expression","placeholder","minLength","searchHint","domProps","$event","target","composing","Number","watch","newValue","oldValue","length","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","title","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","namespace","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","size","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","process","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","click","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","param","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","ModelBuilder","DiscoveryToolbar","FullscreenButton","formula","initialNode","isObject","process_graph","node","keys","openArgumentEditorForNode","error","exception","setInitialNode","mounted","navigator","clipboard","readText","text","JSON","parse","import","message","edges","filter","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","description","label","schema","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","returns","fields","categories","experimental","deprecated","info","exceptions","additionalProperties","properties","http","enum","examples","arguments","links","href","rel","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","parameters","p","ProcessParameter","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","replace","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","authenticated","isAuthenticated","appMode","showHelp","showWizard","showServerInfo","resized","splitpaneSizeH","splitpaneSizeV","contextTitle","updateEditor","saveSupported","hasProcess","saveProcess","exportCode","validateSupported","validateProcess","login","empty","showViewer","onViewerEmpty","userName","budget","hasStorage","storageUsedPercent","profileLink","hasProfile","userDetails","apply","settingsLink","logout","registerLink","passwordLink","serverUrl","disconnect","userLinks","link","userInfo","default_plan","paymentLink","formatMegabyte","storageUsed","storage","quota","style","friendlyLinks","serverLinks","capabilities","find","free","formatBudget","currency","profile","omitFromObject","user_id","Math","round","logoutUser","resetEditor","ok","window","pushState","num","gb","showJobs","onShow","onHide","showServices","showCustomProcesses","showFiles","dropZoneInfo","uploadFiles","showUploadDropHint","columns","supportsRead","downloadFile","row","supportsDelete","deleteFile","supportsCreate","active","uploadProgress","uploadErrored","uploadFadeOut","sync","updateData","filterValue","col","hide","thClasses","thTitle","enableSort","i","canEdit","stylable","onDblClick","showEditField","stopPropagation","saveEditField","refInFor","resetEditFieldEsc","formattedValue","hasData","view","columnCount","noDataMessage","primaryKey","editField","sortState","direction","updateView","includes","hasFilter","created","determinePrimaryKey","edit","action","$nextTick","focus","setNoData","config","headers","console","warn","computedValue","classes","colId","a","b","sortFn","compareStringCaseInsensitive","toLowerCase","values","hasOwnProperty","filterable","toString","search","clearFilter","call","DataTypes","Formatters","singular","plural","loadInitially","DataTable","syncTimer","lastSyncTime","beforeDestroy","stopSyncTimer","getTable","table","catch","startSyncTimer","supportsList","setInterval","getSyncInterval","clearInterval","dataRefreshInterval","refreshElement","obj","old","updated","read","force","nextSyncTime","isUpdate","list","log","update","syncState","setTimeout","WorkPanelMixin","SyncButton","path","sortByPath","modified","actions","uploadProgressPerFile","deep","reduce","finishAllUploads","ev","show","uploadFile","create","percent","$set","uploadUserFile","t","delete","showJobInfo","supportsEstimate","estimateJob","supportsUpdate","isJobInactive","editMetadata","showInEditor","deleteJob","supportsStart","queueJob","supportsStop","isJobActive","cancelJob","supportsDownloadResults","mayHaveResults","downloadResults","viewResults","canShare","supports","shareResults","supportsDebug","showLogs","createJobFromScript","executeProcess","getTitleField","getLogLevelField","getBillingPlanField","getBudgetField","WorkPanelMixinInstance","FieldMixin","watchers","jobUpdater","listen","replaceProcess","startAndQueueProcess","getResourceTitle","formatIdOrTitle","updateTitle","status","supportedBatchJobSharingServices","updatedJobs","job","isActiveJobStatusCode","executeWatchers","interval","log2","clearTimeout","updatedJob","options","createJob","computeResult","abortController","cancellableRequest","CancellableRequestError","showCancellableRequestError","jobCreated","buttons","normalizeToDefaultData","plan","log_level","supportsBillingPlans","supportsBilling","getResultsAsStac","StacMigrate","getAll","estimate","Job","updateJob","oldJob","newTitle","queue","cancel","stac","assets","url","extra","context","processInfo","deleteProcess","addProcessFromScript","updatedProcess","getIdField","match","store","normalize","toJSON","UserProcess","updateMetadata","serviceInfo","deleteService","isMapServiceSupported","viewService","createServiceFromScript","supportsQuickView","quickViewServiceFromScript","createdQuickViews","toUpperCase","toggleEnabled","mapService","serviceTypes","service","hasRequiredParam","configuration","some","beforeLogoutListener","$options","listener","onExit","promises","Promise","updatedService","serviceCreated","getServiceTypeField","getEnabledField","getConfigField","createService","script","quiet","settings","oldService","updateService","Service","onClose","service2","FilePanel","JobPanel","CustomProcessPanel","ServicePanel","tab","$children","onTabsEmpty","logViewerIcons","icon","onMounted","onOptionsChanged","_g","_b","isCollectionPreview","isFormat","getUrl","DataViewer","TableViewer","ImageViewer","LogViewer","MapViewer","showSyncResults","showJobResults","showWebService","closeTabWithLogs","addToMapChooser","showAppMode","tabTitleCounter","tabIdCounter","nextTabId","resultType","resultUrl","expires","formatTimestamp","attributes","preview","Format","describeCollection","bbox","extentToBBox","extent","spatial","layers","dimensions","showMapViewer","resource","defaultTitle","selectTab","faIcon","getTab","addTab","closeTab","makeTitle","formatRegistry","createFilesFromBlob","forEach","download","finally","logs","createFilesFromSTAC","confirmOpenAll","reUseExistingTab","Error","asset","openMapTabs","maps","createFileFromAsset","loadData","addGeoTiff","tabId","getContext","callChildFunction","setViewerOptions","hasNone","uniqueTitle","unique","Editor","Logo","Viewer","UserMenu","UserWorkspace","Splitpanes","Pane","resizeListener","userInfoUpdater","supportsJobUpdate","supportsServiceUpdate","supportsUserProcessUpdate","showDataForm","addEventListener","describeAccount","setCollectionPreview","openWizard","openWizardProps","removeEventListener","discoveryCompleted","preselectUsecase","errors","level","setContext","setProcess","editor","closeCallback","field","closed","constructor","cause","close","isError","super","vm","runIds","async","entity","AbortController","snotifyConfig","snotifyDefaults","timeout","abort","toast","toastTitle","endlessPromise","$snotify","axios","isCancel","response","code","remove","ProcessImpl","BaseProcess","exporter","execute","generateFunction","Exporter","ProcessGraph","registry","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","join","makeObject","mapObject","makeString","str","stringify","makeNumber","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","from_node","var","varPrefix","from_parameter","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","pop","getParent","prefix","addCode","repeat","lines","trim","split","line","count","getServerUrl","toCode","params","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","processId","arg","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","argList","v","strongOps","weakOps","__defProp","defineProperty","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","prototype","__propIsEnum","propertyIsEnumerable","__defNormalProp","enumerable","configurable","writable","__spreadValues","prop","__spreadProps","__objRest","source","exclude","indexOf","normalizeComponent","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","shadowRoot","_injectStyles","originalRender","h","existing","exports","__vue2_script$1","horizontal","pushOtherPanes","dblClickSplitter","rtl","firstSplitter","provide","requestUpdate","onPaneAdd","onPaneRemove","onPaneClick","container","ready","panes","touch","mouseDown","dragging","activeSplitter","splitterTaps","splitter","timeoutId","panesCount","indexedPanes","pane2","updatePaneComponents","bindEvents","document","onMouseMove","passive","onMouseUp","unbindEvents","onMouseDown","splitterIndex","calculatePanesSize","getCurrentMouseDrag","min","max","onSplitterClick","onSplitterDblClick","totalMinSizes","paneId","rect","getBoundingClientRect","clientX","clientY","touches","left","top","getCurrentDragPercentage","drag","containerSize","sums","prevPanesSize","sumPrevPanesSize","nextPanesSize","sumNextPanesSize","prevReachedMinPanes","nextReachedMinPanes","minDrag","maxDrag","dragPercentage","panesToResize","paneBefore","paneAfter","paneBeforeMaxReached","paneAfterMaxReached","vars","doPushOtherPanes","findPrevExpandedPane","findNextExpandedPane","total","reverse","checkSplitpanesNodes","children","from","child","isPane","classList","contains","isSplitter","parentNode","removeChild","addSplitter","paneIndex","nextPaneNode","isVeryFirst","elm","createElement","onmousedown","ontouchstart","onclick","ondblclick","insertBefore","removeSplitter","redoSplitters","el","className","_a","_uid","entries","parseFloat","minSize","maxSize","splice","isNaN","givenSize","resetPaneSizes","addedPane","pane3","removed","removedPane","changedPanes","equalizeAfterAddOrRemove","equalize","initialPanesSizing","equalSpace","leftToAllocate","ungrowable","unshrinkable","readjustSizes","definedSizes","leftToAllocate2","abs","equalSpaceToAllocate","newPaneSize","allocated","enable","splitters","querySelectorAll","$slots","__vue2_render","__vue2_staticRenderFns","__cssModules$1","__component__$1","__vue2_injectStyles$1","o","splitpanes","_h","$createElement","__vue2_script","inject","sizeNumber","minSizeNumber","maxSizeNumber","__cssModules","__component__","__vue2_injectStyles","pane"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/7213.456d73fc.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/components/IDE.vue","webpack://@openeo/web-editor/./src/components/UserMenu.vue","webpack://@openeo/web-editor/src/components/UserMenu.vue","webpack://@openeo/web-editor/./src/components/UserMenu.vue?2d6a","webpack://@openeo/web-editor/./src/components/UserMenu.vue?bef9","webpack://@openeo/web-editor/./src/components/UserWorkspace.vue","webpack://@openeo/web-editor/./src/components/FilePanel.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/DataTable.vue?76b4","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/DataTable.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/DataTable.vue?fc7a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/DataTable.vue","webpack://@openeo/web-editor/./src/components/WorkPanelMixin.js","webpack://@openeo/web-editor/./src/components/SyncButton.vue","webpack://@openeo/web-editor/src/components/SyncButton.vue","webpack://@openeo/web-editor/./src/components/SyncButton.vue?e941","webpack://@openeo/web-editor/./src/components/SyncButton.vue?1272","webpack://@openeo/web-editor/src/components/FilePanel.vue","webpack://@openeo/web-editor/./src/components/FilePanel.vue?6c4a","webpack://@openeo/web-editor/./src/components/FilePanel.vue?8f48","webpack://@openeo/web-editor/./src/components/JobPanel.vue","webpack://@openeo/web-editor/./src/components/FieldMixin.js","webpack://@openeo/web-editor/src/components/JobPanel.vue","webpack://@openeo/web-editor/./src/components/JobPanel.vue?b003","webpack://@openeo/web-editor/./src/components/JobPanel.vue?0eb9","webpack://@openeo/web-editor/./src/components/CustomProcessPanel.vue","webpack://@openeo/web-editor/src/components/CustomProcessPanel.vue","webpack://@openeo/web-editor/./src/components/CustomProcessPanel.vue?5bb8","webpack://@openeo/web-editor/./src/components/CustomProcessPanel.vue?0871","webpack://@openeo/web-editor/./src/components/ServicePanel.vue","webpack://@openeo/web-editor/src/components/ServicePanel.vue","webpack://@openeo/web-editor/./src/components/ServicePanel.vue?2fc5","webpack://@openeo/web-editor/./src/components/ServicePanel.vue?9da8","webpack://@openeo/web-editor/src/components/UserWorkspace.vue","webpack://@openeo/web-editor/./src/components/UserWorkspace.vue?3da1","webpack://@openeo/web-editor/./src/components/UserWorkspace.vue?daff","webpack://@openeo/web-editor/./src/components/Viewer.vue","webpack://@openeo/web-editor/src/components/Viewer.vue","webpack://@openeo/web-editor/./src/components/Viewer.vue?85cf","webpack://@openeo/web-editor/./src/components/Viewer.vue?7166","webpack://@openeo/web-editor/src/components/IDE.vue","webpack://@openeo/web-editor/./src/components/IDE.vue?eae2","webpack://@openeo/web-editor/./src/components/IDE.vue?7c7b","webpack://@openeo/web-editor/./src/components/cancellableRequest.js","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js","webpack://@openeo/web-editor/./node_modules/splitpanes/dist/splitpanes.es.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"wrapper\"}},[_c('div',{class:{authenticated: _vm.isAuthenticated, appMode: Boolean(_vm.appMode)},attrs:{\"id\":\"ide\"}},[_c('header',{staticClass:\"navbar\"},[_c('Logo'),_c('ul',{attrs:{\"id\":\"menu\"}},[_c('li',[_c('div',{staticClass:\"menuItem\",attrs:{\"title\":\"Start a guided tour\"},on:{\"click\":_vm.showHelp}},[_c('i',{staticClass:\"fas fa-question-circle fa-fw\"}),_vm._v(\"Help\")])]),_c('li',[_c('div',{staticClass:\"menuItem\",attrs:{\"title\":\"Start the process wizard\"},on:{\"click\":function($event){return _vm.showWizard()}}},[_c('i',{staticClass:\"fas fa-magic fa-fw\"}),_vm._v(\"Wizard\")])]),_c('li',[_c('div',{staticClass:\"menuItem\",attrs:{\"title\":\"Get server information\"},on:{\"click\":_vm.showServerInfo}},[_c('i',{staticClass:\"fas fa-info-circle fa-fw\"}),_vm._v(\"Server\")])]),_c('li',[_c('UserMenu')],1)])],1),_c('Splitpanes',{staticClass:\"default-theme\",on:{\"resize\":_vm.resized,\"pane-maximize\":_vm.resized}},[_c('Pane',{attrs:{\"id\":\"discovery\",\"size\":_vm.splitpaneSizeH[0]}},[_c('DiscoveryToolbar',{staticClass:\"toolbar tour-ide-discovery\",attrs:{\"onAddProcess\":_vm.insertProcess,\"collectionPreview\":true,\"persist\":true}})],1),_c('Pane',{attrs:{\"id\":\"workspace\",\"size\":_vm.splitpaneSizeH[1]}},[_c('Splitpanes',{staticClass:\"default-theme\",attrs:{\"horizontal\":\"\"},on:{\"resize\":_vm.resized,\"pane-maximize\":_vm.resized}},[_c('Pane',{attrs:{\"id\":\"editor\",\"size\":_vm.splitpaneSizeV[0]}},[_c('Editor',{ref:\"editor\",staticClass:\"mainEditor tour-ide-editor\",attrs:{\"id\":\"main\",\"value\":_vm.process,\"title\":_vm.contextTitle,\"showIntro\":\"\"},on:{\"input\":_vm.updateEditor},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.saveSupported),expression:\"saveSupported\"}],attrs:{\"type\":\"button\",\"disabled\":!_vm.hasProcess,\"title\":'Save to ' + _vm.contextTitle},on:{\"click\":_vm.saveProcess}},[_c('i',{staticClass:\"fas fa-save\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasProcess,\"title\":\"Export into another programming language\"},on:{\"click\":_vm.exportCode}},[_c('i',{staticClass:\"fas fa-file-export\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.validateSupported),expression:\"validateSupported\"}],attrs:{\"type\":\"button\",\"disabled\":!_vm.hasProcess,\"title\":\"Validate process on server-side\"},on:{\"click\":_vm.validateProcess}},[_c('i',{staticClass:\"fas fa-tasks\"})])]},proxy:true}])})],1),_c('Pane',{attrs:{\"id\":\"user\",\"size\":_vm.splitpaneSizeV[1]}},[(_vm.isAuthenticated)?_c('UserWorkspace',{staticClass:\"userContent tour-ide-workspace\"}):_c('div',{staticClass:\"message info\",attrs:{\"title\":\"Login is required to interact with the server.\"}},[_c('i',{staticClass:\"fas fa-sign-in-alt\"}),_c('span',{staticClass:\"login-message\"},[_c('strong',[_c('a',{on:{\"click\":_vm.login}},[_vm._v(\"Log in\")])]),_vm._v(\" is required to interact with the server.\")])])],1)],1)],1),_c('Pane',{class:{empty: !_vm.showViewer},attrs:{\"id\":\"viewer\",\"size\":_vm.splitpaneSizeH[2]}},[_c('Viewer',{staticClass:\"tour-ide-viewer\",on:{\"empty\":_vm.onViewerEmpty}})],1)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"UserMenu\"}},[_c('div',{staticClass:\"menuItem\"},[_vm._m(0),_c('div',{staticClass:\"data\"},[_c('span',{staticClass:\"name nowrap\"},[_c('i',{staticClass:\"fas fa-user\"}),_vm._v(\" \"+_vm._s(_vm.userName))]),(_vm.budget)?_c('span',{staticClass:\"credits nowrap\"},[_c('i',{staticClass:\"fas fa-dollar-sign fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.budget))]):_vm._e(),(_vm.hasStorage)?_c('span',{staticClass:\"storage nowrap\"},[_c('i',{staticClass:\"fas fa-database fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.storageUsedPercent)+\"% used\")]):_vm._e()])]),_c('div',{staticClass:\"dropdown\"},[(_vm.profileLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.profileLink.href,\"target\":\"_blank\"}},[_vm._v(\"Welcome, \"+_vm._s(_vm.userName)+\"!\")]):_c('div',{staticClass:\"item\"},[_vm._v(\"Welcome, \"+_vm._s(_vm.userName)+\"!\")]),(_vm.isAuthenticated)?[(_vm.hasProfile)?_c('a',{staticClass:\"item\",on:{\"click\":function($event){$event.preventDefault();return _vm.userDetails.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-user\"}),_vm._v(\" Profile\")]):_vm._e(),(_vm.settingsLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.settingsLink.href,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-user-edit\"}),_vm._v(\" \"+_vm._s(_vm.settingsLink.title || 'Edit Profile'))]):_vm._e(),_c('a',{staticClass:\"item\",on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"}),_vm._v(\" Logout\")])]:[_c('a',{staticClass:\"item\",on:{\"click\":function($event){$event.preventDefault();return _vm.login.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-sign-in-alt\"}),_vm._v(\" Login\")]),(_vm.registerLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.registerLink.href,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-user-plus\"}),_vm._v(\" Register\")]):_vm._e(),(_vm.passwordLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.passwordLink.href,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-key\"}),_vm._v(\" Forgotten Password?\")]):_vm._e()],(!_vm.$config.serverUrl)?_c('a',{staticClass:\"item\",on:{\"click\":function($event){$event.preventDefault();return _vm.disconnect.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"}),_vm._v(\" Disconnect\")]):_vm._e(),(_vm.userLinks.length > 0)?[_c('hr'),_vm._l((_vm.userLinks),function(link,key){return _c('a',{key:key,staticClass:\"item\",attrs:{\"href\":link.href,\"target\":\"_blank\",\"rel\":link.rel}},[_vm._v(_vm._s(link.title))])})]:_vm._e(),(_vm.budget || _vm.userInfo.default_plan || _vm.paymentLink)?[_c('hr'),_c('div',{staticClass:\"item\"},[_c('h4',[_vm._v(\"Billing\")]),(_vm.userInfo.default_plan)?_c('div',{staticClass:\"secondary-text\"},[_vm._v(\"Plan: \"+_vm._s(_vm.userInfo.default_plan))]):_vm._e(),(_vm.budget)?_c('div',{staticClass:\"secondary-text\"},[_vm._v(\"Budget: \"+_vm._s(_vm.budget))]):_vm._e()]),(_vm.paymentLink)?_c('a',{staticClass:\"item\",attrs:{\"href\":_vm.paymentLink.href,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-credit-card\"}),_vm._v(\" \"+_vm._s(_vm.paymentLink.title || 'Recharge'))]):_vm._e()]:_vm._e(),(_vm.hasStorage)?[_c('hr'),_c('div',{staticClass:\"item\"},[_c('h4',[_vm._v(\"Storage\")]),_c('div',{staticClass:\"secondary-text nowrap\"},[_vm._v(\"Used \"+_vm._s(_vm.formatMegabyte(_vm.storageUsed))+\" of \"+_vm._s(_vm.formatMegabyte(_vm.userInfo.storage.quota))+\".\")]),_c('div',{staticClass:\"storagePercent\"},[_c('div',{staticClass:\"used\",style:('width: ' + _vm.storageUsedPercent + '%')})])])]:_vm._e()],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"down\"},[_c('i',{staticClass:\"fas fa-chevron-down\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserMenu.vue?vue&type=template&id=23c6ba20&scoped=true\"\nimport script from \"./UserMenu.vue?vue&type=script&lang=js\"\nexport * from \"./UserMenu.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserMenu.vue?vue&type=style&index=0&id=23c6ba20&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"23c6ba20\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",attrs:{\"id\":\"userContent\"}},[(_vm.showJobs)?_c('Tab',{attrs:{\"id\":\"jobs\",\"name\":\"Data Processing\",\"icon\":\"fa-tasks\"},on:{\"show\":_vm.onShow,\"hide\":_vm.onHide}},[_c('JobPanel')],1):_vm._e(),(_vm.showServices)?_c('Tab',{attrs:{\"id\":\"services\",\"name\":\"Web Services\",\"icon\":\"fa-cloud\"},on:{\"show\":_vm.onShow,\"hide\":_vm.onHide}},[_c('ServicePanel')],1):_vm._e(),(_vm.showCustomProcesses)?_c('Tab',{attrs:{\"id\":\"customProcesses\",\"name\":\"Custom Processes\",\"icon\":\"fa-sitemap\"},on:{\"show\":_vm.onShow,\"hide\":_vm.onHide}},[_c('CustomProcessPanel')],1):_vm._e(),(_vm.showFiles)?_c('Tab',{attrs:{\"id\":\"files\",\"name\":\"Files\",\"icon\":\"fa-file\"},on:{\"show\":_vm.onShow,\"hide\":_vm.onHide}},[_c('FilePanel')],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"FilePanel\"},on:{\"dragenter\":function($event){return _vm.dropZoneInfo(true)},\"dragleave\":function($event){return _vm.dropZoneInfo(false)},\"drop\":_vm.uploadFiles,\"dragover\":_vm.allowDrop}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showUploadDropHint),expression:\"showUploadDropHint\"}],staticClass:\"dropZone\"},[_vm._v(\"To upload files, drop them here.\")]),_c('DataTable',{ref:\"table\",attrs:{\"data\":_vm.data,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"actions\",fn:function(p){return [_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Download\"},on:{\"click\":function($event){return _vm.downloadFile(p.row)}}},[_c('i',{staticClass:\"fas fa-download\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDelete),expression:\"supportsDelete\"}],attrs:{\"title\":\"Delete\"},on:{\"click\":function($event){return _vm.deleteFile(p.row)}}},[_c('i',{staticClass:\"fas fa-trash\"})])]}}])},[_c('template',{slot:\"toolbar\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsCreate),expression:\"supportsCreate\"}],staticClass:\"upload\"},[_c('div',{staticClass:\"percent\",class:{active: this.uploadProgress > 0}},[_c('div',{staticClass:\"used\",class:{error: _vm.uploadErrored},style:('width: ' + this.uploadProgress + '%; opacity: ' + this.uploadFadeOut)})]),_c('div',{staticClass:\"addFile\"},[_c('input',{ref:\"uploadUserFile\",staticClass:\"uploadUserFile\",attrs:{\"type\":\"file\",\"name\":\"uploadUserFile\",\"multiple\":\"\"},on:{\"change\":_vm.uploadFiles}})])]),_c('SyncButton',{attrs:{\"name\":\"files\",\"sync\":() => _vm.updateData(true)}})],1)],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component data-table\"},[_c('div',{staticClass:\"menu\"},[_c('div',{staticClass:\"toolbar\"},[_vm._t(\"toolbar\")],2),(_vm.hasData)?_c('div',{staticClass:\"filter\"},[_c('SearchBox',{attrs:{\"compact\":true},model:{value:(_vm.filterValue),callback:function ($$v) {_vm.filterValue=$$v},expression:\"filterValue\"}})],1):_vm._e()]),(_vm.hasData)?_c('table',[_c('thead',[_c('tr',_vm._l((_vm.columns),function(col,id){return _c('th',{directives:[{name:\"show\",rawName:\"v-show\",value:(!col.hide),expression:\"!col.hide\"}],key:col.name,class:_vm.thClasses(id),attrs:{\"title\":_vm.thTitle(id)},on:{\"click\":function($event){return _vm.enableSort(id)}}},[_vm._v(_vm._s(col.name))])}),0)]),_c('tbody',[_vm._l((_vm.view),function(row,i){return _c('tr',{key:i},_vm._l((_vm.columns),function(col,id){return _c('td',{directives:[{name:\"show\",rawName:\"v-show\",value:(!col.hide),expression:\"!col.hide\"}],key:`${col.name}_${i}`,class:[id, {'edit': _vm.canEdit(col)}],attrs:{\"title\":_vm.canEdit(col) ? 'Double-click to change the value' : false,\"data-value\":col.stylable ? _vm.value(row, col, id) : false},on:{\"dblclick\":function($event){return _vm.onDblClick($event, row, col, id)}}},[_vm._t(id,function(){return [(_vm.showEditField(row, col, id))?[_c('form',{on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.saveEditField($event, row, col, id)}}},[_c('input',{ref:\"editField\",refInFor:true,attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.value(row, col, id)},on:{\"blur\":function($event){return _vm.saveEditField($event, row, col, id)},\"keyup\":function($event){return _vm.resetEditFieldEsc($event, row, col, id)}}})])]:_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.formattedValue(row, col, id))}})]},{\"row\":row,\"col\":col,\"id\":id})],2)}),0)}),(_vm.hasData && _vm.view.length == 0)?_c('tr',{staticClass:\"no-results\"},[_c('td',{attrs:{\"colspan\":_vm.columnCount}},[_vm._v(\"No element matches your search criteria.\")])]):_vm._e()],2)]):_c('div',{staticClass:\"no-data\"},[_vm._v(_vm._s(_vm.noDataMessage))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DataTable.vue?vue&type=template&id=aed041f4\"\nimport script from \"./DataTable.vue?vue&type=script&lang=js\"\nexport * from \"./DataTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./DataTable.vue?vue&type=style&index=0&id=aed041f4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DataTable from '@openeo/vue-components/components/DataTable.vue';\nimport Utils from '../utils.js';\n\nexport default (namespace, singular, plural, loadInitially = true) => {\n\treturn {\n\t\tcomponents: {\n\t\t\tDataTable\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tsyncTimer: null,\n\t\t\t\tlastSyncTime: null\n\t\t\t};\n\t\t},\n\t\tmounted() {\n\t\t\tif (loadInitially) {\n\t\t\t\tthis.updateData();\n\t\t\t}\n\t\t},\n\t\tbeforeDestroy() {\n\t\t\tthis.stopSyncTimer();\n\t\t},\n\t\tcomputed: {\n\t\t\t...Utils.mapState(namespace, {data: namespace}),\n\t\t\t...Utils.mapGetters(namespace, ['supportsList', 'supportsCreate', 'supportsRead', 'supportsUpdate', 'supportsDelete'])\n\t\t},\n\t\tmethods: {\n\t\t\t...Utils.mapActions(namespace, ['list', 'create', 'read', 'update', 'delete']),\n\t\t\tgetTable() { // To be overridden\n\t\t\t\treturn this.$refs && this.$refs.table ? this.$refs.table : null;\n\t\t\t},\n\t\t\tonShow() {\n\t\t\t\tthis.updateData().catch(error => Utils.exception(this, error, `Updating ${plural} failed`));\n\t\t\t\tthis.startSyncTimer();\n\t\t\t},\n\t\t\tonHide() {\n\t\t\t\tthis.stopSyncTimer();\n\t\t\t},\n\t\t\tstartSyncTimer() {\n\t\t\t\tif (this.supportsList && this.syncTimer === null) {\n\t\t\t\t\tthis.syncTimer = setInterval(this.updateData, this.getSyncInterval());\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopSyncTimer() {\n\t\t\t\tif (this.syncTimer !== null) {\n\t\t\t\t\tclearInterval(this.syncTimer);\n\t\t\t\t\tthis.syncTimer = null;\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetSyncInterval() {\n\t\t\t\treturn this.$config.dataRefreshInterval*60*1000; // Refresh data every x minutes\n\t\t\t},\n\t\t\tasync refreshElement(obj, callback = null) {\n\t\t\t\tvar old = Object.assign({}, obj);\n\t\t\t\ttry {\n\t\t\t\t\tlet updated = await this.read({data: obj});\n\t\t\t\t\tif (typeof callback === 'function') {\n\t\t\t\t\t\tcallback(updated, old);\n\t\t\t\t\t}\n\t\t\t\t} catch(error) {\n\t\t\t\t\tUtils.exception(this, error, \"Load \" + singular + \" error\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync updateData(force = false) {\n\t\t\t\tvar table = this.getTable();\n\t\t\t\tvar nextSyncTime = Date.now() - this.getSyncInterval();\n\t\t\t\tif (!table || (!force && this.lastSyncTime > nextSyncTime)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\telse if (!this.supportsList) {\n\t\t\t\t\ttable.setNoData(\"Sorry, listing stored \" + plural + \" is not supported by the server.\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar isUpdate = this.data.length > 0;\n\t\t\t\t\tif (!isUpdate) {\n\t\t\t\t\t\ttable.setNoData(\"Loading \" + plural + \"...\");\n\t\t\t\t\t}\n\t\t\t\t\tthis.lastSyncTime = Date.now();\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = await this.list();\n\t\t\t\t\t\tif(data.length == 0) {\n\t\t\t\t\t\t\ttable.setNoData(\"Add your first \" + singular + \" here...\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\tif (!isUpdate) {\n\t\t\t\t\t\t\tUtils.exception(this, error);\n\t\t\t\t\t\t\ttable.setNoData(\"Sorry, unable to load data from the server.\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t};\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"data-sync\",attrs:{\"title\":_vm.title},on:{\"click\":_vm.update}},[(_vm.syncState === true)?_c('i',{staticClass:\"fas fa-check\"}):(_vm.syncState === false)?_c('i',{staticClass:\"fas fa-times\"}):_c('i',{staticClass:\"fas fa-sync\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SyncButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SyncButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SyncButton.vue?vue&type=template&id=b21f72c4&scoped=true\"\nimport script from \"./SyncButton.vue?vue&type=script&lang=js\"\nexport * from \"./SyncButton.vue?vue&type=script&lang=js\"\nimport style0 from \"./SyncButton.vue?vue&type=style&index=0&id=b21f72c4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b21f72c4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FilePanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FilePanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FilePanel.vue?vue&type=template&id=4b241505\"\nimport script from \"./FilePanel.vue?vue&type=script&lang=js\"\nexport * from \"./FilePanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./FilePanel.vue?vue&type=style&index=0&id=4b241505&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('DataTable',{ref:\"table\",staticClass:\"JobPanel\",attrs:{\"data\":_vm.data,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"actions\",fn:function(p){return [_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Details\"},on:{\"click\":function($event){return _vm.showJobInfo(p.row)}}},[_c('i',{staticClass:\"fas fa-info\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsEstimate),expression:\"supportsEstimate\"}],attrs:{\"title\":\"Estimate\"},on:{\"click\":function($event){return _vm.estimateJob(p.row)}}},[_c('i',{staticClass:\"fas fa-file-invoice-dollar\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsUpdate),expression:\"supportsUpdate\"}],attrs:{\"title\":\"Edit metadata\",\"disabled\":!_vm.isJobInactive(p.row)},on:{\"click\":function($event){return _vm.editMetadata(p.row)}}},[_c('i',{staticClass:\"fas fa-edit\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Edit process\"},on:{\"click\":function($event){return _vm.showInEditor(p.row)}}},[_c('i',{staticClass:\"fas fa-project-diagram\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDelete),expression:\"supportsDelete\"}],attrs:{\"title\":\"Delete\"},on:{\"click\":function($event){return _vm.deleteJob(p.row)}}},[_c('i',{staticClass:\"fas fa-trash\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsStart && _vm.isJobInactive(p.row)),expression:\"supportsStart && isJobInactive(p.row)\"}],attrs:{\"title\":\"Start processing\"},on:{\"click\":function($event){return _vm.queueJob(p.row)}}},[_c('i',{staticClass:\"fas fa-play-circle\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsStop && _vm.isJobActive(p.row)),expression:\"supportsStop && isJobActive(p.row)\"}],attrs:{\"title\":\"Cancel processing\"},on:{\"click\":function($event){return _vm.cancelJob(p.row)}}},[_c('i',{staticClass:\"fas fa-stop-circle\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDownloadResults && _vm.mayHaveResults(p.row)),expression:\"supportsDownloadResults && mayHaveResults(p.row)\"}],attrs:{\"title\":\"Download\"},on:{\"click\":function($event){return _vm.downloadResults(p.row)}}},[_c('i',{staticClass:\"fas fa-download\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDownloadResults && _vm.mayHaveResults(p.row)),expression:\"supportsDownloadResults && mayHaveResults(p.row)\"}],attrs:{\"title\":\"View results\"},on:{\"click\":function($event){return _vm.viewResults(p.row, true)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.canShare && _vm.supports('downloadResults') && _vm.mayHaveResults(p.row)),expression:\"canShare && supports('downloadResults') && mayHaveResults(p.row)\"}],attrs:{\"title\":\"Export / Share\"},on:{\"click\":function($event){return _vm.shareResults(p.row)}}},[_c('i',{staticClass:\"fas fa-share\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDebug),expression:\"supportsDebug\"}],attrs:{\"title\":\"View logs\"},on:{\"click\":function($event){return _vm.showLogs(p.row)}}},[_c('i',{staticClass:\"fas fa-bug\"})])]}}])},[_c('template',{slot:\"toolbar\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsCreate),expression:\"supportsCreate\"}],attrs:{\"title\":\"Add new job for batch processing\",\"disabled\":!this.hasProcess},on:{\"click\":function($event){return _vm.createJobFromScript()}}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" Create Batch Job\")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supports('computeResult')),expression:\"supports('computeResult')\"}],attrs:{\"title\":\"Run the process directly and view the results without storing them permanently\",\"disabled\":!this.hasProcess},on:{\"click\":_vm.executeProcess}},[_c('i',{staticClass:\"fas fa-play\"}),_vm._v(\" Run now\")]),(_vm.supportsList)?_c('SyncButton',{attrs:{\"name\":\"batch jobs\",\"sync\":() => _vm.updateData(true)}}):_vm._e()],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n methods: {\n\t\tgetTitleField(value = null) {\n\t\t\treturn {\n\t\t\t\tname: 'title',\n\t\t\t\tlabel: 'Title',\n\t\t\t\tschema: {type: 'string'},\n\t\t\t\tdefault: null,\n\t\t\t\tvalue: value,\n\t\t\t\toptional: true\n\t\t\t};\n\t\t},\n\t\tgetDescriptionField(value = null) {\n\t\t\treturn {\n\t\t\t\tname: 'description',\n\t\t\t\tlabel: 'Description',\n\t\t\t\tschema: {type: 'string', subtype: 'commonmark'},\n\t\t\t\tdefault: null,\n\t\t\t\tvalue: value,\n\t\t\t\tdescription: 'CommonMark (Markdown) is allowed.',\n\t\t\t\toptional: true\n\t\t\t};\n\t\t},\n\t\tgetLogLevelField(value = undefined) {\n\t\t\treturn {\n\t\t\t\tname: 'log_level',\n\t\t\t\tlabel: 'Log level',\n\t\t\t\tschema: {type: 'string', enum: ['debug', 'info', 'warning', 'error']},\n\t\t\t\tdefault: 'info',\n\t\t\t\tvalue: value,\n\t\t\t\tdescription: 'The minimum severity level for log entries that the back-end stores for the processing request.\\n\\ndebug (all logs) > info > warning > error (only errors)',\n\t\t\t\toptional: true\n\t\t\t};\n\t\t},\n\t\tgetBillingPlanField(value = undefined) {\n\t\t\treturn {\n\t\t\t\tname: 'plan',\n\t\t\t\tlabel: 'Billing plan',\n\t\t\t\tschema: {type: 'string', subtype: 'billing-plan'},\n\t\t\t\tvalue: value,\n\t\t\t\toptional: true\n\t\t\t};\n\t\t},\n\t\tgetBudgetField(value = null) {\n\t\t\treturn {\n\t\t\t\tname: 'budget',\n\t\t\t\tlabel: 'Budget limit',\n\t\t\t\tschema: {type: 'number', subtype: 'budget'},\n\t\t\t\tdefault: null,\n\t\t\t\tvalue: value,\n\t\t\t\toptional: true\n\t\t\t};\n\t\t}\n }\n};","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./JobPanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./JobPanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./JobPanel.vue?vue&type=template&id=3637f4da\"\nimport script from \"./JobPanel.vue?vue&type=script&lang=js\"\nexport * from \"./JobPanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./JobPanel.vue?vue&type=style&index=0&id=3637f4da&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('DataTable',{ref:\"table\",staticClass:\"CustomProcessPanel\",attrs:{\"data\":_vm.data,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"actions\",fn:function(p){return [_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Details\"},on:{\"click\":function($event){return _vm.processInfo(p.row)}}},[_c('i',{staticClass:\"fas fa-info\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Edit process\"},on:{\"click\":function($event){return _vm.showInEditor(p.row)}}},[_c('i',{staticClass:\"fas fa-project-diagram\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDelete),expression:\"supportsDelete\"}],attrs:{\"title\":\"Delete\"},on:{\"click\":function($event){return _vm.deleteProcess(p.row)}}},[_c('i',{staticClass:\"fas fa-trash\"})])]}}])},[_c('template',{slot:\"toolbar\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsCreate),expression:\"supportsCreate\"}],attrs:{\"title\":\"Add new custom process\",\"disabled\":!this.hasProcess},on:{\"click\":_vm.addProcessFromScript}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" Add\")]),_c('SyncButton',{attrs:{\"name\":\"custom processes\",\"sync\":() => _vm.updateData(true)}})],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CustomProcessPanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CustomProcessPanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CustomProcessPanel.vue?vue&type=template&id=7a5bc17c\"\nimport script from \"./CustomProcessPanel.vue?vue&type=script&lang=js\"\nexport * from \"./CustomProcessPanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./CustomProcessPanel.vue?vue&type=style&index=0&id=7a5bc17c&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('DataTable',{ref:\"table\",staticClass:\"ServicePanel\",attrs:{\"data\":_vm.data,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"actions\",fn:function(p){return [_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Details\"},on:{\"click\":function($event){return _vm.serviceInfo(p.row)}}},[_c('i',{staticClass:\"fas fa-info\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsUpdate),expression:\"supportsUpdate\"}],attrs:{\"title\":\"Edit metadata\"},on:{\"click\":function($event){return _vm.editMetadata(p.row)}}},[_c('i',{staticClass:\"fas fa-edit\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsRead),expression:\"supportsRead\"}],attrs:{\"title\":\"Edit process\"},on:{\"click\":function($event){return _vm.showInEditor(p.row)}}},[_c('i',{staticClass:\"fas fa-project-diagram\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDelete),expression:\"supportsDelete\"}],attrs:{\"title\":\"Delete\"},on:{\"click\":function($event){return _vm.deleteService(p.row)}}},[_c('i',{staticClass:\"fas fa-trash\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(p.row.enabled && _vm.isMapServiceSupported(p.row.type)),expression:\"p.row.enabled && isMapServiceSupported(p.row.type)\"}],attrs:{\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.viewService(p.row)}}},[_c('i',{staticClass:\"fas fa-map\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(p.row.enabled && _vm.canShare),expression:\"p.row.enabled && canShare\"}],attrs:{\"title\":\"Export / Share\"},on:{\"click\":function($event){return _vm.shareResults(p.row)}}},[_c('i',{staticClass:\"fas fa-share\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsDebug),expression:\"supportsDebug\"}],attrs:{\"title\":\"View logs\"},on:{\"click\":function($event){return _vm.showLogs(p.row)}}},[_c('i',{staticClass:\"fas fa-bug\"})])]}}])},[_c('template',{slot:\"toolbar\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsCreate),expression:\"supportsCreate\"}],attrs:{\"title\":\"Add new permanently stored web service\",\"disabled\":!this.hasProcess},on:{\"click\":function($event){return _vm.createServiceFromScript()}}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" Create\")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.supportsQuickView),expression:\"supportsQuickView\"}],attrs:{\"title\":\"Quickly show the process on map without storing it permanently\",\"disabled\":!this.hasProcess},on:{\"click\":function($event){return _vm.quickViewServiceFromScript()}}},[_c('i',{staticClass:\"fas fa-map\"}),_vm._v(\" Show on Map\")]),_c('SyncButton',{attrs:{\"name\":\"web services\",\"sync\":() => _vm.updateData(true)}})],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ServicePanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ServicePanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServicePanel.vue?vue&type=template&id=a1c0ce84\"\nimport script from \"./ServicePanel.vue?vue&type=script&lang=js\"\nexport * from \"./ServicePanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./ServicePanel.vue?vue&type=style&index=0&id=a1c0ce84&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserWorkspace.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserWorkspace.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserWorkspace.vue?vue&type=template&id=413fd761\"\nimport script from \"./UserWorkspace.vue?vue&type=script&lang=js\"\nexport * from \"./UserWorkspace.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserWorkspace.vue?vue&type=style&index=0&id=413fd761&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"viewerContainer\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[_c('Tabs',{ref:\"tabs\",attrs:{\"id\":\"viewerTabs\",\"allowTabRename\":\"\"},on:{\"empty\":_vm.onTabsEmpty},scopedSlots:_vm._u([{key:\"empty\",fn:function(){return [_vm._v(\"Nothing to show right now...\")]},proxy:true},{key:\"dynamic\",fn:function({ tab }){return [(_vm.logViewerIcons.includes(tab.icon))?_c('LogViewer',{attrs:{\"data\":tab.data},on:{\"mounted\":_vm.onMounted,\"options\":_vm.onOptionsChanged}}):(tab.data.component)?_c(tab.data.component,_vm._g(_vm._b({tag:\"component\",on:{\"mounted\":_vm.onMounted,\"options\":_vm.onOptionsChanged}},'component',tab.data.props,false),tab.data.events)):(tab.icon === 'fa-map')?_c('MapViewer',{attrs:{\"data\":tab.data,\"removableLayers\":_vm.isCollectionPreview(tab.data)},on:{\"mounted\":_vm.onMounted,\"options\":_vm.onOptionsChanged}}):_c('div',{staticClass:\"unsupported\"},[_vm._v(\" Sorry, the viewer doesn't support showing this type of data. \"),(_vm.isFormat(tab.data))?[_vm._v(\" Instead, you can download the data by clicking the link below.\"),_c('br'),_c('a',{attrs:{\"href\":tab.data.getUrl(),\"download\":\"\"}},[_vm._v(\"Download\")])]:_vm._e()],2)]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Viewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Viewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Viewer.vue?vue&type=template&id=68e3244a\"\nimport script from \"./Viewer.vue?vue&type=script&lang=js\"\nexport * from \"./Viewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./Viewer.vue?vue&type=style&index=0&id=68e3244a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IDE.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IDE.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IDE.vue?vue&type=template&id=3f080392\"\nimport script from \"./IDE.vue?vue&type=script&lang=js\"\nexport * from \"./IDE.vue?vue&type=script&lang=js\"\nimport style0 from \"./IDE.vue?vue&type=style&index=0&id=3f080392&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { AbortController } from '@openeo/js-client';\nimport Utils from '../utils';\n\nexport class CancellableRequestError extends Error {\n constructor(message, title = null, cause = null, close = true, isError = true) {\n super(message, {cause});\n this.title = title;\n this.close = close;\n this.isError = isError;\n }\n}\n\nexport function showCancellableRequestError(vm, error) {\n if (error instanceof CancellableRequestError) {\n if (error.isError) {\n Utils.error(vm, error.message, error.title);\n }\n else {\n Utils.ok(vm, error.message, error.title);\n }\n }\n}\n\nlet runIds = {};\nexport async function cancellableRequest(vm, callback, entity) {\n if (!runIds[entity]) {\n runIds[entity] = 1;\n }\n else {\n runIds[entity]++;\n }\n\n const abortController = new AbortController();\n const snotifyConfig = Object.assign({}, vm.$config.snotifyDefaults, {\n timeout: 0,\n type: 'async',\n buttons: [{\n text: 'Cancel',\n action: () => {\n abortController.abort();\n }\n }]\n });\n\n let toast;\n const toastTitle = `${entity} #${runIds[entity]}`;\n try {\n const message = `Processing in progress, please wait...`;\n // Pass a promise to snotify that never resolves as we manually close the toast\n const endlessPromise = () => new Promise(() => {});\n toast = vm.$snotify.async(message, toastTitle, endlessPromise, snotifyConfig);\n\n await callback(abortController);\n } catch(error) {\n if (axios.isCancel(error)) {\n throw new CancellableRequestError(`Cancelled successfully`, toastTitle, error, false, false);\n }\n else if (typeof error.message === 'string' && Utils.isObject(error.response) && [400,500].includes(error.response.status)) {\n vm.broadcast('viewLogs', [{\n id: error.id,\n code: error.code,\n level: 'error',\n message: error.message,\n links: error.links || []\n }]);\n Utils.error(vm, `${entity} failed. Please see the logs for details.`, toastTitle);\n }\n else {\n throw new CancellableRequestError(error.message, toastTitle, error, false);\n }\n } finally {\n if (toast) {\n vm.$snotify.remove(toast.id, true);\n }\n }\n}","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar splitpanes_vue_vue_type_style_index_0_lang = \"\";\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options.render = render2;\n options.staticRenderFns = staticRenderFns2;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst __vue2_script$1 = {\n name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean },\n pushOtherPanes: { type: Boolean, default: true },\n dblClickSplitter: { type: Boolean, default: true },\n rtl: { type: Boolean, default: false },\n firstSplitter: { type: Boolean }\n },\n provide() {\n return {\n requestUpdate: this.requestUpdate,\n onPaneAdd: this.onPaneAdd,\n onPaneRemove: this.onPaneRemove,\n onPaneClick: this.onPaneClick\n };\n },\n data: () => ({\n container: null,\n ready: false,\n panes: [],\n touch: {\n mouseDown: false,\n dragging: false,\n activeSplitter: null\n },\n splitterTaps: {\n splitter: null,\n timeoutId: null\n }\n }),\n computed: {\n panesCount() {\n return this.panes.length;\n },\n indexedPanes() {\n return this.panes.reduce((obj, pane2) => (obj[pane2.id] = pane2) && obj, {});\n }\n },\n methods: {\n updatePaneComponents() {\n this.panes.forEach((pane2) => {\n pane2.update && pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n },\n bindEvents() {\n document.addEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.addEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"touchend\", this.onMouseUp);\n }\n },\n unbindEvents() {\n document.removeEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.removeEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"touchend\", this.onMouseUp);\n }\n },\n onMouseDown(event, splitterIndex) {\n this.bindEvents();\n this.touch.mouseDown = true;\n this.touch.activeSplitter = splitterIndex;\n },\n onMouseMove(event) {\n if (this.touch.mouseDown) {\n event.preventDefault();\n this.touch.dragging = true;\n this.calculatePanesSize(this.getCurrentMouseDrag(event));\n this.$emit(\"resize\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n },\n onMouseUp() {\n if (this.touch.dragging) {\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n this.touch.mouseDown = false;\n setTimeout(() => {\n this.touch.dragging = false;\n this.unbindEvents();\n }, 100);\n },\n onSplitterClick(event, splitterIndex) {\n if (\"ontouchstart\" in window) {\n event.preventDefault();\n if (this.dblClickSplitter) {\n if (this.splitterTaps.splitter === splitterIndex) {\n clearTimeout(this.splitterTaps.timeoutId);\n this.splitterTaps.timeoutId = null;\n this.onSplitterDblClick(event, splitterIndex);\n this.splitterTaps.splitter = null;\n } else {\n this.splitterTaps.splitter = splitterIndex;\n this.splitterTaps.timeoutId = setTimeout(() => {\n this.splitterTaps.splitter = null;\n }, 500);\n }\n }\n }\n if (!this.touch.dragging)\n this.$emit(\"splitter-click\", this.panes[splitterIndex]);\n },\n onSplitterDblClick(event, splitterIndex) {\n let totalMinSizes = 0;\n this.panes = this.panes.map((pane2, i) => {\n pane2.size = i === splitterIndex ? pane2.max : pane2.min;\n if (i !== splitterIndex)\n totalMinSizes += pane2.min;\n return pane2;\n });\n this.panes[splitterIndex].size -= totalMinSizes;\n this.$emit(\"pane-maximize\", this.panes[splitterIndex]);\n },\n onPaneClick(event, paneId) {\n this.$emit(\"pane-click\", this.indexedPanes[paneId]);\n },\n getCurrentMouseDrag(event) {\n const rect = this.container.getBoundingClientRect();\n const { clientX, clientY } = \"ontouchstart\" in window && event.touches ? event.touches[0] : event;\n return {\n x: clientX - rect.left,\n y: clientY - rect.top\n };\n },\n getCurrentDragPercentage(drag) {\n drag = drag[this.horizontal ? \"y\" : \"x\"];\n const containerSize = this.container[this.horizontal ? \"clientHeight\" : \"clientWidth\"];\n if (this.rtl && !this.horizontal)\n drag = containerSize - drag;\n return drag * 100 / containerSize;\n },\n calculatePanesSize(drag) {\n const splitterIndex = this.touch.activeSplitter;\n let sums = {\n prevPanesSize: this.sumPrevPanesSize(splitterIndex),\n nextPanesSize: this.sumNextPanesSize(splitterIndex),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const minDrag = 0 + (this.pushOtherPanes ? 0 : sums.prevPanesSize);\n const maxDrag = 100 - (this.pushOtherPanes ? 0 : sums.nextPanesSize);\n const dragPercentage = Math.max(Math.min(this.getCurrentDragPercentage(drag), maxDrag), minDrag);\n let panesToResize = [splitterIndex, splitterIndex + 1];\n let paneBefore = this.panes[panesToResize[0]] || null;\n let paneAfter = this.panes[panesToResize[1]] || null;\n const paneBeforeMaxReached = paneBefore.max < 100 && dragPercentage >= paneBefore.max + sums.prevPanesSize;\n const paneAfterMaxReached = paneAfter.max < 100 && dragPercentage <= 100 - (paneAfter.max + this.sumNextPanesSize(splitterIndex + 1));\n if (paneBeforeMaxReached || paneAfterMaxReached) {\n if (paneBeforeMaxReached) {\n paneBefore.size = paneBefore.max;\n paneAfter.size = Math.max(100 - paneBefore.max - sums.prevPanesSize - sums.nextPanesSize, 0);\n } else {\n paneBefore.size = Math.max(100 - paneAfter.max - sums.prevPanesSize - this.sumNextPanesSize(splitterIndex + 1), 0);\n paneAfter.size = paneAfter.max;\n }\n return;\n }\n if (this.pushOtherPanes) {\n const vars = this.doPushOtherPanes(sums, dragPercentage);\n if (!vars)\n return;\n ({ sums, panesToResize } = vars);\n paneBefore = this.panes[panesToResize[0]] || null;\n paneAfter = this.panes[panesToResize[1]] || null;\n }\n if (paneBefore !== null) {\n paneBefore.size = Math.min(Math.max(dragPercentage - sums.prevPanesSize - sums.prevReachedMinPanes, paneBefore.min), paneBefore.max);\n }\n if (paneAfter !== null) {\n paneAfter.size = Math.min(Math.max(100 - dragPercentage - sums.nextPanesSize - sums.nextReachedMinPanes, paneAfter.min), paneAfter.max);\n }\n },\n doPushOtherPanes(sums, dragPercentage) {\n const splitterIndex = this.touch.activeSplitter;\n const panesToResize = [splitterIndex, splitterIndex + 1];\n if (dragPercentage < sums.prevPanesSize + this.panes[panesToResize[0]].min) {\n panesToResize[0] = this.findPrevExpandedPane(splitterIndex).index;\n sums.prevReachedMinPanes = 0;\n if (panesToResize[0] < splitterIndex) {\n this.panes.forEach((pane2, i) => {\n if (i > panesToResize[0] && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n }\n sums.prevPanesSize = this.sumPrevPanesSize(panesToResize[0]);\n if (panesToResize[0] === void 0) {\n sums.prevReachedMinPanes = 0;\n this.panes[0].size = this.panes[0].min;\n this.panes.forEach((pane2, i) => {\n if (i > 0 && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[1]].size = 100 - sums.prevReachedMinPanes - this.panes[0].min - sums.prevPanesSize - sums.nextPanesSize;\n return null;\n }\n }\n if (dragPercentage > 100 - sums.nextPanesSize - this.panes[panesToResize[1]].min) {\n panesToResize[1] = this.findNextExpandedPane(splitterIndex).index;\n sums.nextReachedMinPanes = 0;\n if (panesToResize[1] > splitterIndex + 1) {\n this.panes.forEach((pane2, i) => {\n if (i > splitterIndex && i < panesToResize[1]) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n }\n sums.nextPanesSize = this.sumNextPanesSize(panesToResize[1] - 1);\n if (panesToResize[1] === void 0) {\n sums.nextReachedMinPanes = 0;\n this.panes[this.panesCount - 1].size = this.panes[this.panesCount - 1].min;\n this.panes.forEach((pane2, i) => {\n if (i < this.panesCount - 1 && i >= splitterIndex + 1) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[0]].size = 100 - sums.prevPanesSize - sums.nextReachedMinPanes - this.panes[this.panesCount - 1].min - sums.nextPanesSize;\n return null;\n }\n }\n return { sums, panesToResize };\n },\n sumPrevPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i < splitterIndex ? pane2.size : 0), 0);\n },\n sumNextPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i > splitterIndex + 1 ? pane2.size : 0), 0);\n },\n findPrevExpandedPane(splitterIndex) {\n const pane2 = [...this.panes].reverse().find((p) => p.index < splitterIndex && p.size > p.min);\n return pane2 || {};\n },\n findNextExpandedPane(splitterIndex) {\n const pane2 = this.panes.find((p) => p.index > splitterIndex + 1 && p.size > p.min);\n return pane2 || {};\n },\n checkSplitpanesNodes() {\n const children = Array.from(this.container.children);\n children.forEach((child) => {\n const isPane = child.classList.contains(\"splitpanes__pane\");\n const isSplitter = child.classList.contains(\"splitpanes__splitter\");\n if (!isPane && !isSplitter) {\n child.parentNode.removeChild(child);\n console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\");\n return;\n }\n });\n },\n addSplitter(paneIndex, nextPaneNode, isVeryFirst = false) {\n const splitterIndex = paneIndex - 1;\n const elm = document.createElement(\"div\");\n elm.classList.add(\"splitpanes__splitter\");\n if (!isVeryFirst) {\n elm.onmousedown = (event) => this.onMouseDown(event, splitterIndex);\n if (typeof window !== \"undefined\" && \"ontouchstart\" in window) {\n elm.ontouchstart = (event) => this.onMouseDown(event, splitterIndex);\n }\n elm.onclick = (event) => this.onSplitterClick(event, splitterIndex + 1);\n }\n if (this.dblClickSplitter) {\n elm.ondblclick = (event) => this.onSplitterDblClick(event, splitterIndex + 1);\n }\n nextPaneNode.parentNode.insertBefore(elm, nextPaneNode);\n },\n removeSplitter(node) {\n node.onmousedown = void 0;\n node.onclick = void 0;\n node.ondblclick = void 0;\n node.parentNode.removeChild(node);\n },\n redoSplitters() {\n const children = Array.from(this.container.children);\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__splitter\"))\n this.removeSplitter(el);\n });\n let paneIndex = 0;\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__pane\")) {\n if (!paneIndex && this.firstSplitter)\n this.addSplitter(paneIndex, el, true);\n else if (paneIndex)\n this.addSplitter(paneIndex, el);\n paneIndex++;\n }\n });\n },\n requestUpdate(_a) {\n var _b = _a, { target } = _b, args = __objRest(_b, [\"target\"]);\n const pane2 = this.indexedPanes[target._uid];\n Object.entries(args).forEach(([key, value]) => pane2[key] = value);\n },\n onPaneAdd(pane2) {\n let index = -1;\n Array.from(pane2.$el.parentNode.children).some((el) => {\n if (el.className.includes(\"splitpanes__pane\"))\n index++;\n return el === pane2.$el;\n });\n const min = parseFloat(pane2.minSize);\n const max = parseFloat(pane2.maxSize);\n this.panes.splice(index, 0, {\n id: pane2._uid,\n index,\n min: isNaN(min) ? 0 : min,\n max: isNaN(max) ? 100 : max,\n size: pane2.size === null ? null : parseFloat(pane2.size),\n givenSize: pane2.size,\n update: pane2.update\n });\n this.panes.forEach((p, i) => p.index = i);\n if (this.ready) {\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ addedPane: this.panes[index] });\n this.$emit(\"pane-add\", { index, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n }\n },\n onPaneRemove(pane2) {\n const index = this.panes.findIndex((p) => p.id === pane2._uid);\n const removed = this.panes.splice(index, 1)[0];\n this.panes.forEach((p, i) => p.index = i);\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ removedPane: __spreadProps(__spreadValues({}, removed), { index }) });\n this.$emit(\"pane-remove\", { removed, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n },\n resetPaneSizes(changedPanes = {}) {\n if (!changedPanes.addedPane && !changedPanes.removedPane)\n this.initialPanesSizing();\n else if (this.panes.some((pane2) => pane2.givenSize !== null || pane2.min || pane2.max < 100))\n this.equalizeAfterAddOrRemove(changedPanes);\n else\n this.equalize();\n if (this.ready)\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n },\n equalize() {\n const equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n this.panes.forEach((pane2) => {\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n initialPanesSizing() {\n 100 / this.panesCount;\n let leftToAllocate = 100;\n let ungrowable = [];\n let unshrinkable = [];\n let definedSizes = 0;\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size !== null)\n definedSizes++;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n let leftToAllocate2 = 100;\n if (leftToAllocate > 0.1) {\n this.panes.forEach((pane2) => {\n if (pane2.size === null) {\n pane2.size = Math.max(Math.min(leftToAllocate / (this.panesCount - definedSizes), pane2.max), pane2.min);\n }\n leftToAllocate2 -= pane2.size;\n });\n if (leftToAllocate2 > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n }\n },\n equalizeAfterAddOrRemove({ addedPane, removedPane } = {}) {\n let equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n if (addedPane && addedPane.givenSize !== null) {\n equalSpace = (100 - addedPane.givenSize) / (this.panesCount - 1);\n }\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (Math.abs(leftToAllocate) < 0.1)\n return;\n this.panes.forEach((pane2) => {\n if (addedPane && addedPane.givenSize !== null && addedPane.id === pane2.id)\n ;\n else\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n readjustSizes(leftToAllocate, ungrowable, unshrinkable) {\n let equalSpaceToAllocate;\n if (leftToAllocate > 0)\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - ungrowable.length);\n else\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - unshrinkable.length);\n this.panes.forEach((pane2, i) => {\n if (leftToAllocate > 0 && !ungrowable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n } else if (!unshrinkable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n }\n pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n if (Math.abs(leftToAllocate) > 0.1) {\n this.$nextTick(() => {\n if (this.ready) {\n console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n }\n });\n }\n }\n },\n watch: {\n panes: {\n deep: true,\n immediate: false,\n handler() {\n this.updatePaneComponents();\n }\n },\n horizontal() {\n this.updatePaneComponents();\n },\n firstSplitter() {\n this.redoSplitters();\n },\n dblClickSplitter(enable) {\n const splitters = [...this.container.querySelectorAll(\".splitpanes__splitter\")];\n splitters.forEach((splitter, i) => {\n splitter.ondblclick = enable ? (event) => this.onSplitterDblClick(event, i) : void 0;\n });\n }\n },\n beforeDestroy() {\n this.ready = false;\n },\n mounted() {\n this.container = this.$refs.container;\n this.checkSplitpanesNodes();\n this.redoSplitters();\n this.resetPaneSizes();\n this.$emit(\"ready\");\n this.ready = true;\n },\n render(h) {\n return h(\"div\", {\n ref: \"container\",\n class: [\n \"splitpanes\",\n `splitpanes--${this.horizontal ? \"horizontal\" : \"vertical\"}`,\n {\n \"splitpanes--dragging\": this.touch.dragging\n }\n ]\n }, this.$slots.default);\n }\n};\nlet __vue2_render, __vue2_staticRenderFns;\nconst __cssModules$1 = {};\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null);\nfunction __vue2_injectStyles$1(context) {\n for (let o in __cssModules$1) {\n this[o] = __cssModules$1[o];\n }\n}\nvar splitpanes = /* @__PURE__ */ function() {\n return __component__$1.exports;\n}();\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { staticClass: \"splitpanes__pane\", style: _vm.style, on: { \"click\": function($event) {\n return _vm.onPaneClick($event, _vm._uid);\n } } }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nconst __vue2_script = {\n name: \"pane\",\n inject: [\"requestUpdate\", \"onPaneAdd\", \"onPaneRemove\", \"onPaneClick\"],\n props: {\n size: { type: [Number, String], default: null },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n data: () => ({\n style: {}\n }),\n mounted() {\n this.onPaneAdd(this);\n },\n beforeDestroy() {\n this.onPaneRemove(this);\n },\n methods: {\n update(style) {\n this.style = style;\n }\n },\n computed: {\n sizeNumber() {\n return this.size || this.size === 0 ? parseFloat(this.size) : null;\n },\n minSizeNumber() {\n return parseFloat(this.minSize);\n },\n maxSizeNumber() {\n return parseFloat(this.maxSize);\n }\n },\n watch: {\n sizeNumber(size) {\n this.requestUpdate({ target: this, size });\n },\n minSizeNumber(min) {\n this.requestUpdate({ target: this, min });\n },\n maxSizeNumber(max) {\n this.requestUpdate({ target: this, max });\n }\n }\n};\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar pane = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nexport { pane as Pane, splitpanes as Splitpanes };\n"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","computed","typesToShow","types","push","data","format","assign","id","processes","showCategories","provideDownload","processUrl","showGraph","Process","class","compact","directives","rawName","value","expression","placeholder","minLength","searchHint","domProps","$event","target","composing","Number","watch","newValue","oldValue","length","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","title","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","namespace","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","size","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","process","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","click","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","param","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","ModelBuilder","DiscoveryToolbar","FullscreenButton","formula","initialNode","isObject","process_graph","node","keys","openArgumentEditorForNode","error","exception","setInitialNode","mounted","navigator","clipboard","readText","text","JSON","parse","import","message","edges","filter","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","description","label","schema","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","returns","fields","categories","experimental","deprecated","info","exceptions","additionalProperties","properties","http","enum","examples","arguments","links","href","rel","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","parameters","p","ProcessParameter","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","replace","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","authenticated","isAuthenticated","appMode","showHelp","showWizard","showServerInfo","resized","splitpaneSizeH","splitpaneSizeV","contextTitle","updateEditor","saveSupported","hasProcess","saveProcess","exportCode","validateSupported","validateProcess","login","empty","showViewer","onViewerEmpty","userName","budget","hasStorage","storageUsedPercent","profileLink","hasProfile","userDetails","apply","settingsLink","logout","registerLink","passwordLink","serverUrl","disconnect","userLinks","link","userInfo","default_plan","paymentLink","formatMegabyte","storageUsed","storage","quota","style","friendlyLinks","serverLinks","capabilities","find","free","formatBudget","currency","profile","omitFromObject","user_id","Math","round","logoutUser","resetEditor","ok","window","pushState","num","gb","showJobs","onShow","onHide","showServices","showCustomProcesses","showFiles","dropZoneInfo","uploadFiles","showUploadDropHint","columns","supportsRead","downloadFile","row","supportsDelete","deleteFile","supportsCreate","active","uploadProgress","uploadErrored","uploadFadeOut","sync","updateData","filterValue","col","hide","thClasses","thTitle","enableSort","i","canEdit","stylable","onDblClick","showEditField","stopPropagation","saveEditField","refInFor","resetEditFieldEsc","formattedValue","hasData","view","columnCount","noDataMessage","primaryKey","editField","sortState","direction","updateView","includes","hasFilter","created","determinePrimaryKey","edit","action","$nextTick","focus","setNoData","config","headers","console","warn","computedValue","classes","colId","a","b","sortFn","compareStringCaseInsensitive","toLowerCase","values","hasOwnProperty","filterable","toString","search","clearFilter","call","DataTypes","Formatters","singular","plural","loadInitially","DataTable","syncTimer","lastSyncTime","beforeDestroy","stopSyncTimer","getTable","table","catch","startSyncTimer","supportsList","setInterval","getSyncInterval","clearInterval","dataRefreshInterval","refreshElement","obj","old","updated","read","force","nextSyncTime","isUpdate","list","log","update","syncState","setTimeout","WorkPanelMixin","SyncButton","path","sortByPath","modified","actions","uploadProgressPerFile","deep","reduce","finishAllUploads","ev","show","uploadFile","create","percent","$set","uploadUserFile","t","delete","showJobInfo","supportsEstimate","estimateJob","supportsUpdate","isJobInactive","editMetadata","showInEditor","deleteJob","supportsStart","queueJob","supportsStop","isJobActive","cancelJob","supportsDownloadResults","mayHaveResults","downloadResults","viewResults","canShare","supports","shareResults","supportsDebug","showLogs","createJobFromScript","executeProcess","getTitleField","getLogLevelField","getBillingPlanField","getBudgetField","WorkPanelMixinInstance","FieldMixin","watchers","jobUpdater","listen","replaceProcess","startAndQueueProcess","getResourceTitle","formatIdOrTitle","updateTitle","status","supportedBatchJobSharingServices","updatedJobs","job","isActiveJobStatusCode","executeWatchers","interval","log2","clearTimeout","updatedJob","options","createJob","computeResult","abortController","cancellableRequest","CancellableRequestError","showCancellableRequestError","jobCreated","buttons","normalizeToDefaultData","plan","log_level","supportsBillingPlans","supportsBilling","getResultsAsStac","StacMigrate","getAll","estimate","Job","updateJob","oldJob","newTitle","queue","cancel","stac","assets","url","extra","context","processInfo","deleteProcess","addProcessFromScript","updatedProcess","getIdField","match","store","normalize","toJSON","UserProcess","updateMetadata","serviceInfo","deleteService","isMapServiceSupported","viewService","createServiceFromScript","supportsQuickView","quickViewServiceFromScript","createdQuickViews","toUpperCase","toggleEnabled","mapService","serviceTypes","service","hasRequiredParam","configuration","some","beforeLogoutListener","$options","listener","onExit","promises","Promise","updatedService","serviceCreated","getServiceTypeField","getEnabledField","getConfigField","createService","script","quiet","settings","oldService","updateService","Service","onClose","service2","FilePanel","JobPanel","CustomProcessPanel","ServicePanel","tab","$children","onTabsEmpty","logViewerIcons","icon","onMounted","onOptionsChanged","_g","_b","isCollectionPreview","isFormat","getUrl","DataViewer","TableViewer","ImageViewer","LogViewer","MapViewer","showSyncResults","showJobResults","showWebService","closeTabWithLogs","addToMapChooser","showAppMode","tabTitleCounter","tabIdCounter","nextTabId","resultType","resultUrl","expires","formatTimestamp","attributes","preview","Format","describeCollection","bbox","extentToBBox","extent","spatial","layers","dimensions","showMapViewer","resource","defaultTitle","selectTab","faIcon","getTab","addTab","closeTab","makeTitle","formatRegistry","createFilesFromBlob","forEach","download","finally","logs","createFilesFromSTAC","confirmOpenAll","reUseExistingTab","Error","asset","openMapTabs","maps","createFileFromAsset","loadData","addGeoTiff","tabId","getContext","callChildFunction","setViewerOptions","hasNone","uniqueTitle","unique","Editor","Logo","Viewer","UserMenu","UserWorkspace","Splitpanes","Pane","resizeListener","userInfoUpdater","supportsJobUpdate","supportsServiceUpdate","supportsUserProcessUpdate","showDataForm","addEventListener","describeAccount","setCollectionPreview","openWizard","openWizardProps","removeEventListener","discoveryCompleted","preselectUsecase","errors","level","setContext","setProcess","editor","closeCallback","field","closed","constructor","cause","close","isError","super","vm","runIds","async","entity","AbortController","snotifyConfig","snotifyDefaults","timeout","abort","toast","toastTitle","endlessPromise","$snotify","axios","isCancel","response","code","remove","ProcessImpl","BaseProcess","exporter","execute","generateFunction","Exporter","ProcessGraph","registry","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","join","makeObject","mapObject","makeString","str","stringify","makeNumber","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","from_node","var","varPrefix","from_parameter","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","pop","getParent","prefix","addCode","repeat","lines","trim","split","line","count","getServerUrl","toCode","params","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","processId","arg","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","argList","v","strongOps","weakOps","__defProp","defineProperty","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","prototype","__propIsEnum","propertyIsEnumerable","__defNormalProp","enumerable","configurable","writable","__spreadValues","prop","__spreadProps","__objRest","source","exclude","indexOf","normalizeComponent","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","shadowRoot","_injectStyles","originalRender","h","existing","exports","__vue2_script$1","horizontal","pushOtherPanes","dblClickSplitter","rtl","firstSplitter","provide","requestUpdate","onPaneAdd","onPaneRemove","onPaneClick","container","ready","panes","touch","mouseDown","dragging","activeSplitter","splitterTaps","splitter","timeoutId","panesCount","indexedPanes","pane2","updatePaneComponents","bindEvents","document","onMouseMove","passive","onMouseUp","unbindEvents","onMouseDown","splitterIndex","calculatePanesSize","getCurrentMouseDrag","min","max","onSplitterClick","onSplitterDblClick","totalMinSizes","paneId","rect","getBoundingClientRect","clientX","clientY","touches","left","top","getCurrentDragPercentage","drag","containerSize","sums","prevPanesSize","sumPrevPanesSize","nextPanesSize","sumNextPanesSize","prevReachedMinPanes","nextReachedMinPanes","minDrag","maxDrag","dragPercentage","panesToResize","paneBefore","paneAfter","paneBeforeMaxReached","paneAfterMaxReached","vars","doPushOtherPanes","findPrevExpandedPane","findNextExpandedPane","total","reverse","checkSplitpanesNodes","children","from","child","isPane","classList","contains","isSplitter","parentNode","removeChild","addSplitter","paneIndex","nextPaneNode","isVeryFirst","elm","createElement","onmousedown","ontouchstart","onclick","ondblclick","insertBefore","removeSplitter","redoSplitters","el","className","_a","_uid","entries","parseFloat","minSize","maxSize","splice","isNaN","givenSize","resetPaneSizes","addedPane","pane3","removed","removedPane","changedPanes","equalizeAfterAddOrRemove","equalize","initialPanesSizing","equalSpace","leftToAllocate","ungrowable","unshrinkable","readjustSizes","definedSizes","leftToAllocate2","abs","equalSpaceToAllocate","newPaneSize","allocated","enable","splitters","querySelectorAll","$slots","__vue2_render","__vue2_staticRenderFns","__cssModules$1","__component__$1","__vue2_injectStyles$1","o","splitpanes","_h","$createElement","__vue2_script","inject","sizeNumber","minSizeNumber","maxSizeNumber","__cssModules","__component__","__vue2_injectStyles","pane"],"sourceRoot":""} \ No newline at end of file diff --git a/js/7336.f87ea6ae.js b/js/7336.60fc4911.js similarity index 99% rename from js/7336.f87ea6ae.js rename to js/7336.60fc4911.js index 3f9a64b4..bfd404e5 100644 --- a/js/7336.f87ea6ae.js +++ b/js/7336.60fc4911.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[7336],{35254:(e,t,s)=>{s.d(t,{A:()=>o});const o={components:{FederationNotice:()=>s.e(2604).then(s.bind(s,52604)),FederationMissingNotice:()=>s.e(5363).then(s.bind(s,35363))},props:{federation:{type:Object,default:()=>({})}}}},48312:(e,t,s)=>{s.d(t,{A:()=>u});var o=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component processes"},[t("SearchableList",{attrs:{data:e.processes,keywordsKey:"categories",showKeywords:e.showCategories,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Process",{attrs:{process:s.item,provideDownload:e.provideDownload,processUrl:e.processUrl,showGraph:e.showGraph,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("process-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("process-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},n=[],r=s(86975),l=s(35254);const a={name:"Processes",components:{Process:()=>r.A.loadAsyncComponent(s.e(6660).then(s.bind(s,34279))),SearchableList:()=>r.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[l.A],props:{processes:{type:Array,default:()=>[]},provideDownload:{type:Boolean,default:!0},processUrl:String,searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Processes"},collapsed:{type:Boolean,default:null},showCategories:{type:Boolean,default:!1},showGraph:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},loadAdditionalData:{type:Function,default:null},missing:{type:Array,default:null},...l.A.props},beforeCreate(){r.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},i=a;var d=s(81656),p=(0,d.A)(i,o,n,!1,null,null,null);const u=p.exports},37336:(e,t,s)=>{s.r(t),s.d(t,{default:()=>c});var o=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-process"},[t("p",[e._v("Please select the user-defined process to execute:")]),t("Processes",{attrs:{heading:"",processes:e.filteredProcesses,offerDetails:!1},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{class:{element:!0,selected:s.id==e.value}},[t("div",{staticClass:"summary",on:{click:function(t){return e.update(s)}}},[t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()]),t("button",{staticClass:"button",attrs:{type:"button",title:"Show process details"},on:{click:function(t){return e.showProcess(s)}}},[t("i",{staticClass:"fas fa-info"})])])]}}])}),t("hr"),t("p",[e._v("Alternatively, provide a URL to a user-defined process:")]),t("input",{staticClass:"url",attrs:{type:"url",name:"url"},domProps:{value:e.url},on:{blur:e.updateUrl}})],1)},n=[],r=s(48312),l=s(2566),a=s(61663);const i={name:"ChooseUserDefinedProcess",mixins:[a.A],components:{Processes:r.A},props:{value:{type:String,default:null},namespace:{type:String,default:null},url:{type:String,default:null}},computed:{...l.A.mapGetters(["processes"]),filteredProcesses(){return this.processes.namespace(this.namespace||"user")}},methods:{...l.A.mapActions(["describeUserProcess"]),update(e){this.$emit("input",e)},updateUrl(e){const t=e.target.value;if(t){if(!l.A.isUrl(t))throw new Error("The provided URL is not valid.");this.$emit("input",t,!0)}},showProcess(e){this.broadcast("showProcess",e)}}},d=i;var p=s(81656),u=(0,p.A)(d,o,n,!1,null,null,null);const c=u.exports}}]); -//# sourceMappingURL=7336.f87ea6ae.js.map \ No newline at end of file +//# sourceMappingURL=7336.60fc4911.js.map \ No newline at end of file diff --git a/js/7336.f87ea6ae.js.map b/js/7336.60fc4911.js.map similarity index 99% rename from js/7336.f87ea6ae.js.map rename to js/7336.60fc4911.js.map index edcefbd6..c61f9165 100644 --- a/js/7336.f87ea6ae.js.map +++ b/js/7336.60fc4911.js.map @@ -1 +1 @@ -{"version":3,"file":"js/7336.f87ea6ae.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseUserDefinedProcess.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue?16cc","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue?2ac0"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-process\"},[_c('p',[_vm._v(\"Please select the user-defined process to execute:\")]),_c('Processes',{attrs:{\"heading\":\"\",\"processes\":_vm.filteredProcesses,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show process details\"},on:{\"click\":function($event){return _vm.showProcess(item)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])}),_c('hr'),_c('p',[_vm._v(\"Alternatively, provide a URL to a user-defined process:\")]),_c('input',{staticClass:\"url\",attrs:{\"type\":\"url\",\"name\":\"url\"},domProps:{\"value\":_vm.url},on:{\"blur\":_vm.updateUrl}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseUserDefinedProcess.vue?vue&type=template&id=4512f50b\"\nimport script from \"./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseUserDefinedProcess.vue?vue&type=style&index=0&id=4512f50b&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","processes","showCategories","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","provideDownload","processUrl","showGraph","staticRenderFns","name","Process","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","Boolean","String","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","_v","filteredProcesses","class","element","selected","id","value","$event","update","_s","title","_e","showProcess","domProps","url","updateUrl","EventBusMixin","Processes","namespace","computed","Utils","mapGetters","mapActions","event","target","isUrl","Error","broadcast"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/7336.60fc4911.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseUserDefinedProcess.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue?16cc","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseUserDefinedProcess.vue?2ac0"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-process\"},[_c('p',[_vm._v(\"Please select the user-defined process to execute:\")]),_c('Processes',{attrs:{\"heading\":\"\",\"processes\":_vm.filteredProcesses,\"offerDetails\":false},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Show process details\"},on:{\"click\":function($event){return _vm.showProcess(item)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}])}),_c('hr'),_c('p',[_vm._v(\"Alternatively, provide a URL to a user-defined process:\")]),_c('input',{staticClass:\"url\",attrs:{\"type\":\"url\",\"name\":\"url\"},domProps:{\"value\":_vm.url},on:{\"blur\":_vm.updateUrl}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseUserDefinedProcess.vue?vue&type=template&id=4512f50b\"\nimport script from \"./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseUserDefinedProcess.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseUserDefinedProcess.vue?vue&type=style&index=0&id=4512f50b&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","render","_vm","this","_c","_self","staticClass","attrs","processes","showCategories","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","key","fn","scope","_t","missing","proxy","slot","item","provideDownload","processUrl","showGraph","staticRenderFns","name","Process","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","Boolean","String","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","_v","filteredProcesses","class","element","selected","id","value","$event","update","_s","title","_e","showProcess","domProps","url","updateUrl","EventBusMixin","Processes","namespace","computed","Utils","mapGetters","mapActions","event","target","isUrl","Error","broadcast"],"sourceRoot":""} \ No newline at end of file diff --git a/js/7497.2360527a.js b/js/7497.52e15be2.js similarity index 99% rename from js/7497.2360527a.js rename to js/7497.52e15be2.js index 374b3710..acb5b9a4 100644 --- a/js/7497.2360527a.js +++ b/js/7497.52e15be2.js @@ -1,2 +1,2 @@ (globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[7497],{82574:(e,t,n)=>{"use strict";n.d(t,{A:()=>m});var i=function(){var e=this,t=e._self._c;return t("button",{directives:[{name:"show",rawName:"v-show",value:e.element,expression:"element"}],attrs:{type:"button",title:e.isFullscreen?"Close fullscreen":"Show fullscreen"},on:{click:e.toggleFullscreen}},[t("span",{directives:[{name:"show",rawName:"v-show",value:e.isFullscreen,expression:"isFullscreen"}]},[t("i",{staticClass:"fas fa-compress"})]),t("span",{directives:[{name:"show",rawName:"v-show",value:!e.isFullscreen,expression:"!isFullscreen"}]},[t("i",{staticClass:"fas fa-expand"})])])},r=[],a=n(61663),o=n(2566);const s={name:"FullscreenButton",mixins:[a.A],props:{element:{required:!0}},data(){return{isFullscreen:!1,keyDownFn:null,oldZIndex:"auto"}},mounted(){this.keyDownFn=this.onkeyDown.bind(this);let e=this.getElement();e&&e.addEventListener("keydown",this.keyDownFn)},beforeDestroy(){let e=this.getElement();e&&e.removeEventListener("keydown",this.keyDownFn)},computed:{...o.A.mapState("editor",["hightestModalZIndex"])},methods:{...o.A.mapMutations("editor",["openModal","closeModal"]),onkeyDown(e){!this.isFullscreen||"F11"!==e.key&&"Escape"!==e.key||(this.toggleFullscreen(),e.preventDefault(),e.stopPropagation())},getElement(){return"string"===typeof this.element?document.querySelector(this.element):"function"===typeof this.element?this.element():this.element},toggleFullscreen(){let e=this.getElement();this.isFullscreen?(this.isFullscreen=!1,e.classList.remove("fullscreen"),e.style.zIndex=this.oldZIndex,this.closeModal()):(this.isFullscreen=!0,e.classList.add("fullscreen"),this.openModal(),this.oldZIndex=e.style.zIndex,e.style.zIndex=this.hightestModalZIndex),this.$emit("changed",this.isFullscreen),this.broadcast("stopTour")}}},l=s;var c=n(81656),u=(0,c.A)(l,i,r,!1,null,null,null);const m=u.exports},57497:(e,t,n)=>{"use strict";n.d(t,{A:()=>x});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"textEditor",class:e.languageString},[t("div",{staticClass:"sourceHeader"},[e.title?t("strong",[e._v(e._s(e.title))]):e._e(),t("div",{staticClass:"sourceToolbar"},[t("span",{staticClass:"sepr"},[e.editable?t("button",{attrs:{type:"button",title:"New script / Clear current script"},on:{click:e.confirmClear}},[t("i",{staticClass:"fas fa-file"})]):e._e(),e._t("file-toolbar")],2),e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",disabled:!e.canUndo,title:"Revert last change"},on:{click:function(t){return e.editor.undo()}}},[t("i",{staticClass:"fas fa-undo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.canRedo,title:"Redo last reverted change"},on:{click:function(t){return e.editor.redo()}}},[t("i",{staticClass:"fas fa-redo-alt"})]),e._t("edit-toolbar")],2):e._e(),t("FullscreenButton",{attrs:{element:e.element}}),e._t("toolbar")],2)]),t("div",{staticClass:"sourceCodeEditor",attrs:{id:e.id}})])},r=[],a=n(2566),o=n(82574),s=n(14894),l=n(15237),c=n.n(l),u=(n(16792),n(47216),n(88672),n(74806),n(13604),n(10202),n(97923),n(55218),n(71561),n(92154),n(62271)),m=n.n(u);window.jsonlint=m();const d={name:"TextEditor",components:{FullscreenButton:o.A},props:{id:String,editable:{type:Boolean,default:!0},value:{required:!0},language:{type:String,default:null},placeholder:{type:String,default:""},title:{type:String}},computed:{...a.A.mapGetters(["processes"]),languageString(){return"string"===typeof this.language?this.language.toLowerCase():""},editorOptions(){let e={indentUnit:2,lineNumbers:!0,indentWithTabs:!0,matchBrackets:!0,autoCloseBrackets:!0,readOnly:!this.editable,placeholder:this.placeholder};switch(this.languageString){case"r":e.mode="text/x-rsrc";break;case"python":e.mode="text/x-python";break;case"math":e.mode="text/x-mathematica";break;case"markdown":e.mode="text/x-markdown",e.lineWrapping=!0;break;case"javascript":e.mode="text/javascript";break;case"json":case"processgraph":e.mode="application/json",e.gutters=["CodeMirror-lint-markers"],e.lint=!0;break}return e}},data(){return{canUndo:!1,canRedo:!1,editor:null,emitValue:this.value,element:null}},watch:{async value(){this.emitValue!==this.value&&(this.updateContent(),this.editor.clearHistory())},editorOptions(){for(var e in this.editorOptions)this.editor.setOption(e,this.editorOptions[e]);this.updateContent()}},mounted(){this.editor=c()(document.getElementById(this.id),this.editorOptions),this.editor.setSize(null,"100%"),"processgraph"===this.languageString&&this.editor.on("change",(()=>this.updateState())),this.updateContent(),this.editor.on("changes",((e,t)=>{try{Object.values(t).find((e=>"setValue"===e.origin))||this.commit(!1)}catch(n){this.$emit("error",n)}})),this.element=this.$el},methods:{confirmClear(){var e=confirm("Do you really want to clear the existing code?");e&&(this.insert(""),this.emit(null))},updateState(){this.editor.setOption("lint",!!this.editor.getValue().trim());let e=this.editor.getDoc().historySize();this.canUndo=e.undo>0,this.canRedo=e.redo>0,this.editor.refresh(),this.element=this.$el},commit(e=!0){var t=this.editor.getValue();switch(this.languageString){case"math":return this.emit(t.replace(/[\r\n\t]+/," "));case"processgraph":if(t){var n=JSON.parse(t);if(a.A.size(n)>0){var i=new s.ProcessGraph(n,this.processes);return i.allowEmpty(),i.parse(),this.emit(n)}}return this.emit(e?null:"");case"json":return t?this.emit(JSON.parse(t)):this.emit(null);default:return this.emit(t)}},emit(e){this.emitValue=e,this.$emit("input",e)},insert(e,t=!0){if("string"!==typeof e&&(e=String(e)),t){const t=this.editor.getValue();if(e!==t){const t=this.editor.getScrollInfo();this.editor.setValue(e),this.editor.scrollTo(t.left,t.top)}}else this.editor.replaceSelection(e)},updateContent(){if(this.value)switch(this.languageString){case"processgraph":a.A.isObject(this.value)?this.insert(JSON.stringify(this.value,null,this.editorOptions.indentUnit)):this.insert("");break;case"json":this.insert(JSON.stringify(this.value,null,this.editorOptions.indentUnit));break;default:this.insert(this.value)}else this.insert("");this.editor.getDoc().clearHistory(),this.updateState()},insertProcess(e){try{this.insert(JSON.stringify(e,null,2),!1)}catch(t){a.A.exception(this,t)}}}},f=d;var h=n(81656),p=(0,h.A)(f,i,r,!1,null,"0ca6b553",null);const x=p.exports},10202:(e,t,n)=>{(function(e){e(n(15237))})((function(e){function t(e){e.state.placeholder&&(e.state.placeholder.parentNode.removeChild(e.state.placeholder),e.state.placeholder=null)}function n(e){t(e);var n=e.state.placeholder=document.createElement("pre");n.style.cssText="height: 0; overflow: visible",n.style.direction=e.getOption("direction"),n.className="CodeMirror-placeholder CodeMirror-line-like";var i=e.getOption("placeholder");"string"==typeof i&&(i=document.createTextNode(i)),n.appendChild(i),e.display.lineSpace.insertBefore(n,e.display.lineSpace.firstChild)}function i(e){setTimeout((function(){var i=!1;if(1==e.lineCount()){var r=e.getInputField();i="TEXTAREA"==r.nodeName?!e.getLine(0).length:!/[^\u200b]/.test(r.querySelector(".CodeMirror-line").textContent)}i?n(e):t(e)}),20)}function r(e){o(e)&&n(e)}function a(e){var i=e.getWrapperElement(),r=o(e);i.className=i.className.replace(" CodeMirror-empty","")+(r?" CodeMirror-empty":""),r?n(e):t(e)}function o(e){return 1===e.lineCount()&&""===e.getLine(0)}e.defineOption("placeholder","",(function(n,o,s){var l=s&&s!=e.Init;if(o&&!l)n.on("blur",r),n.on("change",a),n.on("swapDoc",a),e.on(n.getInputField(),"compositionupdate",n.state.placeholderCompose=function(){i(n)}),a(n);else if(!o&&l){n.off("blur",r),n.off("change",a),n.off("swapDoc",a),e.off(n.getInputField(),"compositionupdate",n.state.placeholderCompose),t(n);var c=n.getWrapperElement();c.className=c.className.replace(" CodeMirror-empty","")}o&&!n.hasFocus()&&r(n)}))}))},55218:(e,t,n)=>{(function(e){e(n(15237))})((function(e){var t={pairs:"()[]{}''\"\"",closeBefore:")]}'\":;>",triples:"",explode:"[]{}"},n=e.Pos;function i(e,n){return"pairs"==n&&"string"==typeof e?e:"object"==typeof e&&null!=e[n]?e[n]:t[n]}e.defineOption("autoCloseBrackets",!1,(function(t,n,o){o&&o!=e.Init&&(t.removeKeyMap(r),t.state.closeBrackets=null),n&&(a(i(n,"pairs")),t.state.closeBrackets=n,t.addKeyMap(r))}));var r={Backspace:l,Enter:c};function a(e){for(var t=0;t=0;l--){var u=o[l].head;t.replaceRange("",n(u.line,u.ch-1),n(u.line,u.ch+1),"+delete")}}function c(t){var n=s(t),r=n&&i(n,"explode");if(!r||t.getOption("disableInput"))return e.Pass;for(var a=t.listSelections(),o=0;o0?{line:o.head.line,ch:o.head.ch+t}:{line:o.head.line-1};n.push({anchor:s,head:s})}e.setSelections(n,r)}function m(t){var i=e.cmpPos(t.anchor,t.head)>0;return{anchor:new n(t.anchor.line,t.anchor.ch+(i?-1:1)),head:new n(t.head.line,t.head.ch+(i?1:-1))}}function d(t,r){var a=s(t);if(!a||t.getOption("disableInput"))return e.Pass;var o=i(a,"pairs"),l=o.indexOf(r);if(-1==l)return e.Pass;for(var c,d=i(a,"closeBefore"),f=i(a,"triples"),p=o.charAt(l+1)==r,x=t.listSelections(),g=l%2==0,k=0;k1&&f.indexOf(r)>=0&&t.getRange(n(b.line,b.ch-2),b)==r+r){if(b.ch>2&&/\bstring/.test(t.getTokenTypeAt(n(b.line,b.ch-2))))return e.Pass;v="addFour"}else if(p){var S=0==b.ch?" ":t.getRange(n(b.line,b.ch-1),b);if(e.isWordChar(w)||S==r||e.isWordChar(S))return e.Pass;v="both"}else{if(!g||!(0===w.length||/\s/.test(w)||d.indexOf(w)>-1))return e.Pass;v="both"}else v=p&&h(t,b)?"both":f.indexOf(r)>=0&&t.getRange(b,n(b.line,b.ch+3))==r+r+r?"skipThree":"skip";if(c){if(c!=v)return e.Pass}else c=v}var F=l%2?o.charAt(l-1):r,E=l%2?r:o.charAt(l+1);t.operation((function(){if("skip"==c)u(t,1);else if("skipThree"==c)u(t,3);else if("surround"==c){for(var e=t.getSelections(),n=0;n{(function(e){e(n(15237))})((function(e){var t=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,i={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function r(e){return e&&e.bracketRegex||/[(){}[\]]/}function a(e,t,a){var s=e.getLineHandle(t.line),l=t.ch-1,c=a&&a.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var u=r(a),m=!c&&l>=0&&u.test(s.text.charAt(l))&&i[s.text.charAt(l)]||u.test(s.text.charAt(l+1))&&i[s.text.charAt(++l)];if(!m)return null;var d=">"==m.charAt(1)?1:-1;if(a&&a.strict&&d>0!=(l==t.ch))return null;var f=e.getTokenTypeAt(n(t.line,l+1)),h=o(e,n(t.line,l+(d>0?1:0)),d,f,a);return null==h?null:{from:n(t.line,l),to:h&&h.pos,match:h&&h.ch==m.charAt(0),forward:d>0}}function o(e,t,a,o,s){for(var l=s&&s.maxScanLineLength||1e4,c=s&&s.maxScanLines||1e3,u=[],m=r(s),d=a>0?Math.min(t.line+c,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-c),f=t.line;f!=d;f+=a){var h=e.getLine(f);if(h){var p=a>0?0:h.length-1,x=a>0?h.length:-1;if(!(h.length>l))for(f==t.line&&(p=t.ch-(a<0?1:0));p!=x;p+=a){var g=h.charAt(p);if(m.test(g)&&(void 0===o||(e.getTokenTypeAt(n(f,p+1))||"")==(o||""))){var k=i[g];if(k&&">"==k.charAt(1)==a>0)u.push(g);else{if(!u.length)return{pos:n(f,p),ch:g};u.pop()}}}}}return f-a!=(a>0?e.lastLine():e.firstLine())&&null}function s(e,i,r){for(var o=e.state.matchBrackets.maxHighlightLineLength||1e3,s=r&&r.highlightNonMatching,l=[],c=e.listSelections(),u=0;u{(function(e){e(n(15237))})((function(e){"use strict";e.registerHelper("lint","json",(function(t){var n=[];if(!window.jsonlint)return window.console&&window.console.error("Error: window.jsonlint not defined, CodeMirror JSON linting cannot run."),n;var i=window.jsonlint.parser||window.jsonlint;i.parseError=function(t,i){var r=i.loc;n.push({from:e.Pos(r.first_line-1,r.first_column),to:e.Pos(r.last_line-1,r.last_column),message:t})};try{i.parse(t)}catch(r){}return n}))}))},71561:(e,t,n)=>{(function(e){e(n(15237))})((function(e){"use strict";var t="CodeMirror-lint-markers",n="CodeMirror-lint-line-";function i(t,n,i){var r=document.createElement("div");function a(t){if(!r.parentNode)return e.off(document,"mousemove",a);var n=Math.max(0,t.clientY-r.offsetHeight-5),i=Math.max(0,Math.min(t.clientX+5,r.ownerDocument.defaultView.innerWidth-r.offsetWidth));r.style.top=n+"px",r.style.left=i+"px"}return r.className="CodeMirror-lint-tooltip cm-s-"+t.options.theme,r.appendChild(i.cloneNode(!0)),t.state.lint.options.selfContain?t.getWrapperElement().appendChild(r):document.body.appendChild(r),e.on(document,"mousemove",a),a(n),null!=r.style.opacity&&(r.style.opacity=1),r}function r(e){e.parentNode&&e.parentNode.removeChild(e)}function a(e){e.parentNode&&(null==e.style.opacity&&r(e),e.style.opacity=0,setTimeout((function(){r(e)}),600))}function o(t,n,r,o){var s=i(t,n,r);function l(){e.off(o,"mouseout",l),s&&(a(s),s=null)}var c=setInterval((function(){if(s)for(var e=o;;e=e.parentNode){if(e&&11==e.nodeType&&(e=e.host),e==document.body)return;if(!e){l();break}}if(!s)return clearInterval(c)}),400);e.on(o,"mouseout",l)}function s(e,t,n){for(var i in this.marked=[],t instanceof Function&&(t={getAnnotations:t}),t&&!0!==t||(t={}),this.options={},this.linterOptions=t.options||{},l)this.options[i]=l[i];for(var i in t)l.hasOwnProperty(i)?null!=t[i]&&(this.options[i]=t[i]):t.options||(this.linterOptions[i]=t[i]);this.timeout=null,this.hasGutter=n,this.onMouseOver=function(t){y(e,t)},this.waitingFor=0}var l={highlightLines:!1,tooltips:!0,delay:500,lintOnChange:!0,getAnnotations:null,async:!1,selfContain:null,formatAnnotation:null,onUpdateLinting:null};function c(e){var n=e.state.lint;n.hasGutter&&e.clearGutter(t),n.options.highlightLines&&u(e);for(var i=0;i1,a.tooltips)),a.highlightLines&&e.addLineClass(s,"wrap",n+u)}}a.onUpdateLinting&&a.onUpdateLinting(i,o,e)}}function k(e){var t=e.state.lint;t&&(clearTimeout(t.timeout),t.timeout=setTimeout((function(){x(e)}),t.options.delay))}function v(e,t,n){for(var i=n.target||n.srcElement,r=document.createDocumentFragment(),a=0;a{(function(e){e(n(15237))})((function(e){"use strict";e.defineMode("javascript",(function(t,n){var i,r,a=t.indentUnit,o=n.statementIndent,s=n.jsonld,l=n.json||s,c=!1!==n.trackScope,u=n.typescript,m=n.wordCharacters||/[\w$\xa1-\uffff]/,d=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),i=e("keyword c"),r=e("keyword d"),a=e("operator"),o={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:r,break:r,continue:r,new:e("new"),delete:i,void:i,throw:i,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:a,typeof:a,instanceof:a,true:o,false:o,null:o,undefined:o,NaN:o,Infinity:o,this:e("this"),class:e("class"),super:e("atom"),yield:i,export:e("export"),import:e("import"),extends:i,await:i}}(),f=/[+\-*&%=<>!?|~^@]/,h=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function p(e){var t,n=!1,i=!1;while(null!=(t=e.next())){if(!n){if("/"==t&&!i)return;"["==t?i=!0:i&&"]"==t&&(i=!1)}n=!n&&"\\"==t}}function x(e,t,n){return i=e,r=n,t}function g(e,t){var n=e.next();if('"'==n||"'"==n)return t.tokenize=k(n),t.tokenize(e,t);if("."==n&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return x("number","number");if("."==n&&e.match(".."))return x("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return x(n);if("="==n&&e.eat(">"))return x("=>","operator");if("0"==n&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return x("number","number");if(/\d/.test(n))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),x("number","number");if("/"==n)return e.eat("*")?(t.tokenize=v,v(e,t)):e.eat("/")?(e.skipToEnd(),x("comment","comment")):rt(e,t,1)?(p(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),x("regexp","string-2")):(e.eat("="),x("operator","operator",e.current()));if("`"==n)return t.tokenize=y,y(e,t);if("#"==n&&"!"==e.peek())return e.skipToEnd(),x("meta","meta");if("#"==n&&e.eatWhile(m))return x("variable","property");if("<"==n&&e.match("!--")||"-"==n&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),x("comment","comment");if(f.test(n))return">"==n&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=n&&"="!=n||e.eat("="):/[<>*+\-|&?]/.test(n)&&(e.eat(n),">"==n&&e.eat(n))),"?"==n&&e.eat(".")?x("."):x("operator","operator",e.current());if(m.test(n)){e.eatWhile(m);var i=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(i)){var r=d[i];return x(r.type,r.style,i)}if("async"==i&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return x("async","keyword",i)}return x("variable","variable",i)}}function k(e){return function(t,n){var i,r=!1;if(s&&"@"==t.peek()&&t.match(h))return n.tokenize=g,x("jsonld-keyword","meta");while(null!=(i=t.next())){if(i==e&&!r)break;r=!r&&"\\"==i}return r||(n.tokenize=g),x("string","string")}}function v(e,t){var n,i=!1;while(n=e.next()){if("/"==n&&i){t.tokenize=g;break}i="*"==n}return x("comment","comment")}function y(e,t){var n,i=!1;while(null!=(n=e.next())){if(!i&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}i=!i&&"\\"==n}return x("quasi","string-2",e.current())}var b="([{}])";function w(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(u){var i=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));i&&(n=i.index)}for(var r=0,a=!1,o=n-1;o>=0;--o){var s=e.string.charAt(o),l=b.indexOf(s);if(l>=0&&l<3){if(!r){++o;break}if(0==--r){"("==s&&(a=!0);break}}else if(l>=3&&l<6)++r;else if(m.test(s))a=!0;else if(/["'\/`]/.test(s))for(;;--o){if(0==o)return;var c=e.string.charAt(o-1);if(c==s&&"\\"!=e.string.charAt(o-2)){o--;break}}else if(a&&!r){++o;break}}a&&!r&&(t.fatArrowAt=o)}}var S={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function F(e,t,n,i,r,a){this.indented=e,this.column=t,this.type=n,this.prev=r,this.info=a,null!=i&&(this.align=i)}function E(e,t){if(!c)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var i=e.context;i;i=i.prev)for(n=i.vars;n;n=n.next)if(n.name==t)return!0}function C(e,t,n,i,r){var a=e.cc;A.state=e,A.stream=r,A.marked=null,A.cc=a,A.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);while(1){var o=a.length?a.pop():l?V:R;if(o(n,i)){while(a.length&&a[a.length-1].lex)a.pop()();return A.marked?A.marked:"variable"==n&&E(e,i)?"variable-2":t}}}var A={state:null,column:null,marked:null,cc:null};function D(){for(var e=arguments.length-1;e>=0;e--)A.cc.push(arguments[e])}function M(){return D.apply(null,arguments),!0}function T(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function L(e){var t=A.state;if(A.marked="def",c){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var i=j(e,t.context);if(null!=i)return void(t.context=i)}else if(!T(e,t.localVars))return void(t.localVars=new I(e,t.localVars));n.globalVars&&!T(e,t.globalVars)&&(t.globalVars=new I(e,t.globalVars))}}function j(e,t){if(t){if(t.block){var n=j(e,t.prev);return n?n==t.prev?t:new z(n,t.vars,!0):null}return T(e,t.vars)?t:new z(t.prev,new I(e,t.vars),!1)}return null}function _(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function z(e,t,n){this.prev=e,this.vars=t,this.block=n}function I(e,t){this.name=e,this.next=t}var N=new I("this",new I("arguments",null));function O(){A.state.context=new z(A.state.context,A.state.localVars,!1),A.state.localVars=N}function B(){A.state.context=new z(A.state.context,A.state.localVars,!0),A.state.localVars=null}function $(){A.state.localVars=A.state.context.vars,A.state.context=A.state.context.prev}function q(e,t){var n=function(){var n=A.state,i=n.indented;if("stat"==n.lexical.type)i=n.lexical.indented;else for(var r=n.lexical;r&&")"==r.type&&r.align;r=r.prev)i=r.indented;n.lexical=new F(i,A.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function P(){var e=A.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function H(e){function t(n){return n==e?M():";"==e||"}"==n||")"==n||"]"==n?D():M(t)}return t}function R(e,t){return"var"==e?M(q("vardef",t),De,H(";"),P):"keyword a"==e?M(q("form"),W,R,P):"keyword b"==e?M(q("form"),R,P):"keyword d"==e?A.stream.match(/^\s*$/,!1)?M():M(q("stat"),G,H(";"),P):"debugger"==e?M(H(";")):"{"==e?M(q("}"),B,de,P,$):";"==e?M():"if"==e?("else"==A.state.lexical.info&&A.state.cc[A.state.cc.length-1]==P&&A.state.cc.pop()(),M(q("form"),W,R,P,ze)):"function"==e?M(Be):"for"==e?M(q("form"),B,Ie,R,$,P):"class"==e||u&&"interface"==t?(A.marked="keyword",M(q("form","class"==e?e:t),Re,P)):"variable"==e?u&&"declare"==t?(A.marked="keyword",M(R)):u&&("module"==t||"enum"==t||"type"==t)&&A.stream.match(/^\s*\w/,!1)?(A.marked="keyword","enum"==t?M(tt):"type"==t?M(qe,H("operator"),ge,H(";")):M(q("form"),Me,H("{"),q("}"),de,P,P)):u&&"namespace"==t?(A.marked="keyword",M(q("form"),V,R,P)):u&&"abstract"==t?(A.marked="keyword",M(R)):M(q("stat"),ae):"switch"==e?M(q("form"),W,H("{"),q("}","switch"),B,de,P,P,$):"case"==e?M(V,H(":")):"default"==e?M(H(":")):"catch"==e?M(q("form"),O,U,R,P,$):"export"==e?M(q("stat"),We,P):"import"==e?M(q("stat"),Ge,P):"async"==e?M(R):"@"==t?M(V,R):D(q("stat"),V,H(";"),P)}function U(e){if("("==e)return M(Pe,H(")"))}function V(e,t){return J(e,t,!1)}function Z(e,t){return J(e,t,!0)}function W(e){return"("!=e?D():M(q(")"),G,H(")"),P)}function J(e,t,n){if(A.state.fatArrowAt==A.stream.start){var i=n?te:ee;if("("==e)return M(O,q(")"),ue(Pe,")"),P,H("=>"),i,$);if("variable"==e)return D(O,Me,H("=>"),i,$)}var r=n?X:Q;return S.hasOwnProperty(e)?M(r):"function"==e?M(Be,r):"class"==e||u&&"interface"==t?(A.marked="keyword",M(q("form"),He,P)):"keyword c"==e||"async"==e?M(n?Z:V):"("==e?M(q(")"),G,H(")"),P,r):"operator"==e||"spread"==e?M(n?Z:V):"["==e?M(q("]"),et,P,r):"{"==e?me(se,"}",null,r):"quasi"==e?D(K,r):"new"==e?M(ne(n)):M()}function G(e){return e.match(/[;\}\)\],]/)?D():D(V)}function Q(e,t){return","==e?M(G):X(e,t,!1)}function X(e,t,n){var i=0==n?Q:X,r=0==n?V:Z;return"=>"==e?M(O,n?te:ee,$):"operator"==e?/\+\+|--/.test(t)||u&&"!"==t?M(i):u&&"<"==t&&A.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?M(q(">"),ue(ge,">"),P,i):"?"==t?M(V,H(":"),r):M(r):"quasi"==e?D(K,i):";"!=e?"("==e?me(Z,")","call",i):"."==e?M(oe,i):"["==e?M(q("]"),G,H("]"),P,i):u&&"as"==t?(A.marked="keyword",M(ge,i)):"regexp"==e?(A.state.lastType=A.marked="operator",A.stream.backUp(A.stream.pos-A.stream.start-1),M(r)):void 0:void 0}function K(e,t){return"quasi"!=e?D():"${"!=t.slice(t.length-2)?M(K):M(G,Y)}function Y(e){if("}"==e)return A.marked="string-2",A.state.tokenize=y,M(K)}function ee(e){return w(A.stream,A.state),D("{"==e?R:V)}function te(e){return w(A.stream,A.state),D("{"==e?R:Z)}function ne(e){return function(t){return"."==t?M(e?re:ie):"variable"==t&&u?M(Ee,e?X:Q):D(e?Z:V)}}function ie(e,t){if("target"==t)return A.marked="keyword",M(Q)}function re(e,t){if("target"==t)return A.marked="keyword",M(X)}function ae(e){return":"==e?M(P,R):D(Q,H(";"),P)}function oe(e){if("variable"==e)return A.marked="property",M()}function se(e,t){return"async"==e?(A.marked="property",M(se)):"variable"==e||"keyword"==A.style?(A.marked="property","get"==t||"set"==t?M(le):(u&&A.state.fatArrowAt==A.stream.start&&(n=A.stream.match(/^\s*:\s*/,!1))&&(A.state.fatArrowAt=A.stream.pos+n[0].length),M(ce))):"number"==e||"string"==e?(A.marked=s?"property":A.style+" property",M(ce)):"jsonld-keyword"==e?M(ce):u&&_(t)?(A.marked="keyword",M(se)):"["==e?M(V,fe,H("]"),ce):"spread"==e?M(Z,ce):"*"==t?(A.marked="keyword",M(se)):":"==e?D(ce):void 0;var n}function le(e){return"variable"!=e?D(ce):(A.marked="property",M(Be))}function ce(e){return":"==e?M(Z):"("==e?D(Be):void 0}function ue(e,t,n){function i(r,a){if(n?n.indexOf(r)>-1:","==r){var o=A.state.lexical;return"call"==o.info&&(o.pos=(o.pos||0)+1),M((function(n,i){return n==t||i==t?D():D(e)}),i)}return r==t||a==t?M():n&&n.indexOf(";")>-1?D(e):M(H(t))}return function(n,r){return n==t||r==t?M():D(e,i)}}function me(e,t,n){for(var i=3;i"),ge):"quasi"==e?D(be,Fe):void 0}function ke(e){if("=>"==e)return M(ge)}function ve(e){return e.match(/[\}\)\]]/)?M():","==e||";"==e?M(ve):D(ye,ve)}function ye(e,t){return"variable"==e||"keyword"==A.style?(A.marked="property",M(ye)):"?"==t||"number"==e||"string"==e?M(ye):":"==e?M(ge):"["==e?M(H("variable"),he,H("]"),ye):"("==e?D($e,ye):e.match(/[;\}\)\],]/)?void 0:M()}function be(e,t){return"quasi"!=e?D():"${"!=t.slice(t.length-2)?M(be):M(ge,we)}function we(e){if("}"==e)return A.marked="string-2",A.state.tokenize=y,M(be)}function Se(e,t){return"variable"==e&&A.stream.match(/^\s*[?:]/,!1)||"?"==t?M(Se):":"==e?M(ge):"spread"==e?M(Se):D(ge)}function Fe(e,t){return"<"==t?M(q(">"),ue(ge,">"),P,Fe):"|"==t||"."==e||"&"==t?M(ge):"["==e?M(ge,H("]"),Fe):"extends"==t||"implements"==t?(A.marked="keyword",M(ge)):"?"==t?M(ge,H(":"),ge):void 0}function Ee(e,t){if("<"==t)return M(q(">"),ue(ge,">"),P,Fe)}function Ce(){return D(ge,Ae)}function Ae(e,t){if("="==t)return M(ge)}function De(e,t){return"enum"==t?(A.marked="keyword",M(tt)):D(Me,fe,je,_e)}function Me(e,t){return u&&_(t)?(A.marked="keyword",M(Me)):"variable"==e?(L(t),M()):"spread"==e?M(Me):"["==e?me(Le,"]"):"{"==e?me(Te,"}"):void 0}function Te(e,t){return"variable"!=e||A.stream.match(/^\s*:/,!1)?("variable"==e&&(A.marked="property"),"spread"==e?M(Me):"}"==e?D():"["==e?M(V,H("]"),H(":"),Te):M(H(":"),Me,je)):(L(t),M(je))}function Le(){return D(Me,je)}function je(e,t){if("="==t)return M(Z)}function _e(e){if(","==e)return M(De)}function ze(e,t){if("keyword b"==e&&"else"==t)return M(q("form","else"),R,P)}function Ie(e,t){return"await"==t?M(Ie):"("==e?M(q(")"),Ne,P):void 0}function Ne(e){return"var"==e?M(De,Oe):"variable"==e?M(Oe):D(Oe)}function Oe(e,t){return")"==e?M():";"==e?M(Oe):"in"==t||"of"==t?(A.marked="keyword",M(V,Oe)):D(V,Oe)}function Be(e,t){return"*"==t?(A.marked="keyword",M(Be)):"variable"==e?(L(t),M(Be)):"("==e?M(O,q(")"),ue(Pe,")"),P,pe,R,$):u&&"<"==t?M(q(">"),ue(Ce,">"),P,Be):void 0}function $e(e,t){return"*"==t?(A.marked="keyword",M($e)):"variable"==e?(L(t),M($e)):"("==e?M(O,q(")"),ue(Pe,")"),P,pe,$):u&&"<"==t?M(q(">"),ue(Ce,">"),P,$e):void 0}function qe(e,t){return"keyword"==e||"variable"==e?(A.marked="type",M(qe)):"<"==t?M(q(">"),ue(Ce,">"),P):void 0}function Pe(e,t){return"@"==t&&M(V,Pe),"spread"==e?M(Pe):u&&_(t)?(A.marked="keyword",M(Pe)):u&&"this"==e?M(fe,je):D(Me,fe,je)}function He(e,t){return"variable"==e?Re(e,t):Ue(e,t)}function Re(e,t){if("variable"==e)return L(t),M(Ue)}function Ue(e,t){return"<"==t?M(q(">"),ue(Ce,">"),P,Ue):"extends"==t||"implements"==t||u&&","==e?("implements"==t&&(A.marked="keyword"),M(u?ge:V,Ue)):"{"==e?M(q("}"),Ve,P):void 0}function Ve(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||u&&_(t))&&A.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1)?(A.marked="keyword",M(Ve)):"variable"==e||"keyword"==A.style?(A.marked="property",M(Ze,Ve)):"number"==e||"string"==e?M(Ze,Ve):"["==e?M(V,fe,H("]"),Ze,Ve):"*"==t?(A.marked="keyword",M(Ve)):u&&"("==e?D($e,Ve):";"==e||","==e?M(Ve):"}"==e?M():"@"==t?M(V,Ve):void 0}function Ze(e,t){if("!"==t)return M(Ze);if("?"==t)return M(Ze);if(":"==e)return M(ge,je);if("="==t)return M(Z);var n=A.state.lexical.prev,i=n&&"interface"==n.info;return D(i?$e:Be)}function We(e,t){return"*"==t?(A.marked="keyword",M(Ye,H(";"))):"default"==t?(A.marked="keyword",M(V,H(";"))):"{"==e?M(ue(Je,"}"),Ye,H(";")):D(R)}function Je(e,t){return"as"==t?(A.marked="keyword",M(H("variable"))):"variable"==e?D(Z,Je):void 0}function Ge(e){return"string"==e?M():"("==e?D(V):"."==e?D(Q):D(Qe,Xe,Ye)}function Qe(e,t){return"{"==e?me(Qe,"}"):("variable"==e&&L(t),"*"==t&&(A.marked="keyword"),M(Ke))}function Xe(e){if(","==e)return M(Qe,Xe)}function Ke(e,t){if("as"==t)return A.marked="keyword",M(Qe)}function Ye(e,t){if("from"==t)return A.marked="keyword",M(V)}function et(e){return"]"==e?M():D(ue(Z,"]"))}function tt(){return D(q("form"),Me,H("{"),q("}"),ue(nt,"}"),P,P)}function nt(){return D(Me,je)}function it(e,t){return"operator"==e.lastType||","==e.lastType||f.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}function rt(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return O.lex=B.lex=!0,$.lex=!0,P.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new F((e||0)-a,0,"block",!1),localVars:n.localVars,context:n.localVars&&new z(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),w(e,t)),t.tokenize!=v&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==i?n:(t.lastType="operator"!=i||"++"!=r&&"--"!=r?i:"incdec",C(t,n,i,r,e))},indent:function(t,i){if(t.tokenize==v||t.tokenize==y)return e.Pass;if(t.tokenize!=g)return 0;var r,s=i&&i.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(i))for(var c=t.cc.length-1;c>=0;--c){var u=t.cc[c];if(u==P)l=l.prev;else if(u!=ze&&u!=$)break}while(("stat"==l.type||"form"==l.type)&&("}"==s||(r=t.cc[t.cc.length-1])&&(r==Q||r==X)&&!/^[,\.=+\-*:?[\(]/.test(i)))l=l.prev;o&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var m=l.type,d=s==m;return"vardef"==m?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==m&&"{"==s?l.indented:"form"==m?l.indented+a:"stat"==m?l.indented+(it(t,i)?o||a:0):"switch"!=l.info||d||0==n.doubleIndentSwitch?l.align?l.column+(d?0:1):l.indented+(d?0:a):l.indented+(/^(?:case|default)\b/.test(i)?a:2*a)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:s,jsonMode:l,expressionAllowed:rt,skipExpression:function(t){C(t,"atom","atom","true",new e.StringStream("",2,null))}}})),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}))},47216:(e,t,n)=>{(function(e){e(n(15237),n(40576),n(72602))})((function(e){"use strict";e.defineMode("markdown",(function(t,n){var i=e.getMode(t,"text/html"),r="null"==i.name;function a(n){if(e.findModeByName){var i=e.findModeByName(n);i&&(n=i.mime||i.mimes[0])}var r=e.getMode(t,n);return"null"==r.name?null:r}void 0===n.highlightFormatting&&(n.highlightFormatting=!1),void 0===n.maxBlockquoteDepth&&(n.maxBlockquoteDepth=0),void 0===n.taskLists&&(n.taskLists=!1),void 0===n.strikethrough&&(n.strikethrough=!1),void 0===n.emoji&&(n.emoji=!1),void 0===n.fencedCodeBlockHighlighting&&(n.fencedCodeBlockHighlighting=!0),void 0===n.fencedCodeBlockDefaultMode&&(n.fencedCodeBlockDefaultMode="text/plain"),void 0===n.xml&&(n.xml=!0),void 0===n.tokenTypeOverrides&&(n.tokenTypeOverrides={});var o={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var s in o)o.hasOwnProperty(s)&&n.tokenTypeOverrides[s]&&(o[s]=n.tokenTypeOverrides[s]);var l=/^([*\-_])(?:\s*\1){2,}\s*$/,c=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,u=/^\[(x| )\](?=\s)/i,m=n.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,d=/^ {0,3}(?:\={1,}|-{2,})\s*$/,f=/^[^#!\[\]*_\\<>` "'(~:]+/,h=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,p=/^\s*\[[^\]]+?\]:.*$/,x=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,g=" ";function k(e,t,n){return t.f=t.inline=n,n(e,t)}function v(e,t,n){return t.f=t.block=n,n(e,t)}function y(e){return!e||!/\S/.test(e.string)}function b(t){if(t.linkTitle=!1,t.linkHref=!1,t.linkText=!1,t.em=!1,t.strong=!1,t.strikethrough=!1,t.quote=0,t.indentedCode=!1,t.f==S){var n=r;if(!n){var a=e.innerMode(i,t.htmlState);n="xml"==a.mode.name&&null===a.state.tagStart&&!a.state.context&&a.state.tokenize.isInText}n&&(t.f=A,t.block=w,t.htmlState=null)}return t.trailingSpace=0,t.trailingSpaceNewLine=!1,t.prevLine=t.thisLine,t.thisLine={stream:null},null}function w(t,i){var r=t.column()===i.indentation,s=y(i.prevLine.stream),f=i.indentedCode,x=i.prevLine.hr,g=!1!==i.list,v=(i.listStack[i.listStack.length-1]||0)+3;i.indentedCode=!1;var b=i.indentation;if(null===i.indentationDiff&&(i.indentationDiff=i.indentation,g)){i.list=null;while(b=4&&(f||i.prevLine.fencedCodeEnd||i.prevLine.header||s))return t.skipToEnd(),i.indentedCode=!0,o.code;if(t.eatSpace())return null;if(r&&i.indentation<=v&&(C=t.match(m))&&C[1].length<=6)return i.quote=0,i.header=C[1].length,i.thisLine.header=!0,n.highlightFormatting&&(i.formatting="header"),i.f=i.inline,E(i);if(i.indentation<=v&&t.eat(">"))return i.quote=r?1:i.quote+1,n.highlightFormatting&&(i.formatting="quote"),t.eatSpace(),E(i);if(!S&&!i.setext&&r&&i.indentation<=v&&(C=t.match(c))){var A=C[1]?"ol":"ul";return i.indentation=b+t.current().length,i.list=!0,i.quote=0,i.listStack.push(i.indentation),i.em=!1,i.strong=!1,i.code=!1,i.strikethrough=!1,n.taskLists&&t.match(u,!1)&&(i.taskList=!0),i.f=i.inline,n.highlightFormatting&&(i.formatting=["list","list-"+A]),E(i)}return r&&i.indentation<=v&&(C=t.match(h,!0))?(i.quote=0,i.fencedEndRE=new RegExp(C[1]+"+ *$"),i.localMode=n.fencedCodeBlockHighlighting&&a(C[2]||n.fencedCodeBlockDefaultMode),i.localMode&&(i.localState=e.startState(i.localMode)),i.f=i.block=F,n.highlightFormatting&&(i.formatting="code-block"),i.code=-1,E(i)):i.setext||!(w&&g||i.quote||!1!==i.list||i.code||S||p.test(t.string))&&(C=t.lookAhead(1))&&(C=C.match(d))?(i.setext?(i.header=i.setext,i.setext=0,t.skipToEnd(),n.highlightFormatting&&(i.formatting="header")):(i.header="="==C[0].charAt(0)?1:2,i.setext=i.header),i.thisLine.header=!0,i.f=i.inline,E(i)):S?(t.skipToEnd(),i.hr=!0,i.thisLine.hr=!0,o.hr):"["===t.peek()?k(t,i,j):k(t,i,i.inline)}function S(t,n){var a=i.token(t,n.htmlState);if(!r){var o=e.innerMode(i,n.htmlState);("xml"==o.mode.name&&null===o.state.tagStart&&!o.state.context&&o.state.tokenize.isInText||n.md_inside&&t.current().indexOf(">")>-1)&&(n.f=A,n.block=w,n.htmlState=null)}return a}function F(e,t){var i,r=t.listStack[t.listStack.length-1]||0,a=t.indentation=e.quote?t.push(o.formatting+"-"+e.formatting[i]+"-"+e.quote):t.push("error"))}if(e.taskOpen)return t.push("meta"),t.length?t.join(" "):null;if(e.taskClosed)return t.push("property"),t.length?t.join(" "):null;if(e.linkHref?t.push(o.linkHref,"url"):(e.strong&&t.push(o.strong),e.em&&t.push(o.em),e.strikethrough&&t.push(o.strikethrough),e.emoji&&t.push(o.emoji),e.linkText&&t.push(o.linkText),e.code&&t.push(o.code),e.image&&t.push(o.image),e.imageAltText&&t.push(o.imageAltText,"link"),e.imageMarker&&t.push(o.imageMarker)),e.header&&t.push(o.header,o.header+"-"+e.header),e.quote&&(t.push(o.quote),!n.maxBlockquoteDepth||n.maxBlockquoteDepth>=e.quote?t.push(o.quote+"-"+e.quote):t.push(o.quote+"-"+n.maxBlockquoteDepth)),!1!==e.list){var r=(e.listStack.length-1)%3;r?1===r?t.push(o.list2):t.push(o.list3):t.push(o.list1)}return e.trailingSpaceNewLine?t.push("trailing-space-new-line"):e.trailingSpace&&t.push("trailing-space-"+(e.trailingSpace%2?"a":"b")),t.length?t.join(" "):null}function C(e,t){if(e.match(f,!0))return E(t)}function A(t,r){var a=r.text(t,r);if("undefined"!==typeof a)return a;if(r.list)return r.list=null,E(r);if(r.taskList){var s=" "===t.match(u,!0)[1];return s?r.taskOpen=!0:r.taskClosed=!0,n.highlightFormatting&&(r.formatting="task"),r.taskList=!1,E(r)}if(r.taskOpen=!1,r.taskClosed=!1,r.header&&t.match(/^#+$/,!0))return n.highlightFormatting&&(r.formatting="header"),E(r);var l=t.next();if(r.linkTitle){r.linkTitle=!1;var c=l;"("===l&&(c=")"),c=(c+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var m="^\\s*(?:[^"+c+"\\\\]+|\\\\\\\\|\\\\.)"+c;if(t.match(new RegExp(m),!0))return o.linkHref}if("`"===l){var d=r.formatting;n.highlightFormatting&&(r.formatting="code"),t.eatWhile("`");var f=t.current().length;if(0!=r.code||r.quote&&1!=f){if(f==r.code){var h=E(r);return r.code=0,h}return r.formatting=d,E(r)}return r.code=f,E(r)}if(r.code)return E(r);if("\\"===l&&(t.next(),n.highlightFormatting)){var p=E(r),g=o.formatting+"-escape";return p?p+" "+g:g}if("!"===l&&t.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return r.imageMarker=!0,r.image=!0,n.highlightFormatting&&(r.formatting="image"),E(r);if("["===l&&r.imageMarker&&t.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return r.imageMarker=!1,r.imageAltText=!0,n.highlightFormatting&&(r.formatting="image"),E(r);if("]"===l&&r.imageAltText){n.highlightFormatting&&(r.formatting="image");p=E(r);return r.imageAltText=!1,r.image=!1,r.inline=r.f=M,p}if("["===l&&!r.image)return r.linkText&&t.match(/^.*?\]/)||(r.linkText=!0,n.highlightFormatting&&(r.formatting="link")),E(r);if("]"===l&&r.linkText){n.highlightFormatting&&(r.formatting="link");p=E(r);return r.linkText=!1,r.inline=r.f=t.match(/\(.*?\)| ?\[.*?\]/,!1)?M:A,p}if("<"===l&&t.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){r.f=r.inline=D,n.highlightFormatting&&(r.formatting="link");p=E(r);return p?p+=" ":p="",p+o.linkInline}if("<"===l&&t.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){r.f=r.inline=D,n.highlightFormatting&&(r.formatting="link");p=E(r);return p?p+=" ":p="",p+o.linkEmail}if(n.xml&&"<"===l&&t.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var k=t.string.indexOf(">",t.pos);if(-1!=k){var y=t.string.substring(t.start,k);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(y)&&(r.md_inside=!0)}return t.backUp(1),r.htmlState=e.startState(i),v(t,r,S)}if(n.xml&&"<"===l&&t.match(/^\/\w*?>/))return r.md_inside=!1,"tag";if("*"===l||"_"===l){var b=1,w=1==t.pos?" ":t.string.charAt(t.pos-2);while(b<3&&t.eat(l))b++;var F=t.peek()||" ",C=!/\s/.test(F)&&(!x.test(F)||/\s/.test(w)||x.test(w)),T=!/\s/.test(w)&&(!x.test(w)||/\s/.test(F)||x.test(F)),L=null,j=null;if(b%2&&(r.em||!C||"*"!==l&&T&&!x.test(w)?r.em!=l||!T||"*"!==l&&C&&!x.test(F)||(L=!1):L=!0),b>1&&(r.strong||!C||"*"!==l&&T&&!x.test(w)?r.strong!=l||!T||"*"!==l&&C&&!x.test(F)||(j=!1):j=!0),null!=j||null!=L){n.highlightFormatting&&(r.formatting=null==L?"strong":null==j?"em":"strong em"),!0===L&&(r.em=l),!0===j&&(r.strong=l);h=E(r);return!1===L&&(r.em=!1),!1===j&&(r.strong=!1),h}}else if(" "===l&&(t.eat("*")||t.eat("_"))){if(" "===t.peek())return E(r);t.backUp(1)}if(n.strikethrough)if("~"===l&&t.eatWhile(l)){if(r.strikethrough){n.highlightFormatting&&(r.formatting="strikethrough");h=E(r);return r.strikethrough=!1,h}if(t.match(/^[^\s]/,!1))return r.strikethrough=!0,n.highlightFormatting&&(r.formatting="strikethrough"),E(r)}else if(" "===l&&t.match("~~",!0)){if(" "===t.peek())return E(r);t.backUp(2)}if(n.emoji&&":"===l&&t.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){r.emoji=!0,n.highlightFormatting&&(r.formatting="emoji");var _=E(r);return r.emoji=!1,_}return" "===l&&(t.match(/^ +$/,!1)?r.trailingSpace++:r.trailingSpace&&(r.trailingSpaceNewLine=!0)),E(r)}function D(e,t){var i=e.next();if(">"===i){t.f=t.inline=A,n.highlightFormatting&&(t.formatting="link");var r=E(t);return r?r+=" ":r="",r+o.linkInline}return e.match(/^[^>]+/,!0),o.linkInline}function M(e,t){if(e.eatSpace())return null;var i=e.next();return"("===i||"["===i?(t.f=t.inline=L("("===i?")":"]"),n.highlightFormatting&&(t.formatting="link-string"),t.linkHref=!0,E(t)):"error"}var T={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function L(e){return function(t,i){var r=t.next();if(r===e){i.f=i.inline=A,n.highlightFormatting&&(i.formatting="link-string");var a=E(i);return i.linkHref=!1,a}return t.match(T[e]),i.linkHref=!0,E(i)}}function j(e,t){return e.match(/^([^\]\\]|\\.)*\]:/,!1)?(t.f=_,e.next(),n.highlightFormatting&&(t.formatting="link"),t.linkText=!0,E(t)):k(e,t,A)}function _(e,t){if(e.match("]:",!0)){t.f=t.inline=z,n.highlightFormatting&&(t.formatting="link");var i=E(t);return t.linkText=!1,i}return e.match(/^([^\]\\]|\\.)+/,!0),o.linkText}function z(e,t){return e.eatSpace()?null:(e.match(/^[^\s]+/,!0),void 0===e.peek()?t.linkTitle=!0:e.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),t.f=t.inline=A,o.linkHref+" url")}var I={startState:function(){return{f:w,prevLine:{stream:null},thisLine:{stream:null},block:w,htmlState:null,indentation:0,inline:A,text:C,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(t){return{f:t.f,prevLine:t.prevLine,thisLine:t.thisLine,block:t.block,htmlState:t.htmlState&&e.copyState(i,t.htmlState),indentation:t.indentation,localMode:t.localMode,localState:t.localMode?e.copyState(t.localMode,t.localState):null,inline:t.inline,text:t.text,formatting:!1,linkText:t.linkText,linkTitle:t.linkTitle,linkHref:t.linkHref,code:t.code,em:t.em,strong:t.strong,strikethrough:t.strikethrough,emoji:t.emoji,header:t.header,setext:t.setext,hr:t.hr,taskList:t.taskList,list:t.list,listStack:t.listStack.slice(0),quote:t.quote,indentedCode:t.indentedCode,trailingSpace:t.trailingSpace,trailingSpaceNewLine:t.trailingSpaceNewLine,md_inside:t.md_inside,fencedEndRE:t.fencedEndRE}},token:function(e,t){if(t.formatting=!1,e!=t.thisLine.stream){if(t.header=0,t.hr=!1,e.match(/^\s*$/,!0))return b(t),null;if(t.prevLine=t.thisLine,t.thisLine={stream:e},t.taskList=!1,t.trailingSpace=0,t.trailingSpaceNewLine=!1,!t.localState&&(t.f=t.block,t.f!=S)){var n=e.match(/^\s*/,!0)[0].replace(/\t/g,g).length;if(t.indentation=n,t.indentationDiff=null,n>0)return null}}return t.f(e,t)},innerMode:function(e){return e.block==S?{state:e.htmlState,mode:i}:e.localState?{state:e.localState,mode:e.localMode}:{state:e,mode:I}},indent:function(t,n,r){return t.block==S&&i.indent?i.indent(t.htmlState,n,r):t.localState&&t.localMode.indent?t.localMode.indent(t.localState,n,r):e.Pass},blankLine:b,getType:E,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return I}),"xml"),e.defineMIME("text/markdown","markdown"),e.defineMIME("text/x-markdown","markdown")}))},88672:(e,t,n)=>{(function(e){e(n(15237))})((function(e){"use strict";e.defineMode("mathematica",(function(e,t){var n="[a-zA-Z\\$][a-zA-Z0-9\\$]*",i="(?:\\d+)",r="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",a="(?:\\.\\w+|\\w+\\.\\w*|\\w+)",o="(?:`(?:`?"+r+")?)",s=new RegExp("(?:"+i+"(?:\\^\\^"+a+o+"?(?:\\*\\^[+-]?\\d+)?))"),l=new RegExp("(?:"+r+o+"?(?:\\*\\^[+-]?\\d+)?)"),c=new RegExp("(?:`?)(?:"+n+")(?:`(?:"+n+"))*(?:`?)");function u(e,t){var n;return n=e.next(),'"'===n?(t.tokenize=m,t.tokenize(e,t)):"("===n&&e.eat("*")?(t.commentLevel++,t.tokenize=d,t.tokenize(e,t)):(e.backUp(1),e.match(s,!0,!1)||e.match(l,!0,!1)?"number":e.match(/(?:In|Out)\[[0-9]*\]/,!0,!1)?"atom":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/,!0,!1)?"meta":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string-2":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)||e.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":e.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"variable-3":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variable-2":e.match(c,!0,!1)?"keyword":e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(e.next(),"error"))}function m(e,t){var n,i=!1,r=!1;while(null!=(n=e.next())){if('"'===n&&!r){i=!0;break}r=!r&&"\\"===n}return i&&!r&&(t.tokenize=u),"string"}function d(e,t){var n,i;while(t.commentLevel>0&&null!=(i=e.next()))"("===n&&"*"===i&&t.commentLevel++,"*"===n&&")"===i&&t.commentLevel--,n=i;return t.commentLevel<=0&&(t.tokenize=u),"comment"}return{startState:function(){return{tokenize:u,commentLevel:0}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"(*",blockCommentEnd:"*)"}})),e.defineMIME("text/x-mathematica",{name:"mathematica"})}))},72602:(e,t,n)=>{(function(e){e(n(15237))})((function(e){"use strict";e.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var t=0;t-1&&t.substring(r+1,t.length);if(a)return e.findModeByExtension(a)},e.findModeByName=function(t){t=t.toLowerCase();for(var n=0;n{(function(e){e(n(15237))})((function(e){"use strict";function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var n=t(["and","or","not","is"]),i=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],r=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function a(e){return e.scopes[e.scopes.length-1]}e.registerHelper("hintWords","python",i.concat(r).concat(["exec","print"])),e.defineMode("python",(function(o,s){for(var l="error",c=s.delimiters||s.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,u=[s.singleOperators,s.doubleOperators,s.doubleDelimiters,s.tripleDelimiters,s.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],m=0;mi?F(t):r0&&C(e,t)&&(o+=" "+l),o}return b(e,t)}function b(e,t,i){if(e.eatSpace())return null;if(!i&&e.match(/^#.*/))return"comment";if(e.match(/^[0-9\.]/,!1)){var r=!1;if(e.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(r=!0),e.match(/^[\d_]+\.\d*/)&&(r=!0),e.match(/^\.\d+/)&&(r=!0),r)return e.eat(/J/i),"number";var a=!1;if(e.match(/^0x[0-9a-f_]+/i)&&(a=!0),e.match(/^0b[01_]+/i)&&(a=!0),e.match(/^0o[0-7_]+/i)&&(a=!0),e.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(e.eat(/J/i),a=!0),e.match(/^0(?![\dx])/i)&&(a=!0),a)return e.eat(/L/i),"number"}if(e.match(g)){var o=-1!==e.current().toLowerCase().indexOf("f");return o?(t.tokenize=w(e.current(),t.tokenize),t.tokenize(e,t)):(t.tokenize=S(e.current(),t.tokenize),t.tokenize(e,t))}for(var s=0;s=0)e=e.substr(1);var n=1==e.length,i="string";function r(e){return function(t,n){var i=b(t,n,!0);return"punctuation"==i&&("{"==t.current()?n.tokenize=r(e+1):"}"==t.current()&&(n.tokenize=e>1?r(e-1):a)),i}}function a(a,o){while(!a.eol())if(a.eatWhile(/[^'"\{\}\\]/),a.eat("\\")){if(a.next(),n&&a.eol())return i}else{if(a.match(e))return o.tokenize=t,i;if(a.match("{{"))return i;if(a.match("{",!1))return o.tokenize=r(0),a.current()?i:o.tokenize(a,o);if(a.match("}}"))return i;if(a.match("}"))return l;a.eat(/['"]/)}if(n){if(s.singleLineStringErrors)return l;o.tokenize=t}return i}return a.isString=!0,a}function S(e,t){while("rubf".indexOf(e.charAt(0).toLowerCase())>=0)e=e.substr(1);var n=1==e.length,i="string";function r(r,a){while(!r.eol())if(r.eatWhile(/[^'"\\]/),r.eat("\\")){if(r.next(),n&&r.eol())return i}else{if(r.match(e))return a.tokenize=t,i;r.eat(/['"]/)}if(n){if(s.singleLineStringErrors)return l;a.tokenize=t}return i}return r.isString=!0,r}function F(e){while("py"!=a(e).type)e.scopes.pop();e.scopes.push({offset:a(e).offset+o.indentUnit,type:"py",align:null})}function E(e,t,n){var i=e.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:e.column()+1;t.scopes.push({offset:t.indent+d,type:n,align:i})}function C(e,t){var n=e.indentation();while(t.scopes.length>1&&a(t).offset>n){if("py"!=a(t).type)return!0;t.scopes.pop()}return a(t).offset!=n}function A(e,t){e.sol()&&(t.beginningOfLine=!0,t.dedent=!1);var n=t.tokenize(e,t),i=e.current();if(t.beginningOfLine&&"@"==i)return e.match(x,!1)?"meta":p?"operator":l;if(/\S/.test(i)&&(t.beginningOfLine=!1),"variable"!=n&&"builtin"!=n||"meta"!=t.lastToken||(n="meta"),"pass"!=i&&"return"!=i||(t.dedent=!0),"lambda"==i&&(t.lambda=!0),":"==i&&!t.lambda&&"py"==a(t).type&&e.match(/^\s*(?:#|$)/,!1)&&F(t),1==i.length&&!/string|comment/.test(n)){var r="[({".indexOf(i);if(-1!=r&&E(e,t,"])}".slice(r,r+1)),r="])}".indexOf(i),-1!=r){if(a(t).type!=i)return l;t.indent=t.scopes.pop().offset-d}}return t.dedent&&e.eol()&&"py"==a(t).type&&t.scopes.length>1&&t.scopes.pop(),n}var D={startState:function(e){return{tokenize:y,scopes:[{offset:e||0,type:"py",align:null}],indent:e||0,lastToken:null,lambda:!1,dedent:0}},token:function(e,t){var n=t.errorToken;n&&(t.errorToken=!1);var i=A(e,t);return i&&"comment"!=i&&(t.lastToken="keyword"==i||"punctuation"==i?e.current():i),"punctuation"==i&&(i=null),e.eol()&&t.lambda&&(t.lambda=!1),n?i+" "+l:i},indent:function(t,n){if(t.tokenize!=y)return t.tokenize.isString?e.Pass:0;var i=a(t),r=i.type==n.charAt(0)||"py"==i.type&&!t.dedent&&/^(else:|elif |except |finally:)/.test(n);return null!=i.align?i.align-(r?1:0):i.offset-(r?d:0)},electricInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,closeBrackets:{triples:"'\""},lineComment:"#",fold:"indent"};return D})),e.defineMIME("text/x-python","python");var o=function(e){return e.split(" ")};e.defineMIME("text/x-cython",{name:"python",extra_keywords:o("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})}))},13604:(e,t,n)=>{(function(e){e(n(15237))})((function(e){"use strict";e.registerHelper("wordChars","r",/[\w.]/),e.defineMode("r",(function(t){function n(e){for(var t={},n=0;n=!&|~$:]/;function f(e,t){s=null;var n=e.next();if("#"==n)return e.skipToEnd(),"comment";if("0"==n&&e.eat("x"))return e.eatWhile(/[\da-f]/i),"number";if("."==n&&e.eat(/\d/))return e.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(n))return e.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if("'"==n||'"'==n)return t.tokenize=h(n),"string";if("`"==n)return e.match(/[^`]+`/),"variable-3";if("."==n&&e.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(n)){e.eatWhile(/[\w\.]/);var i=e.current();return l.propertyIsEnumerable(i)?"atom":u.propertyIsEnumerable(i)?(m.propertyIsEnumerable(i)&&!e.match(/\s*if(\s+|$)/,!1)&&(s="block"),"keyword"):c.propertyIsEnumerable(i)?"builtin":"variable"}return"%"==n?(e.skipTo("%")&&e.next(),"operator variable-2"):"<"==n&&e.eat("-")||"<"==n&&e.match("<-")||"-"==n&&e.match(/>>?/)?"operator arrow":"="==n&&t.ctx.argList?"arg-is":d.test(n)?"$"==n?"operator dollar":(e.eatWhile(d),"operator"):/[\(\){}\[\];]/.test(n)?(s=n,";"==n?"semi":null):null}function h(e){return function(t,n){if(t.eat("\\")){var i=t.next();return"x"==i?t.match(/^[a-f0-9]{2}/i):("u"==i||"U"==i)&&t.eat("{")&&t.skipTo("}")?t.next():"u"==i?t.match(/^[a-f0-9]{4}/i):"U"==i?t.match(/^[a-f0-9]{8}/i):/[0-7]/.test(i)&&t.match(/^[0-7]{1,2}/),"string-2"}var r;while(null!=(r=t.next())){if(r==e){n.tokenize=f;break}if("\\"==r){t.backUp(1);break}}return"string"}}var p=1,x=2,g=4;function k(e,t,n){e.ctx={type:t,indent:e.indent,flags:0,column:n.column(),prev:e.ctx}}function v(e,t){var n=e.ctx;e.ctx={type:n.type,indent:n.indent,flags:n.flags|t,column:n.column,prev:n.prev}}function y(e){e.indent=e.ctx.indent,e.ctx=e.ctx.prev}return{startState:function(){return{tokenize:f,ctx:{type:"top",indent:-t.indentUnit,flags:x},indent:0,afterIdent:!1}},token:function(e,t){if(e.sol()&&(0==(3&t.ctx.flags)&&(t.ctx.flags|=x),t.ctx.flags&g&&y(t),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"!=n&&0==(t.ctx.flags&x)&&v(t,p),";"!=s&&"{"!=s&&"}"!=s||"block"!=t.ctx.type||y(t),"{"==s?k(t,"}",e):"("==s?(k(t,")",e),t.afterIdent&&(t.ctx.argList=!0)):"["==s?k(t,"]",e):"block"==s?k(t,"block",e):s==t.ctx.type?y(t):"block"==t.ctx.type&&"comment"!=n&&v(t,g),t.afterIdent="variable"==n||"keyword"==n,n},indent:function(e,n){if(e.tokenize!=f)return 0;var i=n&&n.charAt(0),r=e.ctx,a=i==r.type;return r.flags&g&&(r=r.prev),"block"==r.type?r.indent+("{"==i?0:t.indentUnit):r.flags&p?r.column+(a?0:1):r.indent+(a?0:t.indentUnit)},lineComment:"#"}})),e.defineMIME("text/x-rsrc","r")}))},40576:(e,t,n)=>{(function(e){e(n(15237))})((function(e){"use strict";var t={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},n={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};e.defineMode("xml",(function(i,r){var a,o,s=i.indentUnit,l={},c=r.htmlMode?t:n;for(var u in c)l[u]=c[u];for(var u in r)l[u]=r[u];function m(e,t){function n(n){return t.tokenize=n,n(e,t)}var i,r=e.next();return"<"==r?e.eat("!")?e.eat("[")?e.match("CDATA[")?n(h("atom","]]>")):null:e.match("--")?n(h("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),n(p(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),t.tokenize=h("meta","?>"),"meta"):(a=e.eat("/")?"closeTag":"openTag",t.tokenize=d,"tag bracket"):"&"==r?(i=e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"),i?"atom":"error"):(e.eatWhile(/[^&<]/),null)}function d(e,t){var n=e.next();if(">"==n||"/"==n&&e.eat(">"))return t.tokenize=m,a=">"==n?"endTag":"selfcloseTag","tag bracket";if("="==n)return a="equals",null;if("<"==n){t.tokenize=m,t.state=y,t.tagName=t.tagStart=null;var i=t.tokenize(e,t);return i?i+" tag error":"tag error"}return/[\'\"]/.test(n)?(t.tokenize=f(n),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function f(e){var t=function(t,n){while(!t.eol())if(t.next()==e){n.tokenize=d;break}return"string"};return t.isInAttribute=!0,t}function h(e,t){return function(n,i){while(!n.eol()){if(n.match(t)){i.tokenize=m;break}n.next()}return e}}function p(e){return function(t,n){var i;while(null!=(i=t.next())){if("<"==i)return n.tokenize=p(e+1),n.tokenize(t,n);if(">"==i){if(1==e){n.tokenize=m;break}return n.tokenize=p(e-1),n.tokenize(t,n)}}return"meta"}}function x(e){return e&&e.toLowerCase()}function g(e,t,n){this.prev=e.context,this.tagName=t||"",this.indent=e.indented,this.startOfLine=n,(l.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}function k(e){e.context&&(e.context=e.context.prev)}function v(e,t){var n;while(1){if(!e.context)return;if(n=e.context.tagName,!l.contextGrabbers.hasOwnProperty(x(n))||!l.contextGrabbers[x(n)].hasOwnProperty(x(t)))return;k(e)}}function y(e,t,n){return"openTag"==e?(n.tagStart=t.column(),b):"closeTag"==e?w:y}function b(e,t,n){return"word"==e?(n.tagName=t.current(),o="tag",E):l.allowMissingTagName&&"endTag"==e?(o="tag bracket",E(e,t,n)):(o="error",b)}function w(e,t,n){if("word"==e){var i=t.current();return n.context&&n.context.tagName!=i&&l.implicitlyClosed.hasOwnProperty(x(n.context.tagName))&&k(n),n.context&&n.context.tagName==i||!1===l.matchClosing?(o="tag",S):(o="tag error",F)}return l.allowMissingTagName&&"endTag"==e?(o="tag bracket",S(e,t,n)):(o="error",F)}function S(e,t,n){return"endTag"!=e?(o="error",S):(k(n),y)}function F(e,t,n){return o="error",S(e,t,n)}function E(e,t,n){if("word"==e)return o="attribute",C;if("endTag"==e||"selfcloseTag"==e){var i=n.tagName,r=n.tagStart;return n.tagName=n.tagStart=null,"selfcloseTag"==e||l.autoSelfClosers.hasOwnProperty(x(i))?v(n,i):(v(n,i),n.context=new g(n,i,r==n.indented)),y}return o="error",E}function C(e,t,n){return"equals"==e?A:(l.allowMissing||(o="error"),E(e,t,n))}function A(e,t,n){return"string"==e?D:"word"==e&&l.allowUnquoted?(o="string",E):(o="error",E(e,t,n))}function D(e,t,n){return"string"==e?D:E(e,t,n)}return m.isInText=!0,{startState:function(e){var t={tokenize:m,state:y,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;a=null;var n=t.tokenize(e,t);return(n||a)&&"comment"!=n&&(o=null,t.state=t.state(a||n,e,t),o&&(n="error"==o?n+" error":o)),n},indent:function(t,n,i){var r=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+s;if(r&&r.noIndent)return e.Pass;if(t.tokenize!=d&&t.tokenize!=m)return i?i.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==l.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+s*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(e){e.state==A&&(e.state=E)},xmlCurrentTag:function(e){return e.tagName?{name:e.tagName,close:"closeTag"==e.type}:null},xmlCurrentContext:function(e){for(var t=[],n=e.context;n;n=n.prev)t.push(n.tagName);return t.reverse()}}})),e.defineMIME("text/xml","xml"),e.defineMIME("application/xml","xml"),e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:!0})}))},62271:e=>{var t=function(){var e=!0,t=!1,n={},i=function(){"use strict";var e,t,n,i,r={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},a=function(t){throw{name:"SyntaxError",message:t,at:e,text:n}},o=function(i){return i&&i!==t&&a("Expected '"+i+"' instead of '"+t+"'"),t=n.charAt(e),e+=1,t},s=function(){var e,n="";"-"===t&&(n="-",o("-"));while(t>="0"&&t<="9")n+=t,o();if("."===t){n+=".";while(o()&&t>="0"&&t<="9")n+=t}if("e"===t||"E"===t){n+=t,o(),"-"!==t&&"+"!==t||(n+=t,o());while(t>="0"&&t<="9")n+=t,o()}if(e=+n,isFinite(e))return e;a("Bad number")},l=function(){var e,n,i,s="";if('"'===t)while(o()){if('"'===t)return o(),s;if("\\"===t)if(o(),"u"===t){for(i=0,n=0;n<4;n+=1){if(e=parseInt(o(),16),!isFinite(e))break;i=16*i+e}s+=String.fromCharCode(i)}else{if("string"!==typeof r[t])break;s+=r[t]}else s+=t}a("Bad string")},c=function(){while(t&&t<=" ")o()},u=function(){switch(t){case"t":return o("t"),o("r"),o("u"),o("e"),!0;case"f":return o("f"),o("a"),o("l"),o("s"),o("e"),!1;case"n":return o("n"),o("u"),o("l"),o("l"),null}a("Unexpected '"+t+"'")},m=function(){var e=[];if("["===t){if(o("["),c(),"]"===t)return o("]"),e;while(t){if(e.push(i()),c(),"]"===t)return o("]"),e;o(","),c()}}a("Bad array")},d=function(){var e,n={};if("{"===t){if(o("{"),c(),"}"===t)return o("}"),n;while(t){if(e=l(),c(),o(":"),Object.hasOwnProperty.call(n,e)&&a("Duplicate key '"+e+"'"),n[e]=i(),c(),"}"===t)return o("}"),n;o(","),c()}}a("Bad object")};return i=function(){switch(c(),t){case"{":return d();case"[":return m();case'"':return l();case"-":return s();default:return t>="0"&&t<="9"?s():u()}},function(r,o){var s;return n=r,e=0,t=" ",s=i(),c(),t&&a("Syntax error"),"function"===typeof o?function e(t,n){var i,r,a=t[n];if(a&&"object"===typeof a)for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(r=e(a,i),void 0!==r?a[i]=r:delete a[i]);return o.call(t,n,a)}({"":s},""):s}}();"object"===typeof t&&t.exports&&(t.exports=i);var r=function(){var e={trace:function(){},yy:{},symbols_:{error:2,JSONString:3,STRING:4,JSONNumber:5,NUMBER:6,JSONNullLiteral:7,NULL:8,JSONBooleanLiteral:9,TRUE:10,FALSE:11,JSONText:12,JSONValue:13,EOF:14,JSONObject:15,JSONArray:16,"{":17,"}":18,JSONMemberList:19,JSONMember:20,":":21,",":22,"[":23,"]":24,JSONElementList:25,$accept:0,$end:1},terminals_:{2:"error",4:"STRING",6:"NUMBER",8:"NULL",10:"TRUE",11:"FALSE",14:"EOF",17:"{",18:"}",21:":",22:",",23:"[",24:"]"},productions_:[0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]],performAction:function(e,t,n,i,r,a,o){var s=a.length-1;switch(r){case 1:this.$=e.replace(/\\(\\|")/g,"$1").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g,"\t").replace(/\\v/g,"\v").replace(/\\f/g,"\f").replace(/\\b/g,"\b");break;case 2:this.$=Number(e);break;case 3:this.$=null;break;case 4:this.$=!0;break;case 5:this.$=!1;break;case 6:return this.$=a[s-1];case 13:this.$={};break;case 14:this.$=a[s-1];break;case 15:this.$=[a[s-2],a[s]];break;case 16:this.$={},this.$[a[s][0]]=a[s][1];break;case 17:this.$=a[s-2],a[s-2][a[s][0]]=a[s][1];break;case 18:this.$=[];break;case 19:this.$=a[s-1];break;case 20:this.$=[a[s]];break;case 21:this.$=a[s-2],a[s-2].push(a[s]);break}},table:[{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}],defaultActions:{16:[2,6]},parseError:function(e,t){throw new Error(e)},parse:function(e){var t=this,n=[0],i=[null],r=[],a=this.table,o="",s=0,l=0,c=0,u=2,m=1;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var d=this.lexer.yylloc;function f(e){n.length=n.length-2*e,i.length=i.length-e,r.length=r.length-e}function h(){var e;return e=t.lexer.lex()||1,"number"!==typeof e&&(e=t.symbols_[e]||e),e}r.push(d),"function"===typeof this.yy.parseError&&(this.parseError=this.yy.parseError);var p,x,g,k,v,y,b,w,S,F={};while(1){if(g=n[n.length-1],this.defaultActions[g]?k=this.defaultActions[g]:(null==p&&(p=h()),k=a[g]&&a[g][p]),"undefined"===typeof k||!k.length||!k[0]){if(!c){for(y in S=[],a[g])this.terminals_[y]&&y>2&&S.push("'"+this.terminals_[y]+"'");var E="";E=this.lexer.showPosition?"Parse error on line "+(s+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+S.join(", ")+", got '"+this.terminals_[p]+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(E,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:d,expected:S})}if(3==c){if(p==m)throw new Error(E||"Parsing halted.");l=this.lexer.yyleng,o=this.lexer.yytext,s=this.lexer.yylineno,d=this.lexer.yylloc,p=h()}while(1){if(u.toString()in a[g])break;if(0==g)throw new Error(E||"Parsing halted.");f(1),g=n[n.length-1]}x=p,p=u,g=n[n.length-1],k=a[g]&&a[g][u],c=3}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+p);switch(k[0]){case 1:n.push(p),i.push(this.lexer.yytext),r.push(this.lexer.yylloc),n.push(k[1]),p=null,x?(p=x,x=null):(l=this.lexer.yyleng,o=this.lexer.yytext,s=this.lexer.yylineno,d=this.lexer.yylloc,c>0&&c--);break;case 2:if(b=this.productions_[k[1]][1],F.$=i[i.length-b],F._$={first_line:r[r.length-(b||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(b||1)].first_column,last_column:r[r.length-1].last_column},v=this.performAction.call(F,o,l,s,this.yy,k[1],i,r),"undefined"!==typeof v)return v;b&&(n=n.slice(0,-1*b*2),i=i.slice(0,-1*b),r=r.slice(0,-1*b)),n.push(this.productions_[k[1]][0]),i.push(F.$),r.push(F._$),w=a[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parseError)throw new Error(e);this.yy.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.match+=e,this.matched+=e;var t=e.match(/\n/);return t&&this.yylineno++,this._input=this._input.slice(1),e},unput:function(e){return this._input=e+this._input,this},more:function(){return this._more=!0,this},less:function(e){this._input=this.match.slice(e)+this._input},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;var e,t,n,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),o=0;ot[0].length)&&(t=n,i=o,!this.options.flex))break;return t?(r=t[0].match(/\n.*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-1:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,a[i],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e||void 0):""===this._input?this.EOF:void this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return"undefined"!==typeof e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(e){this.begin(e)},options:{},performAction:function(e,t,n,i){switch(n){case 0:break;case 1:return 6;case 2:return t.yytext=t.yytext.substr(1,t.yyleng-2),4;case 3:return 17;case 4:return 18;case 5:return 23;case 6:return 24;case 7:return 22;case 8:return 21;case 9:return 10;case 10:return 11;case 11:return 8;case 12:return 14;case 13:return"INVALID"}},rules:[/^(?:\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/,/^(?:"(?:\\[\\"bfnrt/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?::)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:null\b)/,/^(?:$)/,/^(?:.)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}};return e}();return e.lexer=t,e}(),a=r.parse;return r.parse=function(t){var n=a.call(r,t),o="undefined"===typeof i?e("./doug-json-parse"):i;try{o(t)}catch(u){if(/Duplicate key|Bad string|Unexpected/.test(u.message)){var s=t.substring(0,u.at).split("\n"),l=s.length,c=s[l-1].length-1;throw this.parseError(u.message,{line:l,col:c,message:u.message.replace(/./,(function(e){return e.toLowerCase()}))}),SyntaxError(u.message+" on line "+l)}}return n},"undefined"!==typeof e&&"undefined"!==typeof n&&(n.parser=r,n.parse=function(){return r.parse.apply(r,arguments)},n.main=function(t){if(!t[1])throw new Error("Usage: "+t[0]+" FILE");if("undefined"!==typeof process)var i=e("fs").readFileSync(e("path").join(process.cwd(),t[1]),"utf8");else{var r=e("file").path(e("file").cwd());i=r.join(t[1]).read({charset:"utf-8"})}return n.parser.parse(i)},"undefined"!==typeof t&&e.main===t&&n.main("undefined"!==typeof process?process.argv.slice(1):e("system").args)),n}();e.exports&&(e.exports=t)}}]); -//# sourceMappingURL=7497.2360527a.js.map \ No newline at end of file +//# sourceMappingURL=7497.52e15be2.js.map \ No newline at end of file diff --git a/js/7497.2360527a.js.map b/js/7497.52e15be2.js.map similarity index 99% rename from js/7497.2360527a.js.map rename to js/7497.52e15be2.js.map index f1662e27..5cfb8f66 100644 --- a/js/7497.2360527a.js.map +++ b/js/7497.52e15be2.js.map @@ -1 +1 @@ -{"version":3,"file":"js/7497.2360527a.js","mappings":"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E,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAA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","sources":["webpack://@openeo/web-editor/./src/components/FullscreenButton.vue","webpack://@openeo/web-editor/src/components/FullscreenButton.vue","webpack://@openeo/web-editor/./src/components/FullscreenButton.vue?a153","webpack://@openeo/web-editor/./src/components/FullscreenButton.vue?6218","webpack://@openeo/web-editor/./src/components/TextEditor.vue","webpack://@openeo/web-editor/src/components/TextEditor.vue","webpack://@openeo/web-editor/./src/components/TextEditor.vue?4658","webpack://@openeo/web-editor/./src/components/TextEditor.vue?0213","webpack://@openeo/web-editor/./node_modules/codemirror/addon/display/placeholder.js","webpack://@openeo/web-editor/./node_modules/codemirror/addon/edit/closebrackets.js","webpack://@openeo/web-editor/./node_modules/codemirror/addon/edit/matchbrackets.js","webpack://@openeo/web-editor/./node_modules/codemirror/addon/lint/json-lint.js","webpack://@openeo/web-editor/./node_modules/codemirror/addon/lint/lint.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/javascript/javascript.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/markdown/markdown.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/mathematica/mathematica.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/meta.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/python/python.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/r/r.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/xml/xml.js","webpack://@openeo/web-editor/./node_modules/jsonlint-mod/web/jsonlint.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.element),expression:\"element\"}],attrs:{\"type\":\"button\",\"title\":_vm.isFullscreen ? 'Close fullscreen' : 'Show fullscreen'},on:{\"click\":_vm.toggleFullscreen}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isFullscreen),expression:\"isFullscreen\"}]},[_c('i',{staticClass:\"fas fa-compress\"})]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isFullscreen),expression:\"!isFullscreen\"}]},[_c('i',{staticClass:\"fas fa-expand\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FullscreenButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FullscreenButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FullscreenButton.vue?vue&type=template&id=efe3062c\"\nimport script from \"./FullscreenButton.vue?vue&type=script&lang=js\"\nexport * from \"./FullscreenButton.vue?vue&type=script&lang=js\"\nimport style0 from \"./FullscreenButton.vue?vue&type=style&index=0&id=efe3062c&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"textEditor\",class:_vm.languageString},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[_c('span',{staticClass:\"sepr\"},[(_vm.editable)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]):_vm._e(),_vm._t(\"file-toolbar\")],2),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.editor.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.editor.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_vm._t(\"edit-toolbar\")],2):_vm._e(),_c('FullscreenButton',{attrs:{\"element\":_vm.element}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"sourceCodeEditor\",attrs:{\"id\":_vm.id}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextEditor.vue?vue&type=template&id=0ca6b553&scoped=true\"\nimport script from \"./TextEditor.vue?vue&type=script&lang=js\"\nexport * from \"./TextEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextEditor.vue?vue&type=style&index=0&id=0ca6b553&prod&scoped=true&lang=css\"\nimport style1 from \"./TextEditor.vue?vue&type=style&index=1&id=0ca6b553&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ca6b553\",\n null\n \n)\n\nexport default component.exports","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n CodeMirror.defineOption(\"placeholder\", \"\", function(cm, val, old) {\n var prev = old && old != CodeMirror.Init;\n if (val && !prev) {\n cm.on(\"blur\", onBlur);\n cm.on(\"change\", onChange);\n cm.on(\"swapDoc\", onChange);\n CodeMirror.on(cm.getInputField(), \"compositionupdate\", cm.state.placeholderCompose = function() { onComposition(cm) })\n onChange(cm);\n } else if (!val && prev) {\n cm.off(\"blur\", onBlur);\n cm.off(\"change\", onChange);\n cm.off(\"swapDoc\", onChange);\n CodeMirror.off(cm.getInputField(), \"compositionupdate\", cm.state.placeholderCompose)\n clearPlaceholder(cm);\n var wrapper = cm.getWrapperElement();\n wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\");\n }\n\n if (val && !cm.hasFocus()) onBlur(cm);\n });\n\n function clearPlaceholder(cm) {\n if (cm.state.placeholder) {\n cm.state.placeholder.parentNode.removeChild(cm.state.placeholder);\n cm.state.placeholder = null;\n }\n }\n function setPlaceholder(cm) {\n clearPlaceholder(cm);\n var elt = cm.state.placeholder = document.createElement(\"pre\");\n elt.style.cssText = \"height: 0; overflow: visible\";\n elt.style.direction = cm.getOption(\"direction\");\n elt.className = \"CodeMirror-placeholder CodeMirror-line-like\";\n var placeHolder = cm.getOption(\"placeholder\")\n if (typeof placeHolder == \"string\") placeHolder = document.createTextNode(placeHolder)\n elt.appendChild(placeHolder)\n cm.display.lineSpace.insertBefore(elt, cm.display.lineSpace.firstChild);\n }\n\n function onComposition(cm) {\n setTimeout(function() {\n var empty = false\n if (cm.lineCount() == 1) {\n var input = cm.getInputField()\n empty = input.nodeName == \"TEXTAREA\" ? !cm.getLine(0).length\n : !/[^\\u200b]/.test(input.querySelector(\".CodeMirror-line\").textContent)\n }\n if (empty) setPlaceholder(cm)\n else clearPlaceholder(cm)\n }, 20)\n }\n\n function onBlur(cm) {\n if (isEmpty(cm)) setPlaceholder(cm);\n }\n function onChange(cm) {\n var wrapper = cm.getWrapperElement(), empty = isEmpty(cm);\n wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\") + (empty ? \" CodeMirror-empty\" : \"\");\n\n if (empty) setPlaceholder(cm);\n else clearPlaceholder(cm);\n }\n\n function isEmpty(cm) {\n return (cm.lineCount() === 1) && (cm.getLine(0) === \"\");\n }\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var defaults = {\n pairs: \"()[]{}''\\\"\\\"\",\n closeBefore: \")]}'\\\":;>\",\n triples: \"\",\n explode: \"[]{}\"\n };\n\n var Pos = CodeMirror.Pos;\n\n CodeMirror.defineOption(\"autoCloseBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.removeKeyMap(keyMap);\n cm.state.closeBrackets = null;\n }\n if (val) {\n ensureBound(getOption(val, \"pairs\"))\n cm.state.closeBrackets = val;\n cm.addKeyMap(keyMap);\n }\n });\n\n function getOption(conf, name) {\n if (name == \"pairs\" && typeof conf == \"string\") return conf;\n if (typeof conf == \"object\" && conf[name] != null) return conf[name];\n return defaults[name];\n }\n\n var keyMap = {Backspace: handleBackspace, Enter: handleEnter};\n function ensureBound(chars) {\n for (var i = 0; i < chars.length; i++) {\n var ch = chars.charAt(i), key = \"'\" + ch + \"'\"\n if (!keyMap[key]) keyMap[key] = handler(ch)\n }\n }\n ensureBound(defaults.pairs + \"`\")\n\n function handler(ch) {\n return function(cm) { return handleChar(cm, ch); };\n }\n\n function getConfig(cm) {\n var deflt = cm.state.closeBrackets;\n if (!deflt || deflt.override) return deflt;\n var mode = cm.getModeAt(cm.getCursor());\n return mode.closeBrackets || deflt;\n }\n\n function handleBackspace(cm) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n for (var i = ranges.length - 1; i >= 0; i--) {\n var cur = ranges[i].head;\n cm.replaceRange(\"\", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), \"+delete\");\n }\n }\n\n function handleEnter(cm) {\n var conf = getConfig(cm);\n var explode = conf && getOption(conf, \"explode\");\n if (!explode || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n cm.operation(function() {\n var linesep = cm.lineSeparator() || \"\\n\";\n cm.replaceSelection(linesep + linesep, null);\n moveSel(cm, -1)\n ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var line = ranges[i].head.line;\n cm.indentLine(line, null, true);\n cm.indentLine(line + 1, null, true);\n }\n });\n }\n\n function moveSel(cm, dir) {\n var newRanges = [], ranges = cm.listSelections(), primary = 0\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i]\n if (range.head == cm.getCursor()) primary = i\n var pos = range.head.ch || dir > 0 ? {line: range.head.line, ch: range.head.ch + dir} : {line: range.head.line - 1}\n newRanges.push({anchor: pos, head: pos})\n }\n cm.setSelections(newRanges, primary)\n }\n\n function contractSelection(sel) {\n var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\n return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\n head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};\n }\n\n function handleChar(cm, ch) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var pos = pairs.indexOf(ch);\n if (pos == -1) return CodeMirror.Pass;\n\n var closeBefore = getOption(conf,\"closeBefore\");\n\n var triples = getOption(conf, \"triples\");\n\n var identical = pairs.charAt(pos + 1) == ch;\n var ranges = cm.listSelections();\n var opening = pos % 2 == 0;\n\n var type;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], cur = range.head, curType;\n var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\n if (opening && !range.empty()) {\n curType = \"surround\";\n } else if ((identical || !opening) && next == ch) {\n if (identical && stringStartsAfter(cm, cur))\n curType = \"both\";\n else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)\n curType = \"skipThree\";\n else\n curType = \"skip\";\n } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&\n cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {\n if (cur.ch > 2 && /\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;\n curType = \"addFour\";\n } else if (identical) {\n var prev = cur.ch == 0 ? \" \" : cm.getRange(Pos(cur.line, cur.ch - 1), cur)\n if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = \"both\";\n else return CodeMirror.Pass;\n } else if (opening && (next.length === 0 || /\\s/.test(next) || closeBefore.indexOf(next) > -1)) {\n curType = \"both\";\n } else {\n return CodeMirror.Pass;\n }\n if (!type) type = curType;\n else if (type != curType) return CodeMirror.Pass;\n }\n\n var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\n var right = pos % 2 ? ch : pairs.charAt(pos + 1);\n cm.operation(function() {\n if (type == \"skip\") {\n moveSel(cm, 1)\n } else if (type == \"skipThree\") {\n moveSel(cm, 3)\n } else if (type == \"surround\") {\n var sels = cm.getSelections();\n for (var i = 0; i < sels.length; i++)\n sels[i] = left + sels[i] + right;\n cm.replaceSelections(sels, \"around\");\n sels = cm.listSelections().slice();\n for (var i = 0; i < sels.length; i++)\n sels[i] = contractSelection(sels[i]);\n cm.setSelections(sels);\n } else if (type == \"both\") {\n cm.replaceSelection(left + right, null);\n cm.triggerElectric(left + right);\n moveSel(cm, -1)\n } else if (type == \"addFour\") {\n cm.replaceSelection(left + left + left + left, \"before\");\n moveSel(cm, 1)\n }\n });\n }\n\n function charsAround(cm, pos) {\n var str = cm.getRange(Pos(pos.line, pos.ch - 1),\n Pos(pos.line, pos.ch + 1));\n return str.length == 2 ? str : null;\n }\n\n function stringStartsAfter(cm, pos) {\n var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))\n return /\\bstring/.test(token.type) && token.start == pos.ch &&\n (pos.ch == 0 || !/\\bstring/.test(cm.getTokenTypeAt(pos)))\n }\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\", \"<\": \">>\", \">\": \"<<\"};\n\n function bracketRegex(config) {\n return config && config.bracketRegex || /[(){}[\\]]/\n }\n\n function findMatchingBracket(cm, where, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var afterCursor = config && config.afterCursor\n if (afterCursor == null)\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n var re = bracketRegex(config)\n\n // A cursor is defined as between two characters, but in in vim command mode\n // (i.e. not insert mode), the cursor is visually represented as a\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\n // from before or after the cursor.\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == \">\" ? 1 : -1;\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = bracketRegex(config)\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined ||\n (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || \"\") == (style || \"\"))) {\n var match = matching[ch];\n if (match && (match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it'll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\n highlightNonMatching = config && config.highlightNonMatching;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\n if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) {\n var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n }\n }\n\n if (marks.length) {\n // Kludge to work around the IE bug from issue #1193, where text\n // input stops going to the textarea whenever this fires.\n if (ie_lt8 && cm.state.focused) cm.focus();\n\n var clear = function() {\n cm.operation(function() {\n for (var i = 0; i < marks.length; i++) marks[i].clear();\n });\n };\n if (autoclear) setTimeout(clear, 800);\n else return clear;\n }\n }\n\n function doMatchBrackets(cm) {\n cm.operation(function() {\n if (cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n });\n }\n\n function clearHighlighted(cm) {\n if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n }\n\n CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"cursorActivity\", doMatchBrackets);\n cm.off(\"focus\", doMatchBrackets)\n cm.off(\"blur\", clearHighlighted)\n clearHighlighted(cm);\n }\n if (val) {\n cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n cm.on(\"cursorActivity\", doMatchBrackets);\n cm.on(\"focus\", doMatchBrackets)\n cm.on(\"blur\", clearHighlighted)\n }\n });\n\n CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, config, oldConfig){\n // Backwards-compatibility kludge\n if (oldConfig || typeof config == \"boolean\") {\n if (!oldConfig) {\n config = config ? {strict: true} : null\n } else {\n oldConfig.strict = config\n config = oldConfig\n }\n }\n return findMatchingBracket(this, pos, config)\n });\n CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n return scanForBracket(this, pos, dir, style, config);\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n// Depends on jsonlint.js from https://github.com/zaach/jsonlint\n\n// declare global: jsonlint\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"lint\", \"json\", function(text) {\n var found = [];\n if (!window.jsonlint) {\n if (window.console) {\n window.console.error(\"Error: window.jsonlint not defined, CodeMirror JSON linting cannot run.\");\n }\n return found;\n }\n // for jsonlint's web dist jsonlint is exported as an object with a single property parser, of which parseError\n // is a subproperty\n var jsonlint = window.jsonlint.parser || window.jsonlint\n jsonlint.parseError = function(str, hash) {\n var loc = hash.loc;\n found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column),\n to: CodeMirror.Pos(loc.last_line - 1, loc.last_column),\n message: str});\n };\n try { jsonlint.parse(text); }\n catch(e) {}\n return found;\n});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n var GUTTER_ID = \"CodeMirror-lint-markers\";\n var LINT_LINE_ID = \"CodeMirror-lint-line-\";\n\n function showTooltip(cm, e, content) {\n var tt = document.createElement(\"div\");\n tt.className = \"CodeMirror-lint-tooltip cm-s-\" + cm.options.theme;\n tt.appendChild(content.cloneNode(true));\n if (cm.state.lint.options.selfContain)\n cm.getWrapperElement().appendChild(tt);\n else\n document.body.appendChild(tt);\n\n function position(e) {\n if (!tt.parentNode) return CodeMirror.off(document, \"mousemove\", position);\n var top = Math.max(0, e.clientY - tt.offsetHeight - 5);\n var left = Math.max(0, Math.min(e.clientX + 5, tt.ownerDocument.defaultView.innerWidth - tt.offsetWidth));\n tt.style.top = top + \"px\"\n tt.style.left = left + \"px\";\n }\n CodeMirror.on(document, \"mousemove\", position);\n position(e);\n if (tt.style.opacity != null) tt.style.opacity = 1;\n return tt;\n }\n function rm(elt) {\n if (elt.parentNode) elt.parentNode.removeChild(elt);\n }\n function hideTooltip(tt) {\n if (!tt.parentNode) return;\n if (tt.style.opacity == null) rm(tt);\n tt.style.opacity = 0;\n setTimeout(function() { rm(tt); }, 600);\n }\n\n function showTooltipFor(cm, e, content, node) {\n var tooltip = showTooltip(cm, e, content);\n function hide() {\n CodeMirror.off(node, \"mouseout\", hide);\n if (tooltip) { hideTooltip(tooltip); tooltip = null; }\n }\n var poll = setInterval(function() {\n if (tooltip) for (var n = node;; n = n.parentNode) {\n if (n && n.nodeType == 11) n = n.host;\n if (n == document.body) return;\n if (!n) { hide(); break; }\n }\n if (!tooltip) return clearInterval(poll);\n }, 400);\n CodeMirror.on(node, \"mouseout\", hide);\n }\n\n function LintState(cm, conf, hasGutter) {\n this.marked = [];\n if (conf instanceof Function) conf = {getAnnotations: conf};\n if (!conf || conf === true) conf = {};\n this.options = {};\n this.linterOptions = conf.options || {};\n for (var prop in defaults) this.options[prop] = defaults[prop];\n for (var prop in conf) {\n if (defaults.hasOwnProperty(prop)) {\n if (conf[prop] != null) this.options[prop] = conf[prop];\n } else if (!conf.options) {\n this.linterOptions[prop] = conf[prop];\n }\n }\n this.timeout = null;\n this.hasGutter = hasGutter;\n this.onMouseOver = function(e) { onMouseOver(cm, e); };\n this.waitingFor = 0\n }\n\n var defaults = {\n highlightLines: false,\n tooltips: true,\n delay: 500,\n lintOnChange: true,\n getAnnotations: null,\n async: false,\n selfContain: null,\n formatAnnotation: null,\n onUpdateLinting: null\n }\n\n function clearMarks(cm) {\n var state = cm.state.lint;\n if (state.hasGutter) cm.clearGutter(GUTTER_ID);\n if (state.options.highlightLines) clearErrorLines(cm);\n for (var i = 0; i < state.marked.length; ++i)\n state.marked[i].clear();\n state.marked.length = 0;\n }\n\n function clearErrorLines(cm) {\n cm.eachLine(function(line) {\n var has = line.wrapClass && /\\bCodeMirror-lint-line-\\w+\\b/.exec(line.wrapClass);\n if (has) cm.removeLineClass(line, \"wrap\", has[0]);\n })\n }\n\n function makeMarker(cm, labels, severity, multiple, tooltips) {\n var marker = document.createElement(\"div\"), inner = marker;\n marker.className = \"CodeMirror-lint-marker CodeMirror-lint-marker-\" + severity;\n if (multiple) {\n inner = marker.appendChild(document.createElement(\"div\"));\n inner.className = \"CodeMirror-lint-marker CodeMirror-lint-marker-multiple\";\n }\n\n if (tooltips != false) CodeMirror.on(inner, \"mouseover\", function(e) {\n showTooltipFor(cm, e, labels, inner);\n });\n\n return marker;\n }\n\n function getMaxSeverity(a, b) {\n if (a == \"error\") return a;\n else return b;\n }\n\n function groupByLine(annotations) {\n var lines = [];\n for (var i = 0; i < annotations.length; ++i) {\n var ann = annotations[i], line = ann.from.line;\n (lines[line] || (lines[line] = [])).push(ann);\n }\n return lines;\n }\n\n function annotationTooltip(ann) {\n var severity = ann.severity;\n if (!severity) severity = \"error\";\n var tip = document.createElement(\"div\");\n tip.className = \"CodeMirror-lint-message CodeMirror-lint-message-\" + severity;\n if (typeof ann.messageHTML != 'undefined') {\n tip.innerHTML = ann.messageHTML;\n } else {\n tip.appendChild(document.createTextNode(ann.message));\n }\n return tip;\n }\n\n function lintAsync(cm, getAnnotations) {\n var state = cm.state.lint\n var id = ++state.waitingFor\n function abort() {\n id = -1\n cm.off(\"change\", abort)\n }\n cm.on(\"change\", abort)\n getAnnotations(cm.getValue(), function(annotations, arg2) {\n cm.off(\"change\", abort)\n if (state.waitingFor != id) return\n if (arg2 && annotations instanceof CodeMirror) annotations = arg2\n cm.operation(function() {updateLinting(cm, annotations)})\n }, state.linterOptions, cm);\n }\n\n function startLinting(cm) {\n var state = cm.state.lint;\n if (!state) return;\n var options = state.options;\n /*\n * Passing rules in `options` property prevents JSHint (and other linters) from complaining\n * about unrecognized rules like `onUpdateLinting`, `delay`, `lintOnChange`, etc.\n */\n var getAnnotations = options.getAnnotations || cm.getHelper(CodeMirror.Pos(0, 0), \"lint\");\n if (!getAnnotations) return;\n if (options.async || getAnnotations.async) {\n lintAsync(cm, getAnnotations)\n } else {\n var annotations = getAnnotations(cm.getValue(), state.linterOptions, cm);\n if (!annotations) return;\n if (annotations.then) annotations.then(function(issues) {\n cm.operation(function() {updateLinting(cm, issues)})\n });\n else cm.operation(function() {updateLinting(cm, annotations)})\n }\n }\n\n function updateLinting(cm, annotationsNotSorted) {\n var state = cm.state.lint;\n if (!state) return;\n var options = state.options;\n clearMarks(cm);\n\n var annotations = groupByLine(annotationsNotSorted);\n\n for (var line = 0; line < annotations.length; ++line) {\n var anns = annotations[line];\n if (!anns) continue;\n\n var maxSeverity = null;\n var tipLabel = state.hasGutter && document.createDocumentFragment();\n\n for (var i = 0; i < anns.length; ++i) {\n var ann = anns[i];\n var severity = ann.severity;\n if (!severity) severity = \"error\";\n maxSeverity = getMaxSeverity(maxSeverity, severity);\n\n if (options.formatAnnotation) ann = options.formatAnnotation(ann);\n if (state.hasGutter) tipLabel.appendChild(annotationTooltip(ann));\n\n if (ann.to) state.marked.push(cm.markText(ann.from, ann.to, {\n className: \"CodeMirror-lint-mark CodeMirror-lint-mark-\" + severity,\n __annotation: ann\n }));\n }\n if (state.hasGutter)\n cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, anns.length > 1,\n options.tooltips));\n\n if (options.highlightLines)\n cm.addLineClass(line, \"wrap\", LINT_LINE_ID + maxSeverity);\n }\n if (options.onUpdateLinting) options.onUpdateLinting(annotationsNotSorted, annotations, cm);\n }\n\n function onChange(cm) {\n var state = cm.state.lint;\n if (!state) return;\n clearTimeout(state.timeout);\n state.timeout = setTimeout(function(){startLinting(cm);}, state.options.delay);\n }\n\n function popupTooltips(cm, annotations, e) {\n var target = e.target || e.srcElement;\n var tooltip = document.createDocumentFragment();\n for (var i = 0; i < annotations.length; i++) {\n var ann = annotations[i];\n tooltip.appendChild(annotationTooltip(ann));\n }\n showTooltipFor(cm, e, tooltip, target);\n }\n\n function onMouseOver(cm, e) {\n var target = e.target || e.srcElement;\n if (!/\\bCodeMirror-lint-mark-/.test(target.className)) return;\n var box = target.getBoundingClientRect(), x = (box.left + box.right) / 2, y = (box.top + box.bottom) / 2;\n var spans = cm.findMarksAt(cm.coordsChar({left: x, top: y}, \"client\"));\n\n var annotations = [];\n for (var i = 0; i < spans.length; ++i) {\n var ann = spans[i].__annotation;\n if (ann) annotations.push(ann);\n }\n if (annotations.length) popupTooltips(cm, annotations, e);\n }\n\n CodeMirror.defineOption(\"lint\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n clearMarks(cm);\n if (cm.state.lint.options.lintOnChange !== false)\n cm.off(\"change\", onChange);\n CodeMirror.off(cm.getWrapperElement(), \"mouseover\", cm.state.lint.onMouseOver);\n clearTimeout(cm.state.lint.timeout);\n delete cm.state.lint;\n }\n\n if (val) {\n var gutters = cm.getOption(\"gutters\"), hasLintGutter = false;\n for (var i = 0; i < gutters.length; ++i) if (gutters[i] == GUTTER_ID) hasLintGutter = true;\n var state = cm.state.lint = new LintState(cm, val, hasLintGutter);\n if (state.options.lintOnChange)\n cm.on(\"change\", onChange);\n if (state.options.tooltips != false && state.options.tooltips != \"gutter\")\n CodeMirror.on(cm.getWrapperElement(), \"mouseover\", state.onMouseOver);\n\n startLinting(cm);\n }\n });\n\n CodeMirror.defineExtension(\"performLint\", function() {\n startLinting(this);\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var trackScope = parserConfig.trackScope !== false\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true,\n \"regexp\": true, \"this\": true, \"import\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n if (!trackScope) return false\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (!trackScope) return\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n pushcontext.lex = pushblockcontext.lex = true\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), pushblockcontext, forspec, statement, popcontext, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(maybeexpression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\" || value == \"readonly\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n if (type == \"quasi\") { return pass(quasiType, afterType); }\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function quasiType(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasiType);\n return cont(typeexpr, continueQuasiType);\n }\n function continueQuasiType(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasiType);\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+#?[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"!\") return cont(classfield)\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n if (type == \".\") return pass(maybeoperatorComma);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse && c != popcontext) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n parseJS(state, \"atom\", \"atom\", \"true\", new CodeMirror.StringStream(\"\", 2, null))\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/x-json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/manifest+json\", { name: \"javascript\", json: true })\nCodeMirror.defineMIME(\"application/ld+json\", { name: \"javascript\", jsonld: true });\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../xml/xml\"), require(\"../meta\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../xml/xml\", \"../meta\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"markdown\", function(cmCfg, modeCfg) {\n\n var htmlMode = CodeMirror.getMode(cmCfg, \"text/html\");\n var htmlModeMissing = htmlMode.name == \"null\"\n\n function getMode(name) {\n if (CodeMirror.findModeByName) {\n var found = CodeMirror.findModeByName(name);\n if (found) name = found.mime || found.mimes[0];\n }\n var mode = CodeMirror.getMode(cmCfg, name);\n return mode.name == \"null\" ? null : mode;\n }\n\n // Should characters that affect highlighting be highlighted separate?\n // Does not include characters that will be output (such as `1.` and `-` for lists)\n if (modeCfg.highlightFormatting === undefined)\n modeCfg.highlightFormatting = false;\n\n // Maximum number of nested blockquotes. Set to 0 for infinite nesting.\n // Excess `>` will emit `error` token.\n if (modeCfg.maxBlockquoteDepth === undefined)\n modeCfg.maxBlockquoteDepth = 0;\n\n // Turn on task lists? (\"- [ ] \" and \"- [x] \")\n if (modeCfg.taskLists === undefined) modeCfg.taskLists = false;\n\n // Turn on strikethrough syntax\n if (modeCfg.strikethrough === undefined)\n modeCfg.strikethrough = false;\n\n if (modeCfg.emoji === undefined)\n modeCfg.emoji = false;\n\n if (modeCfg.fencedCodeBlockHighlighting === undefined)\n modeCfg.fencedCodeBlockHighlighting = true;\n\n if (modeCfg.fencedCodeBlockDefaultMode === undefined)\n modeCfg.fencedCodeBlockDefaultMode = 'text/plain';\n\n if (modeCfg.xml === undefined)\n modeCfg.xml = true;\n\n // Allow token types to be overridden by user-provided token types.\n if (modeCfg.tokenTypeOverrides === undefined)\n modeCfg.tokenTypeOverrides = {};\n\n var tokenTypes = {\n header: \"header\",\n code: \"comment\",\n quote: \"quote\",\n list1: \"variable-2\",\n list2: \"variable-3\",\n list3: \"keyword\",\n hr: \"hr\",\n image: \"image\",\n imageAltText: \"image-alt-text\",\n imageMarker: \"image-marker\",\n formatting: \"formatting\",\n linkInline: \"link\",\n linkEmail: \"link\",\n linkText: \"link\",\n linkHref: \"string\",\n em: \"em\",\n strong: \"strong\",\n strikethrough: \"strikethrough\",\n emoji: \"builtin\"\n };\n\n for (var tokenType in tokenTypes) {\n if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) {\n tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType];\n }\n }\n\n var hrRE = /^([*\\-_])(?:\\s*\\1){2,}\\s*$/\n , listRE = /^(?:[*\\-+]|^[0-9]+([.)]))\\s+/\n , taskListRE = /^\\[(x| )\\](?=\\s)/i // Must follow listRE\n , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/\n , setextHeaderRE = /^ {0,3}(?:\\={1,}|-{2,})\\s*$/\n , textRE = /^[^#!\\[\\]*_\\\\<>` \"'(~:]+/\n , fencedCodeRE = /^(~~~+|```+)[ \\t]*([\\w\\/+#-]*)[^\\n`]*$/\n , linkDefRE = /^\\s*\\[[^\\]]+?\\]:.*$/ // naive link-definition\n , punctuation = /[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDF3C-\\uDF3E]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]/\n , expandedTab = \" \" // CommonMark specifies tab as 4 spaces\n\n function switchInline(stream, state, f) {\n state.f = state.inline = f;\n return f(stream, state);\n }\n\n function switchBlock(stream, state, f) {\n state.f = state.block = f;\n return f(stream, state);\n }\n\n function lineIsEmpty(line) {\n return !line || !/\\S/.test(line.string)\n }\n\n // Blocks\n\n function blankLine(state) {\n // Reset linkTitle state\n state.linkTitle = false;\n state.linkHref = false;\n state.linkText = false;\n // Reset EM state\n state.em = false;\n // Reset STRONG state\n state.strong = false;\n // Reset strikethrough state\n state.strikethrough = false;\n // Reset state.quote\n state.quote = 0;\n // Reset state.indentedCode\n state.indentedCode = false;\n if (state.f == htmlBlock) {\n var exit = htmlModeMissing\n if (!exit) {\n var inner = CodeMirror.innerMode(htmlMode, state.htmlState)\n exit = inner.mode.name == \"xml\" && inner.state.tagStart === null &&\n (!inner.state.context && inner.state.tokenize.isInText)\n }\n if (exit) {\n state.f = inlineNormal;\n state.block = blockNormal;\n state.htmlState = null;\n }\n }\n // Reset state.trailingSpace\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false;\n // Mark this line as blank\n state.prevLine = state.thisLine\n state.thisLine = {stream: null}\n return null;\n }\n\n function blockNormal(stream, state) {\n var firstTokenOnLine = stream.column() === state.indentation;\n var prevLineLineIsEmpty = lineIsEmpty(state.prevLine.stream);\n var prevLineIsIndentedCode = state.indentedCode;\n var prevLineIsHr = state.prevLine.hr;\n var prevLineIsList = state.list !== false;\n var maxNonCodeIndentation = (state.listStack[state.listStack.length - 1] || 0) + 3;\n\n state.indentedCode = false;\n\n var lineIndentation = state.indentation;\n // compute once per line (on first token)\n if (state.indentationDiff === null) {\n state.indentationDiff = state.indentation;\n if (prevLineIsList) {\n state.list = null;\n // While this list item's marker's indentation is less than the deepest\n // list item's content's indentation,pop the deepest list item\n // indentation off the stack, and update block indentation state\n while (lineIndentation < state.listStack[state.listStack.length - 1]) {\n state.listStack.pop();\n if (state.listStack.length) {\n state.indentation = state.listStack[state.listStack.length - 1];\n // less than the first list's indent -> the line is no longer a list\n } else {\n state.list = false;\n }\n }\n if (state.list !== false) {\n state.indentationDiff = lineIndentation - state.listStack[state.listStack.length - 1]\n }\n }\n }\n\n // not comprehensive (currently only for setext detection purposes)\n var allowsInlineContinuation = (\n !prevLineLineIsEmpty && !prevLineIsHr && !state.prevLine.header &&\n (!prevLineIsList || !prevLineIsIndentedCode) &&\n !state.prevLine.fencedCodeEnd\n );\n\n var isHr = (state.list === false || prevLineIsHr || prevLineLineIsEmpty) &&\n state.indentation <= maxNonCodeIndentation && stream.match(hrRE);\n\n var match = null;\n if (state.indentationDiff >= 4 && (prevLineIsIndentedCode || state.prevLine.fencedCodeEnd ||\n state.prevLine.header || prevLineLineIsEmpty)) {\n stream.skipToEnd();\n state.indentedCode = true;\n return tokenTypes.code;\n } else if (stream.eatSpace()) {\n return null;\n } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(atxHeaderRE)) && match[1].length <= 6) {\n state.quote = 0;\n state.header = match[1].length;\n state.thisLine.header = true;\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n state.f = state.inline;\n return getType(state);\n } else if (state.indentation <= maxNonCodeIndentation && stream.eat('>')) {\n state.quote = firstTokenOnLine ? 1 : state.quote + 1;\n if (modeCfg.highlightFormatting) state.formatting = \"quote\";\n stream.eatSpace();\n return getType(state);\n } else if (!isHr && !state.setext && firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(listRE))) {\n var listType = match[1] ? \"ol\" : \"ul\";\n\n state.indentation = lineIndentation + stream.current().length;\n state.list = true;\n state.quote = 0;\n\n // Add this list item's content's indentation to the stack\n state.listStack.push(state.indentation);\n // Reset inline styles which shouldn't propagate across list items\n state.em = false;\n state.strong = false;\n state.code = false;\n state.strikethrough = false;\n\n if (modeCfg.taskLists && stream.match(taskListRE, false)) {\n state.taskList = true;\n }\n state.f = state.inline;\n if (modeCfg.highlightFormatting) state.formatting = [\"list\", \"list-\" + listType];\n return getType(state);\n } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(fencedCodeRE, true))) {\n state.quote = 0;\n state.fencedEndRE = new RegExp(match[1] + \"+ *$\");\n // try switching mode\n state.localMode = modeCfg.fencedCodeBlockHighlighting && getMode(match[2] || modeCfg.fencedCodeBlockDefaultMode );\n if (state.localMode) state.localState = CodeMirror.startState(state.localMode);\n state.f = state.block = local;\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n state.code = -1\n return getType(state);\n // SETEXT has lowest block-scope precedence after HR, so check it after\n // the others (code, blockquote, list...)\n } else if (\n // if setext set, indicates line after ---/===\n state.setext || (\n // line before ---/===\n (!allowsInlineContinuation || !prevLineIsList) && !state.quote && state.list === false &&\n !state.code && !isHr && !linkDefRE.test(stream.string) &&\n (match = stream.lookAhead(1)) && (match = match.match(setextHeaderRE))\n )\n ) {\n if ( !state.setext ) {\n state.header = match[0].charAt(0) == '=' ? 1 : 2;\n state.setext = state.header;\n } else {\n state.header = state.setext;\n // has no effect on type so we can reset it now\n state.setext = 0;\n stream.skipToEnd();\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n }\n state.thisLine.header = true;\n state.f = state.inline;\n return getType(state);\n } else if (isHr) {\n stream.skipToEnd();\n state.hr = true;\n state.thisLine.hr = true;\n return tokenTypes.hr;\n } else if (stream.peek() === '[') {\n return switchInline(stream, state, footnoteLink);\n }\n\n return switchInline(stream, state, state.inline);\n }\n\n function htmlBlock(stream, state) {\n var style = htmlMode.token(stream, state.htmlState);\n if (!htmlModeMissing) {\n var inner = CodeMirror.innerMode(htmlMode, state.htmlState)\n if ((inner.mode.name == \"xml\" && inner.state.tagStart === null &&\n (!inner.state.context && inner.state.tokenize.isInText)) ||\n (state.md_inside && stream.current().indexOf(\">\") > -1)) {\n state.f = inlineNormal;\n state.block = blockNormal;\n state.htmlState = null;\n }\n }\n return style;\n }\n\n function local(stream, state) {\n var currListInd = state.listStack[state.listStack.length - 1] || 0;\n var hasExitedList = state.indentation < currListInd;\n var maxFencedEndInd = currListInd + 3;\n if (state.fencedEndRE && state.indentation <= maxFencedEndInd && (hasExitedList || stream.match(state.fencedEndRE))) {\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n var returnType;\n if (!hasExitedList) returnType = getType(state)\n state.localMode = state.localState = null;\n state.block = blockNormal;\n state.f = inlineNormal;\n state.fencedEndRE = null;\n state.code = 0\n state.thisLine.fencedCodeEnd = true;\n if (hasExitedList) return switchBlock(stream, state, state.block);\n return returnType;\n } else if (state.localMode) {\n return state.localMode.token(stream, state.localState);\n } else {\n stream.skipToEnd();\n return tokenTypes.code;\n }\n }\n\n // Inline\n function getType(state) {\n var styles = [];\n\n if (state.formatting) {\n styles.push(tokenTypes.formatting);\n\n if (typeof state.formatting === \"string\") state.formatting = [state.formatting];\n\n for (var i = 0; i < state.formatting.length; i++) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i]);\n\n if (state.formatting[i] === \"header\") {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.header);\n }\n\n // Add `formatting-quote` and `formatting-quote-#` for blockquotes\n // Add `error` instead if the maximum blockquote nesting depth is passed\n if (state.formatting[i] === \"quote\") {\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.quote);\n } else {\n styles.push(\"error\");\n }\n }\n }\n }\n\n if (state.taskOpen) {\n styles.push(\"meta\");\n return styles.length ? styles.join(' ') : null;\n }\n if (state.taskClosed) {\n styles.push(\"property\");\n return styles.length ? styles.join(' ') : null;\n }\n\n if (state.linkHref) {\n styles.push(tokenTypes.linkHref, \"url\");\n } else { // Only apply inline styles to non-url text\n if (state.strong) { styles.push(tokenTypes.strong); }\n if (state.em) { styles.push(tokenTypes.em); }\n if (state.strikethrough) { styles.push(tokenTypes.strikethrough); }\n if (state.emoji) { styles.push(tokenTypes.emoji); }\n if (state.linkText) { styles.push(tokenTypes.linkText); }\n if (state.code) { styles.push(tokenTypes.code); }\n if (state.image) { styles.push(tokenTypes.image); }\n if (state.imageAltText) { styles.push(tokenTypes.imageAltText, \"link\"); }\n if (state.imageMarker) { styles.push(tokenTypes.imageMarker); }\n }\n\n if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + \"-\" + state.header); }\n\n if (state.quote) {\n styles.push(tokenTypes.quote);\n\n // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.quote + \"-\" + state.quote);\n } else {\n styles.push(tokenTypes.quote + \"-\" + modeCfg.maxBlockquoteDepth);\n }\n }\n\n if (state.list !== false) {\n var listMod = (state.listStack.length - 1) % 3;\n if (!listMod) {\n styles.push(tokenTypes.list1);\n } else if (listMod === 1) {\n styles.push(tokenTypes.list2);\n } else {\n styles.push(tokenTypes.list3);\n }\n }\n\n if (state.trailingSpaceNewLine) {\n styles.push(\"trailing-space-new-line\");\n } else if (state.trailingSpace) {\n styles.push(\"trailing-space-\" + (state.trailingSpace % 2 ? \"a\" : \"b\"));\n }\n\n return styles.length ? styles.join(' ') : null;\n }\n\n function handleText(stream, state) {\n if (stream.match(textRE, true)) {\n return getType(state);\n }\n return undefined;\n }\n\n function inlineNormal(stream, state) {\n var style = state.text(stream, state);\n if (typeof style !== 'undefined')\n return style;\n\n if (state.list) { // List marker (*, +, -, 1., etc)\n state.list = null;\n return getType(state);\n }\n\n if (state.taskList) {\n var taskOpen = stream.match(taskListRE, true)[1] === \" \";\n if (taskOpen) state.taskOpen = true;\n else state.taskClosed = true;\n if (modeCfg.highlightFormatting) state.formatting = \"task\";\n state.taskList = false;\n return getType(state);\n }\n\n state.taskOpen = false;\n state.taskClosed = false;\n\n if (state.header && stream.match(/^#+$/, true)) {\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n return getType(state);\n }\n\n var ch = stream.next();\n\n // Matches link titles present on next line\n if (state.linkTitle) {\n state.linkTitle = false;\n var matchCh = ch;\n if (ch === '(') {\n matchCh = ')';\n }\n matchCh = (matchCh+'').replace(/([.?*+^\\[\\]\\\\(){}|-])/g, \"\\\\$1\");\n var regex = '^\\\\s*(?:[^' + matchCh + '\\\\\\\\]+|\\\\\\\\\\\\\\\\|\\\\\\\\.)' + matchCh;\n if (stream.match(new RegExp(regex), true)) {\n return tokenTypes.linkHref;\n }\n }\n\n // If this block is changed, it may need to be updated in GFM mode\n if (ch === '`') {\n var previousFormatting = state.formatting;\n if (modeCfg.highlightFormatting) state.formatting = \"code\";\n stream.eatWhile('`');\n var count = stream.current().length\n if (state.code == 0 && (!state.quote || count == 1)) {\n state.code = count\n return getType(state)\n } else if (count == state.code) { // Must be exact\n var t = getType(state)\n state.code = 0\n return t\n } else {\n state.formatting = previousFormatting\n return getType(state)\n }\n } else if (state.code) {\n return getType(state);\n }\n\n if (ch === '\\\\') {\n stream.next();\n if (modeCfg.highlightFormatting) {\n var type = getType(state);\n var formattingEscape = tokenTypes.formatting + \"-escape\";\n return type ? type + \" \" + formattingEscape : formattingEscape;\n }\n }\n\n if (ch === '!' && stream.match(/\\[[^\\]]*\\] ?(?:\\(|\\[)/, false)) {\n state.imageMarker = true;\n state.image = true;\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === '[' && state.imageMarker && stream.match(/[^\\]]*\\](\\(.*?\\)| ?\\[.*?\\])/, false)) {\n state.imageMarker = false;\n state.imageAltText = true\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === ']' && state.imageAltText) {\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n var type = getType(state);\n state.imageAltText = false;\n state.image = false;\n state.inline = state.f = linkHref;\n return type;\n }\n\n if (ch === '[' && !state.image) {\n if (state.linkText && stream.match(/^.*?\\]/)) return getType(state)\n state.linkText = true;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n return getType(state);\n }\n\n if (ch === ']' && state.linkText) {\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n state.linkText = false;\n state.inline = state.f = stream.match(/\\(.*?\\)| ?\\[.*?\\]/, false) ? linkHref : inlineNormal\n return type;\n }\n\n if (ch === '<' && stream.match(/^(https?|ftps?):\\/\\/(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkInline;\n }\n\n if (ch === '<' && stream.match(/^[^> \\\\]+@(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkEmail;\n }\n\n if (modeCfg.xml && ch === '<' && stream.match(/^(!--|\\?|!\\[CDATA\\[|[a-z][a-z0-9-]*(?:\\s+[a-z_:.\\-]+(?:\\s*=\\s*[^>]+)?)*\\s*(?:>|$))/i, false)) {\n var end = stream.string.indexOf(\">\", stream.pos);\n if (end != -1) {\n var atts = stream.string.substring(stream.start, end);\n if (/markdown\\s*=\\s*('|\"){0,1}1('|\"){0,1}/.test(atts)) state.md_inside = true;\n }\n stream.backUp(1);\n state.htmlState = CodeMirror.startState(htmlMode);\n return switchBlock(stream, state, htmlBlock);\n }\n\n if (modeCfg.xml && ch === '<' && stream.match(/^\\/\\w*?>/)) {\n state.md_inside = false;\n return \"tag\";\n } else if (ch === \"*\" || ch === \"_\") {\n var len = 1, before = stream.pos == 1 ? \" \" : stream.string.charAt(stream.pos - 2)\n while (len < 3 && stream.eat(ch)) len++\n var after = stream.peek() || \" \"\n // See http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis\n var leftFlanking = !/\\s/.test(after) && (!punctuation.test(after) || /\\s/.test(before) || punctuation.test(before))\n var rightFlanking = !/\\s/.test(before) && (!punctuation.test(before) || /\\s/.test(after) || punctuation.test(after))\n var setEm = null, setStrong = null\n if (len % 2) { // Em\n if (!state.em && leftFlanking && (ch === \"*\" || !rightFlanking || punctuation.test(before)))\n setEm = true\n else if (state.em == ch && rightFlanking && (ch === \"*\" || !leftFlanking || punctuation.test(after)))\n setEm = false\n }\n if (len > 1) { // Strong\n if (!state.strong && leftFlanking && (ch === \"*\" || !rightFlanking || punctuation.test(before)))\n setStrong = true\n else if (state.strong == ch && rightFlanking && (ch === \"*\" || !leftFlanking || punctuation.test(after)))\n setStrong = false\n }\n if (setStrong != null || setEm != null) {\n if (modeCfg.highlightFormatting) state.formatting = setEm == null ? \"strong\" : setStrong == null ? \"em\" : \"strong em\"\n if (setEm === true) state.em = ch\n if (setStrong === true) state.strong = ch\n var t = getType(state)\n if (setEm === false) state.em = false\n if (setStrong === false) state.strong = false\n return t\n }\n } else if (ch === ' ') {\n if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces\n if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n return getType(state);\n } else { // Not surrounded by spaces, back up pointer\n stream.backUp(1);\n }\n }\n }\n\n if (modeCfg.strikethrough) {\n if (ch === '~' && stream.eatWhile(ch)) {\n if (state.strikethrough) {// Remove strikethrough\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n var t = getType(state);\n state.strikethrough = false;\n return t;\n } else if (stream.match(/^[^\\s]/, false)) {// Add strikethrough\n state.strikethrough = true;\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n return getType(state);\n }\n } else if (ch === ' ') {\n if (stream.match('~~', true)) { // Probably surrounded by space\n if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n return getType(state);\n } else { // Not surrounded by spaces, back up pointer\n stream.backUp(2);\n }\n }\n }\n }\n\n if (modeCfg.emoji && ch === \":\" && stream.match(/^(?:[a-z_\\d+][a-z_\\d+-]*|\\-[a-z_\\d+][a-z_\\d+-]*):/)) {\n state.emoji = true;\n if (modeCfg.highlightFormatting) state.formatting = \"emoji\";\n var retType = getType(state);\n state.emoji = false;\n return retType;\n }\n\n if (ch === ' ') {\n if (stream.match(/^ +$/, false)) {\n state.trailingSpace++;\n } else if (state.trailingSpace) {\n state.trailingSpaceNewLine = true;\n }\n }\n\n return getType(state);\n }\n\n function linkInline(stream, state) {\n var ch = stream.next();\n\n if (ch === \">\") {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkInline;\n }\n\n stream.match(/^[^>]+/, true);\n\n return tokenTypes.linkInline;\n }\n\n function linkHref(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if(stream.eatSpace()){\n return null;\n }\n var ch = stream.next();\n if (ch === '(' || ch === '[') {\n state.f = state.inline = getLinkHrefInside(ch === \"(\" ? \")\" : \"]\");\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n state.linkHref = true;\n return getType(state);\n }\n return 'error';\n }\n\n var linkRE = {\n \")\": /^(?:[^\\\\\\(\\)]|\\\\.|\\((?:[^\\\\\\(\\)]|\\\\.)*\\))*?(?=\\))/,\n \"]\": /^(?:[^\\\\\\[\\]]|\\\\.|\\[(?:[^\\\\\\[\\]]|\\\\.)*\\])*?(?=\\])/\n }\n\n function getLinkHrefInside(endChar) {\n return function(stream, state) {\n var ch = stream.next();\n\n if (ch === endChar) {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n var returnState = getType(state);\n state.linkHref = false;\n return returnState;\n }\n\n stream.match(linkRE[endChar])\n state.linkHref = true;\n return getType(state);\n };\n }\n\n function footnoteLink(stream, state) {\n if (stream.match(/^([^\\]\\\\]|\\\\.)*\\]:/, false)) {\n state.f = footnoteLinkInside;\n stream.next(); // Consume [\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n state.linkText = true;\n return getType(state);\n }\n return switchInline(stream, state, inlineNormal);\n }\n\n function footnoteLinkInside(stream, state) {\n if (stream.match(']:', true)) {\n state.f = state.inline = footnoteUrl;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var returnType = getType(state);\n state.linkText = false;\n return returnType;\n }\n\n stream.match(/^([^\\]\\\\]|\\\\.)+/, true);\n\n return tokenTypes.linkText;\n }\n\n function footnoteUrl(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if(stream.eatSpace()){\n return null;\n }\n // Match URL\n stream.match(/^[^\\s]+/, true);\n // Check for link title\n if (stream.peek() === undefined) { // End of line, set flag to check next line\n state.linkTitle = true;\n } else { // More content on line, check if link title\n stream.match(/^(?:\\s+(?:\"(?:[^\"\\\\]|\\\\.)+\"|'(?:[^'\\\\]|\\\\.)+'|\\((?:[^)\\\\]|\\\\.)+\\)))?/, true);\n }\n state.f = state.inline = inlineNormal;\n return tokenTypes.linkHref + \" url\";\n }\n\n var mode = {\n startState: function() {\n return {\n f: blockNormal,\n\n prevLine: {stream: null},\n thisLine: {stream: null},\n\n block: blockNormal,\n htmlState: null,\n indentation: 0,\n\n inline: inlineNormal,\n text: handleText,\n\n formatting: false,\n linkText: false,\n linkHref: false,\n linkTitle: false,\n code: 0,\n em: false,\n strong: false,\n header: 0,\n setext: 0,\n hr: false,\n taskList: false,\n list: false,\n listStack: [],\n quote: 0,\n trailingSpace: 0,\n trailingSpaceNewLine: false,\n strikethrough: false,\n emoji: false,\n fencedEndRE: null\n };\n },\n\n copyState: function(s) {\n return {\n f: s.f,\n\n prevLine: s.prevLine,\n thisLine: s.thisLine,\n\n block: s.block,\n htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState),\n indentation: s.indentation,\n\n localMode: s.localMode,\n localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null,\n\n inline: s.inline,\n text: s.text,\n formatting: false,\n linkText: s.linkText,\n linkTitle: s.linkTitle,\n linkHref: s.linkHref,\n code: s.code,\n em: s.em,\n strong: s.strong,\n strikethrough: s.strikethrough,\n emoji: s.emoji,\n header: s.header,\n setext: s.setext,\n hr: s.hr,\n taskList: s.taskList,\n list: s.list,\n listStack: s.listStack.slice(0),\n quote: s.quote,\n indentedCode: s.indentedCode,\n trailingSpace: s.trailingSpace,\n trailingSpaceNewLine: s.trailingSpaceNewLine,\n md_inside: s.md_inside,\n fencedEndRE: s.fencedEndRE\n };\n },\n\n token: function(stream, state) {\n\n // Reset state.formatting\n state.formatting = false;\n\n if (stream != state.thisLine.stream) {\n state.header = 0;\n state.hr = false;\n\n if (stream.match(/^\\s*$/, true)) {\n blankLine(state);\n return null;\n }\n\n state.prevLine = state.thisLine\n state.thisLine = {stream: stream}\n\n // Reset state.taskList\n state.taskList = false;\n\n // Reset state.trailingSpace\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false;\n\n if (!state.localState) {\n state.f = state.block;\n if (state.f != htmlBlock) {\n var indentation = stream.match(/^\\s*/, true)[0].replace(/\\t/g, expandedTab).length;\n state.indentation = indentation;\n state.indentationDiff = null;\n if (indentation > 0) return null;\n }\n }\n }\n return state.f(stream, state);\n },\n\n innerMode: function(state) {\n if (state.block == htmlBlock) return {state: state.htmlState, mode: htmlMode};\n if (state.localState) return {state: state.localState, mode: state.localMode};\n return {state: state, mode: mode};\n },\n\n indent: function(state, textAfter, line) {\n if (state.block == htmlBlock && htmlMode.indent) return htmlMode.indent(state.htmlState, textAfter, line)\n if (state.localState && state.localMode.indent) return state.localMode.indent(state.localState, textAfter, line)\n return CodeMirror.Pass\n },\n\n blankLine: blankLine,\n\n getType: getType,\n\n blockCommentStart: \"\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n fold: \"markdown\"\n };\n return mode;\n}, \"xml\");\n\nCodeMirror.defineMIME(\"text/markdown\", \"markdown\");\n\nCodeMirror.defineMIME(\"text/x-markdown\", \"markdown\");\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n// Mathematica mode copyright (c) 2015 by Calin Barbat\n// Based on code by Patrick Scheibe (halirutan)\n// See: https://github.com/halirutan/Mathematica-Source-Highlighting/tree/master/src/lang-mma.js\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode('mathematica', function(_config, _parserConfig) {\n\n // used pattern building blocks\n var Identifier = '[a-zA-Z\\\\$][a-zA-Z0-9\\\\$]*';\n var pBase = \"(?:\\\\d+)\";\n var pFloat = \"(?:\\\\.\\\\d+|\\\\d+\\\\.\\\\d*|\\\\d+)\";\n var pFloatBase = \"(?:\\\\.\\\\w+|\\\\w+\\\\.\\\\w*|\\\\w+)\";\n var pPrecision = \"(?:`(?:`?\"+pFloat+\")?)\";\n\n // regular expressions\n var reBaseForm = new RegExp('(?:'+pBase+'(?:\\\\^\\\\^'+pFloatBase+pPrecision+'?(?:\\\\*\\\\^[+-]?\\\\d+)?))');\n var reFloatForm = new RegExp('(?:' + pFloat + pPrecision + '?(?:\\\\*\\\\^[+-]?\\\\d+)?)');\n var reIdInContext = new RegExp('(?:`?)(?:' + Identifier + ')(?:`(?:' + Identifier + '))*(?:`?)');\n\n function tokenBase(stream, state) {\n var ch;\n\n // get next character\n ch = stream.next();\n\n // string\n if (ch === '\"') {\n state.tokenize = tokenString;\n return state.tokenize(stream, state);\n }\n\n // comment\n if (ch === '(') {\n if (stream.eat('*')) {\n state.commentLevel++;\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n }\n\n // go back one character\n stream.backUp(1);\n\n // look for numbers\n // Numbers in a baseform\n if (stream.match(reBaseForm, true, false)) {\n return 'number';\n }\n\n // Mathematica numbers. Floats (1.2, .2, 1.) can have optionally a precision (`float) or an accuracy definition\n // (``float). Note: while 1.2` is possible 1.2`` is not. At the end an exponent (float*^+12) can follow.\n if (stream.match(reFloatForm, true, false)) {\n return 'number';\n }\n\n /* In[23] and Out[34] */\n if (stream.match(/(?:In|Out)\\[[0-9]*\\]/, true, false)) {\n return 'atom';\n }\n\n // usage\n if (stream.match(/([a-zA-Z\\$][a-zA-Z0-9\\$]*(?:`[a-zA-Z0-9\\$]+)*::usage)/, true, false)) {\n return 'meta';\n }\n\n // message\n if (stream.match(/([a-zA-Z\\$][a-zA-Z0-9\\$]*(?:`[a-zA-Z0-9\\$]+)*::[a-zA-Z\\$][a-zA-Z0-9\\$]*):?/, true, false)) {\n return 'string-2';\n }\n\n // this makes a look-ahead match for something like variable:{_Integer}\n // the match is then forwarded to the mma-patterns tokenizer.\n if (stream.match(/([a-zA-Z\\$][a-zA-Z0-9\\$]*\\s*:)(?:(?:[a-zA-Z\\$][a-zA-Z0-9\\$]*)|(?:[^:=>~@\\^\\&\\*\\)\\[\\]'\\?,\\|])).*/, true, false)) {\n return 'variable-2';\n }\n\n // catch variables which are used together with Blank (_), BlankSequence (__) or BlankNullSequence (___)\n // Cannot start with a number, but can have numbers at any other position. Examples\n // blub__Integer, a1_, b34_Integer32\n if (stream.match(/[a-zA-Z\\$][a-zA-Z0-9\\$]*_+[a-zA-Z\\$][a-zA-Z0-9\\$]*/, true, false)) {\n return 'variable-2';\n }\n if (stream.match(/[a-zA-Z\\$][a-zA-Z0-9\\$]*_+/, true, false)) {\n return 'variable-2';\n }\n if (stream.match(/_+[a-zA-Z\\$][a-zA-Z0-9\\$]*/, true, false)) {\n return 'variable-2';\n }\n\n // Named characters in Mathematica, like \\[Gamma].\n if (stream.match(/\\\\\\[[a-zA-Z\\$][a-zA-Z0-9\\$]*\\]/, true, false)) {\n return 'variable-3';\n }\n\n // Match all braces separately\n if (stream.match(/(?:\\[|\\]|{|}|\\(|\\))/, true, false)) {\n return 'bracket';\n }\n\n // Catch Slots (#, ##, #3, ##9 and the V10 named slots #name). I have never seen someone using more than one digit after #, so we match\n // only one.\n if (stream.match(/(?:#[a-zA-Z\\$][a-zA-Z0-9\\$]*|#+[0-9]?)/, true, false)) {\n return 'variable-2';\n }\n\n // Literals like variables, keywords, functions\n if (stream.match(reIdInContext, true, false)) {\n return 'keyword';\n }\n\n // operators. Note that operators like @@ or /; are matched separately for each symbol.\n if (stream.match(/(?:\\\\|\\+|\\-|\\*|\\/|,|;|\\.|:|@|~|=|>|<|&|\\||_|`|'|\\^|\\?|!|%)/, true, false)) {\n return 'operator';\n }\n\n // everything else is an error\n stream.next(); // advance the stream.\n return 'error';\n }\n\n function tokenString(stream, state) {\n var next, end = false, escaped = false;\n while ((next = stream.next()) != null) {\n if (next === '\"' && !escaped) {\n end = true;\n break;\n }\n escaped = !escaped && next === '\\\\';\n }\n if (end && !escaped) {\n state.tokenize = tokenBase;\n }\n return 'string';\n };\n\n function tokenComment(stream, state) {\n var prev, next;\n while(state.commentLevel > 0 && (next = stream.next()) != null) {\n if (prev === '(' && next === '*') state.commentLevel++;\n if (prev === '*' && next === ')') state.commentLevel--;\n prev = next;\n }\n if (state.commentLevel <= 0) {\n state.tokenize = tokenBase;\n }\n return 'comment';\n }\n\n return {\n startState: function() {return {tokenize: tokenBase, commentLevel: 0};},\n token: function(stream, state) {\n if (stream.eatSpace()) return null;\n return state.tokenize(stream, state);\n },\n blockCommentStart: \"(*\",\n blockCommentEnd: \"*)\"\n };\n});\n\nCodeMirror.defineMIME('text/x-mathematica', {\n name: 'mathematica'\n});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.modeInfo = [\n {name: \"APL\", mime: \"text/apl\", mode: \"apl\", ext: [\"dyalog\", \"apl\"]},\n {name: \"PGP\", mimes: [\"application/pgp\", \"application/pgp-encrypted\", \"application/pgp-keys\", \"application/pgp-signature\"], mode: \"asciiarmor\", ext: [\"asc\", \"pgp\", \"sig\"]},\n {name: \"ASN.1\", mime: \"text/x-ttcn-asn\", mode: \"asn.1\", ext: [\"asn\", \"asn1\"]},\n {name: \"Asterisk\", mime: \"text/x-asterisk\", mode: \"asterisk\", file: /^extensions\\.conf$/i},\n {name: \"Brainfuck\", mime: \"text/x-brainfuck\", mode: \"brainfuck\", ext: [\"b\", \"bf\"]},\n {name: \"C\", mime: \"text/x-csrc\", mode: \"clike\", ext: [\"c\", \"h\", \"ino\"]},\n {name: \"C++\", mime: \"text/x-c++src\", mode: \"clike\", ext: [\"cpp\", \"c++\", \"cc\", \"cxx\", \"hpp\", \"h++\", \"hh\", \"hxx\"], alias: [\"cpp\"]},\n {name: \"Cobol\", mime: \"text/x-cobol\", mode: \"cobol\", ext: [\"cob\", \"cpy\", \"cbl\"]},\n {name: \"C#\", mime: \"text/x-csharp\", mode: \"clike\", ext: [\"cs\"], alias: [\"csharp\", \"cs\"]},\n {name: \"Clojure\", mime: \"text/x-clojure\", mode: \"clojure\", ext: [\"clj\", \"cljc\", \"cljx\"]},\n {name: \"ClojureScript\", mime: \"text/x-clojurescript\", mode: \"clojure\", ext: [\"cljs\"]},\n {name: \"Closure Stylesheets (GSS)\", mime: \"text/x-gss\", mode: \"css\", ext: [\"gss\"]},\n {name: \"CMake\", mime: \"text/x-cmake\", mode: \"cmake\", ext: [\"cmake\", \"cmake.in\"], file: /^CMakeLists\\.txt$/},\n {name: \"CoffeeScript\", mimes: [\"application/vnd.coffeescript\", \"text/coffeescript\", \"text/x-coffeescript\"], mode: \"coffeescript\", ext: [\"coffee\"], alias: [\"coffee\", \"coffee-script\"]},\n {name: \"Common Lisp\", mime: \"text/x-common-lisp\", mode: \"commonlisp\", ext: [\"cl\", \"lisp\", \"el\"], alias: [\"lisp\"]},\n {name: \"Cypher\", mime: \"application/x-cypher-query\", mode: \"cypher\", ext: [\"cyp\", \"cypher\"]},\n {name: \"Cython\", mime: \"text/x-cython\", mode: \"python\", ext: [\"pyx\", \"pxd\", \"pxi\"]},\n {name: \"Crystal\", mime: \"text/x-crystal\", mode: \"crystal\", ext: [\"cr\"]},\n {name: \"CSS\", mime: \"text/css\", mode: \"css\", ext: [\"css\"]},\n {name: \"CQL\", mime: \"text/x-cassandra\", mode: \"sql\", ext: [\"cql\"]},\n {name: \"D\", mime: \"text/x-d\", mode: \"d\", ext: [\"d\"]},\n {name: \"Dart\", mimes: [\"application/dart\", \"text/x-dart\"], mode: \"dart\", ext: [\"dart\"]},\n {name: \"diff\", mime: \"text/x-diff\", mode: \"diff\", ext: [\"diff\", \"patch\"]},\n {name: \"Django\", mime: \"text/x-django\", mode: \"django\"},\n {name: \"Dockerfile\", mime: \"text/x-dockerfile\", mode: \"dockerfile\", file: /^Dockerfile$/},\n {name: \"DTD\", mime: \"application/xml-dtd\", mode: \"dtd\", ext: [\"dtd\"]},\n {name: \"Dylan\", mime: \"text/x-dylan\", mode: \"dylan\", ext: [\"dylan\", \"dyl\", \"intr\"]},\n {name: \"EBNF\", mime: \"text/x-ebnf\", mode: \"ebnf\"},\n {name: \"ECL\", mime: \"text/x-ecl\", mode: \"ecl\", ext: [\"ecl\"]},\n {name: \"edn\", mime: \"application/edn\", mode: \"clojure\", ext: [\"edn\"]},\n {name: \"Eiffel\", mime: \"text/x-eiffel\", mode: \"eiffel\", ext: [\"e\"]},\n {name: \"Elm\", mime: \"text/x-elm\", mode: \"elm\", ext: [\"elm\"]},\n {name: \"Embedded JavaScript\", mime: \"application/x-ejs\", mode: \"htmlembedded\", ext: [\"ejs\"]},\n {name: \"Embedded Ruby\", mime: \"application/x-erb\", mode: \"htmlembedded\", ext: [\"erb\"]},\n {name: \"Erlang\", mime: \"text/x-erlang\", mode: \"erlang\", ext: [\"erl\"]},\n {name: \"Esper\", mime: \"text/x-esper\", mode: \"sql\"},\n {name: \"Factor\", mime: \"text/x-factor\", mode: \"factor\", ext: [\"factor\"]},\n {name: \"FCL\", mime: \"text/x-fcl\", mode: \"fcl\"},\n {name: \"Forth\", mime: \"text/x-forth\", mode: \"forth\", ext: [\"forth\", \"fth\", \"4th\"]},\n {name: \"Fortran\", mime: \"text/x-fortran\", mode: \"fortran\", ext: [\"f\", \"for\", \"f77\", \"f90\", \"f95\"]},\n {name: \"F#\", mime: \"text/x-fsharp\", mode: \"mllike\", ext: [\"fs\"], alias: [\"fsharp\"]},\n {name: \"Gas\", mime: \"text/x-gas\", mode: \"gas\", ext: [\"s\"]},\n {name: \"Gherkin\", mime: \"text/x-feature\", mode: \"gherkin\", ext: [\"feature\"]},\n {name: \"GitHub Flavored Markdown\", mime: \"text/x-gfm\", mode: \"gfm\", file: /^(readme|contributing|history)\\.md$/i},\n {name: \"Go\", mime: \"text/x-go\", mode: \"go\", ext: [\"go\"]},\n {name: \"Groovy\", mime: \"text/x-groovy\", mode: \"groovy\", ext: [\"groovy\", \"gradle\"], file: /^Jenkinsfile$/},\n {name: \"HAML\", mime: \"text/x-haml\", mode: \"haml\", ext: [\"haml\"]},\n {name: \"Haskell\", mime: \"text/x-haskell\", mode: \"haskell\", ext: [\"hs\"]},\n {name: \"Haskell (Literate)\", mime: \"text/x-literate-haskell\", mode: \"haskell-literate\", ext: [\"lhs\"]},\n {name: \"Haxe\", mime: \"text/x-haxe\", mode: \"haxe\", ext: [\"hx\"]},\n {name: \"HXML\", mime: \"text/x-hxml\", mode: \"haxe\", ext: [\"hxml\"]},\n {name: \"ASP.NET\", mime: \"application/x-aspx\", mode: \"htmlembedded\", ext: [\"aspx\"], alias: [\"asp\", \"aspx\"]},\n {name: \"HTML\", mime: \"text/html\", mode: \"htmlmixed\", ext: [\"html\", \"htm\", \"handlebars\", \"hbs\"], alias: [\"xhtml\"]},\n {name: \"HTTP\", mime: \"message/http\", mode: \"http\"},\n {name: \"IDL\", mime: \"text/x-idl\", mode: \"idl\", ext: [\"pro\"]},\n {name: \"Pug\", mime: \"text/x-pug\", mode: \"pug\", ext: [\"jade\", \"pug\"], alias: [\"jade\"]},\n {name: \"Java\", mime: \"text/x-java\", mode: \"clike\", ext: [\"java\"]},\n {name: \"Java Server Pages\", mime: \"application/x-jsp\", mode: \"htmlembedded\", ext: [\"jsp\"], alias: [\"jsp\"]},\n {name: \"JavaScript\", mimes: [\"text/javascript\", \"text/ecmascript\", \"application/javascript\", \"application/x-javascript\", \"application/ecmascript\"],\n mode: \"javascript\", ext: [\"js\"], alias: [\"ecmascript\", \"js\", \"node\"]},\n {name: \"JSON\", mimes: [\"application/json\", \"application/x-json\"], mode: \"javascript\", ext: [\"json\", \"map\"], alias: [\"json5\"]},\n {name: \"JSON-LD\", mime: \"application/ld+json\", mode: \"javascript\", ext: [\"jsonld\"], alias: [\"jsonld\"]},\n {name: \"JSX\", mime: \"text/jsx\", mode: \"jsx\", ext: [\"jsx\"]},\n {name: \"Jinja2\", mime: \"text/jinja2\", mode: \"jinja2\", ext: [\"j2\", \"jinja\", \"jinja2\"]},\n {name: \"Julia\", mime: \"text/x-julia\", mode: \"julia\", ext: [\"jl\"], alias: [\"jl\"]},\n {name: \"Kotlin\", mime: \"text/x-kotlin\", mode: \"clike\", ext: [\"kt\"]},\n {name: \"LESS\", mime: \"text/x-less\", mode: \"css\", ext: [\"less\"]},\n {name: \"LiveScript\", mime: \"text/x-livescript\", mode: \"livescript\", ext: [\"ls\"], alias: [\"ls\"]},\n {name: \"Lua\", mime: \"text/x-lua\", mode: \"lua\", ext: [\"lua\"]},\n {name: \"Markdown\", mime: \"text/x-markdown\", mode: \"markdown\", ext: [\"markdown\", \"md\", \"mkd\"]},\n {name: \"mIRC\", mime: \"text/mirc\", mode: \"mirc\"},\n {name: \"MariaDB SQL\", mime: \"text/x-mariadb\", mode: \"sql\"},\n {name: \"Mathematica\", mime: \"text/x-mathematica\", mode: \"mathematica\", ext: [\"m\", \"nb\", \"wl\", \"wls\"]},\n {name: \"Modelica\", mime: \"text/x-modelica\", mode: \"modelica\", ext: [\"mo\"]},\n {name: \"MUMPS\", mime: \"text/x-mumps\", mode: \"mumps\", ext: [\"mps\"]},\n {name: \"MS SQL\", mime: \"text/x-mssql\", mode: \"sql\"},\n {name: \"mbox\", mime: \"application/mbox\", mode: \"mbox\", ext: [\"mbox\"]},\n {name: \"MySQL\", mime: \"text/x-mysql\", mode: \"sql\"},\n {name: \"Nginx\", mime: \"text/x-nginx-conf\", mode: \"nginx\", file: /nginx.*\\.conf$/i},\n {name: \"NSIS\", mime: \"text/x-nsis\", mode: \"nsis\", ext: [\"nsh\", \"nsi\"]},\n {name: \"NTriples\", mimes: [\"application/n-triples\", \"application/n-quads\", \"text/n-triples\"],\n mode: \"ntriples\", ext: [\"nt\", \"nq\"]},\n {name: \"Objective-C\", mime: \"text/x-objectivec\", mode: \"clike\", ext: [\"m\"], alias: [\"objective-c\", \"objc\"]},\n {name: \"Objective-C++\", mime: \"text/x-objectivec++\", mode: \"clike\", ext: [\"mm\"], alias: [\"objective-c++\", \"objc++\"]},\n {name: \"OCaml\", mime: \"text/x-ocaml\", mode: \"mllike\", ext: [\"ml\", \"mli\", \"mll\", \"mly\"]},\n {name: \"Octave\", mime: \"text/x-octave\", mode: \"octave\", ext: [\"m\"]},\n {name: \"Oz\", mime: \"text/x-oz\", mode: \"oz\", ext: [\"oz\"]},\n {name: \"Pascal\", mime: \"text/x-pascal\", mode: \"pascal\", ext: [\"p\", \"pas\"]},\n {name: \"PEG.js\", mime: \"null\", mode: \"pegjs\", ext: [\"jsonld\"]},\n {name: \"Perl\", mime: \"text/x-perl\", mode: \"perl\", ext: [\"pl\", \"pm\"]},\n {name: \"PHP\", mimes: [\"text/x-php\", \"application/x-httpd-php\", \"application/x-httpd-php-open\"], mode: \"php\", ext: [\"php\", \"php3\", \"php4\", \"php5\", \"php7\", \"phtml\"]},\n {name: \"Pig\", mime: \"text/x-pig\", mode: \"pig\", ext: [\"pig\"]},\n {name: \"Plain Text\", mime: \"text/plain\", mode: \"null\", ext: [\"txt\", \"text\", \"conf\", \"def\", \"list\", \"log\"]},\n {name: \"PLSQL\", mime: \"text/x-plsql\", mode: \"sql\", ext: [\"pls\"]},\n {name: \"PostgreSQL\", mime: \"text/x-pgsql\", mode: \"sql\"},\n {name: \"PowerShell\", mime: \"application/x-powershell\", mode: \"powershell\", ext: [\"ps1\", \"psd1\", \"psm1\"]},\n {name: \"Properties files\", mime: \"text/x-properties\", mode: \"properties\", ext: [\"properties\", \"ini\", \"in\"], alias: [\"ini\", \"properties\"]},\n {name: \"ProtoBuf\", mime: \"text/x-protobuf\", mode: \"protobuf\", ext: [\"proto\"]},\n {name: \"Python\", mime: \"text/x-python\", mode: \"python\", ext: [\"BUILD\", \"bzl\", \"py\", \"pyw\"], file: /^(BUCK|BUILD)$/},\n {name: \"Puppet\", mime: \"text/x-puppet\", mode: \"puppet\", ext: [\"pp\"]},\n {name: \"Q\", mime: \"text/x-q\", mode: \"q\", ext: [\"q\"]},\n {name: \"R\", mime: \"text/x-rsrc\", mode: \"r\", ext: [\"r\", \"R\"], alias: [\"rscript\"]},\n {name: \"reStructuredText\", mime: \"text/x-rst\", mode: \"rst\", ext: [\"rst\"], alias: [\"rst\"]},\n {name: \"RPM Changes\", mime: \"text/x-rpm-changes\", mode: \"rpm\"},\n {name: \"RPM Spec\", mime: \"text/x-rpm-spec\", mode: \"rpm\", ext: [\"spec\"]},\n {name: \"Ruby\", mime: \"text/x-ruby\", mode: \"ruby\", ext: [\"rb\"], alias: [\"jruby\", \"macruby\", \"rake\", \"rb\", \"rbx\"]},\n {name: \"Rust\", mime: \"text/x-rustsrc\", mode: \"rust\", ext: [\"rs\"]},\n {name: \"SAS\", mime: \"text/x-sas\", mode: \"sas\", ext: [\"sas\"]},\n {name: \"Sass\", mime: \"text/x-sass\", mode: \"sass\", ext: [\"sass\"]},\n {name: \"Scala\", mime: \"text/x-scala\", mode: \"clike\", ext: [\"scala\"]},\n {name: \"Scheme\", mime: \"text/x-scheme\", mode: \"scheme\", ext: [\"scm\", \"ss\"]},\n {name: \"SCSS\", mime: \"text/x-scss\", mode: \"css\", ext: [\"scss\"]},\n {name: \"Shell\", mimes: [\"text/x-sh\", \"application/x-sh\"], mode: \"shell\", ext: [\"sh\", \"ksh\", \"bash\"], alias: [\"bash\", \"sh\", \"zsh\"], file: /^PKGBUILD$/},\n {name: \"Sieve\", mime: \"application/sieve\", mode: \"sieve\", ext: [\"siv\", \"sieve\"]},\n {name: \"Slim\", mimes: [\"text/x-slim\", \"application/x-slim\"], mode: \"slim\", ext: [\"slim\"]},\n {name: \"Smalltalk\", mime: \"text/x-stsrc\", mode: \"smalltalk\", ext: [\"st\"]},\n {name: \"Smarty\", mime: \"text/x-smarty\", mode: \"smarty\", ext: [\"tpl\"]},\n {name: \"Solr\", mime: \"text/x-solr\", mode: \"solr\"},\n {name: \"SML\", mime: \"text/x-sml\", mode: \"mllike\", ext: [\"sml\", \"sig\", \"fun\", \"smackspec\"]},\n {name: \"Soy\", mime: \"text/x-soy\", mode: \"soy\", ext: [\"soy\"], alias: [\"closure template\"]},\n {name: \"SPARQL\", mime: \"application/sparql-query\", mode: \"sparql\", ext: [\"rq\", \"sparql\"], alias: [\"sparul\"]},\n {name: \"Spreadsheet\", mime: \"text/x-spreadsheet\", mode: \"spreadsheet\", alias: [\"excel\", \"formula\"]},\n {name: \"SQL\", mime: \"text/x-sql\", mode: \"sql\", ext: [\"sql\"]},\n {name: \"SQLite\", mime: \"text/x-sqlite\", mode: \"sql\"},\n {name: \"Squirrel\", mime: \"text/x-squirrel\", mode: \"clike\", ext: [\"nut\"]},\n {name: \"Stylus\", mime: \"text/x-styl\", mode: \"stylus\", ext: [\"styl\"]},\n {name: \"Swift\", mime: \"text/x-swift\", mode: \"swift\", ext: [\"swift\"]},\n {name: \"sTeX\", mime: \"text/x-stex\", mode: \"stex\"},\n {name: \"LaTeX\", mime: \"text/x-latex\", mode: \"stex\", ext: [\"text\", \"ltx\", \"tex\"], alias: [\"tex\"]},\n {name: \"SystemVerilog\", mime: \"text/x-systemverilog\", mode: \"verilog\", ext: [\"v\", \"sv\", \"svh\"]},\n {name: \"Tcl\", mime: \"text/x-tcl\", mode: \"tcl\", ext: [\"tcl\"]},\n {name: \"Textile\", mime: \"text/x-textile\", mode: \"textile\", ext: [\"textile\"]},\n {name: \"TiddlyWiki\", mime: \"text/x-tiddlywiki\", mode: \"tiddlywiki\"},\n {name: \"Tiki wiki\", mime: \"text/tiki\", mode: \"tiki\"},\n {name: \"TOML\", mime: \"text/x-toml\", mode: \"toml\", ext: [\"toml\"]},\n {name: \"Tornado\", mime: \"text/x-tornado\", mode: \"tornado\"},\n {name: \"troff\", mime: \"text/troff\", mode: \"troff\", ext: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"]},\n {name: \"TTCN\", mime: \"text/x-ttcn\", mode: \"ttcn\", ext: [\"ttcn\", \"ttcn3\", \"ttcnpp\"]},\n {name: \"TTCN_CFG\", mime: \"text/x-ttcn-cfg\", mode: \"ttcn-cfg\", ext: [\"cfg\"]},\n {name: \"Turtle\", mime: \"text/turtle\", mode: \"turtle\", ext: [\"ttl\"]},\n {name: \"TypeScript\", mime: \"application/typescript\", mode: \"javascript\", ext: [\"ts\"], alias: [\"ts\"]},\n {name: \"TypeScript-JSX\", mime: \"text/typescript-jsx\", mode: \"jsx\", ext: [\"tsx\"], alias: [\"tsx\"]},\n {name: \"Twig\", mime: \"text/x-twig\", mode: \"twig\"},\n {name: \"Web IDL\", mime: \"text/x-webidl\", mode: \"webidl\", ext: [\"webidl\"]},\n {name: \"VB.NET\", mime: \"text/x-vb\", mode: \"vb\", ext: [\"vb\"]},\n {name: \"VBScript\", mime: \"text/vbscript\", mode: \"vbscript\", ext: [\"vbs\"]},\n {name: \"Velocity\", mime: \"text/velocity\", mode: \"velocity\", ext: [\"vtl\"]},\n {name: \"Verilog\", mime: \"text/x-verilog\", mode: \"verilog\", ext: [\"v\"]},\n {name: \"VHDL\", mime: \"text/x-vhdl\", mode: \"vhdl\", ext: [\"vhd\", \"vhdl\"]},\n {name: \"Vue.js Component\", mimes: [\"script/x-vue\", \"text/x-vue\"], mode: \"vue\", ext: [\"vue\"]},\n {name: \"XML\", mimes: [\"application/xml\", \"text/xml\"], mode: \"xml\", ext: [\"xml\", \"xsl\", \"xsd\", \"svg\"], alias: [\"rss\", \"wsdl\", \"xsd\"]},\n {name: \"XQuery\", mime: \"application/xquery\", mode: \"xquery\", ext: [\"xy\", \"xquery\"]},\n {name: \"Yacas\", mime: \"text/x-yacas\", mode: \"yacas\", ext: [\"ys\"]},\n {name: \"YAML\", mimes: [\"text/x-yaml\", \"text/yaml\"], mode: \"yaml\", ext: [\"yaml\", \"yml\"], alias: [\"yml\"]},\n {name: \"Z80\", mime: \"text/x-z80\", mode: \"z80\", ext: [\"z80\"]},\n {name: \"mscgen\", mime: \"text/x-mscgen\", mode: \"mscgen\", ext: [\"mscgen\", \"mscin\", \"msc\"]},\n {name: \"xu\", mime: \"text/x-xu\", mode: \"mscgen\", ext: [\"xu\"]},\n {name: \"msgenny\", mime: \"text/x-msgenny\", mode: \"mscgen\", ext: [\"msgenny\"]},\n {name: \"WebAssembly\", mime: \"text/webassembly\", mode: \"wast\", ext: [\"wat\", \"wast\"]},\n ];\n // Ensure all modes have a mime property for backwards compatibility\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mimes) info.mime = info.mimes[0];\n }\n\n CodeMirror.findModeByMIME = function(mime) {\n mime = mime.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mime == mime) return info;\n if (info.mimes) for (var j = 0; j < info.mimes.length; j++)\n if (info.mimes[j] == mime) return info;\n }\n if (/\\+xml$/.test(mime)) return CodeMirror.findModeByMIME(\"application/xml\")\n if (/\\+json$/.test(mime)) return CodeMirror.findModeByMIME(\"application/json\")\n };\n\n CodeMirror.findModeByExtension = function(ext) {\n ext = ext.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.ext) for (var j = 0; j < info.ext.length; j++)\n if (info.ext[j] == ext) return info;\n }\n };\n\n CodeMirror.findModeByFileName = function(filename) {\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.file && info.file.test(filename)) return info;\n }\n var dot = filename.lastIndexOf(\".\");\n var ext = dot > -1 && filename.substring(dot + 1, filename.length);\n if (ext) return CodeMirror.findModeByExtension(ext);\n };\n\n CodeMirror.findModeByName = function(name) {\n name = name.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.name.toLowerCase() == name) return info;\n if (info.alias) for (var j = 0; j < info.alias.length; j++)\n if (info.alias[j].toLowerCase() == name) return info;\n }\n };\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n function wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\");\n }\n\n var wordOperators = wordRegexp([\"and\", \"or\", \"not\", \"is\"]);\n var commonKeywords = [\"as\", \"assert\", \"break\", \"class\", \"continue\",\n \"def\", \"del\", \"elif\", \"else\", \"except\", \"finally\",\n \"for\", \"from\", \"global\", \"if\", \"import\",\n \"lambda\", \"pass\", \"raise\", \"return\",\n \"try\", \"while\", \"with\", \"yield\", \"in\", \"False\", \"True\"];\n var commonBuiltins = [\"abs\", \"all\", \"any\", \"bin\", \"bool\", \"bytearray\", \"callable\", \"chr\",\n \"classmethod\", \"compile\", \"complex\", \"delattr\", \"dict\", \"dir\", \"divmod\",\n \"enumerate\", \"eval\", \"filter\", \"float\", \"format\", \"frozenset\",\n \"getattr\", \"globals\", \"hasattr\", \"hash\", \"help\", \"hex\", \"id\",\n \"input\", \"int\", \"isinstance\", \"issubclass\", \"iter\", \"len\",\n \"list\", \"locals\", \"map\", \"max\", \"memoryview\", \"min\", \"next\",\n \"object\", \"oct\", \"open\", \"ord\", \"pow\", \"property\", \"range\",\n \"repr\", \"reversed\", \"round\", \"set\", \"setattr\", \"slice\",\n \"sorted\", \"staticmethod\", \"str\", \"sum\", \"super\", \"tuple\",\n \"type\", \"vars\", \"zip\", \"__import__\", \"NotImplemented\",\n \"Ellipsis\", \"__debug__\"];\n CodeMirror.registerHelper(\"hintWords\", \"python\", commonKeywords.concat(commonBuiltins).concat([\"exec\", \"print\"]));\n\n function top(state) {\n return state.scopes[state.scopes.length - 1];\n }\n\n CodeMirror.defineMode(\"python\", function(conf, parserConf) {\n var ERRORCLASS = \"error\";\n\n var delimiters = parserConf.delimiters || parserConf.singleDelimiters || /^[\\(\\)\\[\\]\\{\\}@,:`=;\\.\\\\]/;\n // (Backwards-compatibility with old, cumbersome config system)\n var operators = [parserConf.singleOperators, parserConf.doubleOperators, parserConf.doubleDelimiters, parserConf.tripleDelimiters,\n parserConf.operators || /^([-+*/%\\/&|^]=?|[<>=]+|\\/\\/=?|\\*\\*=?|!=|[~!@]|\\.\\.\\.)/]\n for (var i = 0; i < operators.length; i++) if (!operators[i]) operators.splice(i--, 1)\n\n var hangingIndent = parserConf.hangingIndent || conf.indentUnit;\n\n var myKeywords = commonKeywords, myBuiltins = commonBuiltins;\n if (parserConf.extra_keywords != undefined)\n myKeywords = myKeywords.concat(parserConf.extra_keywords);\n\n if (parserConf.extra_builtins != undefined)\n myBuiltins = myBuiltins.concat(parserConf.extra_builtins);\n\n var py3 = !(parserConf.version && Number(parserConf.version) < 3)\n if (py3) {\n // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator\n var identifiers = parserConf.identifiers|| /^[_A-Za-z\\u00A1-\\uFFFF][_A-Za-z0-9\\u00A1-\\uFFFF]*/;\n myKeywords = myKeywords.concat([\"nonlocal\", \"None\", \"aiter\", \"anext\", \"async\", \"await\", \"breakpoint\", \"match\", \"case\"]);\n myBuiltins = myBuiltins.concat([\"ascii\", \"bytes\", \"exec\", \"print\"]);\n var stringPrefixes = new RegExp(\"^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|\\\"{3}|['\\\"]))\", \"i\");\n } else {\n var identifiers = parserConf.identifiers|| /^[_A-Za-z][_A-Za-z0-9]*/;\n myKeywords = myKeywords.concat([\"exec\", \"print\"]);\n myBuiltins = myBuiltins.concat([\"apply\", \"basestring\", \"buffer\", \"cmp\", \"coerce\", \"execfile\",\n \"file\", \"intern\", \"long\", \"raw_input\", \"reduce\", \"reload\",\n \"unichr\", \"unicode\", \"xrange\", \"None\"]);\n var stringPrefixes = new RegExp(\"^(([rubf]|(ur)|(br))?('{3}|\\\"{3}|['\\\"]))\", \"i\");\n }\n var keywords = wordRegexp(myKeywords);\n var builtins = wordRegexp(myBuiltins);\n\n // tokenizers\n function tokenBase(stream, state) {\n var sol = stream.sol() && state.lastToken != \"\\\\\"\n if (sol) state.indent = stream.indentation()\n // Handle scope changes\n if (sol && top(state).type == \"py\") {\n var scopeOffset = top(state).offset;\n if (stream.eatSpace()) {\n var lineOffset = stream.indentation();\n if (lineOffset > scopeOffset)\n pushPyScope(state);\n else if (lineOffset < scopeOffset && dedent(stream, state) && stream.peek() != \"#\")\n state.errorToken = true;\n return null;\n } else {\n var style = tokenBaseInner(stream, state);\n if (scopeOffset > 0 && dedent(stream, state))\n style += \" \" + ERRORCLASS;\n return style;\n }\n }\n return tokenBaseInner(stream, state);\n }\n\n function tokenBaseInner(stream, state, inFormat) {\n if (stream.eatSpace()) return null;\n\n // Handle Comments\n if (!inFormat && stream.match(/^#.*/)) return \"comment\";\n\n // Handle Number Literals\n if (stream.match(/^[0-9\\.]/, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^[\\d_]*\\.\\d+(e[\\+\\-]?\\d+)?/i)) { floatLiteral = true; }\n if (stream.match(/^[\\d_]+\\.\\d*/)) { floatLiteral = true; }\n if (stream.match(/^\\.\\d+/)) { floatLiteral = true; }\n if (floatLiteral) {\n // Float literals may be \"imaginary\"\n stream.eat(/J/i);\n return \"number\";\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^0x[0-9a-f_]+/i)) intLiteral = true;\n // Binary\n if (stream.match(/^0b[01_]+/i)) intLiteral = true;\n // Octal\n if (stream.match(/^0o[0-7_]+/i)) intLiteral = true;\n // Decimal\n if (stream.match(/^[1-9][\\d_]*(e[\\+\\-]?[\\d_]+)?/)) {\n // Decimal literals may be \"imaginary\"\n stream.eat(/J/i);\n // TODO - Can you have imaginary longs?\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n if (stream.match(/^0(?![\\dx])/i)) intLiteral = true;\n if (intLiteral) {\n // Integer literals may be \"long\"\n stream.eat(/L/i);\n return \"number\";\n }\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n var isFmtString = stream.current().toLowerCase().indexOf('f') !== -1;\n if (!isFmtString) {\n state.tokenize = tokenStringFactory(stream.current(), state.tokenize);\n return state.tokenize(stream, state);\n } else {\n state.tokenize = formatStringFactory(stream.current(), state.tokenize);\n return state.tokenize(stream, state);\n }\n }\n\n for (var i = 0; i < operators.length; i++)\n if (stream.match(operators[i])) return \"operator\"\n\n if (stream.match(delimiters)) return \"punctuation\";\n\n if (state.lastToken == \".\" && stream.match(identifiers))\n return \"property\";\n\n if (stream.match(keywords) || stream.match(wordOperators))\n return \"keyword\";\n\n if (stream.match(builtins))\n return \"builtin\";\n\n if (stream.match(/^(self|cls)\\b/))\n return \"variable-2\";\n\n if (stream.match(identifiers)) {\n if (state.lastToken == \"def\" || state.lastToken == \"class\")\n return \"def\";\n return \"variable\";\n }\n\n // Handle non-detected items\n stream.next();\n return inFormat ? null :ERRORCLASS;\n }\n\n function formatStringFactory(delimiter, tokenOuter) {\n while (\"rubf\".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)\n delimiter = delimiter.substr(1);\n\n var singleline = delimiter.length == 1;\n var OUTCLASS = \"string\";\n\n function tokenNestedExpr(depth) {\n return function(stream, state) {\n var inner = tokenBaseInner(stream, state, true)\n if (inner == \"punctuation\") {\n if (stream.current() == \"{\") {\n state.tokenize = tokenNestedExpr(depth + 1)\n } else if (stream.current() == \"}\") {\n if (depth > 1) state.tokenize = tokenNestedExpr(depth - 1)\n else state.tokenize = tokenString\n }\n }\n return inner\n }\n }\n\n function tokenString(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\{\\}\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol())\n return OUTCLASS;\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenOuter;\n return OUTCLASS;\n } else if (stream.match('{{')) {\n // ignore {{ in f-str\n return OUTCLASS;\n } else if (stream.match('{', false)) {\n // switch to nested mode\n state.tokenize = tokenNestedExpr(0)\n if (stream.current()) return OUTCLASS;\n else return state.tokenize(stream, state)\n } else if (stream.match('}}')) {\n return OUTCLASS;\n } else if (stream.match('}')) {\n // single } in f-string is an error\n return ERRORCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors)\n return ERRORCLASS;\n else\n state.tokenize = tokenOuter;\n }\n return OUTCLASS;\n }\n tokenString.isString = true;\n return tokenString;\n }\n\n function tokenStringFactory(delimiter, tokenOuter) {\n while (\"rubf\".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)\n delimiter = delimiter.substr(1);\n\n var singleline = delimiter.length == 1;\n var OUTCLASS = \"string\";\n\n function tokenString(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol())\n return OUTCLASS;\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenOuter;\n return OUTCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors)\n return ERRORCLASS;\n else\n state.tokenize = tokenOuter;\n }\n return OUTCLASS;\n }\n tokenString.isString = true;\n return tokenString;\n }\n\n function pushPyScope(state) {\n while (top(state).type != \"py\") state.scopes.pop()\n state.scopes.push({offset: top(state).offset + conf.indentUnit,\n type: \"py\",\n align: null})\n }\n\n function pushBracketScope(stream, state, type) {\n var align = stream.match(/^[\\s\\[\\{\\(]*(?:#|$)/, false) ? null : stream.column() + 1\n state.scopes.push({offset: state.indent + hangingIndent,\n type: type,\n align: align})\n }\n\n function dedent(stream, state) {\n var indented = stream.indentation();\n while (state.scopes.length > 1 && top(state).offset > indented) {\n if (top(state).type != \"py\") return true;\n state.scopes.pop();\n }\n return top(state).offset != indented;\n }\n\n function tokenLexer(stream, state) {\n if (stream.sol()) {\n state.beginningOfLine = true;\n state.dedent = false;\n }\n\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle decorators\n if (state.beginningOfLine && current == \"@\")\n return stream.match(identifiers, false) ? \"meta\" : py3 ? \"operator\" : ERRORCLASS;\n\n if (/\\S/.test(current)) state.beginningOfLine = false;\n\n if ((style == \"variable\" || style == \"builtin\")\n && state.lastToken == \"meta\")\n style = \"meta\";\n\n // Handle scope changes.\n if (current == \"pass\" || current == \"return\")\n state.dedent = true;\n\n if (current == \"lambda\") state.lambda = true;\n if (current == \":\" && !state.lambda && top(state).type == \"py\" && stream.match(/^\\s*(?:#|$)/, false))\n pushPyScope(state);\n\n if (current.length == 1 && !/string|comment/.test(style)) {\n var delimiter_index = \"[({\".indexOf(current);\n if (delimiter_index != -1)\n pushBracketScope(stream, state, \"])}\".slice(delimiter_index, delimiter_index+1));\n\n delimiter_index = \"])}\".indexOf(current);\n if (delimiter_index != -1) {\n if (top(state).type == current) state.indent = state.scopes.pop().offset - hangingIndent\n else return ERRORCLASS;\n }\n }\n if (state.dedent && stream.eol() && top(state).type == \"py\" && state.scopes.length > 1)\n state.scopes.pop();\n\n return style;\n }\n\n var external = {\n startState: function(basecolumn) {\n return {\n tokenize: tokenBase,\n scopes: [{offset: basecolumn || 0, type: \"py\", align: null}],\n indent: basecolumn || 0,\n lastToken: null,\n lambda: false,\n dedent: 0\n };\n },\n\n token: function(stream, state) {\n var addErr = state.errorToken;\n if (addErr) state.errorToken = false;\n var style = tokenLexer(stream, state);\n\n if (style && style != \"comment\")\n state.lastToken = (style == \"keyword\" || style == \"punctuation\") ? stream.current() : style;\n if (style == \"punctuation\") style = null;\n\n if (stream.eol() && state.lambda)\n state.lambda = false;\n return addErr ? style + \" \" + ERRORCLASS : style;\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize != tokenBase)\n return state.tokenize.isString ? CodeMirror.Pass : 0;\n\n var scope = top(state)\n var closing = scope.type == textAfter.charAt(0) ||\n scope.type == \"py\" && !state.dedent && /^(else:|elif |except |finally:)/.test(textAfter)\n if (scope.align != null)\n return scope.align - (closing ? 1 : 0)\n else\n return scope.offset - (closing ? hangingIndent : 0)\n },\n\n electricInput: /^\\s*([\\}\\]\\)]|else:|elif |except |finally:)$/,\n closeBrackets: {triples: \"'\\\"\"},\n lineComment: \"#\",\n fold: \"indent\"\n };\n return external;\n });\n\n CodeMirror.defineMIME(\"text/x-python\", \"python\");\n\n var words = function(str) { return str.split(\" \"); };\n\n CodeMirror.defineMIME(\"text/x-cython\", {\n name: \"python\",\n extra_keywords: words(\"by cdef cimport cpdef ctypedef enum except \"+\n \"extern gil include nogil property public \"+\n \"readonly struct union DEF IF ELIF ELSE\")\n });\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"wordChars\", \"r\", /[\\w.]/);\n\nCodeMirror.defineMode(\"r\", function(config) {\n function wordObj(words) {\n var res = {};\n for (var i = 0; i < words.length; ++i) res[words[i]] = true;\n return res;\n }\n var commonAtoms = [\"NULL\", \"NA\", \"Inf\", \"NaN\", \"NA_integer_\", \"NA_real_\", \"NA_complex_\", \"NA_character_\", \"TRUE\", \"FALSE\"];\n var commonBuiltins = [\"list\", \"quote\", \"bquote\", \"eval\", \"return\", \"call\", \"parse\", \"deparse\"];\n var commonKeywords = [\"if\", \"else\", \"repeat\", \"while\", \"function\", \"for\", \"in\", \"next\", \"break\"];\n var commonBlockKeywords = [\"if\", \"else\", \"repeat\", \"while\", \"function\", \"for\"];\n\n CodeMirror.registerHelper(\"hintWords\", \"r\", commonAtoms.concat(commonBuiltins, commonKeywords));\n\n var atoms = wordObj(commonAtoms);\n var builtins = wordObj(commonBuiltins);\n var keywords = wordObj(commonKeywords);\n var blockkeywords = wordObj(commonBlockKeywords);\n var opChars = /[+\\-*\\/^<>=!&|~$:]/;\n var curPunc;\n\n function tokenBase(stream, state) {\n curPunc = null;\n var ch = stream.next();\n if (ch == \"#\") {\n stream.skipToEnd();\n return \"comment\";\n } else if (ch == \"0\" && stream.eat(\"x\")) {\n stream.eatWhile(/[\\da-f]/i);\n return \"number\";\n } else if (ch == \".\" && stream.eat(/\\d/)) {\n stream.match(/\\d*(?:e[+\\-]?\\d+)?/);\n return \"number\";\n } else if (/\\d/.test(ch)) {\n stream.match(/\\d*(?:\\.\\d+)?(?:e[+\\-]\\d+)?L?/);\n return \"number\";\n } else if (ch == \"'\" || ch == '\"') {\n state.tokenize = tokenString(ch);\n return \"string\";\n } else if (ch == \"`\") {\n stream.match(/[^`]+`/);\n return \"variable-3\";\n } else if (ch == \".\" && stream.match(/.(?:[.]|\\d+)/)) {\n return \"keyword\";\n } else if (/[a-zA-Z\\.]/.test(ch)) {\n stream.eatWhile(/[\\w\\.]/);\n var word = stream.current();\n if (atoms.propertyIsEnumerable(word)) return \"atom\";\n if (keywords.propertyIsEnumerable(word)) {\n // Block keywords start new blocks, except 'else if', which only starts\n // one new block for the 'if', no block for the 'else'.\n if (blockkeywords.propertyIsEnumerable(word) &&\n !stream.match(/\\s*if(\\s+|$)/, false))\n curPunc = \"block\";\n return \"keyword\";\n }\n if (builtins.propertyIsEnumerable(word)) return \"builtin\";\n return \"variable\";\n } else if (ch == \"%\") {\n if (stream.skipTo(\"%\")) stream.next();\n return \"operator variable-2\";\n } else if (\n (ch == \"<\" && stream.eat(\"-\")) ||\n (ch == \"<\" && stream.match(\"<-\")) ||\n (ch == \"-\" && stream.match(/>>?/))\n ) {\n return \"operator arrow\";\n } else if (ch == \"=\" && state.ctx.argList) {\n return \"arg-is\";\n } else if (opChars.test(ch)) {\n if (ch == \"$\") return \"operator dollar\";\n stream.eatWhile(opChars);\n return \"operator\";\n } else if (/[\\(\\){}\\[\\];]/.test(ch)) {\n curPunc = ch;\n if (ch == \";\") return \"semi\";\n return null;\n } else {\n return null;\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n if (stream.eat(\"\\\\\")) {\n var ch = stream.next();\n if (ch == \"x\") stream.match(/^[a-f0-9]{2}/i);\n else if ((ch == \"u\" || ch == \"U\") && stream.eat(\"{\") && stream.skipTo(\"}\")) stream.next();\n else if (ch == \"u\") stream.match(/^[a-f0-9]{4}/i);\n else if (ch == \"U\") stream.match(/^[a-f0-9]{8}/i);\n else if (/[0-7]/.test(ch)) stream.match(/^[0-7]{1,2}/);\n return \"string-2\";\n } else {\n var next;\n while ((next = stream.next()) != null) {\n if (next == quote) { state.tokenize = tokenBase; break; }\n if (next == \"\\\\\") { stream.backUp(1); break; }\n }\n return \"string\";\n }\n };\n }\n\n var ALIGN_YES = 1, ALIGN_NO = 2, BRACELESS = 4\n\n function push(state, type, stream) {\n state.ctx = {type: type,\n indent: state.indent,\n flags: 0,\n column: stream.column(),\n prev: state.ctx};\n }\n function setFlag(state, flag) {\n var ctx = state.ctx\n state.ctx = {type: ctx.type,\n indent: ctx.indent,\n flags: ctx.flags | flag,\n column: ctx.column,\n prev: ctx.prev}\n }\n function pop(state) {\n state.indent = state.ctx.indent;\n state.ctx = state.ctx.prev;\n }\n\n return {\n startState: function() {\n return {tokenize: tokenBase,\n ctx: {type: \"top\",\n indent: -config.indentUnit,\n flags: ALIGN_NO},\n indent: 0,\n afterIdent: false};\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if ((state.ctx.flags & 3) == 0) state.ctx.flags |= ALIGN_NO\n if (state.ctx.flags & BRACELESS) pop(state)\n state.indent = stream.indentation();\n }\n if (stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (style != \"comment\" && (state.ctx.flags & ALIGN_NO) == 0) setFlag(state, ALIGN_YES)\n\n if ((curPunc == \";\" || curPunc == \"{\" || curPunc == \"}\") && state.ctx.type == \"block\") pop(state);\n if (curPunc == \"{\") push(state, \"}\", stream);\n else if (curPunc == \"(\") {\n push(state, \")\", stream);\n if (state.afterIdent) state.ctx.argList = true;\n }\n else if (curPunc == \"[\") push(state, \"]\", stream);\n else if (curPunc == \"block\") push(state, \"block\", stream);\n else if (curPunc == state.ctx.type) pop(state);\n else if (state.ctx.type == \"block\" && style != \"comment\") setFlag(state, BRACELESS)\n state.afterIdent = style == \"variable\" || style == \"keyword\";\n return style;\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), ctx = state.ctx,\n closing = firstChar == ctx.type;\n if (ctx.flags & BRACELESS) ctx = ctx.prev\n if (ctx.type == \"block\") return ctx.indent + (firstChar == \"{\" ? 0 : config.indentUnit);\n else if (ctx.flags & ALIGN_YES) return ctx.column + (closing ? 0 : 1);\n else return ctx.indent + (closing ? 0 : config.indentUnit);\n },\n\n lineComment: \"#\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-rsrc\", \"r\");\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nvar htmlConfig = {\n autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,\n 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,\n 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,\n 'track': true, 'wbr': true, 'menuitem': true},\n implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,\n 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,\n 'th': true, 'tr': true},\n contextGrabbers: {\n 'dd': {'dd': true, 'dt': true},\n 'dt': {'dd': true, 'dt': true},\n 'li': {'li': true},\n 'option': {'option': true, 'optgroup': true},\n 'optgroup': {'optgroup': true},\n 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,\n 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,\n 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,\n 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,\n 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},\n 'rp': {'rp': true, 'rt': true},\n 'rt': {'rp': true, 'rt': true},\n 'tbody': {'tbody': true, 'tfoot': true},\n 'td': {'td': true, 'th': true},\n 'tfoot': {'tbody': true},\n 'th': {'td': true, 'th': true},\n 'thead': {'tbody': true, 'tfoot': true},\n 'tr': {'tr': true}\n },\n doNotIndent: {\"pre\": true},\n allowUnquoted: true,\n allowMissing: true,\n caseFold: true\n}\n\nvar xmlConfig = {\n autoSelfClosers: {},\n implicitlyClosed: {},\n contextGrabbers: {},\n doNotIndent: {},\n allowUnquoted: false,\n allowMissing: false,\n allowMissingTagName: false,\n caseFold: false\n}\n\nCodeMirror.defineMode(\"xml\", function(editorConf, config_) {\n var indentUnit = editorConf.indentUnit\n var config = {}\n var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n for (var prop in defaults) config[prop] = defaults[prop]\n for (var prop in config_) config[prop] = config_[prop]\n\n // Return variables for tokenizers\n var type, setStyle;\n\n function inText(stream, state) {\n function chain(parser) {\n state.tokenize = parser;\n return parser(stream, state);\n }\n\n var ch = stream.next();\n if (ch == \"<\") {\n if (stream.eat(\"!\")) {\n if (stream.eat(\"[\")) {\n if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));\n else return null;\n } else if (stream.match(\"--\")) {\n return chain(inBlock(\"comment\", \"-->\"));\n } else if (stream.match(\"DOCTYPE\", true, true)) {\n stream.eatWhile(/[\\w\\._\\-]/);\n return chain(doctype(1));\n } else {\n return null;\n }\n } else if (stream.eat(\"?\")) {\n stream.eatWhile(/[\\w\\._\\-]/);\n state.tokenize = inBlock(\"meta\", \"?>\");\n return \"meta\";\n } else {\n type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n state.tokenize = inTag;\n return \"tag bracket\";\n }\n } else if (ch == \"&\") {\n var ok;\n if (stream.eat(\"#\")) {\n if (stream.eat(\"x\")) {\n ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n } else {\n ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n }\n } else {\n ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n }\n return ok ? \"atom\" : \"error\";\n } else {\n stream.eatWhile(/[^&<]/);\n return null;\n }\n }\n inText.isInText = true;\n\n function inTag(stream, state) {\n var ch = stream.next();\n if (ch == \">\" || (ch == \"/\" && stream.eat(\">\"))) {\n state.tokenize = inText;\n type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n return \"tag bracket\";\n } else if (ch == \"=\") {\n type = \"equals\";\n return null;\n } else if (ch == \"<\") {\n state.tokenize = inText;\n state.state = baseState;\n state.tagName = state.tagStart = null;\n var next = state.tokenize(stream, state);\n return next ? next + \" tag error\" : \"tag error\";\n } else if (/[\\'\\\"]/.test(ch)) {\n state.tokenize = inAttribute(ch);\n state.stringStartCol = stream.column();\n return state.tokenize(stream, state);\n } else {\n stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n return \"word\";\n }\n }\n\n function inAttribute(quote) {\n var closure = function(stream, state) {\n while (!stream.eol()) {\n if (stream.next() == quote) {\n state.tokenize = inTag;\n break;\n }\n }\n return \"string\";\n };\n closure.isInAttribute = true;\n return closure;\n }\n\n function inBlock(style, terminator) {\n return function(stream, state) {\n while (!stream.eol()) {\n if (stream.match(terminator)) {\n state.tokenize = inText;\n break;\n }\n stream.next();\n }\n return style;\n }\n }\n\n function doctype(depth) {\n return function(stream, state) {\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"<\") {\n state.tokenize = doctype(depth + 1);\n return state.tokenize(stream, state);\n } else if (ch == \">\") {\n if (depth == 1) {\n state.tokenize = inText;\n break;\n } else {\n state.tokenize = doctype(depth - 1);\n return state.tokenize(stream, state);\n }\n }\n }\n return \"meta\";\n };\n }\n\n function lower(tagName) {\n return tagName && tagName.toLowerCase();\n }\n\n function Context(state, tagName, startOfLine) {\n this.prev = state.context;\n this.tagName = tagName || \"\";\n this.indent = state.indented;\n this.startOfLine = startOfLine;\n if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))\n this.noIndent = true;\n }\n function popContext(state) {\n if (state.context) state.context = state.context.prev;\n }\n function maybePopContext(state, nextTagName) {\n var parentTagName;\n while (true) {\n if (!state.context) {\n return;\n }\n parentTagName = state.context.tagName;\n if (!config.contextGrabbers.hasOwnProperty(lower(parentTagName)) ||\n !config.contextGrabbers[lower(parentTagName)].hasOwnProperty(lower(nextTagName))) {\n return;\n }\n popContext(state);\n }\n }\n\n function baseState(type, stream, state) {\n if (type == \"openTag\") {\n state.tagStart = stream.column();\n return tagNameState;\n } else if (type == \"closeTag\") {\n return closeTagNameState;\n } else {\n return baseState;\n }\n }\n function tagNameState(type, stream, state) {\n if (type == \"word\") {\n state.tagName = stream.current();\n setStyle = \"tag\";\n return attrState;\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return attrState(type, stream, state);\n } else {\n setStyle = \"error\";\n return tagNameState;\n }\n }\n function closeTagNameState(type, stream, state) {\n if (type == \"word\") {\n var tagName = stream.current();\n if (state.context && state.context.tagName != tagName &&\n config.implicitlyClosed.hasOwnProperty(lower(state.context.tagName)))\n popContext(state);\n if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {\n setStyle = \"tag\";\n return closeState;\n } else {\n setStyle = \"tag error\";\n return closeStateErr;\n }\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return closeState(type, stream, state);\n } else {\n setStyle = \"error\";\n return closeStateErr;\n }\n }\n\n function closeState(type, _stream, state) {\n if (type != \"endTag\") {\n setStyle = \"error\";\n return closeState;\n }\n popContext(state);\n return baseState;\n }\n function closeStateErr(type, stream, state) {\n setStyle = \"error\";\n return closeState(type, stream, state);\n }\n\n function attrState(type, _stream, state) {\n if (type == \"word\") {\n setStyle = \"attribute\";\n return attrEqState;\n } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n var tagName = state.tagName, tagStart = state.tagStart;\n state.tagName = state.tagStart = null;\n if (type == \"selfcloseTag\" ||\n config.autoSelfClosers.hasOwnProperty(lower(tagName))) {\n maybePopContext(state, tagName);\n } else {\n maybePopContext(state, tagName);\n state.context = new Context(state, tagName, tagStart == state.indented);\n }\n return baseState;\n }\n setStyle = \"error\";\n return attrState;\n }\n function attrEqState(type, stream, state) {\n if (type == \"equals\") return attrValueState;\n if (!config.allowMissing) setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrValueState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n if (type == \"word\" && config.allowUnquoted) {setStyle = \"string\"; return attrState;}\n setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrContinuedState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n return attrState(type, stream, state);\n }\n\n return {\n startState: function(baseIndent) {\n var state = {tokenize: inText,\n state: baseState,\n indented: baseIndent || 0,\n tagName: null, tagStart: null,\n context: null}\n if (baseIndent != null) state.baseIndent = baseIndent\n return state\n },\n\n token: function(stream, state) {\n if (!state.tagName && stream.sol())\n state.indented = stream.indentation();\n\n if (stream.eatSpace()) return null;\n type = null;\n var style = state.tokenize(stream, state);\n if ((style || type) && style != \"comment\") {\n setStyle = null;\n state.state = state.state(type || style, stream, state);\n if (setStyle)\n style = setStyle == \"error\" ? style + \" error\" : setStyle;\n }\n return style;\n },\n\n indent: function(state, textAfter, fullLine) {\n var context = state.context;\n // Indent multi-line strings (e.g. css).\n if (state.tokenize.isInAttribute) {\n if (state.tagStart == state.indented)\n return state.stringStartCol + 1;\n else\n return state.indented + indentUnit;\n }\n if (context && context.noIndent) return CodeMirror.Pass;\n if (state.tokenize != inTag && state.tokenize != inText)\n return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0;\n // Indent the starts of attribute names.\n if (state.tagName) {\n if (config.multilineTagIndentPastTag !== false)\n return state.tagStart + state.tagName.length + 2;\n else\n return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n }\n if (config.alignCDATA && /$/,\n blockCommentStart: \"\",\n\n configuration: config.htmlMode ? \"html\" : \"xml\",\n helperType: config.htmlMode ? \"html\" : \"xml\",\n\n skipAttribute: function(state) {\n if (state.state == attrValueState)\n state.state = attrState\n },\n\n xmlCurrentTag: function(state) {\n return state.tagName ? {name: state.tagName, close: state.type == \"closeTag\"} : null\n },\n\n xmlCurrentContext: function(state) {\n var context = []\n for (var cx = state.context; cx; cx = cx.prev)\n context.push(cx.tagName)\n return context.reverse()\n }\n };\n});\n\nCodeMirror.defineMIME(\"text/xml\", \"xml\");\nCodeMirror.defineMIME(\"application/xml\", \"xml\");\nif (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\"))\n CodeMirror.defineMIME(\"text/html\", {name: \"xml\", htmlMode: true});\n\n});\n","var jsonlint = (function(){var require=true,module=false;var exports={};/*\n json_parse.js\n 2016-05-02\n\n Public Domain.\n\n NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\n\n This file creates a json_parse function.\n\n json_parse(text, reviver)\n This method parses a JSON text to produce an object or array.\n It can throw a SyntaxError exception.\n\n The optional reviver parameter is a function that can filter and\n transform the results. It receives each of the keys and values,\n and its return value is used instead of the original value.\n If it returns what it received, then the structure is not modified.\n If it returns undefined then the member is deleted.\n\n Example:\n\n // Parse the text. Values that look like ISO date strings will\n // be converted to Date objects.\n\n myData = json_parse(text, function (key, value) {\n var a;\n if (typeof value === \"string\") {\n a =\n/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n if (a) {\n return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],\n +a[5], +a[6]));\n }\n }\n return value;\n });\n\n This is a reference implementation. You are free to copy, modify, or\n redistribute.\n\n This code should be minified before deployment.\n See http://javascript.crockford.com/jsmin.html\n\n USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO\n NOT CONTROL.\n*/\n\n/*jslint for */\n\n/*property\n at, b, call, charAt, f, fromCharCode, hasOwnProperty, message, n, name,\n prototype, push, r, t, text\n*/\n\nvar ___dougJSONParse = (function () {\n \"use strict\";\n\n// This is a function that can parse a JSON text, producing a JavaScript\n// data structure. It is a simple, recursive descent parser. It does not use\n// eval or regular expressions, so it can be used as a model for implementing\n// a JSON parser in other languages.\n\n// We are defining the function inside of another function to avoid creating\n// global variables.\n\n var at; // The index of the current character\n var ch; // The current character\n var escapee = {\n \"\\\"\": \"\\\"\",\n \"\\\\\": \"\\\\\",\n \"/\": \"/\",\n b: \"\\b\",\n f: \"\\f\",\n n: \"\\n\",\n r: \"\\r\",\n t: \"\\t\"\n };\n var text;\n\n var error = function (m) {\n\n// Call error when something is wrong.\n\n throw {\n name: \"SyntaxError\",\n message: m,\n at: at,\n text: text\n };\n };\n\n var next = function (c) {\n\n// If a c parameter is provided, verify that it matches the current character.\n\n if (c && c !== ch) {\n error(\"Expected '\" + c + \"' instead of '\" + ch + \"'\");\n }\n\n// Get the next character. When there are no more characters,\n// return the empty string.\n\n ch = text.charAt(at);\n at += 1;\n return ch;\n };\n\n var number = function () {\n\n// Parse a number value.\n\n var value;\n var string = \"\";\n\n if (ch === \"-\") {\n string = \"-\";\n next(\"-\");\n }\n while (ch >= \"0\" && ch <= \"9\") {\n string += ch;\n next();\n }\n if (ch === \".\") {\n string += \".\";\n while (next() && ch >= \"0\" && ch <= \"9\") {\n string += ch;\n }\n }\n if (ch === \"e\" || ch === \"E\") {\n string += ch;\n next();\n if (ch === \"-\" || ch === \"+\") {\n string += ch;\n next();\n }\n while (ch >= \"0\" && ch <= \"9\") {\n string += ch;\n next();\n }\n }\n value = +string;\n if (!isFinite(value)) {\n error(\"Bad number\");\n } else {\n return value;\n }\n };\n\n var string = function () {\n\n// Parse a string value.\n\n var hex;\n var i;\n var value = \"\";\n var uffff;\n\n// When parsing for string values, we must look for \" and \\ characters.\n\n if (ch === \"\\\"\") {\n while (next()) {\n if (ch === \"\\\"\") {\n next();\n return value;\n }\n if (ch === \"\\\\\") {\n next();\n if (ch === \"u\") {\n uffff = 0;\n for (i = 0; i < 4; i += 1) {\n hex = parseInt(next(), 16);\n if (!isFinite(hex)) {\n break;\n }\n uffff = uffff * 16 + hex;\n }\n value += String.fromCharCode(uffff);\n } else if (typeof escapee[ch] === \"string\") {\n value += escapee[ch];\n } else {\n break;\n }\n } else {\n value += ch;\n }\n }\n }\n error(\"Bad string\");\n };\n\n var white = function () {\n\n// Skip whitespace.\n\n while (ch && ch <= \" \") {\n next();\n }\n };\n\n var word = function () {\n\n// true, false, or null.\n\n switch (ch) {\n case \"t\":\n next(\"t\");\n next(\"r\");\n next(\"u\");\n next(\"e\");\n return true;\n case \"f\":\n next(\"f\");\n next(\"a\");\n next(\"l\");\n next(\"s\");\n next(\"e\");\n return false;\n case \"n\":\n next(\"n\");\n next(\"u\");\n next(\"l\");\n next(\"l\");\n return null;\n }\n error(\"Unexpected '\" + ch + \"'\");\n };\n\n var value; // Place holder for the value function.\n\n var array = function () {\n\n// Parse an array value.\n\n var arr = [];\n\n if (ch === \"[\") {\n next(\"[\");\n white();\n if (ch === \"]\") {\n next(\"]\");\n return arr; // empty array\n }\n while (ch) {\n arr.push(value());\n white();\n if (ch === \"]\") {\n next(\"]\");\n return arr;\n }\n next(\",\");\n white();\n }\n }\n error(\"Bad array\");\n };\n\n var object = function () {\n\n// Parse an object value.\n\n var key;\n var obj = {};\n\n if (ch === \"{\") {\n next(\"{\");\n white();\n if (ch === \"}\") {\n next(\"}\");\n return obj; // empty object\n }\n while (ch) {\n key = string();\n white();\n next(\":\");\n if (Object.hasOwnProperty.call(obj, key)) {\n error(\"Duplicate key '\" + key + \"'\");\n }\n obj[key] = value();\n white();\n if (ch === \"}\") {\n next(\"}\");\n return obj;\n }\n next(\",\");\n white();\n }\n }\n error(\"Bad object\");\n };\n\n value = function () {\n\n// Parse a JSON value. It could be an object, an array, a string, a number,\n// or a word.\n\n white();\n switch (ch) {\n case \"{\":\n return object();\n case \"[\":\n return array();\n case \"\\\"\":\n return string();\n case \"-\":\n return number();\n default:\n return (ch >= \"0\" && ch <= \"9\")\n ? number()\n : word();\n }\n };\n\n// Return the json_parse function. It will have access to all of the above\n// functions and variables.\n\n return function (source, reviver) {\n var result;\n\n text = source;\n at = 0;\n ch = \" \";\n result = value();\n white();\n if (ch) {\n error(\"Syntax error\");\n }\n\n// If there is a reviver function, we recursively walk the new structure,\n// passing each name/value pair to the reviver function for possible\n// transformation, starting with a temporary root object that holds the result\n// in an empty key. If there is not a reviver function, we simply return the\n// result.\n\n return (typeof reviver === \"function\")\n ? (function walk(holder, key) {\n var k;\n var v;\n var val = holder[key];\n if (val && typeof val === \"object\") {\n for (k in val) {\n if (Object.prototype.hasOwnProperty.call(val, k)) {\n v = walk(val, k);\n if (v !== undefined) {\n val[k] = v;\n } else {\n delete val[k];\n }\n }\n }\n }\n return reviver.call(holder, key, val);\n }({\"\": result}, \"\"))\n : result;\n };\n}());\n\nif(typeof module === 'object' && module.exports) {\n module.exports = ___dougJSONParse;\n}\n/* Jison generated parser */\nvar jsonlint = (function(){\nvar parser = {trace: function trace() { },\nyy: {},\nsymbols_: {\"error\":2,\"JSONString\":3,\"STRING\":4,\"JSONNumber\":5,\"NUMBER\":6,\"JSONNullLiteral\":7,\"NULL\":8,\"JSONBooleanLiteral\":9,\"TRUE\":10,\"FALSE\":11,\"JSONText\":12,\"JSONValue\":13,\"EOF\":14,\"JSONObject\":15,\"JSONArray\":16,\"{\":17,\"}\":18,\"JSONMemberList\":19,\"JSONMember\":20,\":\":21,\",\":22,\"[\":23,\"]\":24,\"JSONElementList\":25,\"$accept\":0,\"$end\":1},\nterminals_: {2:\"error\",4:\"STRING\",6:\"NUMBER\",8:\"NULL\",10:\"TRUE\",11:\"FALSE\",14:\"EOF\",17:\"{\",18:\"}\",21:\":\",22:\",\",23:\"[\",24:\"]\"},\nproductions_: [0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]],\nperformAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) {\n\nvar $0 = $$.length - 1;\nswitch (yystate) {\ncase 1: // replace escaped characters with actual character\n this.$ = yytext.replace(/\\\\(\\\\|\")/g, \"$\"+\"1\")\n .replace(/\\\\n/g,'\\n')\n .replace(/\\\\r/g,'\\r')\n .replace(/\\\\t/g,'\\t')\n .replace(/\\\\v/g,'\\v')\n .replace(/\\\\f/g,'\\f')\n .replace(/\\\\b/g,'\\b');\n\nbreak;\ncase 2:this.$ = Number(yytext);\nbreak;\ncase 3:this.$ = null;\nbreak;\ncase 4:this.$ = true;\nbreak;\ncase 5:this.$ = false;\nbreak;\ncase 6:return this.$ = $$[$0-1];\nbreak;\ncase 13:this.$ = {};\nbreak;\ncase 14:this.$ = $$[$0-1];\nbreak;\ncase 15:this.$ = [$$[$0-2], $$[$0]];\nbreak;\ncase 16:this.$ = {}; this.$[$$[$0][0]] = $$[$0][1];\nbreak;\ncase 17:this.$ = $$[$0-2]; $$[$0-2][$$[$0][0]] = $$[$0][1];\nbreak;\ncase 18:this.$ = [];\nbreak;\ncase 19:this.$ = $$[$0-1];\nbreak;\ncase 20:this.$ = [$$[$0]];\nbreak;\ncase 21:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]);\nbreak;\n}\n},\ntable: [{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}],\ndefaultActions: {16:[2,6]},\nparseError: function parseError(str, hash) {\n throw new Error(str);\n},\nparse: function parse(input) {\n var self = this,\n stack = [0],\n vstack = [null], // semantic value stack\n lstack = [], // location stack\n table = this.table,\n yytext = '',\n yylineno = 0,\n yyleng = 0,\n recovering = 0,\n TERROR = 2,\n EOF = 1;\n\n //this.reductionCount = this.shiftCount = 0;\n\n this.lexer.setInput(input);\n this.lexer.yy = this.yy;\n this.yy.lexer = this.lexer;\n if (typeof this.lexer.yylloc == 'undefined')\n this.lexer.yylloc = {};\n var yyloc = this.lexer.yylloc;\n lstack.push(yyloc);\n\n if (typeof this.yy.parseError === 'function')\n this.parseError = this.yy.parseError;\n\n function popStack (n) {\n stack.length = stack.length - 2*n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n\n function lex() {\n var token;\n token = self.lexer.lex() || 1; // $end = 1\n // if token isn't its numeric value, convert\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n return token;\n }\n\n var symbol, preErrorSymbol, state, action, a, r, yyval={},p,len,newState, expected;\n while (true) {\n // retreive state number from top of stack\n state = stack[stack.length-1];\n\n // use default actions if available\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol == null)\n symbol = lex();\n // read action for current state and first input\n action = table[state] && table[state][symbol];\n }\n\n // handle parse error\n _handle_error:\n if (typeof action === 'undefined' || !action.length || !action[0]) {\n\n if (!recovering) {\n // Report error\n expected = [];\n for (p in table[state]) if (this.terminals_[p] && p > 2) {\n expected.push(\"'\"+this.terminals_[p]+\"'\");\n }\n var errStr = '';\n if (this.lexer.showPosition) {\n errStr = 'Parse error on line '+(yylineno+1)+\":\\n\"+this.lexer.showPosition()+\"\\nExpecting \"+expected.join(', ') + \", got '\" + this.terminals_[symbol]+ \"'\";\n } else {\n errStr = 'Parse error on line '+(yylineno+1)+\": Unexpected \" +\n (symbol == 1 /*EOF*/ ? \"end of input\" :\n (\"'\"+(this.terminals_[symbol] || symbol)+\"'\"));\n }\n this.parseError(errStr,\n {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected});\n }\n\n // just recovered from another error\n if (recovering == 3) {\n if (symbol == EOF) {\n throw new Error(errStr || 'Parsing halted.');\n }\n\n // discard current lookahead and grab another\n yyleng = this.lexer.yyleng;\n yytext = this.lexer.yytext;\n yylineno = this.lexer.yylineno;\n yyloc = this.lexer.yylloc;\n symbol = lex();\n }\n\n // try to recover from error\n while (1) {\n // check for error recovery rule in this state\n if ((TERROR.toString()) in table[state]) {\n break;\n }\n if (state == 0) {\n throw new Error(errStr || 'Parsing halted.');\n }\n popStack(1);\n state = stack[stack.length-1];\n }\n\n preErrorSymbol = symbol; // save the lookahead token\n symbol = TERROR; // insert generic error symbol as new lookahead\n state = stack[stack.length-1];\n action = table[state] && table[state][TERROR];\n recovering = 3; // allow 3 real symbols to be shifted before reporting a new error\n }\n\n // this shouldn't happen, unless resolve defaults are off\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error('Parse Error: multiple actions possible at state: '+state+', token: '+symbol);\n }\n\n switch (action[0]) {\n\n case 1: // shift\n //this.shiftCount++;\n\n stack.push(symbol);\n vstack.push(this.lexer.yytext);\n lstack.push(this.lexer.yylloc);\n stack.push(action[1]); // push state\n symbol = null;\n if (!preErrorSymbol) { // normal execution/no error\n yyleng = this.lexer.yyleng;\n yytext = this.lexer.yytext;\n yylineno = this.lexer.yylineno;\n yyloc = this.lexer.yylloc;\n if (recovering > 0)\n recovering--;\n } else { // error just occurred, resume old lookahead f/ before error\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n\n case 2: // reduce\n //this.reductionCount++;\n\n len = this.productions_[action[1]][1];\n\n // perform semantic action\n yyval.$ = vstack[vstack.length-len]; // default to $$ = $1\n // default location, uses first token for firsts, last for lasts\n yyval._$ = {\n first_line: lstack[lstack.length-(len||1)].first_line,\n last_line: lstack[lstack.length-1].last_line,\n first_column: lstack[lstack.length-(len||1)].first_column,\n last_column: lstack[lstack.length-1].last_column\n };\n r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);\n\n if (typeof r !== 'undefined') {\n return r;\n }\n\n // pop off stack\n if (len) {\n stack = stack.slice(0,-1*len*2);\n vstack = vstack.slice(0, -1*len);\n lstack = lstack.slice(0, -1*len);\n }\n\n stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce)\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n // goto new state = table[STATE][NONTERMINAL]\n newState = table[stack[stack.length-2]][stack[stack.length-1]];\n stack.push(newState);\n break;\n\n case 3: // accept\n return true;\n }\n\n }\n\n return true;\n}};\n/* Jison generated lexer */\nvar lexer = (function(){\nvar lexer = ({EOF:1,\nparseError:function parseError(str, hash) {\n if (this.yy.parseError) {\n this.yy.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\nsetInput:function (input) {\n this._input = input;\n this._more = this._less = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0};\n return this;\n },\ninput:function () {\n var ch = this._input[0];\n this.yytext+=ch;\n this.yyleng++;\n this.match+=ch;\n this.matched+=ch;\n var lines = ch.match(/\\n/);\n if (lines) this.yylineno++;\n this._input = this._input.slice(1);\n return ch;\n },\nunput:function (ch) {\n this._input = ch + this._input;\n return this;\n },\nmore:function () {\n this._more = true;\n return this;\n },\nless:function (n) {\n this._input = this.match.slice(n) + this._input;\n },\npastInput:function () {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\\n/g, \"\");\n },\nupcomingInput:function () {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20-next.length);\n }\n return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\\n/g, \"\");\n },\nshowPosition:function () {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c+\"^\";\n },\nnext:function () {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) this.done = true;\n\n var token,\n match,\n tempMatch,\n index,\n col,\n lines;\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n var rules = this._currentRules();\n for (var i=0;i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (!this.options.flex) break;\n }\n }\n if (match) {\n lines = match[0].match(/\\n.*/g);\n if (lines) this.yylineno += lines.length;\n this.yylloc = {first_line: this.yylloc.last_line,\n last_line: this.yylineno+1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length-1].length-1 : this.yylloc.last_column + match[0].length}\n this.yytext += match[0];\n this.match += match[0];\n this.yyleng = this.yytext.length;\n this._more = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]);\n if (this.done && this._input) this.done = false;\n if (token) return token;\n else return;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\\n'+this.showPosition(),\n {text: \"\", token: null, line: this.yylineno});\n }\n },\nlex:function lex() {\n var r = this.next();\n if (typeof r !== 'undefined') {\n return r;\n } else {\n return this.lex();\n }\n },\nbegin:function begin(condition) {\n this.conditionStack.push(condition);\n },\npopState:function popState() {\n return this.conditionStack.pop();\n },\n_currentRules:function _currentRules() {\n return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;\n },\ntopState:function () {\n return this.conditionStack[this.conditionStack.length-2];\n },\npushState:function begin(condition) {\n this.begin(condition);\n }});\nlexer.options = {};\nlexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {\n\nvar YYSTATE=YY_START\nswitch($avoiding_name_collisions) {\ncase 0:/* skip whitespace */\nbreak;\ncase 1:return 6\nbreak;\ncase 2:yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2); return 4\nbreak;\ncase 3:return 17\nbreak;\ncase 4:return 18\nbreak;\ncase 5:return 23\nbreak;\ncase 6:return 24\nbreak;\ncase 7:return 22\nbreak;\ncase 8:return 21\nbreak;\ncase 9:return 10\nbreak;\ncase 10:return 11\nbreak;\ncase 11:return 8\nbreak;\ncase 12:return 14\nbreak;\ncase 13:return 'INVALID'\nbreak;\n}\n};\nlexer.rules = [/^(?:\\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\\.[0-9]+)?([eE][-+]?[0-9]+)?\\b)/,/^(?:\"(?:\\\\[\\\\\"bfnrt/]|\\\\u[a-fA-F0-9]{4}|[^\\\\\\0-\\x09\\x0a-\\x1f\"])*\")/,/^(?:\\{)/,/^(?:\\})/,/^(?:\\[)/,/^(?:\\])/,/^(?:,)/,/^(?::)/,/^(?:true\\b)/,/^(?:false\\b)/,/^(?:null\\b)/,/^(?:$)/,/^(?:.)/];\nlexer.conditions = {\"INITIAL\":{\"rules\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],\"inclusive\":true}};\n\n\n;\nreturn lexer;})()\nparser.lexer = lexer;\nreturn parser;\n})();\n\nvar origParse = jsonlint.parse;\n\njsonlint.parse = function(input) {\n var result = origParse.call(jsonlint, input);\n var dougJSONParse = typeof ___dougJSONParse === 'undefined' ? require('./doug-json-parse') : ___dougJSONParse;\n try {\n dougJSONParse(input);\n } catch(e) {\n if(/Duplicate key|Bad string|Unexpected/.test(e.message)) {\n var linesUntilError = input.substring(0, e.at).split('\\n');\n var line = linesUntilError.length;\n var col = linesUntilError[line - 1].length - 1;\n\n this.parseError(e.message, {line: line, col: col, message: e.message.replace(/./, function(l) { return l.toLowerCase(); })});\n throw SyntaxError(e.message + ' on line ' + line);\n }\n }\n\n return result;\n}\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined') {\nexports.parser = jsonlint;\nexports.parse = function () { return jsonlint.parse.apply(jsonlint, arguments); }\nexports.main = function commonjsMain(args) {\n if (!args[1])\n throw new Error('Usage: '+args[0]+' FILE');\n if (typeof process !== 'undefined') {\n var source = require('fs').readFileSync(require('path').join(process.cwd(), args[1]), \"utf8\");\n } else {\n var cwd = require(\"file\").path(require(\"file\").cwd());\n var source = cwd.join(args[1]).read({charset: \"utf-8\"});\n }\n return exports.parser.parse(source);\n}\nif (typeof module !== 'undefined' && require.main === module) {\n exports.main(typeof process !== 'undefined' ? process.argv.slice(1) : require(\"system\").args);\n}\n}\nreturn exports;})();if(typeof module === 'object' && module.exports) module.exports = jsonlint;\n"],"names":["render","_vm","this","_c","_self","directives","name","rawName","value","element","expression","attrs","isFullscreen","on","toggleFullscreen","staticClass","staticRenderFns","mixins","EventBusMixin","props","required","data","keyDownFn","oldZIndex","mounted","onkeyDown","bind","el","getElement","addEventListener","beforeDestroy","removeEventListener","computed","Utils","mapState","methods","mapMutations","e","key","preventDefault","stopPropagation","document","querySelector","classList","remove","style","zIndex","closeModal","add","openModal","hightestModalZIndex","$emit","broadcast","component","class","languageString","title","_v","_s","_e","editable","confirmClear","_t","canUndo","$event","editor","undo","canRedo","redo","id","window","jsonlint","components","FullscreenButton","String","type","Boolean","default","language","placeholder","mapGetters","toLowerCase","editorOptions","options","indentUnit","lineNumbers","indentWithTabs","matchBrackets","autoCloseBrackets","readOnly","mode","lineWrapping","gutters","lint","emitValue","watch","updateContent","clearHistory","setOption","CodeMirror","getElementById","setSize","updateState","cm","evt","Object","values","find","origin","commit","error","$el","confirmed","confirm","insert","emit","getValue","trim","history","getDoc","historySize","refresh","updateContext","replace","process","JSON","parse","size","pg","ProcessGraph","processes","allowEmpty","text","cmValue","scrollInfo","getScrollInfo","setValue","scrollTo","left","top","replaceSelection","isObject","stringify","insertProcess","node","exception","mod","clearPlaceholder","state","parentNode","removeChild","setPlaceholder","elt","createElement","cssText","direction","getOption","className","placeHolder","createTextNode","appendChild","display","lineSpace","insertBefore","firstChild","onComposition","setTimeout","empty","lineCount","input","getInputField","nodeName","getLine","length","test","textContent","onBlur","isEmpty","onChange","wrapper","getWrapperElement","defineOption","val","old","prev","Init","placeholderCompose","off","hasFocus","defaults","pairs","closeBefore","triples","explode","Pos","conf","removeKeyMap","keyMap","closeBrackets","ensureBound","addKeyMap","Backspace","handleBackspace","Enter","handleEnter","chars","i","ch","charAt","handler","handleChar","getConfig","deflt","override","getModeAt","getCursor","Pass","ranges","listSelections","around","charsAround","head","indexOf","cur","replaceRange","line","operation","linesep","lineSeparator","moveSel","indentLine","dir","newRanges","primary","range","pos","push","anchor","setSelections","contractSelection","sel","inverted","cmpPos","identical","opening","curType","next","getRange","getTokenTypeAt","isWordChar","stringStartsAfter","right","sels","getSelections","replaceSelections","slice","triggerElectric","str","token","getTokenAt","start","ie_lt8","navigator","userAgent","documentMode","matching","bracketRegex","config","findMatchingBracket","where","getLineHandle","afterCursor","re","match","strict","found","scanForBracket","from","to","forward","maxScanLen","maxScanLineLength","maxScanLines","stack","lineEnd","Math","min","lastLine","max","firstLine","lineNo","end","undefined","pop","autoclear","maxHighlightLen","maxHighlightLineLength","highlightNonMatching","marks","markText","focused","focus","clear","doMatchBrackets","currentlyHighlighted","clearHighlighted","defineExtension","oldConfig","registerHelper","console","parser","parseError","hash","loc","first_line","first_column","last_line","last_column","message","GUTTER_ID","LINT_LINE_ID","showTooltip","content","tt","position","clientY","offsetHeight","clientX","ownerDocument","defaultView","innerWidth","offsetWidth","theme","cloneNode","selfContain","body","opacity","rm","hideTooltip","showTooltipFor","tooltip","hide","poll","setInterval","n","nodeType","host","clearInterval","LintState","hasGutter","prop","marked","Function","getAnnotations","linterOptions","hasOwnProperty","timeout","onMouseOver","waitingFor","highlightLines","tooltips","delay","lintOnChange","async","formatAnnotation","onUpdateLinting","clearMarks","clearGutter","clearErrorLines","eachLine","has","wrapClass","exec","removeLineClass","makeMarker","labels","severity","multiple","marker","inner","getMaxSeverity","a","b","groupByLine","annotations","lines","ann","annotationTooltip","tip","messageHTML","innerHTML","lintAsync","abort","arg2","updateLinting","startLinting","getHelper","then","issues","annotationsNotSorted","anns","maxSeverity","tipLabel","createDocumentFragment","__annotation","setGutterMarker","addLineClass","clearTimeout","popupTooltips","target","srcElement","box","getBoundingClientRect","x","y","bottom","spans","findMarksAt","coordsChar","hasLintGutter","defineMode","parserConfig","statementIndent","jsonldMode","jsonld","jsonMode","json","trackScope","isTS","typescript","wordRE","wordCharacters","keywords","kw","A","B","C","D","operator","atom","isOperatorChar","isJsonldKeyword","readRegexp","stream","escaped","inSet","ret","tp","cont","tokenBase","tokenize","tokenString","eat","tokenComment","skipToEnd","expressionAllowed","current","tokenQuasi","peek","eatWhile","string","lexical","word","lastType","propertyIsEnumerable","quote","maybeEnd","brackets","findFatArrow","fatArrowAt","arrow","m","index","depth","sawSomething","bracket","atomicTypes","JSLexical","indented","column","align","info","inScope","varname","v","localVars","cx","context","vars","parseJS","cc","combinator","statement","lex","pass","arguments","apply","inList","list","register","block","newContext","registerVarScoped","Var","globalVars","Context","isModifier","defaultVars","pushcontext","pushblockcontext","popcontext","pushlex","result","indent","outer","poplex","expect","wanted","exp","vardef","parenExpr","maybeexpression","maybeelse","functiondef","forspec","enumdef","typename","typeexpr","pattern","maybelabel","maybeCatchBinding","afterExport","afterImport","funarg","expressionInner","expressionNoComma","noComma","arrowBodyNoComma","arrowBody","commasep","maybeop","maybeoperatorNoComma","maybeoperatorComma","classExpression","arrayLiteral","contCommasep","objprop","quasi","maybeTarget","me","expr","property","backUp","continueQuasi","targetNoComma","maybeTypeArgs","_","getterSetter","afterprop","maybetype","what","sep","proceed","maybetypeOrIn","mayberettype","isKW","afterType","typeprops","typearg","maybeReturnType","quasiType","typeprop","functiondecl","continueQuasiType","typeparam","maybeTypeDefault","maybeAssign","vardefCont","eltpattern","proppattern","_type","forspec1","forspec2","classNameAfter","classBody","classfield","isInterface","maybeFrom","exportField","importSpec","maybeMoreImports","maybeAs","enummember","isContinuedStatement","textAfter","startState","basecolumn","sol","indentation","eatSpace","firstChar","c","closing","doubleIndentSwitch","electricInput","blockCommentStart","blockCommentEnd","blockCommentContinue","lineComment","fold","helperType","skipExpression","StringStream","defineMIME","cmCfg","modeCfg","htmlMode","getMode","htmlModeMissing","findModeByName","mime","mimes","highlightFormatting","maxBlockquoteDepth","taskLists","strikethrough","emoji","fencedCodeBlockHighlighting","fencedCodeBlockDefaultMode","xml","tokenTypeOverrides","tokenTypes","header","code","list1","list2","list3","hr","image","imageAltText","imageMarker","formatting","linkInline","linkEmail","linkText","linkHref","em","strong","tokenType","hrRE","listRE","taskListRE","atxHeaderRE","allowAtxHeaderWithoutSpace","setextHeaderRE","textRE","fencedCodeRE","linkDefRE","punctuation","expandedTab","switchInline","f","inline","switchBlock","lineIsEmpty","blankLine","linkTitle","indentedCode","htmlBlock","exit","innerMode","htmlState","tagStart","isInText","inlineNormal","blockNormal","trailingSpace","trailingSpaceNewLine","prevLine","thisLine","firstTokenOnLine","prevLineLineIsEmpty","prevLineIsIndentedCode","prevLineIsHr","prevLineIsList","maxNonCodeIndentation","listStack","lineIndentation","indentationDiff","allowsInlineContinuation","fencedCodeEnd","isHr","getType","setext","listType","taskList","fencedEndRE","RegExp","localMode","localState","local","lookAhead","footnoteLink","md_inside","returnType","currListInd","hasExitedList","maxFencedEndInd","styles","taskOpen","join","taskClosed","listMod","handleText","matchCh","regex","previousFormatting","count","t","formattingEscape","atts","substring","len","before","after","leftFlanking","rightFlanking","setEm","setStrong","retType","getLinkHrefInside","linkRE","endChar","returnState","footnoteLinkInside","footnoteUrl","copyState","s","_config","_parserConfig","Identifier","pBase","pFloat","pFloatBase","pPrecision","reBaseForm","reFloatForm","reIdInContext","commentLevel","modeInfo","ext","file","alias","findModeByMIME","j","findModeByExtension","findModeByFileName","filename","dot","lastIndexOf","wordRegexp","words","wordOperators","commonKeywords","commonBuiltins","scopes","concat","parserConf","ERRORCLASS","delimiters","singleDelimiters","operators","singleOperators","doubleOperators","doubleDelimiters","tripleDelimiters","splice","hangingIndent","myKeywords","myBuiltins","extra_keywords","extra_builtins","py3","version","Number","identifiers","stringPrefixes","builtins","lastToken","scopeOffset","offset","lineOffset","pushPyScope","dedent","errorToken","tokenBaseInner","inFormat","floatLiteral","intLiteral","isFmtString","formatStringFactory","tokenStringFactory","delimiter","tokenOuter","substr","singleline","OUTCLASS","tokenNestedExpr","eol","singleLineStringErrors","isString","pushBracketScope","tokenLexer","beginningOfLine","lambda","delimiter_index","external","addErr","scope","split","wordObj","res","commonAtoms","commonBlockKeywords","curPunc","atoms","blockkeywords","opChars","skipTo","ctx","argList","ALIGN_YES","ALIGN_NO","BRACELESS","flags","setFlag","flag","afterIdent","htmlConfig","autoSelfClosers","implicitlyClosed","contextGrabbers","doNotIndent","allowUnquoted","allowMissing","caseFold","xmlConfig","allowMissingTagName","editorConf","config_","setStyle","inText","chain","ok","inBlock","doctype","inTag","baseState","tagName","inAttribute","stringStartCol","closure","isInAttribute","terminator","lower","startOfLine","noIndent","popContext","maybePopContext","nextTagName","parentTagName","tagNameState","closeTagNameState","attrState","matchClosing","closeState","closeStateErr","_stream","attrEqState","attrValueState","attrContinuedState","baseIndent","fullLine","multilineTagIndentPastTag","multilineTagIndentFactor","alignCDATA","tagAfter","grabbers","configuration","skipAttribute","xmlCurrentTag","close","xmlCurrentContext","reverse","mimeModes","require","module","exports","___dougJSONParse","at","escapee","r","number","isFinite","hex","uffff","parseInt","fromCharCode","white","array","arr","object","obj","call","source","reviver","walk","holder","k","prototype","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","$","table","defaultActions","Error","self","vstack","lstack","recovering","TERROR","EOF","lexer","setInput","yylloc","yyloc","popStack","symbol","preErrorSymbol","action","p","newState","expected","yyval","errStr","showPosition","toString","Array","_input","_more","_less","done","matched","conditionStack","unput","more","less","pastInput","past","upcomingInput","pre","tempMatch","rules","_currentRules","flex","begin","condition","popState","conditions","topState","pushState","yy_","$avoiding_name_collisions","YY_START","origParse","dougJSONParse","linesUntilError","col","l","SyntaxError","main","args","readFileSync","cwd","path","read","charset","argv"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/7497.52e15be2.js","mappings":"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E,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,MACtwCC,eAAgB,CAAC,GAAG,CAAC,EAAE,IACvBhnB,WAAY,SAAoBtD,EAAKuD,GACjC,MAAM,IAAIgnB,MAAMvqB,EACpB,EACAnI,MAAO,SAAe2C,GAClB,IAAIgwB,EAAOv6B,KACPyR,EAAQ,CAAC,GACT+oB,EAAS,CAAC,MACVC,EAAS,GACTL,EAAQp6B,KAAKo6B,MACbR,EAAS,GACTE,EAAW,EACXD,EAAS,EACTa,EAAa,EACbC,EAAS,EACTC,EAAM,EAIV56B,KAAK66B,MAAMC,SAASvwB,GACpBvK,KAAK66B,MAAMtB,GAAKv5B,KAAKu5B,GACrBv5B,KAAKu5B,GAAGsB,MAAQ76B,KAAK66B,MACW,oBAArB76B,KAAK66B,MAAME,SAClB/6B,KAAK66B,MAAME,OAAS,CAAC,GACzB,IAAIC,EAAQh7B,KAAK66B,MAAME,OAMvB,SAASE,EAAU3lB,GACf7D,EAAM9G,OAAS8G,EAAM9G,OAAS,EAAE2K,EAChCklB,EAAO7vB,OAAS6vB,EAAO7vB,OAAS2K,EAChCmlB,EAAO9vB,OAAS8vB,EAAO9vB,OAAS2K,CACpC,CAEA,SAASqJ,IACL,IAAI3O,EAMJ,OALAA,EAAQuqB,EAAKM,MAAMlc,OAAS,EAEP,kBAAV3O,IACPA,EAAQuqB,EAAKf,SAASxpB,IAAUA,GAE7BA,CACX,CAnBAyqB,EAAO/rB,KAAKssB,GAEsB,oBAAvBh7B,KAAKu5B,GAAGlmB,aACfrT,KAAKqT,WAAarT,KAAKu5B,GAAGlmB,YAkB9B,IAAI6nB,EAAQC,EAAgBjyB,EAAOkyB,EAAWjD,EAAYkD,EAAErO,EAAIsO,EAAUC,EAAzBC,EAAM,CAAC,EACxD,MAAO,EAAM,CAgBT,GAdAtyB,EAAQuI,EAAMA,EAAM9G,OAAO,GAGvB3K,KAAKq6B,eAAenxB,GACpBkyB,EAASp7B,KAAKq6B,eAAenxB,IAEf,MAAVgyB,IACAA,EAASvc,KAEbyc,EAAShB,EAAMlxB,IAAUkxB,EAAMlxB,GAAOgyB,IAKpB,qBAAXE,IAA2BA,EAAOzwB,SAAWywB,EAAO,GAAI,CAE/D,IAAKV,EAAY,CAGb,IAAKW,KADLE,EAAW,GACDnB,EAAMlxB,GAAYlJ,KAAKy5B,WAAW4B,IAAMA,EAAI,GAClDE,EAAS7sB,KAAK,IAAI1O,KAAKy5B,WAAW4B,GAAG,KAEzC,IAAII,EAAS,GAETA,EADAz7B,KAAK66B,MAAMa,aACF,wBAAwB5B,EAAS,GAAG,MAAM95B,KAAK66B,MAAMa,eAAe,eAAeH,EAASnP,KAAK,MAAQ,UAAYpsB,KAAKy5B,WAAWyB,GAAS,IAE9I,wBAAwBpB,EAAS,GAAG,iBACpB,GAAVoB,EAAsB,eACV,KAAKl7B,KAAKy5B,WAAWyB,IAAWA,GAAQ,KAEvEl7B,KAAKqT,WAAWooB,EACZ,CAACvzB,KAAMlI,KAAK66B,MAAM9pB,MAAOf,MAAOhQ,KAAKy5B,WAAWyB,IAAWA,EAAQntB,KAAM/N,KAAK66B,MAAMf,SAAUvmB,IAAKynB,EAAOO,SAAUA,GAC5H,CAGA,GAAkB,GAAdb,EAAiB,CACjB,GAAIQ,GAAUN,EACV,MAAM,IAAIN,MAAMmB,GAAU,mBAI9B5B,EAAS75B,KAAK66B,MAAMhB,OACpBD,EAAS55B,KAAK66B,MAAMjB,OACpBE,EAAW95B,KAAK66B,MAAMf,SACtBkB,EAAQh7B,KAAK66B,MAAME,OACnBG,EAASvc,GACb,CAGA,MAAO,EAAG,CAEN,GAAKgc,EAAOgB,aAAevB,EAAMlxB,GAC7B,MAEJ,GAAa,GAATA,EACA,MAAM,IAAIoxB,MAAMmB,GAAU,mBAE9BR,EAAS,GACT/xB,EAAQuI,EAAMA,EAAM9G,OAAO,EAC/B,CAEAwwB,EAAiBD,EACjBA,EAASP,EACTzxB,EAAQuI,EAAMA,EAAM9G,OAAO,GAC3BywB,EAAShB,EAAMlxB,IAAUkxB,EAAMlxB,GAAOyxB,GACtCD,EAAa,CACjB,CAGA,GAAIU,EAAO,aAAcQ,OAASR,EAAOzwB,OAAS,EAC9C,MAAM,IAAI2vB,MAAM,oDAAoDpxB,EAAM,YAAYgyB,GAG1F,OAAQE,EAAO,IAEX,KAAK,EAGD3pB,EAAM/C,KAAKwsB,GACXV,EAAO9rB,KAAK1O,KAAK66B,MAAMjB,QACvBa,EAAO/rB,KAAK1O,KAAK66B,MAAME,QACvBtpB,EAAM/C,KAAK0sB,EAAO,IAClBF,EAAS,KACJC,GAQDD,EAASC,EACTA,EAAiB,OARjBtB,EAAS75B,KAAK66B,MAAMhB,OACpBD,EAAS55B,KAAK66B,MAAMjB,OACpBE,EAAW95B,KAAK66B,MAAMf,SACtBkB,EAAQh7B,KAAK66B,MAAME,OACfL,EAAa,GACbA,KAKR,MAEJ,KAAK,EAgBD,GAbA1N,EAAMhtB,KAAK05B,aAAa0B,EAAO,IAAI,GAGnCI,EAAMrB,EAAIK,EAAOA,EAAO7vB,OAAOqiB,GAE/BwO,EAAMvB,GAAK,CACPzmB,WAAYinB,EAAOA,EAAO9vB,QAAQqiB,GAAK,IAAIxZ,WAC3CE,UAAW+mB,EAAOA,EAAO9vB,OAAO,GAAG+I,UACnCD,aAAcgnB,EAAOA,EAAO9vB,QAAQqiB,GAAK,IAAIvZ,aAC7CE,YAAa8mB,EAAOA,EAAO9vB,OAAO,GAAGgJ,aAEzCwkB,EAAIn4B,KAAK25B,cAAcZ,KAAKyC,EAAO5B,EAAQC,EAAQC,EAAU95B,KAAKu5B,GAAI6B,EAAO,GAAIZ,EAAQC,GAExE,qBAANtC,EACP,OAAOA,EAIPnL,IACAvb,EAAQA,EAAM5B,MAAM,GAAG,EAAEmd,EAAI,GAC7BwN,EAASA,EAAO3qB,MAAM,GAAI,EAAEmd,GAC5ByN,EAASA,EAAO5qB,MAAM,GAAI,EAAEmd,IAGhCvb,EAAM/C,KAAK1O,KAAK05B,aAAa0B,EAAO,IAAI,IACxCZ,EAAO9rB,KAAK8sB,EAAMrB,GAClBM,EAAO/rB,KAAK8sB,EAAMvB,IAElBqB,EAAWlB,EAAM3oB,EAAMA,EAAM9G,OAAO,IAAI8G,EAAMA,EAAM9G,OAAO,IAC3D8G,EAAM/C,KAAK4sB,GACX,MAEJ,KAAK,EACD,OAAO,EAGnB,CAEA,OAAO,CACX,GAEIT,EAAQ,WACZ,IAAIA,EAAQ,CAAED,IAAI,EAClBvnB,WAAW,SAAoBtD,EAAKuD,GAC5B,IAAItT,KAAKu5B,GAAGlmB,WAGR,MAAM,IAAIinB,MAAMvqB,GAFhB/P,KAAKu5B,GAAGlmB,WAAWtD,EAAKuD,EAIhC,EACJwnB,SAAS,SAAUvwB,GAOX,OANAvK,KAAK67B,OAAStxB,EACdvK,KAAK87B,MAAQ97B,KAAK+7B,MAAQ/7B,KAAKg8B,MAAO,EACtCh8B,KAAK85B,SAAW95B,KAAK65B,OAAS,EAC9B75B,KAAK45B,OAAS55B,KAAKi8B,QAAUj8B,KAAK+Q,MAAQ,GAC1C/Q,KAAKk8B,eAAiB,CAAC,WACvBl8B,KAAK+6B,OAAS,CAACvnB,WAAW,EAAEC,aAAa,EAAEC,UAAU,EAAEC,YAAY,GAC5D3T,IACX,EACJuK,MAAM,WACE,IAAIsC,EAAK7M,KAAK67B,OAAO,GACrB77B,KAAK45B,QAAQ/sB,EACb7M,KAAK65B,SACL75B,KAAK+Q,OAAOlE,EACZ7M,KAAKi8B,SAASpvB,EACd,IAAIkL,EAAQlL,EAAGkE,MAAM,MAGrB,OAFIgH,GAAO/X,KAAK85B,WAChB95B,KAAK67B,OAAS77B,KAAK67B,OAAOhsB,MAAM,GACzBhD,CACX,EACJsvB,MAAM,SAAUtvB,GAER,OADA7M,KAAK67B,OAAShvB,EAAK7M,KAAK67B,OACjB77B,IACX,EACJo8B,KAAK,WAEG,OADAp8B,KAAK87B,OAAQ,EACN97B,IACX,EACJq8B,KAAK,SAAU/mB,GACPtV,KAAK67B,OAAS77B,KAAK+Q,MAAMlB,MAAMyF,GAAKtV,KAAK67B,MAC7C,EACJS,UAAU,WACF,IAAIC,EAAOv8B,KAAKi8B,QAAQ/J,OAAO,EAAGlyB,KAAKi8B,QAAQtxB,OAAS3K,KAAK+Q,MAAMpG,QACnE,OAAQ4xB,EAAK5xB,OAAS,GAAK,MAAM,IAAM4xB,EAAKrK,QAAQ,IAAIzqB,QAAQ,MAAO,GAC3E,EACJ+0B,cAAc,WACN,IAAIptB,EAAOpP,KAAK+Q,MAIhB,OAHI3B,EAAKzE,OAAS,KACdyE,GAAQpP,KAAK67B,OAAO3J,OAAO,EAAG,GAAG9iB,EAAKzE,UAElCyE,EAAK8iB,OAAO,EAAE,KAAK9iB,EAAKzE,OAAS,GAAK,MAAM,KAAKlD,QAAQ,MAAO,GAC5E,EACJi0B,aAAa,WACL,IAAIe,EAAMz8B,KAAKs8B,YACX/W,EAAI,IAAIqW,MAAMa,EAAI9xB,OAAS,GAAGyhB,KAAK,KACvC,OAAOqQ,EAAMz8B,KAAKw8B,gBAAkB,KAAOjX,EAAE,GACjD,EACJnW,KAAK,WACG,GAAIpP,KAAKg8B,KACL,OAAOh8B,KAAK46B,IAIhB,IAAI5qB,EACAe,EACA2rB,EACApf,EAEAvF,EAPC/X,KAAK67B,SAAQ77B,KAAKg8B,MAAO,GAQzBh8B,KAAK87B,QACN97B,KAAK45B,OAAS,GACd55B,KAAK+Q,MAAQ,IAGjB,IADA,IAAI4rB,EAAQ38B,KAAK48B,gBACRhwB,EAAE,EAAEA,EAAI+vB,EAAMhyB,OAAQiC,IAE3B,GADA8vB,EAAY18B,KAAK67B,OAAO9qB,MAAM/Q,KAAK28B,MAAMA,EAAM/vB,KAC3C8vB,KAAe3rB,GAAS2rB,EAAU,GAAG/xB,OAASoG,EAAM,GAAGpG,UACvDoG,EAAQ2rB,EACRpf,EAAQ1Q,GACH5M,KAAKiF,QAAQ43B,MAAM,MAGhC,OAAI9rB,GACAgH,EAAQhH,EAAM,GAAGA,MAAM,SACnBgH,IAAO/X,KAAK85B,UAAY/hB,EAAMpN,QAClC3K,KAAK+6B,OAAS,CAACvnB,WAAYxT,KAAK+6B,OAAOrnB,UACxBA,UAAW1T,KAAK85B,SAAS,EACzBrmB,aAAczT,KAAK+6B,OAAOpnB,YAC1BA,YAAaoE,EAAQA,EAAMA,EAAMpN,OAAO,GAAGA,OAAO,EAAI3K,KAAK+6B,OAAOpnB,YAAc5C,EAAM,GAAGpG,QACxG3K,KAAK45B,QAAU7oB,EAAM,GACrB/Q,KAAK+Q,OAASA,EAAM,GACpB/Q,KAAK65B,OAAS75B,KAAK45B,OAAOjvB,OAC1B3K,KAAK87B,OAAQ,EACb97B,KAAK67B,OAAS77B,KAAK67B,OAAOhsB,MAAMkB,EAAM,GAAGpG,QACzC3K,KAAKi8B,SAAWlrB,EAAM,GACtBf,EAAQhQ,KAAK25B,cAAcZ,KAAK/4B,KAAMA,KAAKu5B,GAAIv5B,KAAM28B,EAAMrf,GAAOtd,KAAKk8B,eAAel8B,KAAKk8B,eAAevxB,OAAO,IAC7G3K,KAAKg8B,MAAQh8B,KAAK67B,SAAQ77B,KAAKg8B,MAAO,GACtChsB,QACC,GAEW,KAAhBhQ,KAAK67B,OACE77B,KAAK46B,SAEZ56B,KAAKqT,WAAW,0BAA0BrT,KAAK85B,SAAS,GAAG,yBAAyB95B,KAAK07B,eACjF,CAACxzB,KAAM,GAAI8H,MAAO,KAAMjC,KAAM/N,KAAK85B,UAEnD,EACJnb,IAAI,WACI,IAAIwZ,EAAIn4B,KAAKoP,OACb,MAAiB,qBAAN+oB,EACAA,EAEAn4B,KAAK2e,KAEpB,EACJme,MAAM,SAAeC,GACb/8B,KAAKk8B,eAAextB,KAAKquB,EAC7B,EACJC,SAAS,WACD,OAAOh9B,KAAKk8B,eAAe/pB,KAC/B,EACJyqB,cAAc,WACN,OAAO58B,KAAKi9B,WAAWj9B,KAAKk8B,eAAel8B,KAAKk8B,eAAevxB,OAAO,IAAIgyB,KAC9E,EACJO,SAAS,WACD,OAAOl9B,KAAKk8B,eAAel8B,KAAKk8B,eAAevxB,OAAO,EAC1D,EACJwyB,UAAU,SAAeJ,GACjB/8B,KAAK88B,MAAMC,EACf,EACJlC,QAAgB,CAAC,EACjBA,cAAsB,SAAmBtB,EAAG6D,EAAIC,EAA0BC,GAG1E,OAAOD,GACP,KAAK,EACL,MACA,KAAK,EAAE,OAAO,EAEd,KAAK,EAAkD,OAAhDD,EAAIxD,OAASwD,EAAIxD,OAAO1H,OAAO,EAAEkL,EAAIvD,OAAO,GAAW,EAE9D,KAAK,EAAE,OAAO,GAEd,KAAK,EAAE,OAAO,GAEd,KAAK,EAAE,OAAO,GAEd,KAAK,EAAE,OAAO,GAEd,KAAK,EAAE,OAAO,GAEd,KAAK,EAAE,OAAO,GAEd,KAAK,EAAE,OAAO,GAEd,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,EAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,MAAO,UAGf,EACAgB,MAAc,CAAC,WAAW,8DAA8D,qEAAqE,UAAU,UAAU,UAAU,UAAU,SAAS,SAAS,cAAc,eAAe,cAAc,SAAS,UAC3QA,WAAmB,CAAC,QAAU,CAAC,MAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,WAAY,KAIrF,OAAOA,CAAO,CAzKF,GA2KZ,OADAznB,EAAOynB,MAAQA,EACRznB,CACN,CA5Zc,GA8ZXmqB,EAAYl5B,EAASuD,MAuCzB,OArCAvD,EAASuD,MAAQ,SAAS2C,GACtB,IAAIuV,EAASyd,EAAUxE,KAAK10B,EAAUkG,GAClCizB,EAA4C,qBAArBxF,EAAmCH,EAAQ,qBAAuBG,EAC7F,IACIwF,EAAcjzB,EAClB,CAAE,MAAMpI,GACJ,GAAG,sCAAsCyI,KAAKzI,EAAEyR,SAAU,CACtD,IAAI6pB,EAAkBlzB,EAAMwiB,UAAU,EAAG5qB,EAAE81B,IAAIhF,MAAM,MACjDllB,EAAO0vB,EAAgB9yB,OACvB+yB,EAAMD,EAAgB1vB,EAAO,GAAGpD,OAAS,EAG7C,MADA3K,KAAKqT,WAAWlR,EAAEyR,QAAS,CAAC7F,KAAMA,EAAM2vB,IAAKA,EAAK9pB,QAASzR,EAAEyR,QAAQnM,QAAQ,KAAK,SAASk2B,GAAK,OAAOA,EAAE54B,aAAe,MAClH64B,YAAYz7B,EAAEyR,QAAU,YAAc7F,EAChD,CACJ,CAEA,OAAO+R,CACX,EAEuB,qBAAZ+X,GAA8C,qBAAZE,IAC7CA,EAAQ3kB,OAAS/O,EACjB0zB,EAAQnwB,MAAQ,WAAc,OAAOvD,EAASuD,MAAMkX,MAAMza,EAAUwa,UAAY,EAChFkZ,EAAQ8F,KAAO,SAAsBC,GACjC,IAAKA,EAAK,GACN,MAAM,IAAIxD,MAAM,UAAUwD,EAAK,GAAG,SACtC,GAAuB,qBAAZp2B,QACP,IAAIsxB,EAASnB,EAAQ,MAAMkG,aAAalG,EAAQ,QAAQzL,KAAK1kB,QAAQs2B,MAAOF,EAAK,IAAK,YAEtF,KAAIE,EAAMnG,EAAQ,QAAQoG,KAAKpG,EAAQ,QAAQmG,OAC3ChF,EAASgF,EAAI5R,KAAK0R,EAAK,IAAII,KAAK,CAACC,QAAS,SADO,CAGzD,OAAOpG,EAAQ3kB,OAAOxL,MAAMoxB,EAChC,EACsB,qBAAXlB,GAA0BD,EAAQgG,OAAS/F,GACpDC,EAAQ8F,KAAwB,qBAAZn2B,QAA0BA,QAAQ02B,KAAKvuB,MAAM,GAAKgoB,EAAQ,UAAUiG,OAGnF/F,CAAS,CA9yBD,GA8yBsCD,EAAOC,UAASD,EAAOC,QAAU1zB,E","sources":["webpack://@openeo/web-editor/./src/components/FullscreenButton.vue","webpack://@openeo/web-editor/src/components/FullscreenButton.vue","webpack://@openeo/web-editor/./src/components/FullscreenButton.vue?a153","webpack://@openeo/web-editor/./src/components/FullscreenButton.vue?6218","webpack://@openeo/web-editor/./src/components/TextEditor.vue","webpack://@openeo/web-editor/src/components/TextEditor.vue","webpack://@openeo/web-editor/./src/components/TextEditor.vue?4658","webpack://@openeo/web-editor/./src/components/TextEditor.vue?0213","webpack://@openeo/web-editor/./node_modules/codemirror/addon/display/placeholder.js","webpack://@openeo/web-editor/./node_modules/codemirror/addon/edit/closebrackets.js","webpack://@openeo/web-editor/./node_modules/codemirror/addon/edit/matchbrackets.js","webpack://@openeo/web-editor/./node_modules/codemirror/addon/lint/json-lint.js","webpack://@openeo/web-editor/./node_modules/codemirror/addon/lint/lint.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/javascript/javascript.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/markdown/markdown.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/mathematica/mathematica.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/meta.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/python/python.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/r/r.js","webpack://@openeo/web-editor/./node_modules/codemirror/mode/xml/xml.js","webpack://@openeo/web-editor/./node_modules/jsonlint-mod/web/jsonlint.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.element),expression:\"element\"}],attrs:{\"type\":\"button\",\"title\":_vm.isFullscreen ? 'Close fullscreen' : 'Show fullscreen'},on:{\"click\":_vm.toggleFullscreen}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isFullscreen),expression:\"isFullscreen\"}]},[_c('i',{staticClass:\"fas fa-compress\"})]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isFullscreen),expression:\"!isFullscreen\"}]},[_c('i',{staticClass:\"fas fa-expand\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FullscreenButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FullscreenButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FullscreenButton.vue?vue&type=template&id=efe3062c\"\nimport script from \"./FullscreenButton.vue?vue&type=script&lang=js\"\nexport * from \"./FullscreenButton.vue?vue&type=script&lang=js\"\nimport style0 from \"./FullscreenButton.vue?vue&type=style&index=0&id=efe3062c&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"textEditor\",class:_vm.languageString},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[_c('span',{staticClass:\"sepr\"},[(_vm.editable)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]):_vm._e(),_vm._t(\"file-toolbar\")],2),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.editor.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.editor.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_vm._t(\"edit-toolbar\")],2):_vm._e(),_c('FullscreenButton',{attrs:{\"element\":_vm.element}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"sourceCodeEditor\",attrs:{\"id\":_vm.id}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextEditor.vue?vue&type=template&id=0ca6b553&scoped=true\"\nimport script from \"./TextEditor.vue?vue&type=script&lang=js\"\nexport * from \"./TextEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextEditor.vue?vue&type=style&index=0&id=0ca6b553&prod&scoped=true&lang=css\"\nimport style1 from \"./TextEditor.vue?vue&type=style&index=1&id=0ca6b553&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ca6b553\",\n null\n \n)\n\nexport default component.exports","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n CodeMirror.defineOption(\"placeholder\", \"\", function(cm, val, old) {\n var prev = old && old != CodeMirror.Init;\n if (val && !prev) {\n cm.on(\"blur\", onBlur);\n cm.on(\"change\", onChange);\n cm.on(\"swapDoc\", onChange);\n CodeMirror.on(cm.getInputField(), \"compositionupdate\", cm.state.placeholderCompose = function() { onComposition(cm) })\n onChange(cm);\n } else if (!val && prev) {\n cm.off(\"blur\", onBlur);\n cm.off(\"change\", onChange);\n cm.off(\"swapDoc\", onChange);\n CodeMirror.off(cm.getInputField(), \"compositionupdate\", cm.state.placeholderCompose)\n clearPlaceholder(cm);\n var wrapper = cm.getWrapperElement();\n wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\");\n }\n\n if (val && !cm.hasFocus()) onBlur(cm);\n });\n\n function clearPlaceholder(cm) {\n if (cm.state.placeholder) {\n cm.state.placeholder.parentNode.removeChild(cm.state.placeholder);\n cm.state.placeholder = null;\n }\n }\n function setPlaceholder(cm) {\n clearPlaceholder(cm);\n var elt = cm.state.placeholder = document.createElement(\"pre\");\n elt.style.cssText = \"height: 0; overflow: visible\";\n elt.style.direction = cm.getOption(\"direction\");\n elt.className = \"CodeMirror-placeholder CodeMirror-line-like\";\n var placeHolder = cm.getOption(\"placeholder\")\n if (typeof placeHolder == \"string\") placeHolder = document.createTextNode(placeHolder)\n elt.appendChild(placeHolder)\n cm.display.lineSpace.insertBefore(elt, cm.display.lineSpace.firstChild);\n }\n\n function onComposition(cm) {\n setTimeout(function() {\n var empty = false\n if (cm.lineCount() == 1) {\n var input = cm.getInputField()\n empty = input.nodeName == \"TEXTAREA\" ? !cm.getLine(0).length\n : !/[^\\u200b]/.test(input.querySelector(\".CodeMirror-line\").textContent)\n }\n if (empty) setPlaceholder(cm)\n else clearPlaceholder(cm)\n }, 20)\n }\n\n function onBlur(cm) {\n if (isEmpty(cm)) setPlaceholder(cm);\n }\n function onChange(cm) {\n var wrapper = cm.getWrapperElement(), empty = isEmpty(cm);\n wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\") + (empty ? \" CodeMirror-empty\" : \"\");\n\n if (empty) setPlaceholder(cm);\n else clearPlaceholder(cm);\n }\n\n function isEmpty(cm) {\n return (cm.lineCount() === 1) && (cm.getLine(0) === \"\");\n }\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var defaults = {\n pairs: \"()[]{}''\\\"\\\"\",\n closeBefore: \")]}'\\\":;>\",\n triples: \"\",\n explode: \"[]{}\"\n };\n\n var Pos = CodeMirror.Pos;\n\n CodeMirror.defineOption(\"autoCloseBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.removeKeyMap(keyMap);\n cm.state.closeBrackets = null;\n }\n if (val) {\n ensureBound(getOption(val, \"pairs\"))\n cm.state.closeBrackets = val;\n cm.addKeyMap(keyMap);\n }\n });\n\n function getOption(conf, name) {\n if (name == \"pairs\" && typeof conf == \"string\") return conf;\n if (typeof conf == \"object\" && conf[name] != null) return conf[name];\n return defaults[name];\n }\n\n var keyMap = {Backspace: handleBackspace, Enter: handleEnter};\n function ensureBound(chars) {\n for (var i = 0; i < chars.length; i++) {\n var ch = chars.charAt(i), key = \"'\" + ch + \"'\"\n if (!keyMap[key]) keyMap[key] = handler(ch)\n }\n }\n ensureBound(defaults.pairs + \"`\")\n\n function handler(ch) {\n return function(cm) { return handleChar(cm, ch); };\n }\n\n function getConfig(cm) {\n var deflt = cm.state.closeBrackets;\n if (!deflt || deflt.override) return deflt;\n var mode = cm.getModeAt(cm.getCursor());\n return mode.closeBrackets || deflt;\n }\n\n function handleBackspace(cm) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n for (var i = ranges.length - 1; i >= 0; i--) {\n var cur = ranges[i].head;\n cm.replaceRange(\"\", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), \"+delete\");\n }\n }\n\n function handleEnter(cm) {\n var conf = getConfig(cm);\n var explode = conf && getOption(conf, \"explode\");\n if (!explode || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n cm.operation(function() {\n var linesep = cm.lineSeparator() || \"\\n\";\n cm.replaceSelection(linesep + linesep, null);\n moveSel(cm, -1)\n ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var line = ranges[i].head.line;\n cm.indentLine(line, null, true);\n cm.indentLine(line + 1, null, true);\n }\n });\n }\n\n function moveSel(cm, dir) {\n var newRanges = [], ranges = cm.listSelections(), primary = 0\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i]\n if (range.head == cm.getCursor()) primary = i\n var pos = range.head.ch || dir > 0 ? {line: range.head.line, ch: range.head.ch + dir} : {line: range.head.line - 1}\n newRanges.push({anchor: pos, head: pos})\n }\n cm.setSelections(newRanges, primary)\n }\n\n function contractSelection(sel) {\n var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\n return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\n head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};\n }\n\n function handleChar(cm, ch) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var pos = pairs.indexOf(ch);\n if (pos == -1) return CodeMirror.Pass;\n\n var closeBefore = getOption(conf,\"closeBefore\");\n\n var triples = getOption(conf, \"triples\");\n\n var identical = pairs.charAt(pos + 1) == ch;\n var ranges = cm.listSelections();\n var opening = pos % 2 == 0;\n\n var type;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], cur = range.head, curType;\n var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\n if (opening && !range.empty()) {\n curType = \"surround\";\n } else if ((identical || !opening) && next == ch) {\n if (identical && stringStartsAfter(cm, cur))\n curType = \"both\";\n else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)\n curType = \"skipThree\";\n else\n curType = \"skip\";\n } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&\n cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {\n if (cur.ch > 2 && /\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;\n curType = \"addFour\";\n } else if (identical) {\n var prev = cur.ch == 0 ? \" \" : cm.getRange(Pos(cur.line, cur.ch - 1), cur)\n if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = \"both\";\n else return CodeMirror.Pass;\n } else if (opening && (next.length === 0 || /\\s/.test(next) || closeBefore.indexOf(next) > -1)) {\n curType = \"both\";\n } else {\n return CodeMirror.Pass;\n }\n if (!type) type = curType;\n else if (type != curType) return CodeMirror.Pass;\n }\n\n var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\n var right = pos % 2 ? ch : pairs.charAt(pos + 1);\n cm.operation(function() {\n if (type == \"skip\") {\n moveSel(cm, 1)\n } else if (type == \"skipThree\") {\n moveSel(cm, 3)\n } else if (type == \"surround\") {\n var sels = cm.getSelections();\n for (var i = 0; i < sels.length; i++)\n sels[i] = left + sels[i] + right;\n cm.replaceSelections(sels, \"around\");\n sels = cm.listSelections().slice();\n for (var i = 0; i < sels.length; i++)\n sels[i] = contractSelection(sels[i]);\n cm.setSelections(sels);\n } else if (type == \"both\") {\n cm.replaceSelection(left + right, null);\n cm.triggerElectric(left + right);\n moveSel(cm, -1)\n } else if (type == \"addFour\") {\n cm.replaceSelection(left + left + left + left, \"before\");\n moveSel(cm, 1)\n }\n });\n }\n\n function charsAround(cm, pos) {\n var str = cm.getRange(Pos(pos.line, pos.ch - 1),\n Pos(pos.line, pos.ch + 1));\n return str.length == 2 ? str : null;\n }\n\n function stringStartsAfter(cm, pos) {\n var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))\n return /\\bstring/.test(token.type) && token.start == pos.ch &&\n (pos.ch == 0 || !/\\bstring/.test(cm.getTokenTypeAt(pos)))\n }\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\", \"<\": \">>\", \">\": \"<<\"};\n\n function bracketRegex(config) {\n return config && config.bracketRegex || /[(){}[\\]]/\n }\n\n function findMatchingBracket(cm, where, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var afterCursor = config && config.afterCursor\n if (afterCursor == null)\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n var re = bracketRegex(config)\n\n // A cursor is defined as between two characters, but in in vim command mode\n // (i.e. not insert mode), the cursor is visually represented as a\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\n // from before or after the cursor.\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == \">\" ? 1 : -1;\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = bracketRegex(config)\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined ||\n (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || \"\") == (style || \"\"))) {\n var match = matching[ch];\n if (match && (match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it'll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\n highlightNonMatching = config && config.highlightNonMatching;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\n if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) {\n var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n }\n }\n\n if (marks.length) {\n // Kludge to work around the IE bug from issue #1193, where text\n // input stops going to the textarea whenever this fires.\n if (ie_lt8 && cm.state.focused) cm.focus();\n\n var clear = function() {\n cm.operation(function() {\n for (var i = 0; i < marks.length; i++) marks[i].clear();\n });\n };\n if (autoclear) setTimeout(clear, 800);\n else return clear;\n }\n }\n\n function doMatchBrackets(cm) {\n cm.operation(function() {\n if (cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n });\n }\n\n function clearHighlighted(cm) {\n if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n }\n\n CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"cursorActivity\", doMatchBrackets);\n cm.off(\"focus\", doMatchBrackets)\n cm.off(\"blur\", clearHighlighted)\n clearHighlighted(cm);\n }\n if (val) {\n cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n cm.on(\"cursorActivity\", doMatchBrackets);\n cm.on(\"focus\", doMatchBrackets)\n cm.on(\"blur\", clearHighlighted)\n }\n });\n\n CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, config, oldConfig){\n // Backwards-compatibility kludge\n if (oldConfig || typeof config == \"boolean\") {\n if (!oldConfig) {\n config = config ? {strict: true} : null\n } else {\n oldConfig.strict = config\n config = oldConfig\n }\n }\n return findMatchingBracket(this, pos, config)\n });\n CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n return scanForBracket(this, pos, dir, style, config);\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n// Depends on jsonlint.js from https://github.com/zaach/jsonlint\n\n// declare global: jsonlint\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"lint\", \"json\", function(text) {\n var found = [];\n if (!window.jsonlint) {\n if (window.console) {\n window.console.error(\"Error: window.jsonlint not defined, CodeMirror JSON linting cannot run.\");\n }\n return found;\n }\n // for jsonlint's web dist jsonlint is exported as an object with a single property parser, of which parseError\n // is a subproperty\n var jsonlint = window.jsonlint.parser || window.jsonlint\n jsonlint.parseError = function(str, hash) {\n var loc = hash.loc;\n found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column),\n to: CodeMirror.Pos(loc.last_line - 1, loc.last_column),\n message: str});\n };\n try { jsonlint.parse(text); }\n catch(e) {}\n return found;\n});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n var GUTTER_ID = \"CodeMirror-lint-markers\";\n var LINT_LINE_ID = \"CodeMirror-lint-line-\";\n\n function showTooltip(cm, e, content) {\n var tt = document.createElement(\"div\");\n tt.className = \"CodeMirror-lint-tooltip cm-s-\" + cm.options.theme;\n tt.appendChild(content.cloneNode(true));\n if (cm.state.lint.options.selfContain)\n cm.getWrapperElement().appendChild(tt);\n else\n document.body.appendChild(tt);\n\n function position(e) {\n if (!tt.parentNode) return CodeMirror.off(document, \"mousemove\", position);\n var top = Math.max(0, e.clientY - tt.offsetHeight - 5);\n var left = Math.max(0, Math.min(e.clientX + 5, tt.ownerDocument.defaultView.innerWidth - tt.offsetWidth));\n tt.style.top = top + \"px\"\n tt.style.left = left + \"px\";\n }\n CodeMirror.on(document, \"mousemove\", position);\n position(e);\n if (tt.style.opacity != null) tt.style.opacity = 1;\n return tt;\n }\n function rm(elt) {\n if (elt.parentNode) elt.parentNode.removeChild(elt);\n }\n function hideTooltip(tt) {\n if (!tt.parentNode) return;\n if (tt.style.opacity == null) rm(tt);\n tt.style.opacity = 0;\n setTimeout(function() { rm(tt); }, 600);\n }\n\n function showTooltipFor(cm, e, content, node) {\n var tooltip = showTooltip(cm, e, content);\n function hide() {\n CodeMirror.off(node, \"mouseout\", hide);\n if (tooltip) { hideTooltip(tooltip); tooltip = null; }\n }\n var poll = setInterval(function() {\n if (tooltip) for (var n = node;; n = n.parentNode) {\n if (n && n.nodeType == 11) n = n.host;\n if (n == document.body) return;\n if (!n) { hide(); break; }\n }\n if (!tooltip) return clearInterval(poll);\n }, 400);\n CodeMirror.on(node, \"mouseout\", hide);\n }\n\n function LintState(cm, conf, hasGutter) {\n this.marked = [];\n if (conf instanceof Function) conf = {getAnnotations: conf};\n if (!conf || conf === true) conf = {};\n this.options = {};\n this.linterOptions = conf.options || {};\n for (var prop in defaults) this.options[prop] = defaults[prop];\n for (var prop in conf) {\n if (defaults.hasOwnProperty(prop)) {\n if (conf[prop] != null) this.options[prop] = conf[prop];\n } else if (!conf.options) {\n this.linterOptions[prop] = conf[prop];\n }\n }\n this.timeout = null;\n this.hasGutter = hasGutter;\n this.onMouseOver = function(e) { onMouseOver(cm, e); };\n this.waitingFor = 0\n }\n\n var defaults = {\n highlightLines: false,\n tooltips: true,\n delay: 500,\n lintOnChange: true,\n getAnnotations: null,\n async: false,\n selfContain: null,\n formatAnnotation: null,\n onUpdateLinting: null\n }\n\n function clearMarks(cm) {\n var state = cm.state.lint;\n if (state.hasGutter) cm.clearGutter(GUTTER_ID);\n if (state.options.highlightLines) clearErrorLines(cm);\n for (var i = 0; i < state.marked.length; ++i)\n state.marked[i].clear();\n state.marked.length = 0;\n }\n\n function clearErrorLines(cm) {\n cm.eachLine(function(line) {\n var has = line.wrapClass && /\\bCodeMirror-lint-line-\\w+\\b/.exec(line.wrapClass);\n if (has) cm.removeLineClass(line, \"wrap\", has[0]);\n })\n }\n\n function makeMarker(cm, labels, severity, multiple, tooltips) {\n var marker = document.createElement(\"div\"), inner = marker;\n marker.className = \"CodeMirror-lint-marker CodeMirror-lint-marker-\" + severity;\n if (multiple) {\n inner = marker.appendChild(document.createElement(\"div\"));\n inner.className = \"CodeMirror-lint-marker CodeMirror-lint-marker-multiple\";\n }\n\n if (tooltips != false) CodeMirror.on(inner, \"mouseover\", function(e) {\n showTooltipFor(cm, e, labels, inner);\n });\n\n return marker;\n }\n\n function getMaxSeverity(a, b) {\n if (a == \"error\") return a;\n else return b;\n }\n\n function groupByLine(annotations) {\n var lines = [];\n for (var i = 0; i < annotations.length; ++i) {\n var ann = annotations[i], line = ann.from.line;\n (lines[line] || (lines[line] = [])).push(ann);\n }\n return lines;\n }\n\n function annotationTooltip(ann) {\n var severity = ann.severity;\n if (!severity) severity = \"error\";\n var tip = document.createElement(\"div\");\n tip.className = \"CodeMirror-lint-message CodeMirror-lint-message-\" + severity;\n if (typeof ann.messageHTML != 'undefined') {\n tip.innerHTML = ann.messageHTML;\n } else {\n tip.appendChild(document.createTextNode(ann.message));\n }\n return tip;\n }\n\n function lintAsync(cm, getAnnotations) {\n var state = cm.state.lint\n var id = ++state.waitingFor\n function abort() {\n id = -1\n cm.off(\"change\", abort)\n }\n cm.on(\"change\", abort)\n getAnnotations(cm.getValue(), function(annotations, arg2) {\n cm.off(\"change\", abort)\n if (state.waitingFor != id) return\n if (arg2 && annotations instanceof CodeMirror) annotations = arg2\n cm.operation(function() {updateLinting(cm, annotations)})\n }, state.linterOptions, cm);\n }\n\n function startLinting(cm) {\n var state = cm.state.lint;\n if (!state) return;\n var options = state.options;\n /*\n * Passing rules in `options` property prevents JSHint (and other linters) from complaining\n * about unrecognized rules like `onUpdateLinting`, `delay`, `lintOnChange`, etc.\n */\n var getAnnotations = options.getAnnotations || cm.getHelper(CodeMirror.Pos(0, 0), \"lint\");\n if (!getAnnotations) return;\n if (options.async || getAnnotations.async) {\n lintAsync(cm, getAnnotations)\n } else {\n var annotations = getAnnotations(cm.getValue(), state.linterOptions, cm);\n if (!annotations) return;\n if (annotations.then) annotations.then(function(issues) {\n cm.operation(function() {updateLinting(cm, issues)})\n });\n else cm.operation(function() {updateLinting(cm, annotations)})\n }\n }\n\n function updateLinting(cm, annotationsNotSorted) {\n var state = cm.state.lint;\n if (!state) return;\n var options = state.options;\n clearMarks(cm);\n\n var annotations = groupByLine(annotationsNotSorted);\n\n for (var line = 0; line < annotations.length; ++line) {\n var anns = annotations[line];\n if (!anns) continue;\n\n var maxSeverity = null;\n var tipLabel = state.hasGutter && document.createDocumentFragment();\n\n for (var i = 0; i < anns.length; ++i) {\n var ann = anns[i];\n var severity = ann.severity;\n if (!severity) severity = \"error\";\n maxSeverity = getMaxSeverity(maxSeverity, severity);\n\n if (options.formatAnnotation) ann = options.formatAnnotation(ann);\n if (state.hasGutter) tipLabel.appendChild(annotationTooltip(ann));\n\n if (ann.to) state.marked.push(cm.markText(ann.from, ann.to, {\n className: \"CodeMirror-lint-mark CodeMirror-lint-mark-\" + severity,\n __annotation: ann\n }));\n }\n if (state.hasGutter)\n cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, anns.length > 1,\n options.tooltips));\n\n if (options.highlightLines)\n cm.addLineClass(line, \"wrap\", LINT_LINE_ID + maxSeverity);\n }\n if (options.onUpdateLinting) options.onUpdateLinting(annotationsNotSorted, annotations, cm);\n }\n\n function onChange(cm) {\n var state = cm.state.lint;\n if (!state) return;\n clearTimeout(state.timeout);\n state.timeout = setTimeout(function(){startLinting(cm);}, state.options.delay);\n }\n\n function popupTooltips(cm, annotations, e) {\n var target = e.target || e.srcElement;\n var tooltip = document.createDocumentFragment();\n for (var i = 0; i < annotations.length; i++) {\n var ann = annotations[i];\n tooltip.appendChild(annotationTooltip(ann));\n }\n showTooltipFor(cm, e, tooltip, target);\n }\n\n function onMouseOver(cm, e) {\n var target = e.target || e.srcElement;\n if (!/\\bCodeMirror-lint-mark-/.test(target.className)) return;\n var box = target.getBoundingClientRect(), x = (box.left + box.right) / 2, y = (box.top + box.bottom) / 2;\n var spans = cm.findMarksAt(cm.coordsChar({left: x, top: y}, \"client\"));\n\n var annotations = [];\n for (var i = 0; i < spans.length; ++i) {\n var ann = spans[i].__annotation;\n if (ann) annotations.push(ann);\n }\n if (annotations.length) popupTooltips(cm, annotations, e);\n }\n\n CodeMirror.defineOption(\"lint\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n clearMarks(cm);\n if (cm.state.lint.options.lintOnChange !== false)\n cm.off(\"change\", onChange);\n CodeMirror.off(cm.getWrapperElement(), \"mouseover\", cm.state.lint.onMouseOver);\n clearTimeout(cm.state.lint.timeout);\n delete cm.state.lint;\n }\n\n if (val) {\n var gutters = cm.getOption(\"gutters\"), hasLintGutter = false;\n for (var i = 0; i < gutters.length; ++i) if (gutters[i] == GUTTER_ID) hasLintGutter = true;\n var state = cm.state.lint = new LintState(cm, val, hasLintGutter);\n if (state.options.lintOnChange)\n cm.on(\"change\", onChange);\n if (state.options.tooltips != false && state.options.tooltips != \"gutter\")\n CodeMirror.on(cm.getWrapperElement(), \"mouseover\", state.onMouseOver);\n\n startLinting(cm);\n }\n });\n\n CodeMirror.defineExtension(\"performLint\", function() {\n startLinting(this);\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var trackScope = parserConfig.trackScope !== false\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true,\n \"regexp\": true, \"this\": true, \"import\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n if (!trackScope) return false\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (!trackScope) return\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n pushcontext.lex = pushblockcontext.lex = true\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), pushblockcontext, forspec, statement, popcontext, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(maybeexpression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\" || value == \"readonly\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n if (type == \"quasi\") { return pass(quasiType, afterType); }\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function quasiType(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasiType);\n return cont(typeexpr, continueQuasiType);\n }\n function continueQuasiType(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasiType);\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+#?[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"!\") return cont(classfield)\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n if (type == \".\") return pass(maybeoperatorComma);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse && c != popcontext) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n parseJS(state, \"atom\", \"atom\", \"true\", new CodeMirror.StringStream(\"\", 2, null))\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/x-json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/manifest+json\", { name: \"javascript\", json: true })\nCodeMirror.defineMIME(\"application/ld+json\", { name: \"javascript\", jsonld: true });\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../xml/xml\"), require(\"../meta\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../xml/xml\", \"../meta\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"markdown\", function(cmCfg, modeCfg) {\n\n var htmlMode = CodeMirror.getMode(cmCfg, \"text/html\");\n var htmlModeMissing = htmlMode.name == \"null\"\n\n function getMode(name) {\n if (CodeMirror.findModeByName) {\n var found = CodeMirror.findModeByName(name);\n if (found) name = found.mime || found.mimes[0];\n }\n var mode = CodeMirror.getMode(cmCfg, name);\n return mode.name == \"null\" ? null : mode;\n }\n\n // Should characters that affect highlighting be highlighted separate?\n // Does not include characters that will be output (such as `1.` and `-` for lists)\n if (modeCfg.highlightFormatting === undefined)\n modeCfg.highlightFormatting = false;\n\n // Maximum number of nested blockquotes. Set to 0 for infinite nesting.\n // Excess `>` will emit `error` token.\n if (modeCfg.maxBlockquoteDepth === undefined)\n modeCfg.maxBlockquoteDepth = 0;\n\n // Turn on task lists? (\"- [ ] \" and \"- [x] \")\n if (modeCfg.taskLists === undefined) modeCfg.taskLists = false;\n\n // Turn on strikethrough syntax\n if (modeCfg.strikethrough === undefined)\n modeCfg.strikethrough = false;\n\n if (modeCfg.emoji === undefined)\n modeCfg.emoji = false;\n\n if (modeCfg.fencedCodeBlockHighlighting === undefined)\n modeCfg.fencedCodeBlockHighlighting = true;\n\n if (modeCfg.fencedCodeBlockDefaultMode === undefined)\n modeCfg.fencedCodeBlockDefaultMode = 'text/plain';\n\n if (modeCfg.xml === undefined)\n modeCfg.xml = true;\n\n // Allow token types to be overridden by user-provided token types.\n if (modeCfg.tokenTypeOverrides === undefined)\n modeCfg.tokenTypeOverrides = {};\n\n var tokenTypes = {\n header: \"header\",\n code: \"comment\",\n quote: \"quote\",\n list1: \"variable-2\",\n list2: \"variable-3\",\n list3: \"keyword\",\n hr: \"hr\",\n image: \"image\",\n imageAltText: \"image-alt-text\",\n imageMarker: \"image-marker\",\n formatting: \"formatting\",\n linkInline: \"link\",\n linkEmail: \"link\",\n linkText: \"link\",\n linkHref: \"string\",\n em: \"em\",\n strong: \"strong\",\n strikethrough: \"strikethrough\",\n emoji: \"builtin\"\n };\n\n for (var tokenType in tokenTypes) {\n if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) {\n tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType];\n }\n }\n\n var hrRE = /^([*\\-_])(?:\\s*\\1){2,}\\s*$/\n , listRE = /^(?:[*\\-+]|^[0-9]+([.)]))\\s+/\n , taskListRE = /^\\[(x| )\\](?=\\s)/i // Must follow listRE\n , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/\n , setextHeaderRE = /^ {0,3}(?:\\={1,}|-{2,})\\s*$/\n , textRE = /^[^#!\\[\\]*_\\\\<>` \"'(~:]+/\n , fencedCodeRE = /^(~~~+|```+)[ \\t]*([\\w\\/+#-]*)[^\\n`]*$/\n , linkDefRE = /^\\s*\\[[^\\]]+?\\]:.*$/ // naive link-definition\n , punctuation = /[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDF3C-\\uDF3E]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]/\n , expandedTab = \" \" // CommonMark specifies tab as 4 spaces\n\n function switchInline(stream, state, f) {\n state.f = state.inline = f;\n return f(stream, state);\n }\n\n function switchBlock(stream, state, f) {\n state.f = state.block = f;\n return f(stream, state);\n }\n\n function lineIsEmpty(line) {\n return !line || !/\\S/.test(line.string)\n }\n\n // Blocks\n\n function blankLine(state) {\n // Reset linkTitle state\n state.linkTitle = false;\n state.linkHref = false;\n state.linkText = false;\n // Reset EM state\n state.em = false;\n // Reset STRONG state\n state.strong = false;\n // Reset strikethrough state\n state.strikethrough = false;\n // Reset state.quote\n state.quote = 0;\n // Reset state.indentedCode\n state.indentedCode = false;\n if (state.f == htmlBlock) {\n var exit = htmlModeMissing\n if (!exit) {\n var inner = CodeMirror.innerMode(htmlMode, state.htmlState)\n exit = inner.mode.name == \"xml\" && inner.state.tagStart === null &&\n (!inner.state.context && inner.state.tokenize.isInText)\n }\n if (exit) {\n state.f = inlineNormal;\n state.block = blockNormal;\n state.htmlState = null;\n }\n }\n // Reset state.trailingSpace\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false;\n // Mark this line as blank\n state.prevLine = state.thisLine\n state.thisLine = {stream: null}\n return null;\n }\n\n function blockNormal(stream, state) {\n var firstTokenOnLine = stream.column() === state.indentation;\n var prevLineLineIsEmpty = lineIsEmpty(state.prevLine.stream);\n var prevLineIsIndentedCode = state.indentedCode;\n var prevLineIsHr = state.prevLine.hr;\n var prevLineIsList = state.list !== false;\n var maxNonCodeIndentation = (state.listStack[state.listStack.length - 1] || 0) + 3;\n\n state.indentedCode = false;\n\n var lineIndentation = state.indentation;\n // compute once per line (on first token)\n if (state.indentationDiff === null) {\n state.indentationDiff = state.indentation;\n if (prevLineIsList) {\n state.list = null;\n // While this list item's marker's indentation is less than the deepest\n // list item's content's indentation,pop the deepest list item\n // indentation off the stack, and update block indentation state\n while (lineIndentation < state.listStack[state.listStack.length - 1]) {\n state.listStack.pop();\n if (state.listStack.length) {\n state.indentation = state.listStack[state.listStack.length - 1];\n // less than the first list's indent -> the line is no longer a list\n } else {\n state.list = false;\n }\n }\n if (state.list !== false) {\n state.indentationDiff = lineIndentation - state.listStack[state.listStack.length - 1]\n }\n }\n }\n\n // not comprehensive (currently only for setext detection purposes)\n var allowsInlineContinuation = (\n !prevLineLineIsEmpty && !prevLineIsHr && !state.prevLine.header &&\n (!prevLineIsList || !prevLineIsIndentedCode) &&\n !state.prevLine.fencedCodeEnd\n );\n\n var isHr = (state.list === false || prevLineIsHr || prevLineLineIsEmpty) &&\n state.indentation <= maxNonCodeIndentation && stream.match(hrRE);\n\n var match = null;\n if (state.indentationDiff >= 4 && (prevLineIsIndentedCode || state.prevLine.fencedCodeEnd ||\n state.prevLine.header || prevLineLineIsEmpty)) {\n stream.skipToEnd();\n state.indentedCode = true;\n return tokenTypes.code;\n } else if (stream.eatSpace()) {\n return null;\n } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(atxHeaderRE)) && match[1].length <= 6) {\n state.quote = 0;\n state.header = match[1].length;\n state.thisLine.header = true;\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n state.f = state.inline;\n return getType(state);\n } else if (state.indentation <= maxNonCodeIndentation && stream.eat('>')) {\n state.quote = firstTokenOnLine ? 1 : state.quote + 1;\n if (modeCfg.highlightFormatting) state.formatting = \"quote\";\n stream.eatSpace();\n return getType(state);\n } else if (!isHr && !state.setext && firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(listRE))) {\n var listType = match[1] ? \"ol\" : \"ul\";\n\n state.indentation = lineIndentation + stream.current().length;\n state.list = true;\n state.quote = 0;\n\n // Add this list item's content's indentation to the stack\n state.listStack.push(state.indentation);\n // Reset inline styles which shouldn't propagate across list items\n state.em = false;\n state.strong = false;\n state.code = false;\n state.strikethrough = false;\n\n if (modeCfg.taskLists && stream.match(taskListRE, false)) {\n state.taskList = true;\n }\n state.f = state.inline;\n if (modeCfg.highlightFormatting) state.formatting = [\"list\", \"list-\" + listType];\n return getType(state);\n } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(fencedCodeRE, true))) {\n state.quote = 0;\n state.fencedEndRE = new RegExp(match[1] + \"+ *$\");\n // try switching mode\n state.localMode = modeCfg.fencedCodeBlockHighlighting && getMode(match[2] || modeCfg.fencedCodeBlockDefaultMode );\n if (state.localMode) state.localState = CodeMirror.startState(state.localMode);\n state.f = state.block = local;\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n state.code = -1\n return getType(state);\n // SETEXT has lowest block-scope precedence after HR, so check it after\n // the others (code, blockquote, list...)\n } else if (\n // if setext set, indicates line after ---/===\n state.setext || (\n // line before ---/===\n (!allowsInlineContinuation || !prevLineIsList) && !state.quote && state.list === false &&\n !state.code && !isHr && !linkDefRE.test(stream.string) &&\n (match = stream.lookAhead(1)) && (match = match.match(setextHeaderRE))\n )\n ) {\n if ( !state.setext ) {\n state.header = match[0].charAt(0) == '=' ? 1 : 2;\n state.setext = state.header;\n } else {\n state.header = state.setext;\n // has no effect on type so we can reset it now\n state.setext = 0;\n stream.skipToEnd();\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n }\n state.thisLine.header = true;\n state.f = state.inline;\n return getType(state);\n } else if (isHr) {\n stream.skipToEnd();\n state.hr = true;\n state.thisLine.hr = true;\n return tokenTypes.hr;\n } else if (stream.peek() === '[') {\n return switchInline(stream, state, footnoteLink);\n }\n\n return switchInline(stream, state, state.inline);\n }\n\n function htmlBlock(stream, state) {\n var style = htmlMode.token(stream, state.htmlState);\n if (!htmlModeMissing) {\n var inner = CodeMirror.innerMode(htmlMode, state.htmlState)\n if ((inner.mode.name == \"xml\" && inner.state.tagStart === null &&\n (!inner.state.context && inner.state.tokenize.isInText)) ||\n (state.md_inside && stream.current().indexOf(\">\") > -1)) {\n state.f = inlineNormal;\n state.block = blockNormal;\n state.htmlState = null;\n }\n }\n return style;\n }\n\n function local(stream, state) {\n var currListInd = state.listStack[state.listStack.length - 1] || 0;\n var hasExitedList = state.indentation < currListInd;\n var maxFencedEndInd = currListInd + 3;\n if (state.fencedEndRE && state.indentation <= maxFencedEndInd && (hasExitedList || stream.match(state.fencedEndRE))) {\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n var returnType;\n if (!hasExitedList) returnType = getType(state)\n state.localMode = state.localState = null;\n state.block = blockNormal;\n state.f = inlineNormal;\n state.fencedEndRE = null;\n state.code = 0\n state.thisLine.fencedCodeEnd = true;\n if (hasExitedList) return switchBlock(stream, state, state.block);\n return returnType;\n } else if (state.localMode) {\n return state.localMode.token(stream, state.localState);\n } else {\n stream.skipToEnd();\n return tokenTypes.code;\n }\n }\n\n // Inline\n function getType(state) {\n var styles = [];\n\n if (state.formatting) {\n styles.push(tokenTypes.formatting);\n\n if (typeof state.formatting === \"string\") state.formatting = [state.formatting];\n\n for (var i = 0; i < state.formatting.length; i++) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i]);\n\n if (state.formatting[i] === \"header\") {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.header);\n }\n\n // Add `formatting-quote` and `formatting-quote-#` for blockquotes\n // Add `error` instead if the maximum blockquote nesting depth is passed\n if (state.formatting[i] === \"quote\") {\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.quote);\n } else {\n styles.push(\"error\");\n }\n }\n }\n }\n\n if (state.taskOpen) {\n styles.push(\"meta\");\n return styles.length ? styles.join(' ') : null;\n }\n if (state.taskClosed) {\n styles.push(\"property\");\n return styles.length ? styles.join(' ') : null;\n }\n\n if (state.linkHref) {\n styles.push(tokenTypes.linkHref, \"url\");\n } else { // Only apply inline styles to non-url text\n if (state.strong) { styles.push(tokenTypes.strong); }\n if (state.em) { styles.push(tokenTypes.em); }\n if (state.strikethrough) { styles.push(tokenTypes.strikethrough); }\n if (state.emoji) { styles.push(tokenTypes.emoji); }\n if (state.linkText) { styles.push(tokenTypes.linkText); }\n if (state.code) { styles.push(tokenTypes.code); }\n if (state.image) { styles.push(tokenTypes.image); }\n if (state.imageAltText) { styles.push(tokenTypes.imageAltText, \"link\"); }\n if (state.imageMarker) { styles.push(tokenTypes.imageMarker); }\n }\n\n if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + \"-\" + state.header); }\n\n if (state.quote) {\n styles.push(tokenTypes.quote);\n\n // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.quote + \"-\" + state.quote);\n } else {\n styles.push(tokenTypes.quote + \"-\" + modeCfg.maxBlockquoteDepth);\n }\n }\n\n if (state.list !== false) {\n var listMod = (state.listStack.length - 1) % 3;\n if (!listMod) {\n styles.push(tokenTypes.list1);\n } else if (listMod === 1) {\n styles.push(tokenTypes.list2);\n } else {\n styles.push(tokenTypes.list3);\n }\n }\n\n if (state.trailingSpaceNewLine) {\n styles.push(\"trailing-space-new-line\");\n } else if (state.trailingSpace) {\n styles.push(\"trailing-space-\" + (state.trailingSpace % 2 ? \"a\" : \"b\"));\n }\n\n return styles.length ? styles.join(' ') : null;\n }\n\n function handleText(stream, state) {\n if (stream.match(textRE, true)) {\n return getType(state);\n }\n return undefined;\n }\n\n function inlineNormal(stream, state) {\n var style = state.text(stream, state);\n if (typeof style !== 'undefined')\n return style;\n\n if (state.list) { // List marker (*, +, -, 1., etc)\n state.list = null;\n return getType(state);\n }\n\n if (state.taskList) {\n var taskOpen = stream.match(taskListRE, true)[1] === \" \";\n if (taskOpen) state.taskOpen = true;\n else state.taskClosed = true;\n if (modeCfg.highlightFormatting) state.formatting = \"task\";\n state.taskList = false;\n return getType(state);\n }\n\n state.taskOpen = false;\n state.taskClosed = false;\n\n if (state.header && stream.match(/^#+$/, true)) {\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n return getType(state);\n }\n\n var ch = stream.next();\n\n // Matches link titles present on next line\n if (state.linkTitle) {\n state.linkTitle = false;\n var matchCh = ch;\n if (ch === '(') {\n matchCh = ')';\n }\n matchCh = (matchCh+'').replace(/([.?*+^\\[\\]\\\\(){}|-])/g, \"\\\\$1\");\n var regex = '^\\\\s*(?:[^' + matchCh + '\\\\\\\\]+|\\\\\\\\\\\\\\\\|\\\\\\\\.)' + matchCh;\n if (stream.match(new RegExp(regex), true)) {\n return tokenTypes.linkHref;\n }\n }\n\n // If this block is changed, it may need to be updated in GFM mode\n if (ch === '`') {\n var previousFormatting = state.formatting;\n if (modeCfg.highlightFormatting) state.formatting = \"code\";\n stream.eatWhile('`');\n var count = stream.current().length\n if (state.code == 0 && (!state.quote || count == 1)) {\n state.code = count\n return getType(state)\n } else if (count == state.code) { // Must be exact\n var t = getType(state)\n state.code = 0\n return t\n } else {\n state.formatting = previousFormatting\n return getType(state)\n }\n } else if (state.code) {\n return getType(state);\n }\n\n if (ch === '\\\\') {\n stream.next();\n if (modeCfg.highlightFormatting) {\n var type = getType(state);\n var formattingEscape = tokenTypes.formatting + \"-escape\";\n return type ? type + \" \" + formattingEscape : formattingEscape;\n }\n }\n\n if (ch === '!' && stream.match(/\\[[^\\]]*\\] ?(?:\\(|\\[)/, false)) {\n state.imageMarker = true;\n state.image = true;\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === '[' && state.imageMarker && stream.match(/[^\\]]*\\](\\(.*?\\)| ?\\[.*?\\])/, false)) {\n state.imageMarker = false;\n state.imageAltText = true\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === ']' && state.imageAltText) {\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n var type = getType(state);\n state.imageAltText = false;\n state.image = false;\n state.inline = state.f = linkHref;\n return type;\n }\n\n if (ch === '[' && !state.image) {\n if (state.linkText && stream.match(/^.*?\\]/)) return getType(state)\n state.linkText = true;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n return getType(state);\n }\n\n if (ch === ']' && state.linkText) {\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n state.linkText = false;\n state.inline = state.f = stream.match(/\\(.*?\\)| ?\\[.*?\\]/, false) ? linkHref : inlineNormal\n return type;\n }\n\n if (ch === '<' && stream.match(/^(https?|ftps?):\\/\\/(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkInline;\n }\n\n if (ch === '<' && stream.match(/^[^> \\\\]+@(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkEmail;\n }\n\n if (modeCfg.xml && ch === '<' && stream.match(/^(!--|\\?|!\\[CDATA\\[|[a-z][a-z0-9-]*(?:\\s+[a-z_:.\\-]+(?:\\s*=\\s*[^>]+)?)*\\s*(?:>|$))/i, false)) {\n var end = stream.string.indexOf(\">\", stream.pos);\n if (end != -1) {\n var atts = stream.string.substring(stream.start, end);\n if (/markdown\\s*=\\s*('|\"){0,1}1('|\"){0,1}/.test(atts)) state.md_inside = true;\n }\n stream.backUp(1);\n state.htmlState = CodeMirror.startState(htmlMode);\n return switchBlock(stream, state, htmlBlock);\n }\n\n if (modeCfg.xml && ch === '<' && stream.match(/^\\/\\w*?>/)) {\n state.md_inside = false;\n return \"tag\";\n } else if (ch === \"*\" || ch === \"_\") {\n var len = 1, before = stream.pos == 1 ? \" \" : stream.string.charAt(stream.pos - 2)\n while (len < 3 && stream.eat(ch)) len++\n var after = stream.peek() || \" \"\n // See http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis\n var leftFlanking = !/\\s/.test(after) && (!punctuation.test(after) || /\\s/.test(before) || punctuation.test(before))\n var rightFlanking = !/\\s/.test(before) && (!punctuation.test(before) || /\\s/.test(after) || punctuation.test(after))\n var setEm = null, setStrong = null\n if (len % 2) { // Em\n if (!state.em && leftFlanking && (ch === \"*\" || !rightFlanking || punctuation.test(before)))\n setEm = true\n else if (state.em == ch && rightFlanking && (ch === \"*\" || !leftFlanking || punctuation.test(after)))\n setEm = false\n }\n if (len > 1) { // Strong\n if (!state.strong && leftFlanking && (ch === \"*\" || !rightFlanking || punctuation.test(before)))\n setStrong = true\n else if (state.strong == ch && rightFlanking && (ch === \"*\" || !leftFlanking || punctuation.test(after)))\n setStrong = false\n }\n if (setStrong != null || setEm != null) {\n if (modeCfg.highlightFormatting) state.formatting = setEm == null ? \"strong\" : setStrong == null ? \"em\" : \"strong em\"\n if (setEm === true) state.em = ch\n if (setStrong === true) state.strong = ch\n var t = getType(state)\n if (setEm === false) state.em = false\n if (setStrong === false) state.strong = false\n return t\n }\n } else if (ch === ' ') {\n if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces\n if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n return getType(state);\n } else { // Not surrounded by spaces, back up pointer\n stream.backUp(1);\n }\n }\n }\n\n if (modeCfg.strikethrough) {\n if (ch === '~' && stream.eatWhile(ch)) {\n if (state.strikethrough) {// Remove strikethrough\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n var t = getType(state);\n state.strikethrough = false;\n return t;\n } else if (stream.match(/^[^\\s]/, false)) {// Add strikethrough\n state.strikethrough = true;\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n return getType(state);\n }\n } else if (ch === ' ') {\n if (stream.match('~~', true)) { // Probably surrounded by space\n if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n return getType(state);\n } else { // Not surrounded by spaces, back up pointer\n stream.backUp(2);\n }\n }\n }\n }\n\n if (modeCfg.emoji && ch === \":\" && stream.match(/^(?:[a-z_\\d+][a-z_\\d+-]*|\\-[a-z_\\d+][a-z_\\d+-]*):/)) {\n state.emoji = true;\n if (modeCfg.highlightFormatting) state.formatting = \"emoji\";\n var retType = getType(state);\n state.emoji = false;\n return retType;\n }\n\n if (ch === ' ') {\n if (stream.match(/^ +$/, false)) {\n state.trailingSpace++;\n } else if (state.trailingSpace) {\n state.trailingSpaceNewLine = true;\n }\n }\n\n return getType(state);\n }\n\n function linkInline(stream, state) {\n var ch = stream.next();\n\n if (ch === \">\") {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkInline;\n }\n\n stream.match(/^[^>]+/, true);\n\n return tokenTypes.linkInline;\n }\n\n function linkHref(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if(stream.eatSpace()){\n return null;\n }\n var ch = stream.next();\n if (ch === '(' || ch === '[') {\n state.f = state.inline = getLinkHrefInside(ch === \"(\" ? \")\" : \"]\");\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n state.linkHref = true;\n return getType(state);\n }\n return 'error';\n }\n\n var linkRE = {\n \")\": /^(?:[^\\\\\\(\\)]|\\\\.|\\((?:[^\\\\\\(\\)]|\\\\.)*\\))*?(?=\\))/,\n \"]\": /^(?:[^\\\\\\[\\]]|\\\\.|\\[(?:[^\\\\\\[\\]]|\\\\.)*\\])*?(?=\\])/\n }\n\n function getLinkHrefInside(endChar) {\n return function(stream, state) {\n var ch = stream.next();\n\n if (ch === endChar) {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n var returnState = getType(state);\n state.linkHref = false;\n return returnState;\n }\n\n stream.match(linkRE[endChar])\n state.linkHref = true;\n return getType(state);\n };\n }\n\n function footnoteLink(stream, state) {\n if (stream.match(/^([^\\]\\\\]|\\\\.)*\\]:/, false)) {\n state.f = footnoteLinkInside;\n stream.next(); // Consume [\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n state.linkText = true;\n return getType(state);\n }\n return switchInline(stream, state, inlineNormal);\n }\n\n function footnoteLinkInside(stream, state) {\n if (stream.match(']:', true)) {\n state.f = state.inline = footnoteUrl;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var returnType = getType(state);\n state.linkText = false;\n return returnType;\n }\n\n stream.match(/^([^\\]\\\\]|\\\\.)+/, true);\n\n return tokenTypes.linkText;\n }\n\n function footnoteUrl(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if(stream.eatSpace()){\n return null;\n }\n // Match URL\n stream.match(/^[^\\s]+/, true);\n // Check for link title\n if (stream.peek() === undefined) { // End of line, set flag to check next line\n state.linkTitle = true;\n } else { // More content on line, check if link title\n stream.match(/^(?:\\s+(?:\"(?:[^\"\\\\]|\\\\.)+\"|'(?:[^'\\\\]|\\\\.)+'|\\((?:[^)\\\\]|\\\\.)+\\)))?/, true);\n }\n state.f = state.inline = inlineNormal;\n return tokenTypes.linkHref + \" url\";\n }\n\n var mode = {\n startState: function() {\n return {\n f: blockNormal,\n\n prevLine: {stream: null},\n thisLine: {stream: null},\n\n block: blockNormal,\n htmlState: null,\n indentation: 0,\n\n inline: inlineNormal,\n text: handleText,\n\n formatting: false,\n linkText: false,\n linkHref: false,\n linkTitle: false,\n code: 0,\n em: false,\n strong: false,\n header: 0,\n setext: 0,\n hr: false,\n taskList: false,\n list: false,\n listStack: [],\n quote: 0,\n trailingSpace: 0,\n trailingSpaceNewLine: false,\n strikethrough: false,\n emoji: false,\n fencedEndRE: null\n };\n },\n\n copyState: function(s) {\n return {\n f: s.f,\n\n prevLine: s.prevLine,\n thisLine: s.thisLine,\n\n block: s.block,\n htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState),\n indentation: s.indentation,\n\n localMode: s.localMode,\n localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null,\n\n inline: s.inline,\n text: s.text,\n formatting: false,\n linkText: s.linkText,\n linkTitle: s.linkTitle,\n linkHref: s.linkHref,\n code: s.code,\n em: s.em,\n strong: s.strong,\n strikethrough: s.strikethrough,\n emoji: s.emoji,\n header: s.header,\n setext: s.setext,\n hr: s.hr,\n taskList: s.taskList,\n list: s.list,\n listStack: s.listStack.slice(0),\n quote: s.quote,\n indentedCode: s.indentedCode,\n trailingSpace: s.trailingSpace,\n trailingSpaceNewLine: s.trailingSpaceNewLine,\n md_inside: s.md_inside,\n fencedEndRE: s.fencedEndRE\n };\n },\n\n token: function(stream, state) {\n\n // Reset state.formatting\n state.formatting = false;\n\n if (stream != state.thisLine.stream) {\n state.header = 0;\n state.hr = false;\n\n if (stream.match(/^\\s*$/, true)) {\n blankLine(state);\n return null;\n }\n\n state.prevLine = state.thisLine\n state.thisLine = {stream: stream}\n\n // Reset state.taskList\n state.taskList = false;\n\n // Reset state.trailingSpace\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false;\n\n if (!state.localState) {\n state.f = state.block;\n if (state.f != htmlBlock) {\n var indentation = stream.match(/^\\s*/, true)[0].replace(/\\t/g, expandedTab).length;\n state.indentation = indentation;\n state.indentationDiff = null;\n if (indentation > 0) return null;\n }\n }\n }\n return state.f(stream, state);\n },\n\n innerMode: function(state) {\n if (state.block == htmlBlock) return {state: state.htmlState, mode: htmlMode};\n if (state.localState) return {state: state.localState, mode: state.localMode};\n return {state: state, mode: mode};\n },\n\n indent: function(state, textAfter, line) {\n if (state.block == htmlBlock && htmlMode.indent) return htmlMode.indent(state.htmlState, textAfter, line)\n if (state.localState && state.localMode.indent) return state.localMode.indent(state.localState, textAfter, line)\n return CodeMirror.Pass\n },\n\n blankLine: blankLine,\n\n getType: getType,\n\n blockCommentStart: \"\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n fold: \"markdown\"\n };\n return mode;\n}, \"xml\");\n\nCodeMirror.defineMIME(\"text/markdown\", \"markdown\");\n\nCodeMirror.defineMIME(\"text/x-markdown\", \"markdown\");\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n// Mathematica mode copyright (c) 2015 by Calin Barbat\n// Based on code by Patrick Scheibe (halirutan)\n// See: https://github.com/halirutan/Mathematica-Source-Highlighting/tree/master/src/lang-mma.js\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode('mathematica', function(_config, _parserConfig) {\n\n // used pattern building blocks\n var Identifier = '[a-zA-Z\\\\$][a-zA-Z0-9\\\\$]*';\n var pBase = \"(?:\\\\d+)\";\n var pFloat = \"(?:\\\\.\\\\d+|\\\\d+\\\\.\\\\d*|\\\\d+)\";\n var pFloatBase = \"(?:\\\\.\\\\w+|\\\\w+\\\\.\\\\w*|\\\\w+)\";\n var pPrecision = \"(?:`(?:`?\"+pFloat+\")?)\";\n\n // regular expressions\n var reBaseForm = new RegExp('(?:'+pBase+'(?:\\\\^\\\\^'+pFloatBase+pPrecision+'?(?:\\\\*\\\\^[+-]?\\\\d+)?))');\n var reFloatForm = new RegExp('(?:' + pFloat + pPrecision + '?(?:\\\\*\\\\^[+-]?\\\\d+)?)');\n var reIdInContext = new RegExp('(?:`?)(?:' + Identifier + ')(?:`(?:' + Identifier + '))*(?:`?)');\n\n function tokenBase(stream, state) {\n var ch;\n\n // get next character\n ch = stream.next();\n\n // string\n if (ch === '\"') {\n state.tokenize = tokenString;\n return state.tokenize(stream, state);\n }\n\n // comment\n if (ch === '(') {\n if (stream.eat('*')) {\n state.commentLevel++;\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n }\n\n // go back one character\n stream.backUp(1);\n\n // look for numbers\n // Numbers in a baseform\n if (stream.match(reBaseForm, true, false)) {\n return 'number';\n }\n\n // Mathematica numbers. Floats (1.2, .2, 1.) can have optionally a precision (`float) or an accuracy definition\n // (``float). Note: while 1.2` is possible 1.2`` is not. At the end an exponent (float*^+12) can follow.\n if (stream.match(reFloatForm, true, false)) {\n return 'number';\n }\n\n /* In[23] and Out[34] */\n if (stream.match(/(?:In|Out)\\[[0-9]*\\]/, true, false)) {\n return 'atom';\n }\n\n // usage\n if (stream.match(/([a-zA-Z\\$][a-zA-Z0-9\\$]*(?:`[a-zA-Z0-9\\$]+)*::usage)/, true, false)) {\n return 'meta';\n }\n\n // message\n if (stream.match(/([a-zA-Z\\$][a-zA-Z0-9\\$]*(?:`[a-zA-Z0-9\\$]+)*::[a-zA-Z\\$][a-zA-Z0-9\\$]*):?/, true, false)) {\n return 'string-2';\n }\n\n // this makes a look-ahead match for something like variable:{_Integer}\n // the match is then forwarded to the mma-patterns tokenizer.\n if (stream.match(/([a-zA-Z\\$][a-zA-Z0-9\\$]*\\s*:)(?:(?:[a-zA-Z\\$][a-zA-Z0-9\\$]*)|(?:[^:=>~@\\^\\&\\*\\)\\[\\]'\\?,\\|])).*/, true, false)) {\n return 'variable-2';\n }\n\n // catch variables which are used together with Blank (_), BlankSequence (__) or BlankNullSequence (___)\n // Cannot start with a number, but can have numbers at any other position. Examples\n // blub__Integer, a1_, b34_Integer32\n if (stream.match(/[a-zA-Z\\$][a-zA-Z0-9\\$]*_+[a-zA-Z\\$][a-zA-Z0-9\\$]*/, true, false)) {\n return 'variable-2';\n }\n if (stream.match(/[a-zA-Z\\$][a-zA-Z0-9\\$]*_+/, true, false)) {\n return 'variable-2';\n }\n if (stream.match(/_+[a-zA-Z\\$][a-zA-Z0-9\\$]*/, true, false)) {\n return 'variable-2';\n }\n\n // Named characters in Mathematica, like \\[Gamma].\n if (stream.match(/\\\\\\[[a-zA-Z\\$][a-zA-Z0-9\\$]*\\]/, true, false)) {\n return 'variable-3';\n }\n\n // Match all braces separately\n if (stream.match(/(?:\\[|\\]|{|}|\\(|\\))/, true, false)) {\n return 'bracket';\n }\n\n // Catch Slots (#, ##, #3, ##9 and the V10 named slots #name). I have never seen someone using more than one digit after #, so we match\n // only one.\n if (stream.match(/(?:#[a-zA-Z\\$][a-zA-Z0-9\\$]*|#+[0-9]?)/, true, false)) {\n return 'variable-2';\n }\n\n // Literals like variables, keywords, functions\n if (stream.match(reIdInContext, true, false)) {\n return 'keyword';\n }\n\n // operators. Note that operators like @@ or /; are matched separately for each symbol.\n if (stream.match(/(?:\\\\|\\+|\\-|\\*|\\/|,|;|\\.|:|@|~|=|>|<|&|\\||_|`|'|\\^|\\?|!|%)/, true, false)) {\n return 'operator';\n }\n\n // everything else is an error\n stream.next(); // advance the stream.\n return 'error';\n }\n\n function tokenString(stream, state) {\n var next, end = false, escaped = false;\n while ((next = stream.next()) != null) {\n if (next === '\"' && !escaped) {\n end = true;\n break;\n }\n escaped = !escaped && next === '\\\\';\n }\n if (end && !escaped) {\n state.tokenize = tokenBase;\n }\n return 'string';\n };\n\n function tokenComment(stream, state) {\n var prev, next;\n while(state.commentLevel > 0 && (next = stream.next()) != null) {\n if (prev === '(' && next === '*') state.commentLevel++;\n if (prev === '*' && next === ')') state.commentLevel--;\n prev = next;\n }\n if (state.commentLevel <= 0) {\n state.tokenize = tokenBase;\n }\n return 'comment';\n }\n\n return {\n startState: function() {return {tokenize: tokenBase, commentLevel: 0};},\n token: function(stream, state) {\n if (stream.eatSpace()) return null;\n return state.tokenize(stream, state);\n },\n blockCommentStart: \"(*\",\n blockCommentEnd: \"*)\"\n };\n});\n\nCodeMirror.defineMIME('text/x-mathematica', {\n name: 'mathematica'\n});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.modeInfo = [\n {name: \"APL\", mime: \"text/apl\", mode: \"apl\", ext: [\"dyalog\", \"apl\"]},\n {name: \"PGP\", mimes: [\"application/pgp\", \"application/pgp-encrypted\", \"application/pgp-keys\", \"application/pgp-signature\"], mode: \"asciiarmor\", ext: [\"asc\", \"pgp\", \"sig\"]},\n {name: \"ASN.1\", mime: \"text/x-ttcn-asn\", mode: \"asn.1\", ext: [\"asn\", \"asn1\"]},\n {name: \"Asterisk\", mime: \"text/x-asterisk\", mode: \"asterisk\", file: /^extensions\\.conf$/i},\n {name: \"Brainfuck\", mime: \"text/x-brainfuck\", mode: \"brainfuck\", ext: [\"b\", \"bf\"]},\n {name: \"C\", mime: \"text/x-csrc\", mode: \"clike\", ext: [\"c\", \"h\", \"ino\"]},\n {name: \"C++\", mime: \"text/x-c++src\", mode: \"clike\", ext: [\"cpp\", \"c++\", \"cc\", \"cxx\", \"hpp\", \"h++\", \"hh\", \"hxx\"], alias: [\"cpp\"]},\n {name: \"Cobol\", mime: \"text/x-cobol\", mode: \"cobol\", ext: [\"cob\", \"cpy\", \"cbl\"]},\n {name: \"C#\", mime: \"text/x-csharp\", mode: \"clike\", ext: [\"cs\"], alias: [\"csharp\", \"cs\"]},\n {name: \"Clojure\", mime: \"text/x-clojure\", mode: \"clojure\", ext: [\"clj\", \"cljc\", \"cljx\"]},\n {name: \"ClojureScript\", mime: \"text/x-clojurescript\", mode: \"clojure\", ext: [\"cljs\"]},\n {name: \"Closure Stylesheets (GSS)\", mime: \"text/x-gss\", mode: \"css\", ext: [\"gss\"]},\n {name: \"CMake\", mime: \"text/x-cmake\", mode: \"cmake\", ext: [\"cmake\", \"cmake.in\"], file: /^CMakeLists\\.txt$/},\n {name: \"CoffeeScript\", mimes: [\"application/vnd.coffeescript\", \"text/coffeescript\", \"text/x-coffeescript\"], mode: \"coffeescript\", ext: [\"coffee\"], alias: [\"coffee\", \"coffee-script\"]},\n {name: \"Common Lisp\", mime: \"text/x-common-lisp\", mode: \"commonlisp\", ext: [\"cl\", \"lisp\", \"el\"], alias: [\"lisp\"]},\n {name: \"Cypher\", mime: \"application/x-cypher-query\", mode: \"cypher\", ext: [\"cyp\", \"cypher\"]},\n {name: \"Cython\", mime: \"text/x-cython\", mode: \"python\", ext: [\"pyx\", \"pxd\", \"pxi\"]},\n {name: \"Crystal\", mime: \"text/x-crystal\", mode: \"crystal\", ext: [\"cr\"]},\n {name: \"CSS\", mime: \"text/css\", mode: \"css\", ext: [\"css\"]},\n {name: \"CQL\", mime: \"text/x-cassandra\", mode: \"sql\", ext: [\"cql\"]},\n {name: \"D\", mime: \"text/x-d\", mode: \"d\", ext: [\"d\"]},\n {name: \"Dart\", mimes: [\"application/dart\", \"text/x-dart\"], mode: \"dart\", ext: [\"dart\"]},\n {name: \"diff\", mime: \"text/x-diff\", mode: \"diff\", ext: [\"diff\", \"patch\"]},\n {name: \"Django\", mime: \"text/x-django\", mode: \"django\"},\n {name: \"Dockerfile\", mime: \"text/x-dockerfile\", mode: \"dockerfile\", file: /^Dockerfile$/},\n {name: \"DTD\", mime: \"application/xml-dtd\", mode: \"dtd\", ext: [\"dtd\"]},\n {name: \"Dylan\", mime: \"text/x-dylan\", mode: \"dylan\", ext: [\"dylan\", \"dyl\", \"intr\"]},\n {name: \"EBNF\", mime: \"text/x-ebnf\", mode: \"ebnf\"},\n {name: \"ECL\", mime: \"text/x-ecl\", mode: \"ecl\", ext: [\"ecl\"]},\n {name: \"edn\", mime: \"application/edn\", mode: \"clojure\", ext: [\"edn\"]},\n {name: \"Eiffel\", mime: \"text/x-eiffel\", mode: \"eiffel\", ext: [\"e\"]},\n {name: \"Elm\", mime: \"text/x-elm\", mode: \"elm\", ext: [\"elm\"]},\n {name: \"Embedded JavaScript\", mime: \"application/x-ejs\", mode: \"htmlembedded\", ext: [\"ejs\"]},\n {name: \"Embedded Ruby\", mime: \"application/x-erb\", mode: \"htmlembedded\", ext: [\"erb\"]},\n {name: \"Erlang\", mime: \"text/x-erlang\", mode: \"erlang\", ext: [\"erl\"]},\n {name: \"Esper\", mime: \"text/x-esper\", mode: \"sql\"},\n {name: \"Factor\", mime: \"text/x-factor\", mode: \"factor\", ext: [\"factor\"]},\n {name: \"FCL\", mime: \"text/x-fcl\", mode: \"fcl\"},\n {name: \"Forth\", mime: \"text/x-forth\", mode: \"forth\", ext: [\"forth\", \"fth\", \"4th\"]},\n {name: \"Fortran\", mime: \"text/x-fortran\", mode: \"fortran\", ext: [\"f\", \"for\", \"f77\", \"f90\", \"f95\"]},\n {name: \"F#\", mime: \"text/x-fsharp\", mode: \"mllike\", ext: [\"fs\"], alias: [\"fsharp\"]},\n {name: \"Gas\", mime: \"text/x-gas\", mode: \"gas\", ext: [\"s\"]},\n {name: \"Gherkin\", mime: \"text/x-feature\", mode: \"gherkin\", ext: [\"feature\"]},\n {name: \"GitHub Flavored Markdown\", mime: \"text/x-gfm\", mode: \"gfm\", file: /^(readme|contributing|history)\\.md$/i},\n {name: \"Go\", mime: \"text/x-go\", mode: \"go\", ext: [\"go\"]},\n {name: \"Groovy\", mime: \"text/x-groovy\", mode: \"groovy\", ext: [\"groovy\", \"gradle\"], file: /^Jenkinsfile$/},\n {name: \"HAML\", mime: \"text/x-haml\", mode: \"haml\", ext: [\"haml\"]},\n {name: \"Haskell\", mime: \"text/x-haskell\", mode: \"haskell\", ext: [\"hs\"]},\n {name: \"Haskell (Literate)\", mime: \"text/x-literate-haskell\", mode: \"haskell-literate\", ext: [\"lhs\"]},\n {name: \"Haxe\", mime: \"text/x-haxe\", mode: \"haxe\", ext: [\"hx\"]},\n {name: \"HXML\", mime: \"text/x-hxml\", mode: \"haxe\", ext: [\"hxml\"]},\n {name: \"ASP.NET\", mime: \"application/x-aspx\", mode: \"htmlembedded\", ext: [\"aspx\"], alias: [\"asp\", \"aspx\"]},\n {name: \"HTML\", mime: \"text/html\", mode: \"htmlmixed\", ext: [\"html\", \"htm\", \"handlebars\", \"hbs\"], alias: [\"xhtml\"]},\n {name: \"HTTP\", mime: \"message/http\", mode: \"http\"},\n {name: \"IDL\", mime: \"text/x-idl\", mode: \"idl\", ext: [\"pro\"]},\n {name: \"Pug\", mime: \"text/x-pug\", mode: \"pug\", ext: [\"jade\", \"pug\"], alias: [\"jade\"]},\n {name: \"Java\", mime: \"text/x-java\", mode: \"clike\", ext: [\"java\"]},\n {name: \"Java Server Pages\", mime: \"application/x-jsp\", mode: \"htmlembedded\", ext: [\"jsp\"], alias: [\"jsp\"]},\n {name: \"JavaScript\", mimes: [\"text/javascript\", \"text/ecmascript\", \"application/javascript\", \"application/x-javascript\", \"application/ecmascript\"],\n mode: \"javascript\", ext: [\"js\"], alias: [\"ecmascript\", \"js\", \"node\"]},\n {name: \"JSON\", mimes: [\"application/json\", \"application/x-json\"], mode: \"javascript\", ext: [\"json\", \"map\"], alias: [\"json5\"]},\n {name: \"JSON-LD\", mime: \"application/ld+json\", mode: \"javascript\", ext: [\"jsonld\"], alias: [\"jsonld\"]},\n {name: \"JSX\", mime: \"text/jsx\", mode: \"jsx\", ext: [\"jsx\"]},\n {name: \"Jinja2\", mime: \"text/jinja2\", mode: \"jinja2\", ext: [\"j2\", \"jinja\", \"jinja2\"]},\n {name: \"Julia\", mime: \"text/x-julia\", mode: \"julia\", ext: [\"jl\"], alias: [\"jl\"]},\n {name: \"Kotlin\", mime: \"text/x-kotlin\", mode: \"clike\", ext: [\"kt\"]},\n {name: \"LESS\", mime: \"text/x-less\", mode: \"css\", ext: [\"less\"]},\n {name: \"LiveScript\", mime: \"text/x-livescript\", mode: \"livescript\", ext: [\"ls\"], alias: [\"ls\"]},\n {name: \"Lua\", mime: \"text/x-lua\", mode: \"lua\", ext: [\"lua\"]},\n {name: \"Markdown\", mime: \"text/x-markdown\", mode: \"markdown\", ext: [\"markdown\", \"md\", \"mkd\"]},\n {name: \"mIRC\", mime: \"text/mirc\", mode: \"mirc\"},\n {name: \"MariaDB SQL\", mime: \"text/x-mariadb\", mode: \"sql\"},\n {name: \"Mathematica\", mime: \"text/x-mathematica\", mode: \"mathematica\", ext: [\"m\", \"nb\", \"wl\", \"wls\"]},\n {name: \"Modelica\", mime: \"text/x-modelica\", mode: \"modelica\", ext: [\"mo\"]},\n {name: \"MUMPS\", mime: \"text/x-mumps\", mode: \"mumps\", ext: [\"mps\"]},\n {name: \"MS SQL\", mime: \"text/x-mssql\", mode: \"sql\"},\n {name: \"mbox\", mime: \"application/mbox\", mode: \"mbox\", ext: [\"mbox\"]},\n {name: \"MySQL\", mime: \"text/x-mysql\", mode: \"sql\"},\n {name: \"Nginx\", mime: \"text/x-nginx-conf\", mode: \"nginx\", file: /nginx.*\\.conf$/i},\n {name: \"NSIS\", mime: \"text/x-nsis\", mode: \"nsis\", ext: [\"nsh\", \"nsi\"]},\n {name: \"NTriples\", mimes: [\"application/n-triples\", \"application/n-quads\", \"text/n-triples\"],\n mode: \"ntriples\", ext: [\"nt\", \"nq\"]},\n {name: \"Objective-C\", mime: \"text/x-objectivec\", mode: \"clike\", ext: [\"m\"], alias: [\"objective-c\", \"objc\"]},\n {name: \"Objective-C++\", mime: \"text/x-objectivec++\", mode: \"clike\", ext: [\"mm\"], alias: [\"objective-c++\", \"objc++\"]},\n {name: \"OCaml\", mime: \"text/x-ocaml\", mode: \"mllike\", ext: [\"ml\", \"mli\", \"mll\", \"mly\"]},\n {name: \"Octave\", mime: \"text/x-octave\", mode: \"octave\", ext: [\"m\"]},\n {name: \"Oz\", mime: \"text/x-oz\", mode: \"oz\", ext: [\"oz\"]},\n {name: \"Pascal\", mime: \"text/x-pascal\", mode: \"pascal\", ext: [\"p\", \"pas\"]},\n {name: \"PEG.js\", mime: \"null\", mode: \"pegjs\", ext: [\"jsonld\"]},\n {name: \"Perl\", mime: \"text/x-perl\", mode: \"perl\", ext: [\"pl\", \"pm\"]},\n {name: \"PHP\", mimes: [\"text/x-php\", \"application/x-httpd-php\", \"application/x-httpd-php-open\"], mode: \"php\", ext: [\"php\", \"php3\", \"php4\", \"php5\", \"php7\", \"phtml\"]},\n {name: \"Pig\", mime: \"text/x-pig\", mode: \"pig\", ext: [\"pig\"]},\n {name: \"Plain Text\", mime: \"text/plain\", mode: \"null\", ext: [\"txt\", \"text\", \"conf\", \"def\", \"list\", \"log\"]},\n {name: \"PLSQL\", mime: \"text/x-plsql\", mode: \"sql\", ext: [\"pls\"]},\n {name: \"PostgreSQL\", mime: \"text/x-pgsql\", mode: \"sql\"},\n {name: \"PowerShell\", mime: \"application/x-powershell\", mode: \"powershell\", ext: [\"ps1\", \"psd1\", \"psm1\"]},\n {name: \"Properties files\", mime: \"text/x-properties\", mode: \"properties\", ext: [\"properties\", \"ini\", \"in\"], alias: [\"ini\", \"properties\"]},\n {name: \"ProtoBuf\", mime: \"text/x-protobuf\", mode: \"protobuf\", ext: [\"proto\"]},\n {name: \"Python\", mime: \"text/x-python\", mode: \"python\", ext: [\"BUILD\", \"bzl\", \"py\", \"pyw\"], file: /^(BUCK|BUILD)$/},\n {name: \"Puppet\", mime: \"text/x-puppet\", mode: \"puppet\", ext: [\"pp\"]},\n {name: \"Q\", mime: \"text/x-q\", mode: \"q\", ext: [\"q\"]},\n {name: \"R\", mime: \"text/x-rsrc\", mode: \"r\", ext: [\"r\", \"R\"], alias: [\"rscript\"]},\n {name: \"reStructuredText\", mime: \"text/x-rst\", mode: \"rst\", ext: [\"rst\"], alias: [\"rst\"]},\n {name: \"RPM Changes\", mime: \"text/x-rpm-changes\", mode: \"rpm\"},\n {name: \"RPM Spec\", mime: \"text/x-rpm-spec\", mode: \"rpm\", ext: [\"spec\"]},\n {name: \"Ruby\", mime: \"text/x-ruby\", mode: \"ruby\", ext: [\"rb\"], alias: [\"jruby\", \"macruby\", \"rake\", \"rb\", \"rbx\"]},\n {name: \"Rust\", mime: \"text/x-rustsrc\", mode: \"rust\", ext: [\"rs\"]},\n {name: \"SAS\", mime: \"text/x-sas\", mode: \"sas\", ext: [\"sas\"]},\n {name: \"Sass\", mime: \"text/x-sass\", mode: \"sass\", ext: [\"sass\"]},\n {name: \"Scala\", mime: \"text/x-scala\", mode: \"clike\", ext: [\"scala\"]},\n {name: \"Scheme\", mime: \"text/x-scheme\", mode: \"scheme\", ext: [\"scm\", \"ss\"]},\n {name: \"SCSS\", mime: \"text/x-scss\", mode: \"css\", ext: [\"scss\"]},\n {name: \"Shell\", mimes: [\"text/x-sh\", \"application/x-sh\"], mode: \"shell\", ext: [\"sh\", \"ksh\", \"bash\"], alias: [\"bash\", \"sh\", \"zsh\"], file: /^PKGBUILD$/},\n {name: \"Sieve\", mime: \"application/sieve\", mode: \"sieve\", ext: [\"siv\", \"sieve\"]},\n {name: \"Slim\", mimes: [\"text/x-slim\", \"application/x-slim\"], mode: \"slim\", ext: [\"slim\"]},\n {name: \"Smalltalk\", mime: \"text/x-stsrc\", mode: \"smalltalk\", ext: [\"st\"]},\n {name: \"Smarty\", mime: \"text/x-smarty\", mode: \"smarty\", ext: [\"tpl\"]},\n {name: \"Solr\", mime: \"text/x-solr\", mode: \"solr\"},\n {name: \"SML\", mime: \"text/x-sml\", mode: \"mllike\", ext: [\"sml\", \"sig\", \"fun\", \"smackspec\"]},\n {name: \"Soy\", mime: \"text/x-soy\", mode: \"soy\", ext: [\"soy\"], alias: [\"closure template\"]},\n {name: \"SPARQL\", mime: \"application/sparql-query\", mode: \"sparql\", ext: [\"rq\", \"sparql\"], alias: [\"sparul\"]},\n {name: \"Spreadsheet\", mime: \"text/x-spreadsheet\", mode: \"spreadsheet\", alias: [\"excel\", \"formula\"]},\n {name: \"SQL\", mime: \"text/x-sql\", mode: \"sql\", ext: [\"sql\"]},\n {name: \"SQLite\", mime: \"text/x-sqlite\", mode: \"sql\"},\n {name: \"Squirrel\", mime: \"text/x-squirrel\", mode: \"clike\", ext: [\"nut\"]},\n {name: \"Stylus\", mime: \"text/x-styl\", mode: \"stylus\", ext: [\"styl\"]},\n {name: \"Swift\", mime: \"text/x-swift\", mode: \"swift\", ext: [\"swift\"]},\n {name: \"sTeX\", mime: \"text/x-stex\", mode: \"stex\"},\n {name: \"LaTeX\", mime: \"text/x-latex\", mode: \"stex\", ext: [\"text\", \"ltx\", \"tex\"], alias: [\"tex\"]},\n {name: \"SystemVerilog\", mime: \"text/x-systemverilog\", mode: \"verilog\", ext: [\"v\", \"sv\", \"svh\"]},\n {name: \"Tcl\", mime: \"text/x-tcl\", mode: \"tcl\", ext: [\"tcl\"]},\n {name: \"Textile\", mime: \"text/x-textile\", mode: \"textile\", ext: [\"textile\"]},\n {name: \"TiddlyWiki\", mime: \"text/x-tiddlywiki\", mode: \"tiddlywiki\"},\n {name: \"Tiki wiki\", mime: \"text/tiki\", mode: \"tiki\"},\n {name: \"TOML\", mime: \"text/x-toml\", mode: \"toml\", ext: [\"toml\"]},\n {name: \"Tornado\", mime: \"text/x-tornado\", mode: \"tornado\"},\n {name: \"troff\", mime: \"text/troff\", mode: \"troff\", ext: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"]},\n {name: \"TTCN\", mime: \"text/x-ttcn\", mode: \"ttcn\", ext: [\"ttcn\", \"ttcn3\", \"ttcnpp\"]},\n {name: \"TTCN_CFG\", mime: \"text/x-ttcn-cfg\", mode: \"ttcn-cfg\", ext: [\"cfg\"]},\n {name: \"Turtle\", mime: \"text/turtle\", mode: \"turtle\", ext: [\"ttl\"]},\n {name: \"TypeScript\", mime: \"application/typescript\", mode: \"javascript\", ext: [\"ts\"], alias: [\"ts\"]},\n {name: \"TypeScript-JSX\", mime: \"text/typescript-jsx\", mode: \"jsx\", ext: [\"tsx\"], alias: [\"tsx\"]},\n {name: \"Twig\", mime: \"text/x-twig\", mode: \"twig\"},\n {name: \"Web IDL\", mime: \"text/x-webidl\", mode: \"webidl\", ext: [\"webidl\"]},\n {name: \"VB.NET\", mime: \"text/x-vb\", mode: \"vb\", ext: [\"vb\"]},\n {name: \"VBScript\", mime: \"text/vbscript\", mode: \"vbscript\", ext: [\"vbs\"]},\n {name: \"Velocity\", mime: \"text/velocity\", mode: \"velocity\", ext: [\"vtl\"]},\n {name: \"Verilog\", mime: \"text/x-verilog\", mode: \"verilog\", ext: [\"v\"]},\n {name: \"VHDL\", mime: \"text/x-vhdl\", mode: \"vhdl\", ext: [\"vhd\", \"vhdl\"]},\n {name: \"Vue.js Component\", mimes: [\"script/x-vue\", \"text/x-vue\"], mode: \"vue\", ext: [\"vue\"]},\n {name: \"XML\", mimes: [\"application/xml\", \"text/xml\"], mode: \"xml\", ext: [\"xml\", \"xsl\", \"xsd\", \"svg\"], alias: [\"rss\", \"wsdl\", \"xsd\"]},\n {name: \"XQuery\", mime: \"application/xquery\", mode: \"xquery\", ext: [\"xy\", \"xquery\"]},\n {name: \"Yacas\", mime: \"text/x-yacas\", mode: \"yacas\", ext: [\"ys\"]},\n {name: \"YAML\", mimes: [\"text/x-yaml\", \"text/yaml\"], mode: \"yaml\", ext: [\"yaml\", \"yml\"], alias: [\"yml\"]},\n {name: \"Z80\", mime: \"text/x-z80\", mode: \"z80\", ext: [\"z80\"]},\n {name: \"mscgen\", mime: \"text/x-mscgen\", mode: \"mscgen\", ext: [\"mscgen\", \"mscin\", \"msc\"]},\n {name: \"xu\", mime: \"text/x-xu\", mode: \"mscgen\", ext: [\"xu\"]},\n {name: \"msgenny\", mime: \"text/x-msgenny\", mode: \"mscgen\", ext: [\"msgenny\"]},\n {name: \"WebAssembly\", mime: \"text/webassembly\", mode: \"wast\", ext: [\"wat\", \"wast\"]},\n ];\n // Ensure all modes have a mime property for backwards compatibility\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mimes) info.mime = info.mimes[0];\n }\n\n CodeMirror.findModeByMIME = function(mime) {\n mime = mime.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mime == mime) return info;\n if (info.mimes) for (var j = 0; j < info.mimes.length; j++)\n if (info.mimes[j] == mime) return info;\n }\n if (/\\+xml$/.test(mime)) return CodeMirror.findModeByMIME(\"application/xml\")\n if (/\\+json$/.test(mime)) return CodeMirror.findModeByMIME(\"application/json\")\n };\n\n CodeMirror.findModeByExtension = function(ext) {\n ext = ext.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.ext) for (var j = 0; j < info.ext.length; j++)\n if (info.ext[j] == ext) return info;\n }\n };\n\n CodeMirror.findModeByFileName = function(filename) {\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.file && info.file.test(filename)) return info;\n }\n var dot = filename.lastIndexOf(\".\");\n var ext = dot > -1 && filename.substring(dot + 1, filename.length);\n if (ext) return CodeMirror.findModeByExtension(ext);\n };\n\n CodeMirror.findModeByName = function(name) {\n name = name.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.name.toLowerCase() == name) return info;\n if (info.alias) for (var j = 0; j < info.alias.length; j++)\n if (info.alias[j].toLowerCase() == name) return info;\n }\n };\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n function wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\");\n }\n\n var wordOperators = wordRegexp([\"and\", \"or\", \"not\", \"is\"]);\n var commonKeywords = [\"as\", \"assert\", \"break\", \"class\", \"continue\",\n \"def\", \"del\", \"elif\", \"else\", \"except\", \"finally\",\n \"for\", \"from\", \"global\", \"if\", \"import\",\n \"lambda\", \"pass\", \"raise\", \"return\",\n \"try\", \"while\", \"with\", \"yield\", \"in\", \"False\", \"True\"];\n var commonBuiltins = [\"abs\", \"all\", \"any\", \"bin\", \"bool\", \"bytearray\", \"callable\", \"chr\",\n \"classmethod\", \"compile\", \"complex\", \"delattr\", \"dict\", \"dir\", \"divmod\",\n \"enumerate\", \"eval\", \"filter\", \"float\", \"format\", \"frozenset\",\n \"getattr\", \"globals\", \"hasattr\", \"hash\", \"help\", \"hex\", \"id\",\n \"input\", \"int\", \"isinstance\", \"issubclass\", \"iter\", \"len\",\n \"list\", \"locals\", \"map\", \"max\", \"memoryview\", \"min\", \"next\",\n \"object\", \"oct\", \"open\", \"ord\", \"pow\", \"property\", \"range\",\n \"repr\", \"reversed\", \"round\", \"set\", \"setattr\", \"slice\",\n \"sorted\", \"staticmethod\", \"str\", \"sum\", \"super\", \"tuple\",\n \"type\", \"vars\", \"zip\", \"__import__\", \"NotImplemented\",\n \"Ellipsis\", \"__debug__\"];\n CodeMirror.registerHelper(\"hintWords\", \"python\", commonKeywords.concat(commonBuiltins).concat([\"exec\", \"print\"]));\n\n function top(state) {\n return state.scopes[state.scopes.length - 1];\n }\n\n CodeMirror.defineMode(\"python\", function(conf, parserConf) {\n var ERRORCLASS = \"error\";\n\n var delimiters = parserConf.delimiters || parserConf.singleDelimiters || /^[\\(\\)\\[\\]\\{\\}@,:`=;\\.\\\\]/;\n // (Backwards-compatibility with old, cumbersome config system)\n var operators = [parserConf.singleOperators, parserConf.doubleOperators, parserConf.doubleDelimiters, parserConf.tripleDelimiters,\n parserConf.operators || /^([-+*/%\\/&|^]=?|[<>=]+|\\/\\/=?|\\*\\*=?|!=|[~!@]|\\.\\.\\.)/]\n for (var i = 0; i < operators.length; i++) if (!operators[i]) operators.splice(i--, 1)\n\n var hangingIndent = parserConf.hangingIndent || conf.indentUnit;\n\n var myKeywords = commonKeywords, myBuiltins = commonBuiltins;\n if (parserConf.extra_keywords != undefined)\n myKeywords = myKeywords.concat(parserConf.extra_keywords);\n\n if (parserConf.extra_builtins != undefined)\n myBuiltins = myBuiltins.concat(parserConf.extra_builtins);\n\n var py3 = !(parserConf.version && Number(parserConf.version) < 3)\n if (py3) {\n // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator\n var identifiers = parserConf.identifiers|| /^[_A-Za-z\\u00A1-\\uFFFF][_A-Za-z0-9\\u00A1-\\uFFFF]*/;\n myKeywords = myKeywords.concat([\"nonlocal\", \"None\", \"aiter\", \"anext\", \"async\", \"await\", \"breakpoint\", \"match\", \"case\"]);\n myBuiltins = myBuiltins.concat([\"ascii\", \"bytes\", \"exec\", \"print\"]);\n var stringPrefixes = new RegExp(\"^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|\\\"{3}|['\\\"]))\", \"i\");\n } else {\n var identifiers = parserConf.identifiers|| /^[_A-Za-z][_A-Za-z0-9]*/;\n myKeywords = myKeywords.concat([\"exec\", \"print\"]);\n myBuiltins = myBuiltins.concat([\"apply\", \"basestring\", \"buffer\", \"cmp\", \"coerce\", \"execfile\",\n \"file\", \"intern\", \"long\", \"raw_input\", \"reduce\", \"reload\",\n \"unichr\", \"unicode\", \"xrange\", \"None\"]);\n var stringPrefixes = new RegExp(\"^(([rubf]|(ur)|(br))?('{3}|\\\"{3}|['\\\"]))\", \"i\");\n }\n var keywords = wordRegexp(myKeywords);\n var builtins = wordRegexp(myBuiltins);\n\n // tokenizers\n function tokenBase(stream, state) {\n var sol = stream.sol() && state.lastToken != \"\\\\\"\n if (sol) state.indent = stream.indentation()\n // Handle scope changes\n if (sol && top(state).type == \"py\") {\n var scopeOffset = top(state).offset;\n if (stream.eatSpace()) {\n var lineOffset = stream.indentation();\n if (lineOffset > scopeOffset)\n pushPyScope(state);\n else if (lineOffset < scopeOffset && dedent(stream, state) && stream.peek() != \"#\")\n state.errorToken = true;\n return null;\n } else {\n var style = tokenBaseInner(stream, state);\n if (scopeOffset > 0 && dedent(stream, state))\n style += \" \" + ERRORCLASS;\n return style;\n }\n }\n return tokenBaseInner(stream, state);\n }\n\n function tokenBaseInner(stream, state, inFormat) {\n if (stream.eatSpace()) return null;\n\n // Handle Comments\n if (!inFormat && stream.match(/^#.*/)) return \"comment\";\n\n // Handle Number Literals\n if (stream.match(/^[0-9\\.]/, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^[\\d_]*\\.\\d+(e[\\+\\-]?\\d+)?/i)) { floatLiteral = true; }\n if (stream.match(/^[\\d_]+\\.\\d*/)) { floatLiteral = true; }\n if (stream.match(/^\\.\\d+/)) { floatLiteral = true; }\n if (floatLiteral) {\n // Float literals may be \"imaginary\"\n stream.eat(/J/i);\n return \"number\";\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^0x[0-9a-f_]+/i)) intLiteral = true;\n // Binary\n if (stream.match(/^0b[01_]+/i)) intLiteral = true;\n // Octal\n if (stream.match(/^0o[0-7_]+/i)) intLiteral = true;\n // Decimal\n if (stream.match(/^[1-9][\\d_]*(e[\\+\\-]?[\\d_]+)?/)) {\n // Decimal literals may be \"imaginary\"\n stream.eat(/J/i);\n // TODO - Can you have imaginary longs?\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n if (stream.match(/^0(?![\\dx])/i)) intLiteral = true;\n if (intLiteral) {\n // Integer literals may be \"long\"\n stream.eat(/L/i);\n return \"number\";\n }\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n var isFmtString = stream.current().toLowerCase().indexOf('f') !== -1;\n if (!isFmtString) {\n state.tokenize = tokenStringFactory(stream.current(), state.tokenize);\n return state.tokenize(stream, state);\n } else {\n state.tokenize = formatStringFactory(stream.current(), state.tokenize);\n return state.tokenize(stream, state);\n }\n }\n\n for (var i = 0; i < operators.length; i++)\n if (stream.match(operators[i])) return \"operator\"\n\n if (stream.match(delimiters)) return \"punctuation\";\n\n if (state.lastToken == \".\" && stream.match(identifiers))\n return \"property\";\n\n if (stream.match(keywords) || stream.match(wordOperators))\n return \"keyword\";\n\n if (stream.match(builtins))\n return \"builtin\";\n\n if (stream.match(/^(self|cls)\\b/))\n return \"variable-2\";\n\n if (stream.match(identifiers)) {\n if (state.lastToken == \"def\" || state.lastToken == \"class\")\n return \"def\";\n return \"variable\";\n }\n\n // Handle non-detected items\n stream.next();\n return inFormat ? null :ERRORCLASS;\n }\n\n function formatStringFactory(delimiter, tokenOuter) {\n while (\"rubf\".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)\n delimiter = delimiter.substr(1);\n\n var singleline = delimiter.length == 1;\n var OUTCLASS = \"string\";\n\n function tokenNestedExpr(depth) {\n return function(stream, state) {\n var inner = tokenBaseInner(stream, state, true)\n if (inner == \"punctuation\") {\n if (stream.current() == \"{\") {\n state.tokenize = tokenNestedExpr(depth + 1)\n } else if (stream.current() == \"}\") {\n if (depth > 1) state.tokenize = tokenNestedExpr(depth - 1)\n else state.tokenize = tokenString\n }\n }\n return inner\n }\n }\n\n function tokenString(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\{\\}\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol())\n return OUTCLASS;\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenOuter;\n return OUTCLASS;\n } else if (stream.match('{{')) {\n // ignore {{ in f-str\n return OUTCLASS;\n } else if (stream.match('{', false)) {\n // switch to nested mode\n state.tokenize = tokenNestedExpr(0)\n if (stream.current()) return OUTCLASS;\n else return state.tokenize(stream, state)\n } else if (stream.match('}}')) {\n return OUTCLASS;\n } else if (stream.match('}')) {\n // single } in f-string is an error\n return ERRORCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors)\n return ERRORCLASS;\n else\n state.tokenize = tokenOuter;\n }\n return OUTCLASS;\n }\n tokenString.isString = true;\n return tokenString;\n }\n\n function tokenStringFactory(delimiter, tokenOuter) {\n while (\"rubf\".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)\n delimiter = delimiter.substr(1);\n\n var singleline = delimiter.length == 1;\n var OUTCLASS = \"string\";\n\n function tokenString(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol())\n return OUTCLASS;\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenOuter;\n return OUTCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors)\n return ERRORCLASS;\n else\n state.tokenize = tokenOuter;\n }\n return OUTCLASS;\n }\n tokenString.isString = true;\n return tokenString;\n }\n\n function pushPyScope(state) {\n while (top(state).type != \"py\") state.scopes.pop()\n state.scopes.push({offset: top(state).offset + conf.indentUnit,\n type: \"py\",\n align: null})\n }\n\n function pushBracketScope(stream, state, type) {\n var align = stream.match(/^[\\s\\[\\{\\(]*(?:#|$)/, false) ? null : stream.column() + 1\n state.scopes.push({offset: state.indent + hangingIndent,\n type: type,\n align: align})\n }\n\n function dedent(stream, state) {\n var indented = stream.indentation();\n while (state.scopes.length > 1 && top(state).offset > indented) {\n if (top(state).type != \"py\") return true;\n state.scopes.pop();\n }\n return top(state).offset != indented;\n }\n\n function tokenLexer(stream, state) {\n if (stream.sol()) {\n state.beginningOfLine = true;\n state.dedent = false;\n }\n\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle decorators\n if (state.beginningOfLine && current == \"@\")\n return stream.match(identifiers, false) ? \"meta\" : py3 ? \"operator\" : ERRORCLASS;\n\n if (/\\S/.test(current)) state.beginningOfLine = false;\n\n if ((style == \"variable\" || style == \"builtin\")\n && state.lastToken == \"meta\")\n style = \"meta\";\n\n // Handle scope changes.\n if (current == \"pass\" || current == \"return\")\n state.dedent = true;\n\n if (current == \"lambda\") state.lambda = true;\n if (current == \":\" && !state.lambda && top(state).type == \"py\" && stream.match(/^\\s*(?:#|$)/, false))\n pushPyScope(state);\n\n if (current.length == 1 && !/string|comment/.test(style)) {\n var delimiter_index = \"[({\".indexOf(current);\n if (delimiter_index != -1)\n pushBracketScope(stream, state, \"])}\".slice(delimiter_index, delimiter_index+1));\n\n delimiter_index = \"])}\".indexOf(current);\n if (delimiter_index != -1) {\n if (top(state).type == current) state.indent = state.scopes.pop().offset - hangingIndent\n else return ERRORCLASS;\n }\n }\n if (state.dedent && stream.eol() && top(state).type == \"py\" && state.scopes.length > 1)\n state.scopes.pop();\n\n return style;\n }\n\n var external = {\n startState: function(basecolumn) {\n return {\n tokenize: tokenBase,\n scopes: [{offset: basecolumn || 0, type: \"py\", align: null}],\n indent: basecolumn || 0,\n lastToken: null,\n lambda: false,\n dedent: 0\n };\n },\n\n token: function(stream, state) {\n var addErr = state.errorToken;\n if (addErr) state.errorToken = false;\n var style = tokenLexer(stream, state);\n\n if (style && style != \"comment\")\n state.lastToken = (style == \"keyword\" || style == \"punctuation\") ? stream.current() : style;\n if (style == \"punctuation\") style = null;\n\n if (stream.eol() && state.lambda)\n state.lambda = false;\n return addErr ? style + \" \" + ERRORCLASS : style;\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize != tokenBase)\n return state.tokenize.isString ? CodeMirror.Pass : 0;\n\n var scope = top(state)\n var closing = scope.type == textAfter.charAt(0) ||\n scope.type == \"py\" && !state.dedent && /^(else:|elif |except |finally:)/.test(textAfter)\n if (scope.align != null)\n return scope.align - (closing ? 1 : 0)\n else\n return scope.offset - (closing ? hangingIndent : 0)\n },\n\n electricInput: /^\\s*([\\}\\]\\)]|else:|elif |except |finally:)$/,\n closeBrackets: {triples: \"'\\\"\"},\n lineComment: \"#\",\n fold: \"indent\"\n };\n return external;\n });\n\n CodeMirror.defineMIME(\"text/x-python\", \"python\");\n\n var words = function(str) { return str.split(\" \"); };\n\n CodeMirror.defineMIME(\"text/x-cython\", {\n name: \"python\",\n extra_keywords: words(\"by cdef cimport cpdef ctypedef enum except \"+\n \"extern gil include nogil property public \"+\n \"readonly struct union DEF IF ELIF ELSE\")\n });\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"wordChars\", \"r\", /[\\w.]/);\n\nCodeMirror.defineMode(\"r\", function(config) {\n function wordObj(words) {\n var res = {};\n for (var i = 0; i < words.length; ++i) res[words[i]] = true;\n return res;\n }\n var commonAtoms = [\"NULL\", \"NA\", \"Inf\", \"NaN\", \"NA_integer_\", \"NA_real_\", \"NA_complex_\", \"NA_character_\", \"TRUE\", \"FALSE\"];\n var commonBuiltins = [\"list\", \"quote\", \"bquote\", \"eval\", \"return\", \"call\", \"parse\", \"deparse\"];\n var commonKeywords = [\"if\", \"else\", \"repeat\", \"while\", \"function\", \"for\", \"in\", \"next\", \"break\"];\n var commonBlockKeywords = [\"if\", \"else\", \"repeat\", \"while\", \"function\", \"for\"];\n\n CodeMirror.registerHelper(\"hintWords\", \"r\", commonAtoms.concat(commonBuiltins, commonKeywords));\n\n var atoms = wordObj(commonAtoms);\n var builtins = wordObj(commonBuiltins);\n var keywords = wordObj(commonKeywords);\n var blockkeywords = wordObj(commonBlockKeywords);\n var opChars = /[+\\-*\\/^<>=!&|~$:]/;\n var curPunc;\n\n function tokenBase(stream, state) {\n curPunc = null;\n var ch = stream.next();\n if (ch == \"#\") {\n stream.skipToEnd();\n return \"comment\";\n } else if (ch == \"0\" && stream.eat(\"x\")) {\n stream.eatWhile(/[\\da-f]/i);\n return \"number\";\n } else if (ch == \".\" && stream.eat(/\\d/)) {\n stream.match(/\\d*(?:e[+\\-]?\\d+)?/);\n return \"number\";\n } else if (/\\d/.test(ch)) {\n stream.match(/\\d*(?:\\.\\d+)?(?:e[+\\-]\\d+)?L?/);\n return \"number\";\n } else if (ch == \"'\" || ch == '\"') {\n state.tokenize = tokenString(ch);\n return \"string\";\n } else if (ch == \"`\") {\n stream.match(/[^`]+`/);\n return \"variable-3\";\n } else if (ch == \".\" && stream.match(/.(?:[.]|\\d+)/)) {\n return \"keyword\";\n } else if (/[a-zA-Z\\.]/.test(ch)) {\n stream.eatWhile(/[\\w\\.]/);\n var word = stream.current();\n if (atoms.propertyIsEnumerable(word)) return \"atom\";\n if (keywords.propertyIsEnumerable(word)) {\n // Block keywords start new blocks, except 'else if', which only starts\n // one new block for the 'if', no block for the 'else'.\n if (blockkeywords.propertyIsEnumerable(word) &&\n !stream.match(/\\s*if(\\s+|$)/, false))\n curPunc = \"block\";\n return \"keyword\";\n }\n if (builtins.propertyIsEnumerable(word)) return \"builtin\";\n return \"variable\";\n } else if (ch == \"%\") {\n if (stream.skipTo(\"%\")) stream.next();\n return \"operator variable-2\";\n } else if (\n (ch == \"<\" && stream.eat(\"-\")) ||\n (ch == \"<\" && stream.match(\"<-\")) ||\n (ch == \"-\" && stream.match(/>>?/))\n ) {\n return \"operator arrow\";\n } else if (ch == \"=\" && state.ctx.argList) {\n return \"arg-is\";\n } else if (opChars.test(ch)) {\n if (ch == \"$\") return \"operator dollar\";\n stream.eatWhile(opChars);\n return \"operator\";\n } else if (/[\\(\\){}\\[\\];]/.test(ch)) {\n curPunc = ch;\n if (ch == \";\") return \"semi\";\n return null;\n } else {\n return null;\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n if (stream.eat(\"\\\\\")) {\n var ch = stream.next();\n if (ch == \"x\") stream.match(/^[a-f0-9]{2}/i);\n else if ((ch == \"u\" || ch == \"U\") && stream.eat(\"{\") && stream.skipTo(\"}\")) stream.next();\n else if (ch == \"u\") stream.match(/^[a-f0-9]{4}/i);\n else if (ch == \"U\") stream.match(/^[a-f0-9]{8}/i);\n else if (/[0-7]/.test(ch)) stream.match(/^[0-7]{1,2}/);\n return \"string-2\";\n } else {\n var next;\n while ((next = stream.next()) != null) {\n if (next == quote) { state.tokenize = tokenBase; break; }\n if (next == \"\\\\\") { stream.backUp(1); break; }\n }\n return \"string\";\n }\n };\n }\n\n var ALIGN_YES = 1, ALIGN_NO = 2, BRACELESS = 4\n\n function push(state, type, stream) {\n state.ctx = {type: type,\n indent: state.indent,\n flags: 0,\n column: stream.column(),\n prev: state.ctx};\n }\n function setFlag(state, flag) {\n var ctx = state.ctx\n state.ctx = {type: ctx.type,\n indent: ctx.indent,\n flags: ctx.flags | flag,\n column: ctx.column,\n prev: ctx.prev}\n }\n function pop(state) {\n state.indent = state.ctx.indent;\n state.ctx = state.ctx.prev;\n }\n\n return {\n startState: function() {\n return {tokenize: tokenBase,\n ctx: {type: \"top\",\n indent: -config.indentUnit,\n flags: ALIGN_NO},\n indent: 0,\n afterIdent: false};\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if ((state.ctx.flags & 3) == 0) state.ctx.flags |= ALIGN_NO\n if (state.ctx.flags & BRACELESS) pop(state)\n state.indent = stream.indentation();\n }\n if (stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (style != \"comment\" && (state.ctx.flags & ALIGN_NO) == 0) setFlag(state, ALIGN_YES)\n\n if ((curPunc == \";\" || curPunc == \"{\" || curPunc == \"}\") && state.ctx.type == \"block\") pop(state);\n if (curPunc == \"{\") push(state, \"}\", stream);\n else if (curPunc == \"(\") {\n push(state, \")\", stream);\n if (state.afterIdent) state.ctx.argList = true;\n }\n else if (curPunc == \"[\") push(state, \"]\", stream);\n else if (curPunc == \"block\") push(state, \"block\", stream);\n else if (curPunc == state.ctx.type) pop(state);\n else if (state.ctx.type == \"block\" && style != \"comment\") setFlag(state, BRACELESS)\n state.afterIdent = style == \"variable\" || style == \"keyword\";\n return style;\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), ctx = state.ctx,\n closing = firstChar == ctx.type;\n if (ctx.flags & BRACELESS) ctx = ctx.prev\n if (ctx.type == \"block\") return ctx.indent + (firstChar == \"{\" ? 0 : config.indentUnit);\n else if (ctx.flags & ALIGN_YES) return ctx.column + (closing ? 0 : 1);\n else return ctx.indent + (closing ? 0 : config.indentUnit);\n },\n\n lineComment: \"#\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-rsrc\", \"r\");\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nvar htmlConfig = {\n autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,\n 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,\n 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,\n 'track': true, 'wbr': true, 'menuitem': true},\n implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,\n 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,\n 'th': true, 'tr': true},\n contextGrabbers: {\n 'dd': {'dd': true, 'dt': true},\n 'dt': {'dd': true, 'dt': true},\n 'li': {'li': true},\n 'option': {'option': true, 'optgroup': true},\n 'optgroup': {'optgroup': true},\n 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,\n 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,\n 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,\n 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,\n 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},\n 'rp': {'rp': true, 'rt': true},\n 'rt': {'rp': true, 'rt': true},\n 'tbody': {'tbody': true, 'tfoot': true},\n 'td': {'td': true, 'th': true},\n 'tfoot': {'tbody': true},\n 'th': {'td': true, 'th': true},\n 'thead': {'tbody': true, 'tfoot': true},\n 'tr': {'tr': true}\n },\n doNotIndent: {\"pre\": true},\n allowUnquoted: true,\n allowMissing: true,\n caseFold: true\n}\n\nvar xmlConfig = {\n autoSelfClosers: {},\n implicitlyClosed: {},\n contextGrabbers: {},\n doNotIndent: {},\n allowUnquoted: false,\n allowMissing: false,\n allowMissingTagName: false,\n caseFold: false\n}\n\nCodeMirror.defineMode(\"xml\", function(editorConf, config_) {\n var indentUnit = editorConf.indentUnit\n var config = {}\n var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n for (var prop in defaults) config[prop] = defaults[prop]\n for (var prop in config_) config[prop] = config_[prop]\n\n // Return variables for tokenizers\n var type, setStyle;\n\n function inText(stream, state) {\n function chain(parser) {\n state.tokenize = parser;\n return parser(stream, state);\n }\n\n var ch = stream.next();\n if (ch == \"<\") {\n if (stream.eat(\"!\")) {\n if (stream.eat(\"[\")) {\n if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));\n else return null;\n } else if (stream.match(\"--\")) {\n return chain(inBlock(\"comment\", \"-->\"));\n } else if (stream.match(\"DOCTYPE\", true, true)) {\n stream.eatWhile(/[\\w\\._\\-]/);\n return chain(doctype(1));\n } else {\n return null;\n }\n } else if (stream.eat(\"?\")) {\n stream.eatWhile(/[\\w\\._\\-]/);\n state.tokenize = inBlock(\"meta\", \"?>\");\n return \"meta\";\n } else {\n type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n state.tokenize = inTag;\n return \"tag bracket\";\n }\n } else if (ch == \"&\") {\n var ok;\n if (stream.eat(\"#\")) {\n if (stream.eat(\"x\")) {\n ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n } else {\n ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n }\n } else {\n ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n }\n return ok ? \"atom\" : \"error\";\n } else {\n stream.eatWhile(/[^&<]/);\n return null;\n }\n }\n inText.isInText = true;\n\n function inTag(stream, state) {\n var ch = stream.next();\n if (ch == \">\" || (ch == \"/\" && stream.eat(\">\"))) {\n state.tokenize = inText;\n type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n return \"tag bracket\";\n } else if (ch == \"=\") {\n type = \"equals\";\n return null;\n } else if (ch == \"<\") {\n state.tokenize = inText;\n state.state = baseState;\n state.tagName = state.tagStart = null;\n var next = state.tokenize(stream, state);\n return next ? next + \" tag error\" : \"tag error\";\n } else if (/[\\'\\\"]/.test(ch)) {\n state.tokenize = inAttribute(ch);\n state.stringStartCol = stream.column();\n return state.tokenize(stream, state);\n } else {\n stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n return \"word\";\n }\n }\n\n function inAttribute(quote) {\n var closure = function(stream, state) {\n while (!stream.eol()) {\n if (stream.next() == quote) {\n state.tokenize = inTag;\n break;\n }\n }\n return \"string\";\n };\n closure.isInAttribute = true;\n return closure;\n }\n\n function inBlock(style, terminator) {\n return function(stream, state) {\n while (!stream.eol()) {\n if (stream.match(terminator)) {\n state.tokenize = inText;\n break;\n }\n stream.next();\n }\n return style;\n }\n }\n\n function doctype(depth) {\n return function(stream, state) {\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"<\") {\n state.tokenize = doctype(depth + 1);\n return state.tokenize(stream, state);\n } else if (ch == \">\") {\n if (depth == 1) {\n state.tokenize = inText;\n break;\n } else {\n state.tokenize = doctype(depth - 1);\n return state.tokenize(stream, state);\n }\n }\n }\n return \"meta\";\n };\n }\n\n function lower(tagName) {\n return tagName && tagName.toLowerCase();\n }\n\n function Context(state, tagName, startOfLine) {\n this.prev = state.context;\n this.tagName = tagName || \"\";\n this.indent = state.indented;\n this.startOfLine = startOfLine;\n if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))\n this.noIndent = true;\n }\n function popContext(state) {\n if (state.context) state.context = state.context.prev;\n }\n function maybePopContext(state, nextTagName) {\n var parentTagName;\n while (true) {\n if (!state.context) {\n return;\n }\n parentTagName = state.context.tagName;\n if (!config.contextGrabbers.hasOwnProperty(lower(parentTagName)) ||\n !config.contextGrabbers[lower(parentTagName)].hasOwnProperty(lower(nextTagName))) {\n return;\n }\n popContext(state);\n }\n }\n\n function baseState(type, stream, state) {\n if (type == \"openTag\") {\n state.tagStart = stream.column();\n return tagNameState;\n } else if (type == \"closeTag\") {\n return closeTagNameState;\n } else {\n return baseState;\n }\n }\n function tagNameState(type, stream, state) {\n if (type == \"word\") {\n state.tagName = stream.current();\n setStyle = \"tag\";\n return attrState;\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return attrState(type, stream, state);\n } else {\n setStyle = \"error\";\n return tagNameState;\n }\n }\n function closeTagNameState(type, stream, state) {\n if (type == \"word\") {\n var tagName = stream.current();\n if (state.context && state.context.tagName != tagName &&\n config.implicitlyClosed.hasOwnProperty(lower(state.context.tagName)))\n popContext(state);\n if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {\n setStyle = \"tag\";\n return closeState;\n } else {\n setStyle = \"tag error\";\n return closeStateErr;\n }\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return closeState(type, stream, state);\n } else {\n setStyle = \"error\";\n return closeStateErr;\n }\n }\n\n function closeState(type, _stream, state) {\n if (type != \"endTag\") {\n setStyle = \"error\";\n return closeState;\n }\n popContext(state);\n return baseState;\n }\n function closeStateErr(type, stream, state) {\n setStyle = \"error\";\n return closeState(type, stream, state);\n }\n\n function attrState(type, _stream, state) {\n if (type == \"word\") {\n setStyle = \"attribute\";\n return attrEqState;\n } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n var tagName = state.tagName, tagStart = state.tagStart;\n state.tagName = state.tagStart = null;\n if (type == \"selfcloseTag\" ||\n config.autoSelfClosers.hasOwnProperty(lower(tagName))) {\n maybePopContext(state, tagName);\n } else {\n maybePopContext(state, tagName);\n state.context = new Context(state, tagName, tagStart == state.indented);\n }\n return baseState;\n }\n setStyle = \"error\";\n return attrState;\n }\n function attrEqState(type, stream, state) {\n if (type == \"equals\") return attrValueState;\n if (!config.allowMissing) setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrValueState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n if (type == \"word\" && config.allowUnquoted) {setStyle = \"string\"; return attrState;}\n setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrContinuedState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n return attrState(type, stream, state);\n }\n\n return {\n startState: function(baseIndent) {\n var state = {tokenize: inText,\n state: baseState,\n indented: baseIndent || 0,\n tagName: null, tagStart: null,\n context: null}\n if (baseIndent != null) state.baseIndent = baseIndent\n return state\n },\n\n token: function(stream, state) {\n if (!state.tagName && stream.sol())\n state.indented = stream.indentation();\n\n if (stream.eatSpace()) return null;\n type = null;\n var style = state.tokenize(stream, state);\n if ((style || type) && style != \"comment\") {\n setStyle = null;\n state.state = state.state(type || style, stream, state);\n if (setStyle)\n style = setStyle == \"error\" ? style + \" error\" : setStyle;\n }\n return style;\n },\n\n indent: function(state, textAfter, fullLine) {\n var context = state.context;\n // Indent multi-line strings (e.g. css).\n if (state.tokenize.isInAttribute) {\n if (state.tagStart == state.indented)\n return state.stringStartCol + 1;\n else\n return state.indented + indentUnit;\n }\n if (context && context.noIndent) return CodeMirror.Pass;\n if (state.tokenize != inTag && state.tokenize != inText)\n return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0;\n // Indent the starts of attribute names.\n if (state.tagName) {\n if (config.multilineTagIndentPastTag !== false)\n return state.tagStart + state.tagName.length + 2;\n else\n return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n }\n if (config.alignCDATA && /$/,\n blockCommentStart: \"\",\n\n configuration: config.htmlMode ? \"html\" : \"xml\",\n helperType: config.htmlMode ? \"html\" : \"xml\",\n\n skipAttribute: function(state) {\n if (state.state == attrValueState)\n state.state = attrState\n },\n\n xmlCurrentTag: function(state) {\n return state.tagName ? {name: state.tagName, close: state.type == \"closeTag\"} : null\n },\n\n xmlCurrentContext: function(state) {\n var context = []\n for (var cx = state.context; cx; cx = cx.prev)\n context.push(cx.tagName)\n return context.reverse()\n }\n };\n});\n\nCodeMirror.defineMIME(\"text/xml\", \"xml\");\nCodeMirror.defineMIME(\"application/xml\", \"xml\");\nif (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\"))\n CodeMirror.defineMIME(\"text/html\", {name: \"xml\", htmlMode: true});\n\n});\n","var jsonlint = (function(){var require=true,module=false;var exports={};/*\n json_parse.js\n 2016-05-02\n\n Public Domain.\n\n NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\n\n This file creates a json_parse function.\n\n json_parse(text, reviver)\n This method parses a JSON text to produce an object or array.\n It can throw a SyntaxError exception.\n\n The optional reviver parameter is a function that can filter and\n transform the results. It receives each of the keys and values,\n and its return value is used instead of the original value.\n If it returns what it received, then the structure is not modified.\n If it returns undefined then the member is deleted.\n\n Example:\n\n // Parse the text. Values that look like ISO date strings will\n // be converted to Date objects.\n\n myData = json_parse(text, function (key, value) {\n var a;\n if (typeof value === \"string\") {\n a =\n/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n if (a) {\n return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],\n +a[5], +a[6]));\n }\n }\n return value;\n });\n\n This is a reference implementation. You are free to copy, modify, or\n redistribute.\n\n This code should be minified before deployment.\n See http://javascript.crockford.com/jsmin.html\n\n USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO\n NOT CONTROL.\n*/\n\n/*jslint for */\n\n/*property\n at, b, call, charAt, f, fromCharCode, hasOwnProperty, message, n, name,\n prototype, push, r, t, text\n*/\n\nvar ___dougJSONParse = (function () {\n \"use strict\";\n\n// This is a function that can parse a JSON text, producing a JavaScript\n// data structure. It is a simple, recursive descent parser. It does not use\n// eval or regular expressions, so it can be used as a model for implementing\n// a JSON parser in other languages.\n\n// We are defining the function inside of another function to avoid creating\n// global variables.\n\n var at; // The index of the current character\n var ch; // The current character\n var escapee = {\n \"\\\"\": \"\\\"\",\n \"\\\\\": \"\\\\\",\n \"/\": \"/\",\n b: \"\\b\",\n f: \"\\f\",\n n: \"\\n\",\n r: \"\\r\",\n t: \"\\t\"\n };\n var text;\n\n var error = function (m) {\n\n// Call error when something is wrong.\n\n throw {\n name: \"SyntaxError\",\n message: m,\n at: at,\n text: text\n };\n };\n\n var next = function (c) {\n\n// If a c parameter is provided, verify that it matches the current character.\n\n if (c && c !== ch) {\n error(\"Expected '\" + c + \"' instead of '\" + ch + \"'\");\n }\n\n// Get the next character. When there are no more characters,\n// return the empty string.\n\n ch = text.charAt(at);\n at += 1;\n return ch;\n };\n\n var number = function () {\n\n// Parse a number value.\n\n var value;\n var string = \"\";\n\n if (ch === \"-\") {\n string = \"-\";\n next(\"-\");\n }\n while (ch >= \"0\" && ch <= \"9\") {\n string += ch;\n next();\n }\n if (ch === \".\") {\n string += \".\";\n while (next() && ch >= \"0\" && ch <= \"9\") {\n string += ch;\n }\n }\n if (ch === \"e\" || ch === \"E\") {\n string += ch;\n next();\n if (ch === \"-\" || ch === \"+\") {\n string += ch;\n next();\n }\n while (ch >= \"0\" && ch <= \"9\") {\n string += ch;\n next();\n }\n }\n value = +string;\n if (!isFinite(value)) {\n error(\"Bad number\");\n } else {\n return value;\n }\n };\n\n var string = function () {\n\n// Parse a string value.\n\n var hex;\n var i;\n var value = \"\";\n var uffff;\n\n// When parsing for string values, we must look for \" and \\ characters.\n\n if (ch === \"\\\"\") {\n while (next()) {\n if (ch === \"\\\"\") {\n next();\n return value;\n }\n if (ch === \"\\\\\") {\n next();\n if (ch === \"u\") {\n uffff = 0;\n for (i = 0; i < 4; i += 1) {\n hex = parseInt(next(), 16);\n if (!isFinite(hex)) {\n break;\n }\n uffff = uffff * 16 + hex;\n }\n value += String.fromCharCode(uffff);\n } else if (typeof escapee[ch] === \"string\") {\n value += escapee[ch];\n } else {\n break;\n }\n } else {\n value += ch;\n }\n }\n }\n error(\"Bad string\");\n };\n\n var white = function () {\n\n// Skip whitespace.\n\n while (ch && ch <= \" \") {\n next();\n }\n };\n\n var word = function () {\n\n// true, false, or null.\n\n switch (ch) {\n case \"t\":\n next(\"t\");\n next(\"r\");\n next(\"u\");\n next(\"e\");\n return true;\n case \"f\":\n next(\"f\");\n next(\"a\");\n next(\"l\");\n next(\"s\");\n next(\"e\");\n return false;\n case \"n\":\n next(\"n\");\n next(\"u\");\n next(\"l\");\n next(\"l\");\n return null;\n }\n error(\"Unexpected '\" + ch + \"'\");\n };\n\n var value; // Place holder for the value function.\n\n var array = function () {\n\n// Parse an array value.\n\n var arr = [];\n\n if (ch === \"[\") {\n next(\"[\");\n white();\n if (ch === \"]\") {\n next(\"]\");\n return arr; // empty array\n }\n while (ch) {\n arr.push(value());\n white();\n if (ch === \"]\") {\n next(\"]\");\n return arr;\n }\n next(\",\");\n white();\n }\n }\n error(\"Bad array\");\n };\n\n var object = function () {\n\n// Parse an object value.\n\n var key;\n var obj = {};\n\n if (ch === \"{\") {\n next(\"{\");\n white();\n if (ch === \"}\") {\n next(\"}\");\n return obj; // empty object\n }\n while (ch) {\n key = string();\n white();\n next(\":\");\n if (Object.hasOwnProperty.call(obj, key)) {\n error(\"Duplicate key '\" + key + \"'\");\n }\n obj[key] = value();\n white();\n if (ch === \"}\") {\n next(\"}\");\n return obj;\n }\n next(\",\");\n white();\n }\n }\n error(\"Bad object\");\n };\n\n value = function () {\n\n// Parse a JSON value. It could be an object, an array, a string, a number,\n// or a word.\n\n white();\n switch (ch) {\n case \"{\":\n return object();\n case \"[\":\n return array();\n case \"\\\"\":\n return string();\n case \"-\":\n return number();\n default:\n return (ch >= \"0\" && ch <= \"9\")\n ? number()\n : word();\n }\n };\n\n// Return the json_parse function. It will have access to all of the above\n// functions and variables.\n\n return function (source, reviver) {\n var result;\n\n text = source;\n at = 0;\n ch = \" \";\n result = value();\n white();\n if (ch) {\n error(\"Syntax error\");\n }\n\n// If there is a reviver function, we recursively walk the new structure,\n// passing each name/value pair to the reviver function for possible\n// transformation, starting with a temporary root object that holds the result\n// in an empty key. If there is not a reviver function, we simply return the\n// result.\n\n return (typeof reviver === \"function\")\n ? (function walk(holder, key) {\n var k;\n var v;\n var val = holder[key];\n if (val && typeof val === \"object\") {\n for (k in val) {\n if (Object.prototype.hasOwnProperty.call(val, k)) {\n v = walk(val, k);\n if (v !== undefined) {\n val[k] = v;\n } else {\n delete val[k];\n }\n }\n }\n }\n return reviver.call(holder, key, val);\n }({\"\": result}, \"\"))\n : result;\n };\n}());\n\nif(typeof module === 'object' && module.exports) {\n module.exports = ___dougJSONParse;\n}\n/* Jison generated parser */\nvar jsonlint = (function(){\nvar parser = {trace: function trace() { },\nyy: {},\nsymbols_: {\"error\":2,\"JSONString\":3,\"STRING\":4,\"JSONNumber\":5,\"NUMBER\":6,\"JSONNullLiteral\":7,\"NULL\":8,\"JSONBooleanLiteral\":9,\"TRUE\":10,\"FALSE\":11,\"JSONText\":12,\"JSONValue\":13,\"EOF\":14,\"JSONObject\":15,\"JSONArray\":16,\"{\":17,\"}\":18,\"JSONMemberList\":19,\"JSONMember\":20,\":\":21,\",\":22,\"[\":23,\"]\":24,\"JSONElementList\":25,\"$accept\":0,\"$end\":1},\nterminals_: {2:\"error\",4:\"STRING\",6:\"NUMBER\",8:\"NULL\",10:\"TRUE\",11:\"FALSE\",14:\"EOF\",17:\"{\",18:\"}\",21:\":\",22:\",\",23:\"[\",24:\"]\"},\nproductions_: [0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]],\nperformAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) {\n\nvar $0 = $$.length - 1;\nswitch (yystate) {\ncase 1: // replace escaped characters with actual character\n this.$ = yytext.replace(/\\\\(\\\\|\")/g, \"$\"+\"1\")\n .replace(/\\\\n/g,'\\n')\n .replace(/\\\\r/g,'\\r')\n .replace(/\\\\t/g,'\\t')\n .replace(/\\\\v/g,'\\v')\n .replace(/\\\\f/g,'\\f')\n .replace(/\\\\b/g,'\\b');\n\nbreak;\ncase 2:this.$ = Number(yytext);\nbreak;\ncase 3:this.$ = null;\nbreak;\ncase 4:this.$ = true;\nbreak;\ncase 5:this.$ = false;\nbreak;\ncase 6:return this.$ = $$[$0-1];\nbreak;\ncase 13:this.$ = {};\nbreak;\ncase 14:this.$ = $$[$0-1];\nbreak;\ncase 15:this.$ = [$$[$0-2], $$[$0]];\nbreak;\ncase 16:this.$ = {}; this.$[$$[$0][0]] = $$[$0][1];\nbreak;\ncase 17:this.$ = $$[$0-2]; $$[$0-2][$$[$0][0]] = $$[$0][1];\nbreak;\ncase 18:this.$ = [];\nbreak;\ncase 19:this.$ = $$[$0-1];\nbreak;\ncase 20:this.$ = [$$[$0]];\nbreak;\ncase 21:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]);\nbreak;\n}\n},\ntable: [{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}],\ndefaultActions: {16:[2,6]},\nparseError: function parseError(str, hash) {\n throw new Error(str);\n},\nparse: function parse(input) {\n var self = this,\n stack = [0],\n vstack = [null], // semantic value stack\n lstack = [], // location stack\n table = this.table,\n yytext = '',\n yylineno = 0,\n yyleng = 0,\n recovering = 0,\n TERROR = 2,\n EOF = 1;\n\n //this.reductionCount = this.shiftCount = 0;\n\n this.lexer.setInput(input);\n this.lexer.yy = this.yy;\n this.yy.lexer = this.lexer;\n if (typeof this.lexer.yylloc == 'undefined')\n this.lexer.yylloc = {};\n var yyloc = this.lexer.yylloc;\n lstack.push(yyloc);\n\n if (typeof this.yy.parseError === 'function')\n this.parseError = this.yy.parseError;\n\n function popStack (n) {\n stack.length = stack.length - 2*n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n\n function lex() {\n var token;\n token = self.lexer.lex() || 1; // $end = 1\n // if token isn't its numeric value, convert\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n return token;\n }\n\n var symbol, preErrorSymbol, state, action, a, r, yyval={},p,len,newState, expected;\n while (true) {\n // retreive state number from top of stack\n state = stack[stack.length-1];\n\n // use default actions if available\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol == null)\n symbol = lex();\n // read action for current state and first input\n action = table[state] && table[state][symbol];\n }\n\n // handle parse error\n _handle_error:\n if (typeof action === 'undefined' || !action.length || !action[0]) {\n\n if (!recovering) {\n // Report error\n expected = [];\n for (p in table[state]) if (this.terminals_[p] && p > 2) {\n expected.push(\"'\"+this.terminals_[p]+\"'\");\n }\n var errStr = '';\n if (this.lexer.showPosition) {\n errStr = 'Parse error on line '+(yylineno+1)+\":\\n\"+this.lexer.showPosition()+\"\\nExpecting \"+expected.join(', ') + \", got '\" + this.terminals_[symbol]+ \"'\";\n } else {\n errStr = 'Parse error on line '+(yylineno+1)+\": Unexpected \" +\n (symbol == 1 /*EOF*/ ? \"end of input\" :\n (\"'\"+(this.terminals_[symbol] || symbol)+\"'\"));\n }\n this.parseError(errStr,\n {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected});\n }\n\n // just recovered from another error\n if (recovering == 3) {\n if (symbol == EOF) {\n throw new Error(errStr || 'Parsing halted.');\n }\n\n // discard current lookahead and grab another\n yyleng = this.lexer.yyleng;\n yytext = this.lexer.yytext;\n yylineno = this.lexer.yylineno;\n yyloc = this.lexer.yylloc;\n symbol = lex();\n }\n\n // try to recover from error\n while (1) {\n // check for error recovery rule in this state\n if ((TERROR.toString()) in table[state]) {\n break;\n }\n if (state == 0) {\n throw new Error(errStr || 'Parsing halted.');\n }\n popStack(1);\n state = stack[stack.length-1];\n }\n\n preErrorSymbol = symbol; // save the lookahead token\n symbol = TERROR; // insert generic error symbol as new lookahead\n state = stack[stack.length-1];\n action = table[state] && table[state][TERROR];\n recovering = 3; // allow 3 real symbols to be shifted before reporting a new error\n }\n\n // this shouldn't happen, unless resolve defaults are off\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error('Parse Error: multiple actions possible at state: '+state+', token: '+symbol);\n }\n\n switch (action[0]) {\n\n case 1: // shift\n //this.shiftCount++;\n\n stack.push(symbol);\n vstack.push(this.lexer.yytext);\n lstack.push(this.lexer.yylloc);\n stack.push(action[1]); // push state\n symbol = null;\n if (!preErrorSymbol) { // normal execution/no error\n yyleng = this.lexer.yyleng;\n yytext = this.lexer.yytext;\n yylineno = this.lexer.yylineno;\n yyloc = this.lexer.yylloc;\n if (recovering > 0)\n recovering--;\n } else { // error just occurred, resume old lookahead f/ before error\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n\n case 2: // reduce\n //this.reductionCount++;\n\n len = this.productions_[action[1]][1];\n\n // perform semantic action\n yyval.$ = vstack[vstack.length-len]; // default to $$ = $1\n // default location, uses first token for firsts, last for lasts\n yyval._$ = {\n first_line: lstack[lstack.length-(len||1)].first_line,\n last_line: lstack[lstack.length-1].last_line,\n first_column: lstack[lstack.length-(len||1)].first_column,\n last_column: lstack[lstack.length-1].last_column\n };\n r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);\n\n if (typeof r !== 'undefined') {\n return r;\n }\n\n // pop off stack\n if (len) {\n stack = stack.slice(0,-1*len*2);\n vstack = vstack.slice(0, -1*len);\n lstack = lstack.slice(0, -1*len);\n }\n\n stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce)\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n // goto new state = table[STATE][NONTERMINAL]\n newState = table[stack[stack.length-2]][stack[stack.length-1]];\n stack.push(newState);\n break;\n\n case 3: // accept\n return true;\n }\n\n }\n\n return true;\n}};\n/* Jison generated lexer */\nvar lexer = (function(){\nvar lexer = ({EOF:1,\nparseError:function parseError(str, hash) {\n if (this.yy.parseError) {\n this.yy.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\nsetInput:function (input) {\n this._input = input;\n this._more = this._less = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0};\n return this;\n },\ninput:function () {\n var ch = this._input[0];\n this.yytext+=ch;\n this.yyleng++;\n this.match+=ch;\n this.matched+=ch;\n var lines = ch.match(/\\n/);\n if (lines) this.yylineno++;\n this._input = this._input.slice(1);\n return ch;\n },\nunput:function (ch) {\n this._input = ch + this._input;\n return this;\n },\nmore:function () {\n this._more = true;\n return this;\n },\nless:function (n) {\n this._input = this.match.slice(n) + this._input;\n },\npastInput:function () {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\\n/g, \"\");\n },\nupcomingInput:function () {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20-next.length);\n }\n return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\\n/g, \"\");\n },\nshowPosition:function () {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c+\"^\";\n },\nnext:function () {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) this.done = true;\n\n var token,\n match,\n tempMatch,\n index,\n col,\n lines;\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n var rules = this._currentRules();\n for (var i=0;i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (!this.options.flex) break;\n }\n }\n if (match) {\n lines = match[0].match(/\\n.*/g);\n if (lines) this.yylineno += lines.length;\n this.yylloc = {first_line: this.yylloc.last_line,\n last_line: this.yylineno+1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length-1].length-1 : this.yylloc.last_column + match[0].length}\n this.yytext += match[0];\n this.match += match[0];\n this.yyleng = this.yytext.length;\n this._more = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]);\n if (this.done && this._input) this.done = false;\n if (token) return token;\n else return;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\\n'+this.showPosition(),\n {text: \"\", token: null, line: this.yylineno});\n }\n },\nlex:function lex() {\n var r = this.next();\n if (typeof r !== 'undefined') {\n return r;\n } else {\n return this.lex();\n }\n },\nbegin:function begin(condition) {\n this.conditionStack.push(condition);\n },\npopState:function popState() {\n return this.conditionStack.pop();\n },\n_currentRules:function _currentRules() {\n return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;\n },\ntopState:function () {\n return this.conditionStack[this.conditionStack.length-2];\n },\npushState:function begin(condition) {\n this.begin(condition);\n }});\nlexer.options = {};\nlexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {\n\nvar YYSTATE=YY_START\nswitch($avoiding_name_collisions) {\ncase 0:/* skip whitespace */\nbreak;\ncase 1:return 6\nbreak;\ncase 2:yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2); return 4\nbreak;\ncase 3:return 17\nbreak;\ncase 4:return 18\nbreak;\ncase 5:return 23\nbreak;\ncase 6:return 24\nbreak;\ncase 7:return 22\nbreak;\ncase 8:return 21\nbreak;\ncase 9:return 10\nbreak;\ncase 10:return 11\nbreak;\ncase 11:return 8\nbreak;\ncase 12:return 14\nbreak;\ncase 13:return 'INVALID'\nbreak;\n}\n};\nlexer.rules = [/^(?:\\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\\.[0-9]+)?([eE][-+]?[0-9]+)?\\b)/,/^(?:\"(?:\\\\[\\\\\"bfnrt/]|\\\\u[a-fA-F0-9]{4}|[^\\\\\\0-\\x09\\x0a-\\x1f\"])*\")/,/^(?:\\{)/,/^(?:\\})/,/^(?:\\[)/,/^(?:\\])/,/^(?:,)/,/^(?::)/,/^(?:true\\b)/,/^(?:false\\b)/,/^(?:null\\b)/,/^(?:$)/,/^(?:.)/];\nlexer.conditions = {\"INITIAL\":{\"rules\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],\"inclusive\":true}};\n\n\n;\nreturn lexer;})()\nparser.lexer = lexer;\nreturn parser;\n})();\n\nvar origParse = jsonlint.parse;\n\njsonlint.parse = function(input) {\n var result = origParse.call(jsonlint, input);\n var dougJSONParse = typeof ___dougJSONParse === 'undefined' ? require('./doug-json-parse') : ___dougJSONParse;\n try {\n dougJSONParse(input);\n } catch(e) {\n if(/Duplicate key|Bad string|Unexpected/.test(e.message)) {\n var linesUntilError = input.substring(0, e.at).split('\\n');\n var line = linesUntilError.length;\n var col = linesUntilError[line - 1].length - 1;\n\n this.parseError(e.message, {line: line, col: col, message: e.message.replace(/./, function(l) { return l.toLowerCase(); })});\n throw SyntaxError(e.message + ' on line ' + line);\n }\n }\n\n return result;\n}\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined') {\nexports.parser = jsonlint;\nexports.parse = function () { return jsonlint.parse.apply(jsonlint, arguments); }\nexports.main = function commonjsMain(args) {\n if (!args[1])\n throw new Error('Usage: '+args[0]+' FILE');\n if (typeof process !== 'undefined') {\n var source = require('fs').readFileSync(require('path').join(process.cwd(), args[1]), \"utf8\");\n } else {\n var cwd = require(\"file\").path(require(\"file\").cwd());\n var source = cwd.join(args[1]).read({charset: \"utf-8\"});\n }\n return exports.parser.parse(source);\n}\nif (typeof module !== 'undefined' && require.main === module) {\n exports.main(typeof process !== 'undefined' ? process.argv.slice(1) : require(\"system\").args);\n}\n}\nreturn exports;})();if(typeof module === 'object' && module.exports) module.exports = jsonlint;\n"],"names":["render","_vm","this","_c","_self","directives","name","rawName","value","element","expression","attrs","isFullscreen","on","toggleFullscreen","staticClass","staticRenderFns","mixins","EventBusMixin","props","required","data","keyDownFn","oldZIndex","mounted","onkeyDown","bind","el","getElement","addEventListener","beforeDestroy","removeEventListener","computed","Utils","mapState","methods","mapMutations","e","key","preventDefault","stopPropagation","document","querySelector","classList","remove","style","zIndex","closeModal","add","openModal","hightestModalZIndex","$emit","broadcast","component","class","languageString","title","_v","_s","_e","editable","confirmClear","_t","canUndo","$event","editor","undo","canRedo","redo","id","window","jsonlint","components","FullscreenButton","String","type","Boolean","default","language","placeholder","mapGetters","toLowerCase","editorOptions","options","indentUnit","lineNumbers","indentWithTabs","matchBrackets","autoCloseBrackets","readOnly","mode","lineWrapping","gutters","lint","emitValue","watch","updateContent","clearHistory","setOption","CodeMirror","getElementById","setSize","updateState","cm","evt","Object","values","find","origin","commit","error","$el","confirmed","confirm","insert","emit","getValue","trim","history","getDoc","historySize","refresh","updateContext","replace","process","JSON","parse","size","pg","ProcessGraph","processes","allowEmpty","text","cmValue","scrollInfo","getScrollInfo","setValue","scrollTo","left","top","replaceSelection","isObject","stringify","insertProcess","node","exception","mod","clearPlaceholder","state","parentNode","removeChild","setPlaceholder","elt","createElement","cssText","direction","getOption","className","placeHolder","createTextNode","appendChild","display","lineSpace","insertBefore","firstChild","onComposition","setTimeout","empty","lineCount","input","getInputField","nodeName","getLine","length","test","textContent","onBlur","isEmpty","onChange","wrapper","getWrapperElement","defineOption","val","old","prev","Init","placeholderCompose","off","hasFocus","defaults","pairs","closeBefore","triples","explode","Pos","conf","removeKeyMap","keyMap","closeBrackets","ensureBound","addKeyMap","Backspace","handleBackspace","Enter","handleEnter","chars","i","ch","charAt","handler","handleChar","getConfig","deflt","override","getModeAt","getCursor","Pass","ranges","listSelections","around","charsAround","head","indexOf","cur","replaceRange","line","operation","linesep","lineSeparator","moveSel","indentLine","dir","newRanges","primary","range","pos","push","anchor","setSelections","contractSelection","sel","inverted","cmpPos","identical","opening","curType","next","getRange","getTokenTypeAt","isWordChar","stringStartsAfter","right","sels","getSelections","replaceSelections","slice","triggerElectric","str","token","getTokenAt","start","ie_lt8","navigator","userAgent","documentMode","matching","bracketRegex","config","findMatchingBracket","where","getLineHandle","afterCursor","re","match","strict","found","scanForBracket","from","to","forward","maxScanLen","maxScanLineLength","maxScanLines","stack","lineEnd","Math","min","lastLine","max","firstLine","lineNo","end","undefined","pop","autoclear","maxHighlightLen","maxHighlightLineLength","highlightNonMatching","marks","markText","focused","focus","clear","doMatchBrackets","currentlyHighlighted","clearHighlighted","defineExtension","oldConfig","registerHelper","console","parser","parseError","hash","loc","first_line","first_column","last_line","last_column","message","GUTTER_ID","LINT_LINE_ID","showTooltip","content","tt","position","clientY","offsetHeight","clientX","ownerDocument","defaultView","innerWidth","offsetWidth","theme","cloneNode","selfContain","body","opacity","rm","hideTooltip","showTooltipFor","tooltip","hide","poll","setInterval","n","nodeType","host","clearInterval","LintState","hasGutter","prop","marked","Function","getAnnotations","linterOptions","hasOwnProperty","timeout","onMouseOver","waitingFor","highlightLines","tooltips","delay","lintOnChange","async","formatAnnotation","onUpdateLinting","clearMarks","clearGutter","clearErrorLines","eachLine","has","wrapClass","exec","removeLineClass","makeMarker","labels","severity","multiple","marker","inner","getMaxSeverity","a","b","groupByLine","annotations","lines","ann","annotationTooltip","tip","messageHTML","innerHTML","lintAsync","abort","arg2","updateLinting","startLinting","getHelper","then","issues","annotationsNotSorted","anns","maxSeverity","tipLabel","createDocumentFragment","__annotation","setGutterMarker","addLineClass","clearTimeout","popupTooltips","target","srcElement","box","getBoundingClientRect","x","y","bottom","spans","findMarksAt","coordsChar","hasLintGutter","defineMode","parserConfig","statementIndent","jsonldMode","jsonld","jsonMode","json","trackScope","isTS","typescript","wordRE","wordCharacters","keywords","kw","A","B","C","D","operator","atom","isOperatorChar","isJsonldKeyword","readRegexp","stream","escaped","inSet","ret","tp","cont","tokenBase","tokenize","tokenString","eat","tokenComment","skipToEnd","expressionAllowed","current","tokenQuasi","peek","eatWhile","string","lexical","word","lastType","propertyIsEnumerable","quote","maybeEnd","brackets","findFatArrow","fatArrowAt","arrow","m","index","depth","sawSomething","bracket","atomicTypes","JSLexical","indented","column","align","info","inScope","varname","v","localVars","cx","context","vars","parseJS","cc","combinator","statement","lex","pass","arguments","apply","inList","list","register","block","newContext","registerVarScoped","Var","globalVars","Context","isModifier","defaultVars","pushcontext","pushblockcontext","popcontext","pushlex","result","indent","outer","poplex","expect","wanted","exp","vardef","parenExpr","maybeexpression","maybeelse","functiondef","forspec","enumdef","typename","typeexpr","pattern","maybelabel","maybeCatchBinding","afterExport","afterImport","funarg","expressionInner","expressionNoComma","noComma","arrowBodyNoComma","arrowBody","commasep","maybeop","maybeoperatorNoComma","maybeoperatorComma","classExpression","arrayLiteral","contCommasep","objprop","quasi","maybeTarget","me","expr","property","backUp","continueQuasi","targetNoComma","maybeTypeArgs","_","getterSetter","afterprop","maybetype","what","sep","proceed","maybetypeOrIn","mayberettype","isKW","afterType","typeprops","typearg","maybeReturnType","quasiType","typeprop","functiondecl","continueQuasiType","typeparam","maybeTypeDefault","maybeAssign","vardefCont","eltpattern","proppattern","_type","forspec1","forspec2","classNameAfter","classBody","classfield","isInterface","maybeFrom","exportField","importSpec","maybeMoreImports","maybeAs","enummember","isContinuedStatement","textAfter","startState","basecolumn","sol","indentation","eatSpace","firstChar","c","closing","doubleIndentSwitch","electricInput","blockCommentStart","blockCommentEnd","blockCommentContinue","lineComment","fold","helperType","skipExpression","StringStream","defineMIME","cmCfg","modeCfg","htmlMode","getMode","htmlModeMissing","findModeByName","mime","mimes","highlightFormatting","maxBlockquoteDepth","taskLists","strikethrough","emoji","fencedCodeBlockHighlighting","fencedCodeBlockDefaultMode","xml","tokenTypeOverrides","tokenTypes","header","code","list1","list2","list3","hr","image","imageAltText","imageMarker","formatting","linkInline","linkEmail","linkText","linkHref","em","strong","tokenType","hrRE","listRE","taskListRE","atxHeaderRE","allowAtxHeaderWithoutSpace","setextHeaderRE","textRE","fencedCodeRE","linkDefRE","punctuation","expandedTab","switchInline","f","inline","switchBlock","lineIsEmpty","blankLine","linkTitle","indentedCode","htmlBlock","exit","innerMode","htmlState","tagStart","isInText","inlineNormal","blockNormal","trailingSpace","trailingSpaceNewLine","prevLine","thisLine","firstTokenOnLine","prevLineLineIsEmpty","prevLineIsIndentedCode","prevLineIsHr","prevLineIsList","maxNonCodeIndentation","listStack","lineIndentation","indentationDiff","allowsInlineContinuation","fencedCodeEnd","isHr","getType","setext","listType","taskList","fencedEndRE","RegExp","localMode","localState","local","lookAhead","footnoteLink","md_inside","returnType","currListInd","hasExitedList","maxFencedEndInd","styles","taskOpen","join","taskClosed","listMod","handleText","matchCh","regex","previousFormatting","count","t","formattingEscape","atts","substring","len","before","after","leftFlanking","rightFlanking","setEm","setStrong","retType","getLinkHrefInside","linkRE","endChar","returnState","footnoteLinkInside","footnoteUrl","copyState","s","_config","_parserConfig","Identifier","pBase","pFloat","pFloatBase","pPrecision","reBaseForm","reFloatForm","reIdInContext","commentLevel","modeInfo","ext","file","alias","findModeByMIME","j","findModeByExtension","findModeByFileName","filename","dot","lastIndexOf","wordRegexp","words","wordOperators","commonKeywords","commonBuiltins","scopes","concat","parserConf","ERRORCLASS","delimiters","singleDelimiters","operators","singleOperators","doubleOperators","doubleDelimiters","tripleDelimiters","splice","hangingIndent","myKeywords","myBuiltins","extra_keywords","extra_builtins","py3","version","Number","identifiers","stringPrefixes","builtins","lastToken","scopeOffset","offset","lineOffset","pushPyScope","dedent","errorToken","tokenBaseInner","inFormat","floatLiteral","intLiteral","isFmtString","formatStringFactory","tokenStringFactory","delimiter","tokenOuter","substr","singleline","OUTCLASS","tokenNestedExpr","eol","singleLineStringErrors","isString","pushBracketScope","tokenLexer","beginningOfLine","lambda","delimiter_index","external","addErr","scope","split","wordObj","res","commonAtoms","commonBlockKeywords","curPunc","atoms","blockkeywords","opChars","skipTo","ctx","argList","ALIGN_YES","ALIGN_NO","BRACELESS","flags","setFlag","flag","afterIdent","htmlConfig","autoSelfClosers","implicitlyClosed","contextGrabbers","doNotIndent","allowUnquoted","allowMissing","caseFold","xmlConfig","allowMissingTagName","editorConf","config_","setStyle","inText","chain","ok","inBlock","doctype","inTag","baseState","tagName","inAttribute","stringStartCol","closure","isInAttribute","terminator","lower","startOfLine","noIndent","popContext","maybePopContext","nextTagName","parentTagName","tagNameState","closeTagNameState","attrState","matchClosing","closeState","closeStateErr","_stream","attrEqState","attrValueState","attrContinuedState","baseIndent","fullLine","multilineTagIndentPastTag","multilineTagIndentFactor","alignCDATA","tagAfter","grabbers","configuration","skipAttribute","xmlCurrentTag","close","xmlCurrentContext","reverse","mimeModes","require","module","exports","___dougJSONParse","at","escapee","r","number","isFinite","hex","uffff","parseInt","fromCharCode","white","array","arr","object","obj","call","source","reviver","walk","holder","k","prototype","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","$","table","defaultActions","Error","self","vstack","lstack","recovering","TERROR","EOF","lexer","setInput","yylloc","yyloc","popStack","symbol","preErrorSymbol","action","p","newState","expected","yyval","errStr","showPosition","toString","Array","_input","_more","_less","done","matched","conditionStack","unput","more","less","pastInput","past","upcomingInput","pre","tempMatch","rules","_currentRules","flex","begin","condition","popState","conditions","topState","pushState","yy_","$avoiding_name_collisions","YY_START","origParse","dougJSONParse","linesUntilError","col","l","SyntaxError","main","args","readFileSync","cwd","path","read","charset","argv"],"sourceRoot":""} \ No newline at end of file diff --git a/js/8080.373259f9.js b/js/8080.629bdb1c.js similarity index 94% rename from js/8080.373259f9.js rename to js/8080.629bdb1c.js index d3e6c714..3209da31 100644 --- a/js/8080.373259f9.js +++ b/js/8080.629bdb1c.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[8080,4741],{62804:(e,t,a)=>{a.r(t),a.d(t,{default:()=>u});var o=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-time"},[t("p",[e._v("Please select the days for which you want to download data for.")]),t("TemporalPicker",{attrs:{type:"temporal-interval",intervalType:"date",value:e.value},on:{input:t=>e.$emit("input",t)}})],1)},l=[],n=a(27349);const r={name:"ChooseTime",components:{TemporalPicker:n["default"]},props:{value:{type:Array,default:null}}},s=r;var i=a(81656),p=(0,i.A)(s,o,l,!1,null,null,null);const u=p.exports}}]); -//# sourceMappingURL=8080.373259f9.js.map \ No newline at end of file +//# sourceMappingURL=8080.629bdb1c.js.map \ No newline at end of file diff --git a/js/8080.373259f9.js.map b/js/8080.629bdb1c.js.map similarity index 97% rename from js/8080.373259f9.js.map rename to js/8080.629bdb1c.js.map index a86ba1d4..7580db92 100644 --- a/js/8080.373259f9.js.map +++ b/js/8080.629bdb1c.js.map @@ -1 +1 @@ -{"version":3,"file":"js/8080.373259f9.js","mappings":"8KAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,IAAI,CAACF,EAAIK,GAAG,qEAAqEH,EAAG,iBAAiB,CAACI,MAAM,CAAC,KAAO,oBAAoB,aAAe,OAAO,MAAQN,EAAIO,OAAOC,GAAG,CAAC,MAAQC,GAAKT,EAAIU,MAAM,QAASD,OAAO,EAC7U,EACIE,EAAkB,G,WCQtB,SACAC,KAAA,aACAC,WAAA,CACAC,eAAAA,EAAAA,YAEAC,MAAA,CACAR,MAAA,CACAS,KAAAC,MACAC,QAAA,QClB2Q,I,eCOvQC,GAAY,OACd,EACApB,EACAY,GACA,EACA,KACA,KACA,MAIF,QAAeQ,EAAiB,O","sources":["webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?9c96","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?2b59"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(\"Please select the days for which you want to download data for.\")]),_c('TemporalPicker',{attrs:{\"type\":\"temporal-interval\",\"intervalType\":\"date\",\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseTime.vue?vue&type=template&id=4c3899e5\"\nimport script from \"./ChooseTime.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseTime.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","_v","attrs","value","on","v","$emit","staticRenderFns","name","components","TemporalPicker","props","type","Array","default","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/8080.629bdb1c.js","mappings":"8KAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,IAAI,CAACF,EAAIK,GAAG,qEAAqEH,EAAG,iBAAiB,CAACI,MAAM,CAAC,KAAO,oBAAoB,aAAe,OAAO,MAAQN,EAAIO,OAAOC,GAAG,CAAC,MAAQC,GAAKT,EAAIU,MAAM,QAASD,OAAO,EAC7U,EACIE,EAAkB,G,WCQtB,SACAC,KAAA,aACAC,WAAA,CACAC,eAAAA,EAAAA,YAEAC,MAAA,CACAR,MAAA,CACAS,KAAAC,MACAC,QAAA,QClB2Q,I,eCOvQC,GAAY,OACd,EACApB,EACAY,GACA,EACA,KACA,KACA,MAIF,QAAeQ,EAAiB,O","sources":["webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseTime.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?9c96","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseTime.vue?2b59"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-time\"},[_c('p',[_vm._v(\"Please select the days for which you want to download data for.\")]),_c('TemporalPicker',{attrs:{\"type\":\"temporal-interval\",\"intervalType\":\"date\",\"value\":_vm.value},on:{\"input\":v => _vm.$emit('input', v)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseTime.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseTime.vue?vue&type=template&id=4c3899e5\"\nimport script from \"./ChooseTime.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseTime.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","_v","attrs","value","on","v","$emit","staticRenderFns","name","components","TemporalPicker","props","type","Array","default","component"],"sourceRoot":""} \ No newline at end of file diff --git a/js/8396.0c76bc6b.js b/js/8396.e1b55b48.js similarity index 98% rename from js/8396.0c76bc6b.js rename to js/8396.e1b55b48.js index 9693ea70..e99e82da 100644 --- a/js/8396.0c76bc6b.js +++ b/js/8396.e1b55b48.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[8396,2327],{2327:(t,e,a)=>{a.r(e),a.d(e,{default:()=>c});var s=function(){var t=this,e=t._self._c;return e("div",{staticClass:"vue-component object-tree",class:{inline:0===t.size}},[0===t.size?e("em",[t._v(t._s(t.format(t.data)))]):Array.isArray(t.data)?[e("ol",t._l(t.indicesShown,(function(a){return e("li",{key:a},[t.isStructured(t.data[a])?e("openeo-object-tree",{attrs:{data:t.data[a]}}):t.isUrl(t.data[a])?e("a",{attrs:{href:t.data[a],target:"_blank"}},[t._v(t._s(t.data[a]))]):t.format(t.data[a])?e("em",[t._v(t._s(t.format(t.data[a])))]):[t._v(t._s(t.data[a]))]],2)})),0),t.size!==t.indicesShown.length?e("button",{attrs:{type:"button"},on:{click:t.show}},[t._v("Show all "+t._s(t.data.length)+" entries")]):t._e()]:"object"===typeof t.data?e("ul",t._l(t.data,(function(a,s){return e("li",{key:s},[e("strong",[t._v(t._s(t.prettifyKey(s)))]),t._v(": "),t.isStructured(a)?e("openeo-object-tree",{attrs:{data:a}}):t.isUrl(a)?e("a",{attrs:{href:a,target:"_blank"}},[t._v(t._s(a))]):t.format(a)?e("em",[t._v(t._s(t.format(a)))]):[t._v(t._s(a))]],2)})),0):[t._v(t._s(t.data))]],2)},r=[],o=a(86975);const n={name:"ObjectTree",components:{"openeo-object-tree":()=>Promise.resolve().then(a.bind(a,2327))},props:{data:{default:null},collapseAfter:{type:Number,default:10}},data(){return{expand:!1}},computed:{isSingleValue(){return Array.isArray(this.data)&&1===this.data.length&&0===o.A.size(this.data[0])},size(){return"object"===typeof this.data?o.A.size(this.data):1},indicesShown(){if(!Array.isArray(this.data))return[];let t=this.data;return!this.expand&&null!==this.collapseAfter&&this.size>this.collapseAfter&&(t=Array(this.collapseAfter)),[...t.keys()]}},beforeCreate(){o.A.enableHtmlProps(this)},methods:{prettifyKey(t){return o.A.prettifyString(t)},show(){this.expand=!0},isStructured(t){return o.A.size(t)>0},format(t){return null===t?"N/A":!0===t?"✔️":!1===t?"❌":"object"===typeof t&&0===o.A.size(t)?"Empty":"function"===typeof t?"JavaScript Function":"symbol"===typeof t?"JavaScript Symbol":null},isUrl(t){return o.A.isUrl(t,!1)}}},i=n;var d=a(81656),l=(0,d.A)(i,s,r,!1,null,null,null);const c=l.exports},58396:(t,e,a)=>{a.r(e),a.d(e,{default:()=>_});var s=function(){var t=this,e=t._self._c;return e("div",{staticClass:"dataViewer"},[t.isScalar?e("pre",{staticClass:"text"},[t._v(t._s(t.content))]):t.isNodata?e("em",{staticClass:"text"},[t._v("No data retrieved.")]):e("Tabs",{attrs:{id:t.tabsId,position:"bottom"}},[e("Tab",{attrs:{id:"visual",name:"Visual",icon:"fa-list",selected:!0}},[e("ObjectTree",{staticClass:"tree",attrs:{data:t.content}})],1),e("Tab",{attrs:{id:"source",name:"Code",icon:"fa-code"},on:{show:t.showCode}},[e("TextEditor",{ref:"sourceEditor",staticClass:"textEditorTab",attrs:{editable:!1,value:t.content,id:t.tabsId+"_text",language:t.codeLanguage}})],1)],1)],1)},r=[],o=a(2327),n=a(4615),i=a(58379),d=a(57497),l=a(75024);let c=0;const u={name:"DataViewer",props:{data:{type:Object,required:!0}},components:{ObjectTree:o["default"],Tabs:n["default"],Tab:i["default"],TextEditor:d.A},computed:{isScalar(){return"object"!==typeof this.content},isNodata(){return null===this.content||"undefined"===typeof this.content}},data(){return{content:null,tabsId:"data_viewer_"+c++,codeLanguage:null}},created(){this.data instanceof l.A&&(this.codeLanguage="json"),this.content=this.data.getData()},mounted(){this.$emit("mounted",this)},methods:{showCode(){this.$refs.sourceEditor.updateState()}}},h=u;var p=a(81656),f=(0,p.A)(h,s,r,!1,null,"4f9e86e9",null);const _=f.exports}}]); -//# sourceMappingURL=8396.0c76bc6b.js.map \ No newline at end of file +//# sourceMappingURL=8396.e1b55b48.js.map \ No newline at end of file diff --git a/js/8396.0c76bc6b.js.map b/js/8396.e1b55b48.js.map similarity index 99% rename from js/8396.0c76bc6b.js.map rename to js/8396.e1b55b48.js.map index d9233743..587371e7 100644 --- a/js/8396.0c76bc6b.js.map +++ b/js/8396.e1b55b48.js.map @@ -1 +1 @@ -{"version":3,"file":"js/8396.0c76bc6b.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/ObjectTree.vue?6010","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/ObjectTree.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/ObjectTree.vue?a80a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/ObjectTree.vue","webpack://@openeo/web-editor/./src/components/viewer/DataViewer.vue","webpack://@openeo/web-editor/src/components/viewer/DataViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/DataViewer.vue?0bee","webpack://@openeo/web-editor/./src/components/viewer/DataViewer.vue?0a75"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component object-tree\",class:{inline: _vm.size === 0}},[(_vm.size === 0)?_c('em',[_vm._v(_vm._s(_vm.format(_vm.data)))]):(Array.isArray(_vm.data))?[_c('ol',_vm._l((_vm.indicesShown),function(i){return _c('li',{key:i},[(_vm.isStructured(_vm.data[i]))?_c('openeo-object-tree',{attrs:{\"data\":_vm.data[i]}}):(_vm.isUrl(_vm.data[i]))?_c('a',{attrs:{\"href\":_vm.data[i],\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.data[i]))]):(_vm.format(_vm.data[i]))?_c('em',[_vm._v(_vm._s(_vm.format(_vm.data[i])))]):[_vm._v(_vm._s(_vm.data[i]))]],2)}),0),(_vm.size !== _vm.indicesShown.length)?_c('button',{attrs:{\"type\":\"button\"},on:{\"click\":_vm.show}},[_vm._v(\"Show all \"+_vm._s(_vm.data.length)+\" entries\")]):_vm._e()]:(typeof _vm.data === 'object')?_c('ul',_vm._l((_vm.data),function(value,key){return _c('li',{key:key},[_c('strong',[_vm._v(_vm._s(_vm.prettifyKey(key)))]),_vm._v(\": \"),(_vm.isStructured(value))?_c('openeo-object-tree',{attrs:{\"data\":value}}):(_vm.isUrl(value))?_c('a',{attrs:{\"href\":value,\"target\":\"_blank\"}},[_vm._v(_vm._s(value))]):(_vm.format(value))?_c('em',[_vm._v(_vm._s(_vm.format(value)))]):[_vm._v(_vm._s(value))]],2)}),0):[_vm._v(_vm._s(_vm.data))]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ObjectTree.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ObjectTree.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ObjectTree.vue?vue&type=template&id=0a88edb0\"\nimport script from \"./ObjectTree.vue?vue&type=script&lang=js\"\nexport * from \"./ObjectTree.vue?vue&type=script&lang=js\"\nimport style0 from \"./ObjectTree.vue?vue&type=style&index=0&id=0a88edb0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"dataViewer\"},[(_vm.isScalar)?_c('pre',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.content))]):(_vm.isNodata)?_c('em',{staticClass:\"text\"},[_vm._v(\"No data retrieved.\")]):_c('Tabs',{attrs:{\"id\":_vm.tabsId,\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual\",\"icon\":\"fa-list\",\"selected\":true}},[_c('ObjectTree',{staticClass:\"tree\",attrs:{\"data\":_vm.content}})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\"},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":false,\"value\":_vm.content,\"id\":_vm.tabsId + '_text',\"language\":_vm.codeLanguage}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DataViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DataViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DataViewer.vue?vue&type=template&id=4f9e86e9&scoped=true\"\nimport script from \"./DataViewer.vue?vue&type=script&lang=js\"\nexport * from \"./DataViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./DataViewer.vue?vue&type=style&index=0&id=4f9e86e9&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f9e86e9\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","class","inline","size","_v","_s","format","data","Array","isArray","_l","i","key","isStructured","attrs","isUrl","indicesShown","length","on","show","_e","value","prettifyKey","staticRenderFns","name","components","props","default","collapseAfter","type","Number","expand","computed","isSingleValue","arr","keys","beforeCreate","enableHtmlProps","methods","prettifyString","url","component","isScalar","content","isNodata","tabsId","showCode","ref","codeLanguage","tabId","Object","required","ObjectTree","Tabs","Tab","TextEditor","created","JSON_","getData","mounted","$emit","$refs","sourceEditor","updateState"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/8396.e1b55b48.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/ObjectTree.vue?6010","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/ObjectTree.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/ObjectTree.vue?a80a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/ObjectTree.vue","webpack://@openeo/web-editor/./src/components/viewer/DataViewer.vue","webpack://@openeo/web-editor/src/components/viewer/DataViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/DataViewer.vue?0bee","webpack://@openeo/web-editor/./src/components/viewer/DataViewer.vue?0a75"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component object-tree\",class:{inline: _vm.size === 0}},[(_vm.size === 0)?_c('em',[_vm._v(_vm._s(_vm.format(_vm.data)))]):(Array.isArray(_vm.data))?[_c('ol',_vm._l((_vm.indicesShown),function(i){return _c('li',{key:i},[(_vm.isStructured(_vm.data[i]))?_c('openeo-object-tree',{attrs:{\"data\":_vm.data[i]}}):(_vm.isUrl(_vm.data[i]))?_c('a',{attrs:{\"href\":_vm.data[i],\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.data[i]))]):(_vm.format(_vm.data[i]))?_c('em',[_vm._v(_vm._s(_vm.format(_vm.data[i])))]):[_vm._v(_vm._s(_vm.data[i]))]],2)}),0),(_vm.size !== _vm.indicesShown.length)?_c('button',{attrs:{\"type\":\"button\"},on:{\"click\":_vm.show}},[_vm._v(\"Show all \"+_vm._s(_vm.data.length)+\" entries\")]):_vm._e()]:(typeof _vm.data === 'object')?_c('ul',_vm._l((_vm.data),function(value,key){return _c('li',{key:key},[_c('strong',[_vm._v(_vm._s(_vm.prettifyKey(key)))]),_vm._v(\": \"),(_vm.isStructured(value))?_c('openeo-object-tree',{attrs:{\"data\":value}}):(_vm.isUrl(value))?_c('a',{attrs:{\"href\":value,\"target\":\"_blank\"}},[_vm._v(_vm._s(value))]):(_vm.format(value))?_c('em',[_vm._v(_vm._s(_vm.format(value)))]):[_vm._v(_vm._s(value))]],2)}),0):[_vm._v(_vm._s(_vm.data))]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ObjectTree.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ObjectTree.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ObjectTree.vue?vue&type=template&id=0a88edb0\"\nimport script from \"./ObjectTree.vue?vue&type=script&lang=js\"\nexport * from \"./ObjectTree.vue?vue&type=script&lang=js\"\nimport style0 from \"./ObjectTree.vue?vue&type=style&index=0&id=0a88edb0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"dataViewer\"},[(_vm.isScalar)?_c('pre',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.content))]):(_vm.isNodata)?_c('em',{staticClass:\"text\"},[_vm._v(\"No data retrieved.\")]):_c('Tabs',{attrs:{\"id\":_vm.tabsId,\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual\",\"icon\":\"fa-list\",\"selected\":true}},[_c('ObjectTree',{staticClass:\"tree\",attrs:{\"data\":_vm.content}})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\"},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":false,\"value\":_vm.content,\"id\":_vm.tabsId + '_text',\"language\":_vm.codeLanguage}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DataViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DataViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DataViewer.vue?vue&type=template&id=4f9e86e9&scoped=true\"\nimport script from \"./DataViewer.vue?vue&type=script&lang=js\"\nexport * from \"./DataViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./DataViewer.vue?vue&type=style&index=0&id=4f9e86e9&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f9e86e9\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","class","inline","size","_v","_s","format","data","Array","isArray","_l","i","key","isStructured","attrs","isUrl","indicesShown","length","on","show","_e","value","prettifyKey","staticRenderFns","name","components","props","default","collapseAfter","type","Number","expand","computed","isSingleValue","arr","keys","beforeCreate","enableHtmlProps","methods","prettifyString","url","component","isScalar","content","isNodata","tabsId","showCode","ref","codeLanguage","tabId","Object","required","ObjectTree","Tabs","Tab","TextEditor","created","JSON_","getData","mounted","$emit","$refs","sourceEditor","updateState"],"sourceRoot":""} \ No newline at end of file diff --git a/js/8807.aac1241d.js b/js/8807.e41e9690.js similarity index 99% rename from js/8807.aac1241d.js rename to js/8807.e41e9690.js index 0410e547..18a7b4ce 100644 --- a/js/8807.aac1241d.js +++ b/js/8807.e41e9690.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[8807,5839,2722,9409],{35254:(e,t,s)=>{s.d(t,{A:()=>a});const a={components:{FederationNotice:()=>s.e(2604).then(s.bind(s,52604)),FederationMissingNotice:()=>s.e(5363).then(s.bind(s,35363))},props:{federation:{type:Object,default:()=>({})}}}},17834:(e,t,s)=>{s.d(t,{A:()=>i});var a=s(86975);const r={cpu:"CPU usage",memory:"Memory usage",duration:"Wall time",network:"Network Transfer IO",disk:"Storage IO",storage:"Storage space"},i={computed:{hasUsageMetrics(){return a.A.size(this.usage)>0}},filters:{usageLabel(e){return r[e]?r[e]:a.A.prettifyString(e)},usageValue(e){return"number"===typeof e?e.toLocaleString():e}}}},69748:(e,t,s)=>{s.d(t,{A:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component collections"},[t("SearchableList",{attrs:{data:e.collections,identifierKey:"id",summaryKey:"title",keywordsKey:"keywords",showKeywords:e.showKeywords,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Collection",{attrs:{data:s.item,mapOptions:e.mapOptions,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("collection-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("collection-end",null,null,t)]}},{key:"spatial-extents",fn:function(t){return[e._t("collection-spatial-extents",null,null,t)]}},{key:"temporal-extents",fn:function(t){return[e._t("collection-temporal-extents",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=s(86975),o=s(35254);const n={name:"Collections",components:{Collection:()=>i.A.loadAsyncComponent(Promise.all([s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(3249)]).then(s.bind(s,3249))),SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[o.A],props:{collections:{type:Array,default:()=>[]},mapOptions:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Collections"},collapsed:{type:Boolean,default:null},loadAdditionalData:{type:Function,default:null},showKeywords:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,a,r,!1,null,null,null);const u=d.exports},90334:(e,t,s)=>{s.d(t,{A:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component file-formats"},[t("SearchableList",{attrs:{data:e.fileFormats,summaryKey:"title",keywordsKey:"gis_data_types",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(s){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(s.item.name))]),t("ul",{staticClass:"badges small inline"},[e.showAll&&"input"===s.item.type?t("li",{staticClass:"badge option1"},[e._v("Import")]):e._e(),e.showAll&&"output"===s.item.type?t("li",{staticClass:"badge option2"},[e._v("Export")]):e._e(),Array.isArray(s.item.gis_data_types)?e._l(s.item.gis_data_types,(function(s){return t("li",{key:s,staticClass:"badge gis"},[e._v(e._s(s))])})):e._e()],2),t("br"),t("small",[e._v(e._s(s.summary.summary))])]}),null,s)]}},{key:"details",fn:function(s){return[t("FileFormat",{attrs:{id:s.summary.identifier,format:s.item,type:s.item.type,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("file-format-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("file-format-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=s(86975),o=s(35254);const n={name:"FileFormats",components:{SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152))),FileFormat:()=>i.A.loadAsyncComponent(s.e(3504).then(s.bind(s,13504)))},mixins:[o.A],props:{formats:{type:Object,default:()=>({})},showInput:{type:Boolean,default:!0},showOutput:{type:Boolean,default:!0},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"File Formats"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},missing:{type:Array,default:null},...o.A.props},computed:{showAll(){return this.showInput&&this.showOutput},typesToShow(){let e=[];return this.showInput&&e.push("input"),this.showOutput&&e.push("output"),e},fileFormats(){let e=[];for(let s of this.typesToShow)for(var t in this.formats[s]){let a=Object.assign({id:`${t}-${s}`,name:t,type:s},this.formats[s][t]);e.push(a)}return e}},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,a,r,!1,null,null,null);const u=d.exports},48312:(e,t,s)=>{s.d(t,{A:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component processes"},[t("SearchableList",{attrs:{data:e.processes,keywordsKey:"categories",showKeywords:e.showCategories,showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed,loadAdditionalData:e.loadAdditionalData,allowCopy:""},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},e.missing?{key:"content-start",fn:function(){return[t("FederationMissingNotice",{attrs:{missing:e.missing,federation:e.federation}})]},proxy:!0}:null,{key:"summary",fn:function(t){return[e._t("summary",null,null,t)]}},{key:"details",fn:function(s){return[t("Process",{attrs:{process:s.item,provideDownload:e.provideDownload,processUrl:e.processUrl,showGraph:e.showGraph,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"before-description",fn:function(t){return[e._t("process-before-description",null,null,t)]}},{key:"end",fn:function(t){return[e._t("process-end",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=s(86975),o=s(35254);const n={name:"Processes",components:{Process:()=>i.A.loadAsyncComponent(s.e(6660).then(s.bind(s,34279))),SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152)))},mixins:[o.A],props:{processes:{type:Array,default:()=>[]},provideDownload:{type:Boolean,default:!0},processUrl:String,searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"Processes"},collapsed:{type:Boolean,default:null},showCategories:{type:Boolean,default:!1},showGraph:{type:Boolean,default:!1},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},loadAdditionalData:{type:Function,default:null},missing:{type:Array,default:null},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,a,r,!1,null,null,null);const u=d.exports},9409:(e,t,s)=>{s.r(t),s.d(t,{default:()=>c});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component search-box",class:{compact:e.compact}},[t("span",{staticClass:"icon"},[e._v("🔎")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.searchTerm,expression:"searchTerm"}],attrs:{type:"search",placeholder:e.placeholder,minlength:e.minLength,title:e.searchHint},domProps:{value:e.searchTerm},on:{input:function(t){t.target.composing||(e.searchTerm=t.target.value)}}})])},r=[];const i={name:"SearchBox",props:{value:{type:String,default:""},placeholder:{type:String,default:"Search"},minLength:{type:Number,default:1},compact:{type:Boolean,default:!1}},data(){return{searchTerm:this.value}},watch:{searchTerm(e,t){e.length1?`Searching requires at least ${this.minLength} characters.`:null}}},o=i;var n=s(81656),l=(0,n.A)(o,a,r,!1,null,null,null);const c=l.exports},91065:(e,t,s)=>{s.d(t,{A:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component udf-runtimes"},[t("SearchableList",{attrs:{data:e.runtimes,summaryKey:"title",showSummaryOnExpand:!1,externalSearchTerm:e.searchTerm,externalHideDeprecated:e.hideDeprecated,deprecatedFilter:e.deprecatedFilter,externalHideExperimental:e.hideExperimental,experimentalFilter:e.experimentalFilter,sort:e.sort,offerDetails:e.offerDetails,heading:e.heading,collapsed:e.collapsed},on:{detailsToggled:e.detailsToggled},scopedSlots:e._u([{key:"heading",fn:function(t){return[e._t("heading",null,null,t)]}},{key:"summary",fn:function(s){return[e._t("summary",(function(){return[t("strong",{staticClass:"inline"},[e._v(e._s(s.summary.identifier))]),t("ul",{staticClass:"badges small inline"},["docker"===s.item.type||s.item.docker&&s.item.tags?[t("li",{staticClass:"badge docker"},[e._v("Docker")]),e._l(s.item.tags,(function(a){return t("li",{key:a,staticClass:"badge version",class:{default:a===s.item.default}},[e._v(e._s(a))])}))]:e._l(s.item.versions,(function(a,r){return t("li",{key:r,staticClass:"badge version",class:{default:r===s.item.default}},[e._v(e._s(r))])}))],2),t("br"),t("small",[e._v(e._s(s.summary.summary))])]}),null,s)]}},{key:"details",fn:function(s){return[t("UdfRuntime",{attrs:{id:s.summary.identifier,runtime:s.item,federation:e.federation},scopedSlots:e._u([{key:"title",fn:function(){return[t("span",{staticClass:"hidden"})]},proxy:!0},{key:"badges",fn:function(t){return[e._t("udf-runtime-badges",null,null,t)]}},{key:"before-description",fn:function(t){return[e._t("udf-runtime-before-description",null,null,t)]}}],null,!0)})]}}],null,!0)})],1)},r=[],i=s(86975),o=s(35254);const n={name:"UdfRuntimes",components:{SearchableList:()=>i.A.loadAsyncComponent(s.e(4152).then(s.bind(s,34152))),UdfRuntime:()=>i.A.loadAsyncComponent(s.e(3271).then(s.bind(s,33271)))},mixins:[o.A],props:{runtimes:{type:Object,default:()=>({})},searchTerm:{type:String,default:null},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},heading:{type:String,default:"UDF Runtimes"},collapsed:{type:Boolean,default:null},hideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},hideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1},...o.A.props},beforeCreate(){i.A.enableHtmlProps(this)},methods:{detailsToggled(...e){this.$emit("detailsToggled",...e)}}},l=n;var c=s(81656),d=(0,c.A)(l,a,r,!1,null,null,null);const u=d.exports},77754:(e,t,s)=>{s.d(t,{A:()=>y});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"discovery-toolbar"},[t("SearchBox",{model:{value:e.searchTerm,callback:function(t){e.searchTerm=t},expression:"searchTerm"}}),t("div",{staticClass:"filters"},[t("span",{staticClass:"label"},[e._v(" Show ")]),t("label",{staticClass:"show-deprecated",attrs:{title:"Show deprecated elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showDeprecated,expression:"showDeprecated"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showDeprecated)?e._i(e.showDeprecated,null)>-1:e.showDeprecated},on:{change:function(t){var s=e.showDeprecated,a=t.target,r=!!a.checked;if(Array.isArray(s)){var i=null,o=e._i(s,i);a.checked?o<0&&(e.showDeprecated=s.concat([i])):o>-1&&(e.showDeprecated=s.slice(0,o).concat(s.slice(o+1)))}else e.showDeprecated=r}}}),e._v(" deprecated ")]),t("label",{staticClass:"show-experimental",attrs:{title:"Show experimental elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showExperimental,expression:"showExperimental"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showExperimental)?e._i(e.showExperimental,null)>-1:e.showExperimental},on:{change:function(t){var s=e.showExperimental,a=t.target,r=!!a.checked;if(Array.isArray(s)){var i=null,o=e._i(s,i);a.checked?o<0&&(e.showExperimental=s.concat([i])):o>-1&&(e.showExperimental=s.slice(0,o).concat(s.slice(o+1)))}else e.showExperimental=r}}}),e._v(" experimental ")])]),t("div",{staticClass:"search-results"},[t("Collections",{staticClass:"category",attrs:{collections:e.collections,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsLoadCollection},on:{dragstart:function(t){return e.onDrag(t,"collection",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showCollectionInfo(s.id)}}},[t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()]),e.hasCollectionPreview(s)?t("button",{staticClass:"discovery-button",attrs:{type:"button",title:"View on map"},on:{click:function(t){return e.showCollectionPreview(s)}}},[t("i",{staticClass:"fas fa-map"})]):e._e()])]}}])}),t("Processes",{staticClass:"category",attrs:{processes:e.allProcesses,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:"true"},on:{dragstart:function(t){return e.onDrag(t,"process",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showProcess(s)}}},["user"===s.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-sitemap",attrs:{title:"Custom Process"}}):"backend"!==s.namespace?t("i",{staticClass:"custom-process fas fa-xs fa-tag",attrs:{title:`Process from namespace '${s.namespace}'`}}):e._e(),t("strong",{attrs:{title:s.id}},[e._v(e._s(s.id))]),s.summary?t("small",{attrs:{title:s.summary}},[e._v(e._s(s.summary))]):e._e()])])]}}])}),e.hasUdfRuntimes?t("UdfRuntimes",{staticClass:"category",attrs:{runtimes:e.udfRuntimes,searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({summary:s,item:a}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsRunUdf},on:{dragstart:function(t){return e.onDrag(t,"udf",{runtime:s.identifier,version:a.default})}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showUdfInfo(s.identifier,a)}}},[t("strong",{attrs:{title:s.identifier}},[e._v(e._s(s.identifier)+" ("+e._s(a.default)+")")]),s.summary?t("small",{attrs:{title:s.summary}},[e._v(e._s(s.summary))]):e._e()])])]}}],null,!1,92063951)}):e._e(),t("FileFormats",{staticClass:"category",attrs:{formats:e.fileFormats,showInput:!1,heading:"Export File Formats",searchTerm:e.searchTerm,offerDetails:!1,collapsed:e.collapsed,hideDeprecated:!e.showDeprecated,hideExperimental:!e.showExperimental},scopedSlots:e._u([{key:"summary",fn:function({item:s}){return[t("div",{staticClass:"discovery-entity",attrs:{draggable:e.supportsSaveResult},on:{dragstart:function(t){return e.onDrag(t,"fileformat",s)}}},[t("div",{staticClass:"discovery-info",on:{click:function(t){return e.showFileFormatInfo(s)}}},[t("strong",{attrs:{title:s.name}},[e._v(e._s(s.name))]),s.title?t("small",{attrs:{title:s.title}},[e._v(e._s(s.title))]):e._e()])])]}}])})],1)],1)},r=[],i=s(61663),o=s(2566),n=s(69748),l=s(90334),c=s(48312),d=s(9409),u=s(91065);const p={name:"DiscoveryToolbar",mixins:[i.A],components:{Collections:n.A,FileFormats:l.A,Processes:c.A,SearchBox:d["default"],UdfRuntimes:u.A},props:{onAddProcess:{type:Function,required:!0},collectionPreview:{type:Boolean,default:!1},persist:{type:Boolean,default:!1}},data(){return{internalSearchTerm:"",collapsed:!0,showDeprecated:this.$config.showDeprecatedByDefault||!1,showExperimental:this.$config.showExperimentalByDefault||!1}},computed:{...o.A.mapState(["collections","udfRuntimes"]),...o.A.mapState("editor",["discoverySearchTerm"]),...o.A.mapGetters(["supports","fileFormats","processes"]),supportsLoadCollection(){return this.processes.has("load_collection")},supportsRunUdf(){return this.processes.has("run_udf")},supportsSaveResult(){return this.processes.has("save_result")},hasUdfRuntimes(){return o.A.size(this.udfRuntimes)},allProcesses(){return this.processes.all()},searchTerm:{get(){return this.persist?this.discoverySearchTerm:this.internalSearchTerm},set(e){this.persist?this.setDiscoverySearchTerm(e):this.internalSearchTerm=e}}},watch:{searchTerm:{immediate:!0,handler(e,t){!e&&t?this.collapsed=!0:e&&!t&&(this.collapsed=!1)}}},methods:{...o.A.mapMutations("editor",["setDiscoverySearchTerm","setModelDnd"]),...o.A.mapActions(["loadProcess"]),onDrag(e,t,s){let a=e=>this.setModelDnd({type:t,data:s,loading:e});"process"===t?(a(!0),this.loadProcess(s).then((()=>a(!1)))):a(!1)},showCollectionInfo(e){this.broadcast("showCollection",e)},hasCollectionPreview(e){return Boolean(this.collectionPreview&&o.A.getPreviewLinkFromSTAC(e))},showCollectionPreview(e){this.broadcast("showCollectionPreview",e)},showProcess(e){this.broadcast("showProcess",e)},showUdfInfo(e,t){this.broadcast("showModal","UdfRuntimeModal",{id:e,data:t,version:t.default})},showFileFormatInfo(e){let t={id:e.name,format:this.fileFormats.output[e.name],type:"output"};this.broadcast("showModal","FileFormatModal",t)}}},h=p;var m=s(81656),f=(0,m.A)(h,a,r,!1,null,"281f64a6",null);const y=f.exports},63036:(e,t,s)=>{s.r(t),s.d(t,{default:()=>k});var a=function(){var e=this,t=e._self._c;return t("Tabs",{ref:"tabs",staticClass:"editor",attrs:{id:"customProcessContent",position:"bottom"}},[t("Tab",{attrs:{id:"visual",name:"Visual Model",icon:"fa-project-diagram",selected:!0,allowShow:e.canSwitchView},on:{show:e.showModel}},[t("VisualEditor",{ref:"graphBuilder",staticClass:"visualEditorTab",attrs:{editable:e.editable,parent:e.parent,parentSchema:e.parentSchema,value:e.modelValue,title:e.title,id:e.id+"_visual",showDiscoveryToolbar:e.showDiscoveryToolbar,showIntro:e.showIntro,defaultValue:e.defaultValue},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1),t("Tab",{attrs:{id:"source",name:"Code",icon:"fa-code",allowShow:e.canSwitchView},on:{show:e.showCode}},[t("TextEditor",{ref:"sourceEditor",staticClass:"textEditorTab",attrs:{editable:e.editable,value:e.codeValue,title:e.title,id:e.id+"_text",language:"processgraph"},on:{input:e.commit,error:e.onError},scopedSlots:e._u([{key:"file-toolbar",fn:function(){return[e._t("file-toolbar")]},proxy:!0},{key:"toolbar",fn:function(){return[e._t("toolbar")]},proxy:!0}],null,!0)})],1)],1)},r=[],i=s(2566),o=s(4615),n=s(58379),l=function(){var e=this,t=e._self._c;return t("div",{ref:"visualEditor",staticClass:"visualEditor"},[t("div",{staticClass:"sourceHeader"},[e.title?t("strong",[e._v(e._s(e.title))]):e._e(),t("div",{staticClass:"sourceToolbar"},[e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",title:"New script / Clear current script"},on:{click:e.confirmClear}},[t("i",{staticClass:"fas fa-file"})]),e._t("file-toolbar")],2):e._e(),e.editable?t("span",{staticClass:"sepr"},[t("button",{attrs:{type:"button",disabled:!e.canUndo,title:"Revert last change"},on:{click:function(t){return e.$refs.blocks.undo()}}},[t("i",{staticClass:"fas fa-undo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.canRedo,title:"Redo last reverted change"},on:{click:function(t){return e.$refs.blocks.redo()}}},[t("i",{staticClass:"fas fa-redo-alt"})]),t("button",{attrs:{type:"button",disabled:!e.hasSelection,title:"Delete selected elements"},on:{click:function(t){return e.$refs.blocks.deleteSelected()}}},[t("i",{staticClass:"fas fa-trash"})])]):e._e(),e.editable?t("span",{staticClass:"sepr"},[e.parent?e._e():t("button",{attrs:{type:"button",title:"Edit Process Metadata"},on:{click:()=>e.editProcess(e.value)}},[t("i",{staticClass:"fas fa-edit"})]),t("button",{attrs:{type:"button",title:"Add Parameter"},on:{click:e.addParameter}},[t("i",{staticClass:"fas fa-parking"})]),e.supportsMath?t("button",{class:{highlightFormula:e.isMath},attrs:{type:"button",title:"Insert/Edit formula"},on:{click:e.showExpressionModal}},[t("i",{staticClass:"fas fa-square-root-alt"})]):e._e()]):e._e(),t("button",{class:{compactMode:e.compactMode},attrs:{type:"button",title:"Compact Mode"},on:{click:function(t){return e.$refs.blocks.toggleCompact()}}},[t("i",{staticClass:"fas fa-compress-arrows-alt"})]),t("button",{attrs:{type:"button",title:"Scale to perfect size"},on:{click:function(t){return e.$refs.blocks.perfectScale()}}},[t("i",{staticClass:"fas fa-arrows-alt"})]),t("FullscreenButton",{attrs:{element:()=>this.$refs.visualEditor},on:{changed:t=>{this.$refs.blocks.perfectScale(),e.isFullScreen=t}}}),e._t("toolbar")],2)]),t("div",{staticClass:"editorSplitter"},[(e.showDiscoveryToolbar||e.isFullScreen)&&e.editable?t("DiscoveryToolbar",{staticClass:"discoveryToolbar",attrs:{onAddProcess:e.insertProcess}}):e._e(),t("div",{staticClass:"graphBuilder",on:{drop:e.onDrop,dragover:e.allowDrop}},[e.showHelpOverlay?t("div",{staticClass:"model-overlay"},[t("h2",[e._v("Welcome!")]),t("p",[e._v(" What you are seeing in this area of the "+e._s(e.$config.appName)+" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. ")]),t("p",[e._v(" Alternatively, you can also import existing processes into the model builder: "),t("ul",[e.canPaste?t("li",[e._v("Paste the JSON from your clipboard by clicking "),t("button",{attrs:{type:"button",title:"Paste from clipboard"},on:{click:e.paste}},[t("i",{staticClass:"fas fa-paste"})]),e._v(" or use "),t("kbd",[e._v("CTRL")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (Windows, Linux) or "),t("kbd",[e._v("⌘")]),e._v(" + "),t("kbd",[e._v("V")]),e._v(" (MacOS) when the model builder is in focus.")]):e._e(),t("li",[e._v("Drag and drop a JSON file from your computer")]),t("li",[e._v("Import a JSON file from your computer or another source such as the internet by clicking "),t("button",{attrs:{type:"button",title:"Import process from external source"},on:{click:e.importProcess}},[t("i",{staticClass:"fas fa-cloud-download-alt"})])])])]),e._m(0),t("p",[e._v("Once you start interacting with this area, this message will disappear.")])]):e._e(),t("ModelBuilder",{ref:"blocks",attrs:{editable:e.editable,id:e.id,processes:e.processes,collections:e.collections,parent:e.parent,parentSchema:e.parentSchema,value:e.value},on:{input:e.commit,error:e.errorHandler,showProcess:(t,s)=>e.broadcast("showProcess",{id:t,namespace:s}),showCollection:t=>e.broadcast("showCollection",t),showParameter:(t,s)=>e.broadcast("showProcessParameter",t,s),editParameter:e.editParameter,editArguments:e.openArgumentEditor,compactMode:e=>this.compactMode=e,selectionChanged:e.selectionChanged,historyChanged:e.historyChanged}})],1)],1)])},c=[function(){var e=this,t=e._self._c;return t("p",[e._v(" You can also import the processes from the Python and R client. You need to export your process to JSON first: "),t("ul",[t("li",[e._v("In Python use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export",target:"_blank"}},[t("code",[e._v("print(result.to_json())")])])]),t("li",[e._v("In R use "),t("a",{attrs:{href:"https://open-eo.github.io/openeo-r-client/reference/index.html",target:"_blank"}},[t("code",[e._v('toJSON(as(result, "Process"))')])])])]),e._v(" In both cases, "),t("code",[e._v("result")]),e._v(" is your last return value from a data cube process such as "),t("code",[e._v("save_result")]),e._v(". For more details, please read the corresponding chapter in the "),t("a",{attrs:{href:"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json",target:"_blank"}},[e._v("openEO cookbook")]),e._v(". ")])}],d=s(4638),u=s(77754),p=s(61663),h=s(82574),m=s(31572),f=s(47067);const y={name:"VisualEditor",mixins:[p.A],components:{ModelBuilder:d["default"],DiscoveryToolbar:u.A,FullscreenButton:h.A},props:{id:String,editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},title:{type:String},defaultValue:{}},computed:{...i.A.mapState(["connection","collections"]),...i.A.mapGetters(["processes","supportsMath"]),...i.A.mapState("editor",["initialNode"]),...i.A.mapGetters("editor",["getModelNodeFromDnD"]),isMath(){return this.supportsMath&&this.processes.isMath(this.value)}},data(){return{showHelpOverlay:this.showIntro,canUndo:!1,canRedo:!1,canPaste:!1,compactMode:!1,hasSelection:!1,formula:null,isFullScreen:!1}},watch:{value:{immediate:!0,handler(e){if(e&&(this.showHelpOverlay=!1),this.initialNode&&i.A.isObject(e)&&i.A.isObject(e.process_graph))try{let t=this.initialNode;"1"==t&&i.A.size(e.process_graph)&&(t=Object.keys(e.process_graph)[0]),this.openArgumentEditorForNode(t)}catch(t){i.A.exception(this,t)}finally{this.setInitialNode(null)}}}},mounted(){this.canPaste=navigator&&navigator.clipboard&&"function"===typeof navigator.clipboard.readText},methods:{...i.A.mapMutations("editor",["setInitialNode","setModelDnD"]),commit(e){"undefined"!==typeof this.defaultValue&&i.A.isObject(e)&&0===i.A.size(e.process_graph)&&(e=this.defaultValue),this.$emit("input",e)},async paste(){this.canPaste||i.A.error(this,"error","Pasting is not supported by your browser.");try{const e=await navigator.clipboard.readText();let t=JSON.parse(e);await this.$refs.blocks.import(t)}catch(e){i.A.exception(this,e,"Paste Error")}},importProcess(){this.broadcast("importProcess")},errorHandler(e,t=null){i.A.exception(this,e,t)},selectionChanged(e,t){this.hasSelection=Boolean(e.filter((e=>e.$el.allowsDelete)).length||t.length)},historyChanged(e,t){this.canUndo=!!e[t-1],this.canRedo=!!e[t+1]},allowDrop(e){this.showHelpOverlay=!1,e.preventDefault()},async onDrop(e){const t=await this.getModelNodeFromDnD();if(t)return this.insertProcess(t,e.pageX,e.pageY),this.setModelDnD(),e.preventDefault();let s=e.dataTransfer.files;if(1===s.length){let t=e.dataTransfer.files[0];if("application/json"===t.type){var a=new FileReader;return a.onload=async e=>{try{let t=JSON.parse(e.target.result);await this.$refs.blocks.import(t)}catch(t){i.A.exception(this,t,"Parsing JSON file failed")}},a.onerror=e=>i.A.exception(this,e,"Reading JSON file failed"),a.readAsText(t,"UTF-8"),e.preventDefault()}}},getNameField(e=void 0,t="name"){return{value:e,name:t,description:"A unique identifier. Must contain only letters (`a`-`z`), digits (`0`-`9`) and underscores (`_`). `snake_case` is recommended.",label:"Name",schema:{type:"string",pattern:"^\\w+$"},default:null}},getDescriptionField(e=void 0,t=!1,s="description",a="Description"){return{value:e,name:s,description:"Provides a detailed description. CommonMark (Markdown) syntax can be used for rich text formatting.",label:a,optional:t,schema:{type:"string",subtype:"commonmark"}}},getOptionalField(e=void 0){return{value:e,name:"optional",label:"Optional",description:"Parameters by default are required. CHeck this option to make the parameter optional. For optional parameters a default value should be specified.",optional:!0,schema:{type:"boolean"},default:!1}},getDefaultField(e=void 0){return{value:e,name:"default",label:"Default Value",description:"This value is used whenever the user of this process did not specify a value for this parameter.",toggledBy:"optional",optional:!0,schema:{}}},getExperimentalField(e=void 0){return{value:e,name:"experimental",label:"Experimental",description:"Declares that this is experimental, which means that it is unstable and likely to change.",optional:!0,schema:{type:"boolean"},default:!1}},getDeprecatedField(e=void 0){return{value:e,name:"deprecated",label:"Deprecated",description:"Declares that this is deprecated with the potential to be removed in any of the next versions. It should be transitioned out of usage.",optional:!0,schema:{type:"boolean"},default:!1}},getSchemaField(e=void 0,t="schema",s="Data Types"){let a=e?"json-schema":"openeo-datatype";return{value:e,name:t,label:s,description:"Allowed data type(s) as JSON Schema.",schema:[{title:"Single data type",type:"object",subtype:a},{title:"Multiple data types",type:"array",minItems:2,items:{type:"object",subtype:a}}]}},editProcess(e){e=i.A.isObject(e)?e:{};let t=i.A.isObject(e.returns)?e.returns:{};var s=[this.getNameField(e.id,"id"),{value:e.summary,name:"summary",description:"A very short description of the process with usually less than 60 characters.",label:"Summary",optional:!0,schema:{type:"string"}},this.getDescriptionField(e.description,!0),{value:e.categories,name:"categories",label:"Categories",optional:!0,schema:{type:"array",items:{type:"string"}}},this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),{label:"Parameters",description:'The parameters can be edited directly in the "Visual Model" interface.',info:!0},this.getDescriptionField(t.description,!0,"returns_description","Return Value > Description"),this.getSchemaField(t.schema,"returns_schema","Return Value > Data Type"),{value:e.exceptions,name:"exceptions",description:"Declares exceptions (errors) that might occur during execution of this process. This list is just for informative purposes.\n\nThe keys of the object are the error codes, which should only consist of alphanumerical characters. `PascalCase` is recommended.",label:"Errors",optional:!0,schema:{type:"object",additionalProperties:{type:"object",required:["message"],properties:{message:{title:"Error Message",type:"string"},description:{title:"Description",type:"string",subtype:"commonmark"},http:{title:"HTTP Status Code",type:"integer",enum:[400,500,501]}}}}},{value:e.examples,name:"examples",label:"Examples",description:"Example calls for this process with specific values for the parameters (arguments) and the result (return value).",optional:!0,schema:{type:"array",items:{type:"object",required:["arguments"],properties:{title:{title:"Title",type:"string"},title:{title:"Description",type:"string",subtype:"commonmark"},arguments:{title:"Arguments",type:"object",default:{}},returns:{title:"Return Value"}}}}},{value:e.links,name:"links",label:"Links",description:"Links related to this process, e.g. additional documentation.",optional:!0,schema:{type:"array",items:{type:"object",required:["href","rel"],properties:{href:{title:"URL",type:"string"},rel:{title:"Relation",description:"For examples see [IANA relation types](https://www.iana.org/assignments/link-relations/link-relations.xhtml)",type:"string",default:"about"},title:{title:"Title",type:"string"},type:{title:"Media Type",description:"For examples see [IANA media types](https://www.iana.org/assignments/media-types/media-types.xhtml)",type:"string"}}}}}];this.broadcast("showDataForm","Edit Process",s,(async e=>{let t=i.A.pickFromObject(e,["id","summary","description","categories","experimental","deprecated","exception","examples","links"]);("string"===typeof t.description||i.A.isObject(t.schema))&&(t.returns={description:e.returns_description,schema:e.returns_schema});let s=this.$refs.blocks.export(!0),a=Object.assign({},s,t);const r={id:"",summary:"",description:"",categories:[],experimental:!1,deprecated:!1,examples:[],links:[],process_graph:{}};for(let o in r)i.A.equals(r[o],a[o])&&delete a[o];this.commit(a)}))},addParameter(){var e=[this.getNameField(),this.getDescriptionField(),this.getOptionalField(),this.getDefaultField(),this.getExperimentalField(),this.getDeprecatedField(),this.getSchemaField()];this.broadcast("showDataForm","Add Parameter",e,(async e=>{"string"===typeof e.name&&e.name.length>0&&await this.$refs.blocks.addPgParameter(e)}))},editParameter(e,t="Edit Parameter",s=null){var a=[this.getNameField(e.name),this.getDescriptionField(e.description),this.getOptionalField(e.optional),this.getDefaultField(e.default),this.getExperimentalField(e.experimental),this.getDeprecatedField(e.deprecated),this.getSchemaField(e.schema)];this.broadcast("showDataForm",t,a,s)},showExpressionModal(){let e=new f.A(this.value,this.processes,this.connection,!0);e.setCallbackParameters(this.$refs.blocks.getPgParameters().map((e=>e.spec)));try{e.parse();let t={process:e},s={save:this.insertNodes};this.broadcast("showModal","ExpressionModal",t,s)}catch(t){i.A.exception(this,t)}},openArgumentEditorForNode(e){let t=i.A.deepClone(this.value),s=t.process_graph[e],a=this.processes.get(s.process_id,s.namespace);Array.isArray(a.parameters)&&a.parameters.length>0&&this.openArgumentEditor(a.parameters.map((e=>new m.ProcessParameter(e))).filter((e=>e.isEditable())),s.arguments,a.id,!0,null,(e=>{Object.assign(s,{arguments:e}),this.commit(t)}))},openArgumentEditor(e,t,s="Edit",a=!0,r=null,i=null,o=null){let n={title:s,parameters:e,data:t,editable:a,selectParameterName:r,parent:o},l={};"function"===typeof i&&(l.save=i),this.broadcast("showModal","ParameterModal",n,l)},confirmClear(){var e=confirm("Do you really want to clear the existing model?");e&&this.clear()},clear(){this.$refs.blocks&&this.$refs.blocks.clear(),this.commit(null)},insertProcess(e,t=null,s=null){try{var a=this.$refs.blocks.getPositionForPageXY(t,s);let r=e.namespace;"backend"!==r&&"user"!==r||(r=null),this.$refs.blocks.addProcess(e.process_id,e.arguments,a,r)}catch(r){i.A.exception(this,r)}},async insertNodes(e,t=!1){return await this.$refs.blocks.import({process_graph:e},{clear:t})}}},g=y;var v=s(81656),b=(0,v.A)(g,l,c,!1,null,null,null);const _=b.exports;var w=s(57497);const C={name:"Editor",components:{VisualEditor:_,TextEditor:w.A,Tabs:o["default"],Tab:n["default"]},props:{id:{type:String,default:()=>`editor_${Date.now()}`},editable:{type:Boolean,default:!0},value:{type:Object,default:()=>null},title:{type:String},parent:{type:Object,default:null},parentSchema:{type:Object,default:null},showDiscoveryToolbar:{type:Boolean,default:!1},showIntro:{type:Boolean,default:!1},defaultValue:{}},watch:{value(){this.updateTab()}},data(){return{modelValue:null,codeValue:null,error:null}},mounted(){this.updateTab()},methods:{...i.A.mapActions(["loadProcess"]),showModel(){this.error=null,this.modelValue=this.value},showCode(){this.error=null,this.codeValue=this.value,this.$refs.sourceEditor.updateState()},updateTab(){"source"===this.$refs.tabs.getActiveTabId()?this.showCode():this.showModel()},commit(e){this.error=null,this.$emit("input",e)},onError(e){this.error=e},activeEditor(){return"source"===this.$refs.tabs.getActiveTabId()?this.$refs.sourceEditor:this.$refs.graphBuilder},async insertProcess(e){try{await this.loadProcess({id:e.process_id,namespace:e.namespace}),this.activeEditor().insertProcess(e)}catch(t){i.A.exception(this,t)}},canSwitchView(){return!this.editable||null===this.error||(i.A.exception(this,this.error,"Process Invalid Error"),!1)}}},A=C;var x=(0,v.A)(A,a,r,!1,null,null,null);const k=x.exports},1777:(e,t,s)=>{s.r(t),s.d(t,{default:()=>_});var a=function(){var e=this,t=e._self._c;return t("Modal",{attrs:{width:"80%",title:e.title},on:{closed:function(t){return e.$emit("closed")}}},[t("Service",{attrs:{service:e.service,currency:e.currency},scopedSlots:e._u([{key:"process-graph",fn:function(){return[t("Editor",{staticClass:"infoViewer",attrs:{value:e.service.process,editable:!1,id:"servicePgViewer"}})]},proxy:!0}])})],1)},r=[],i=s(2566),o=s(94679),n=s(63036),l=function(){var e=this,t=e._self._c;return t("article",{staticClass:"vue-component service"},[e._t("title",(function(){return[t("a",{staticClass:"anchor",attrs:{name:e.service.id}}),t("h2",[e._v(e._s(e.service.title||e.service.id))])]}),null,e.$props),t("section",{staticClass:"basedata"},[t("div",{staticClass:"tabular"},[t("label",[e._v("ID:")]),t("code",{staticClass:"value"},[e._v(e._s(e.service.id))])]),t("div",{staticClass:"tabular"},[t("label",[e._v("Type:")]),t("span",{staticClass:"value"},[e._v(e._s(e.type))])]),e.service.url?t("div",{staticClass:"tabular"},[t("label",[e._v("URL:")]),t("code",{staticClass:"value"},[t("a",{attrs:{href:e.service.url,target:"_blank"}},[e._v(e._s(e.service.url))])])]):e._e(),t("div",{staticClass:"tabular"},[t("label",[e._v("Enabled:")]),t("span",{staticClass:"value boolean"},[!0===e.service.enabled?t("span",[e._v("✔️")]):!1===e.service.enabled?t("span",[e._v("❌")]):t("span",[e._v("❓")])])]),e.service.created?t("div",{staticClass:"tabular"},[t("label",[e._v("Created:")]),t("span",{staticClass:"value"},[e._v(e._s(e.created))])]):e._e()]),e._t("before-description",null,null,e.$props),e.service.description?t("summary",{staticClass:"description"},[t("h3",[e._v("Description")]),t("Description",{attrs:{description:e.service.description}})],1):e._e(),e.hasAttributes?t("section",{staticClass:"attributes"},[t("h3",[e._v("Exposed Capabilities from "+e._s(e.type))]),e._l(e.service.attributes,(function(s,a){return t("div",{key:a,staticClass:"tabular"},[t("label",[e._v(e._s(e._f("prettifyKey")(a))+":")]),t("ObjectTree",{staticClass:"value",attrs:{data:s}})],1)}))],2):e._e(),e.hasConfig?t("section",{staticClass:"parameters"},[t("h3",[e._v("Custom Settings for "+e._s(e.type))]),e._l(e.service.configuration,(function(s,a){return t("div",{key:a,staticClass:"tabular"},[t("label",[e._v(e._s(e._f("prettifyKey")(a))+":")]),t("ObjectTree",{staticClass:"value",attrs:{data:s}})],1)}))],2):e._e(),e.service.plan||e.costs||e.budget?t("section",{staticClass:"billing"},[t("h3",[e._v("Billing")]),e.service.plan?t("div",{staticClass:"tabular"},[t("label",[e._v("Billing plan:")]),t("span",{staticClass:"value"},[e._v(e._s(e.service.plan))])]):e._e(),e.costs?t("div",{staticClass:"tabular"},[t("label",[e._v("Incurred Costs:")]),t("span",{staticClass:"value"},[e._v(e._s(e.costs))])]):e._e(),e.budget?t("div",{staticClass:"tabular"},[t("label",{attrs:{title:"The allowed maximum costs, specified by the user."}},[e._v("Budget limit:")]),t("span",{staticClass:"value"},[e._v(e._s(e.budget))])]):e._e()]):e._e(),e.hasUsageMetrics?t("section",{staticClass:"usage"},[t("h3",[e._v("Usage Metrics")]),e._l(e.usage,(function(s,a){return t("div",{key:a,staticClass:"tabular"},[t("label",{staticClass:"metric"},[e._v(e._s(e._f("usageLabel")(a)))]),t("span",{staticClass:"value"},[e._v(e._s(e._f("usageValue")(s.value))+" "),t("span",{staticClass:"unit"},[e._v(e._s(s.unit))])])])}))],2):e._e(),t("section",{staticClass:"process"},[t("h3",[e._v("Process")]),t("Process",{staticClass:"inline",attrs:{process:e.service.process,provideDownload:!1,showGraph:!0},scopedSlots:e._u([{key:"process-graph",fn:function(t){return[e._t("process-graph",null,{vBind:t})]}}],null,!0)})],1),e._t("end",null,null,e.$props)],2)},c=[],d=s(86975),u=s(17834);const p={name:"Service",mixins:[u.A],components:{Description:()=>Promise.all([s.e(7261),s.e(1194)]).then(s.bind(s,27261)),ObjectTree:()=>s.e(2327).then(s.bind(s,2327)),Process:()=>s.e(6660).then(s.bind(s,34279))},props:{service:{type:Object,default:()=>({})},currency:{type:String,default:null}},computed:{budget(){return d.A.formatBudget(this.service.budget,this.currency,"No limit specified")},costs(){return d.A.formatCurrency(this.service.costs,this.currency)},created(){return d.A.formatTimestamp(this.service.created)},hasAttributes(){return d.A.size(this.service.attributes)>0},hasConfig(){return d.A.size(this.service.configuration)>0},type(){return"string"===typeof this.service.type?this.service.type.toUpperCase():"Unknown"},usage(){return this.service.usage}},beforeCreate(){d.A.enableHtmlProps(this)},filters:{prettifyKey(e){return d.A.prettifyString(e)}}},h=p;var m=s(81656),f=(0,m.A)(h,l,c,!1,null,null,null);const y=f.exports,g={name:"ServiceInfoModal",components:{Editor:n["default"],Modal:o.A,Service:y},props:{service:{type:Object}},computed:{...i.A.mapGetters(["currency"]),title(){return"Web Service: "+(this.service.title||"#"+this.service.id)}}},v=g;var b=(0,m.A)(v,a,r,!1,null,null,null);const _=b.exports},16125:(e,t,s)=>{s.d(t,{A:()=>o});var a=s(14894),r=s(2566);class i extends a.BaseProcess{constructor(e,t){super(e),this.exporter=t}async execute(e){await this.exporter.generateFunction(e)}}class o extends a.ProcessGraph{constructor(e,t,s){super(r.A.isObject(e)?e:{},t),this.connection=s,this.code=[],this.fnCounter=1,this.allowEmpty(),this.fillUndefinedParameters()}createProcessGraphInstance(e){let t=new o(e,this.processRegistry,this.getJsonSchemaValidator());return this.copyProcessGraphInstanceProperties(t)}copyProcessGraphInstanceProperties(e){return e=super.copyProcessGraphInstanceProperties(e),e.connection=this.connection,e}createProcessInstance(e){return new i(e,this)}isKeyword(e){return this.getKeywords().includes(e.toLowerCase())}getKeywords(){return[]}comment(){}generateImports(){}generateConnection(){}generateAuthentication(){}generateBuilder(){}generateMetadata(){}generateMissingParameter(){}async generateFunction(){}generateFunctionParams(e){return e.map((e=>"undefined"!==typeof e.default?`${e.name} = ${this.e(e.default)}`:e.name))}async generateCallback(){}generateResult(){}makeNull(){return"null"}makeBoolean(e){return e?"true":"false"}makeArray(e){return`[${e.join(", ")}]`}makeObject(e){let t=r.A.mapObject(e,((e,t)=>`${this.makeString(t)}: ${e}`));return`{${t.join(", ")}}`}makeString(e){return JSON.stringify(e)}makeNumber(e){return e}e(e){return null===e?this.makeNull():"boolean"===typeof e?this.makeBoolean(e):"number"===typeof e?this.makeNumber(e):"string"===typeof e?this.makeString(e):Array.isArray(e)?this.makeArray(e.map((e=>this.e(e)))):r.A.isObject(e)?this.makeObject(r.A.mapObjectValues(e,(e=>this.e(e)))):"function"===typeof e?e():this.makeNull()}generateMetadata(){let e=!1;for(let t in this.process){if("process_graph"===t)continue;let s=this.process[t];Array.isArray(s)&&0===s.length||("string"===typeof s&&0===s.length||("boolean"!==typeof s||s)&&(e||(this.newLine(),this.comment("Set the metadata for the process"),e=!0),this.generateMetadataEntry(t,s)))}}async resolveArguments(e,t,s){let a=Array.isArray(e)?[]:{};for(let i in e){let n=e[i];if(!s||!s(i,n))if(r.A.isObject(n)){if(n.from_node){a[i]=()=>this.var(n.from_node,this.varPrefix());continue}if(n.from_parameter){a[i]=()=>this.var(n.from_parameter);continue}if(n instanceof o){let e=await t(i);a[i]=()=>e;continue}a[i]=await this.resolveArguments(n,t,s)}else Array.isArray(n)?a[i]=await this.resolveArguments(n,t,s):a[i]=n}return a}async resolveCallback(e,t){let s;if("load_collection"===e.process_id){let a=e.getArgument("properties");s=a[t]}else s=e.getArgument(t);let a=s.getCallbackParameters();await s.execute(a);let r=this.var(`${t}${this.fnCounter++}`,"fn_"),i=await this.generateCallback(s,a,r);return i||r}async generateArguments(e,t=!1,s=null){let a=await this.resolveArguments(e.arguments,(async t=>await this.resolveCallback(e,t)),s);return t&&(a=this.orderArguments(e,a)),a}orderArguments(e,t){let s=e.getProcessGraph().getProcess(e);if(s&&Array.isArray(s.parameters)){let e=s.parameters.map((e=>"undefined"!==typeof t[e.name]?t[e.name]:e.optional?void 0:null)),a=!1;for(let t=e.length-1;t>=0;t--)"undefined"===typeof e[t]?a?e[t]=null:e.pop():a=!0;return e}}varPrefix(){return this.getParent()?"data":"datacube"}var(e,t="var"){return e=String(e),this.isKeyword(e)?`${e}_`:e.match(/^[a-z_]\w*$/)?e:t+e.replace(/[^\w]+/g,"_")}getTab(){return"\t"}addCode(e,t="",s=0){if("string"!==typeof e)return;let a=this.getTab().repeat(s),r=e.trim().split(/\r\n|\r|\n/g);for(let i of r)this.code.push(`${a}${t}${i}\n`)}newLine(e=1){for(let t=0;t0){this.comment("ToDo: Here you need to set values for the parameters");for(let e of t)this.generateMissingParameter(e);this.newLine()}return await this.execute(),e||(this.newLine(),this.comment("The process can be executed synchronously (see below), as batch job or as web service now")),this.generateResult(this.getResultNode(),e),this.code.join("").trim()}async execute(){return await this.validate(),this.reset(),await this.executeNodes(this.getStartNodes()),this.getResultNode()}isMath(){return"undefined"===typeof this._isMath&&(this._isMath=this.processRegistry.isMath(this)),this._isMath}}},47067:(e,t,s)=>{s.d(t,{A:()=>n});var a=s(2566),r=s(16125),i=s(73902);const o=["abstract","arguments","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","eval","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with","yield","builder","connection","formula","openeo","result"];class n extends r.A{constructor(e,t,s,a=!1){super(e,t,s),this.generateFormula=a}createProcessGraphInstance(e){let t=new n(e,this.processRegistry,this.getJsonSchemaValidator(),this.generateFormula);return this.copyProcessGraphInstanceProperties(t)}parse(){this.parsed||super.parse()}getKeywords(){return o}comment(e){this.addCode(e,"// ")}generateImports(){this.addCode("import { OpenEO, Formula } from '@openeo/js-client';")}generateConnection(){this.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`)}generateAuthentication(){this.comment("ToDo: Here you need to add your authentication steps")}generateBuilder(){this.addCode("let builder = await connection.buildProcess();")}generateMetadataEntry(e,t){this.addCode(`builder.${e} = ${this.e(t)};`)}async generateFunction(e){let t=e.getParent()?"this":"builder",s=this.var(e.id,this.varPrefix()),r=await this.generateArguments(e,!e.namespace);if(this.comment(e.description),a.A.isObject(r)){let a=e.namespace?`${e.process_id}@${e.namespace}`:e.process_id;this.addCode(`let ${s} = ${t}.process("${a}", ${this.e(r)});`)}else this.addCode(`let ${s} = ${t}.${e.process_id}(${r.map((e=>this.e(e))).join(", ")});`)}generateMissingParameter(e){this.comment(e.description);let t=this.var(e.name,"param"),s="undefined"!==typeof e.default?e.default:null;this.addCode(`let ${t} = ${this.e(s)};`)}async generateCallback(e,t,s){if(this.generateFormula&&e&&e.isMath()){let t=e.toFormulaString(),s=JSON.stringify(t);return`new Formula(${s})`}{let a=this.generateFunctionParams(t);this.newLine(),this.addCode(`let ${s} = function(${a.join(", ")}) {`),this.addCode(await e.toCode(!0),"",1),this.addCode("}")}}generateResult(e,t){if(!e)return;let s=this.var(e.id,this.varPrefix());t?this.addCode(`return ${s};`):this.addCode(`let result = await connection.computeResult(${s});`)}toFormulaString(){return this.isMath()?this.nodeToFormula(this.getResultNode()):""}getArrayElementPlaceholder(e){if("array_element"===e.process_id&&"parameter"===e.getArgumentType("data")){let t=e.getRawArgument("data").from_parameter,s=this.getCallbackParameters().findIndex((e=>e.name===t));if(s>=0)return"$".repeat(s+1)+(e.getArgument("label")||e.getArgument("index"))}return null}nodeToFormula(e,t=null){if("array_element"===e.process_id){let t=this.getArrayElementPlaceholder(e);if(t)return t}let s=i.Formula.reverseOperatorMapping[e.process_id],r=this.processRegistry.get(e.process_id),o="undefined"!==typeof i.Formula.arrayOperatorMapping[e.process_id],n=t=>{if(a.A.isObject(t))if(t.from_node){let a=e.getProcessGraph().getNode(t.from_node);t=a?this.nodeToFormula(a,s):"#"+t.from_node}else{if(!t.from_parameter)throw new Error("Objects not allowed");t=t.from_parameter}return t},l=[],c=Array.isArray(r.parameters)?r.parameters:[];for(let a of c){let t=n(e.getRawArgument(a.name));if(o&&Array.isArray(t)&&"data"===a.name){l=t.map((e=>n(e)));break}if("undefined"!==typeof t)l.push(t);else{if("undefined"===typeof a.default)throw new Error('Argument for parameter "'+a.name+'" missing');l.push(a.default)}}if(o&&(l=l.filter((e=>null!==e))),s){let e=["/","*"],a=["-","+"],r=l.map((e=>e<0?"("+e+")":e)).join(s);return!t||a.includes(t)&&a.includes(s)||"^"===s||a.includes(t)&&e.includes(s)?r:"("+r+")"}return e.process_id+"("+l.join(", ")+")"}}}}]); -//# sourceMappingURL=8807.aac1241d.js.map \ No newline at end of file +//# sourceMappingURL=8807.e41e9690.js.map \ No newline at end of file diff --git a/js/8807.aac1241d.js.map b/js/8807.e41e9690.js.map similarity index 99% rename from js/8807.aac1241d.js.map rename to js/8807.e41e9690.js.map index c3537b80..9a477591 100644 --- a/js/8807.aac1241d.js.map +++ b/js/8807.e41e9690.js.map @@ -1 +1 @@ -{"version":3,"file":"js/8807.aac1241d.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/UsageMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/components/modals/ServiceInfoModal.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Service.vue?827c","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Service.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Service.vue?5ee3","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Service.vue","webpack://@openeo/web-editor/src/components/modals/ServiceInfoModal.vue","webpack://@openeo/web-editor/./src/components/modals/ServiceInfoModal.vue?5cf5","webpack://@openeo/web-editor/./src/components/modals/ServiceInfoModal.vue?d203","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","import Utils from '../../utils';\n\nconst usageLabels = {\n\tcpu: \"CPU usage\",\n\tmemory: \"Memory usage\",\n\tduration: \"Wall time\",\n\tnetwork: \"Network Transfer IO\",\n\tdisk: \"Storage IO\",\n\tstorage: \"Storage space\"\n};\n\nexport default {\n\tcomputed: {\n\t\thasUsageMetrics() {\n\t\t\treturn Utils.size(this.usage) > 0;\n\t\t}\n\t},\n\tfilters: {\n\t\tusageLabel(key) {\n\t\t\tif (usageLabels[key]) {\n\t\t\t\treturn usageLabels[key];\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn Utils.prettifyString(key);\n\t\t\t}\n\t\t},\n\t\tusageValue(num) {\n\t\t\tif (typeof num === 'number') {\n\t\t\t\treturn num.toLocaleString();\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Modal',{attrs:{\"width\":\"80%\",\"title\":_vm.title},on:{\"closed\":function($event){return _vm.$emit('closed')}}},[_c('Service',{attrs:{\"service\":_vm.service,\"currency\":_vm.currency},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(){return [_c('Editor',{staticClass:\"infoViewer\",attrs:{\"value\":_vm.service.process,\"editable\":false,\"id\":\"servicePgViewer\"}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('article',{staticClass:\"vue-component service\"},[_vm._t(\"title\",function(){return [_c('a',{staticClass:\"anchor\",attrs:{\"name\":_vm.service.id}}),_c('h2',[_vm._v(_vm._s(_vm.service.title || _vm.service.id))])]},null,_vm.$props),_c('section',{staticClass:\"basedata\"},[_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"ID:\")]),_c('code',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.service.id))])]),_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Type:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.type))])]),(_vm.service.url)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"URL:\")]),_c('code',{staticClass:\"value\"},[_c('a',{attrs:{\"href\":_vm.service.url,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.service.url))])])]):_vm._e(),_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Enabled:\")]),_c('span',{staticClass:\"value boolean\"},[(_vm.service.enabled === true)?_c('span',[_vm._v(\"✔️\")]):(_vm.service.enabled === false)?_c('span',[_vm._v(\"❌\")]):_c('span',[_vm._v(\"❓\")])])]),(_vm.service.created)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Created:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.created))])]):_vm._e()]),_vm._t(\"before-description\",null,null,_vm.$props),(_vm.service.description)?_c('summary',{staticClass:\"description\"},[_c('h3',[_vm._v(\"Description\")]),_c('Description',{attrs:{\"description\":_vm.service.description}})],1):_vm._e(),(_vm.hasAttributes)?_c('section',{staticClass:\"attributes\"},[_c('h3',[_vm._v(\"Exposed Capabilities from \"+_vm._s(_vm.type))]),_vm._l((_vm.service.attributes),function(value,key){return _c('div',{key:key,staticClass:\"tabular\"},[_c('label',[_vm._v(_vm._s(_vm._f(\"prettifyKey\")(key))+\":\")]),_c('ObjectTree',{staticClass:\"value\",attrs:{\"data\":value}})],1)})],2):_vm._e(),(_vm.hasConfig)?_c('section',{staticClass:\"parameters\"},[_c('h3',[_vm._v(\"Custom Settings for \"+_vm._s(_vm.type))]),_vm._l((_vm.service.configuration),function(value,key){return _c('div',{key:key,staticClass:\"tabular\"},[_c('label',[_vm._v(_vm._s(_vm._f(\"prettifyKey\")(key))+\":\")]),_c('ObjectTree',{staticClass:\"value\",attrs:{\"data\":value}})],1)})],2):_vm._e(),(_vm.service.plan || _vm.costs || _vm.budget)?_c('section',{staticClass:\"billing\"},[_c('h3',[_vm._v(\"Billing\")]),(_vm.service.plan)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Billing plan:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.service.plan))])]):_vm._e(),(_vm.costs)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Incurred Costs:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.costs))])]):_vm._e(),(_vm.budget)?_c('div',{staticClass:\"tabular\"},[_c('label',{attrs:{\"title\":\"The allowed maximum costs, specified by the user.\"}},[_vm._v(\"Budget limit:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.budget))])]):_vm._e()]):_vm._e(),(_vm.hasUsageMetrics)?_c('section',{staticClass:\"usage\"},[_c('h3',[_vm._v(\"Usage Metrics\")]),_vm._l((_vm.usage),function(metric,key){return _c('div',{key:key,staticClass:\"tabular\"},[_c('label',{staticClass:\"metric\"},[_vm._v(_vm._s(_vm._f(\"usageLabel\")(key)))]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm._f(\"usageValue\")(metric.value))+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(_vm._s(metric.unit))])])])})],2):_vm._e(),_c('section',{staticClass:\"process\"},[_c('h3',[_vm._v(\"Process\")]),_c('Process',{staticClass:\"inline\",attrs:{\"process\":_vm.service.process,\"provideDownload\":false,\"showGraph\":true},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(p){return [_vm._t(\"process-graph\",null,{\"vBind\":p})]}}],null,true)})],1),_vm._t(\"end\",null,null,_vm.$props)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Service.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Service.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Service.vue?vue&type=template&id=5c8fba94\"\nimport script from \"./Service.vue?vue&type=script&lang=js\"\nexport * from \"./Service.vue?vue&type=script&lang=js\"\nimport style0 from \"./Service.vue?vue&type=style&index=0&id=5c8fba94&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ServiceInfoModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ServiceInfoModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServiceInfoModal.vue?vue&type=template&id=18f5b0b5\"\nimport script from \"./ServiceInfoModal.vue?vue&type=script&lang=js\"\nexport * from \"./ServiceInfoModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./ServiceInfoModal.vue?vue&type=style&index=0&id=18f5b0b5&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","usageLabels","cpu","memory","duration","network","disk","storage","computed","hasUsageMetrics","size","this","usage","filters","usageLabel","key","prettifyString","usageValue","num","toLocaleString","render","_vm","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","typesToShow","types","push","data","format","assign","id","processes","showCategories","provideDownload","processUrl","showGraph","Process","class","compact","directives","rawName","value","expression","placeholder","minLength","searchHint","domProps","$event","target","composing","Number","watch","newValue","oldValue","length","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","title","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","namespace","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","process","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","click","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","param","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","ModelBuilder","DiscoveryToolbar","FullscreenButton","formula","initialNode","isObject","process_graph","node","keys","openArgumentEditorForNode","error","exception","setInitialNode","mounted","navigator","clipboard","readText","text","JSON","parse","import","message","edges","filter","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","description","label","schema","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","returns","fields","categories","experimental","deprecated","info","exceptions","additionalProperties","properties","http","enum","examples","arguments","links","href","rel","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","parameters","p","ProcessParameter","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","replace","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","service","currency","$props","url","created","_f","plan","costs","budget","metric","unit","UsageMixin","Description","ObjectTree","formatBudget","formatCurrency","formatTimestamp","hasAttributes","attributes","hasConfig","configuration","toUpperCase","prettifyKey","Editor","Modal","Service","ProcessImpl","BaseProcess","constructor","exporter","super","execute","generateFunction","Exporter","ProcessGraph","registry","code","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","includes","toLowerCase","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","join","makeObject","obj","mapObject","makeString","str","stringify","makeNumber","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","from_node","var","varPrefix","from_parameter","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","async","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","i","pop","getParent","prefix","match","getTab","addCode","level","repeat","lines","trim","split","line","count","getServerUrl","getUrl","toCode","params","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","processId","arg","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","Error","argList","v","strongOps","weakOps"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/8807.e41e9690.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/FederationMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/UsageMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?3cef","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue?934d","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Collections.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?0743","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue?9759","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/FileFormats.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?0790","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue?bab8","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Processes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?98bf","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue?3182","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchBox.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?22ca","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue?e79a","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/UdfRuntimes.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/src/components/DiscoveryToolbar.vue","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?f7f6","webpack://@openeo/web-editor/./src/components/DiscoveryToolbar.vue?4602","webpack://@openeo/web-editor/./src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue","webpack://@openeo/web-editor/src/components/VisualEditor.vue","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?8d1e","webpack://@openeo/web-editor/./src/components/VisualEditor.vue?7fc9","webpack://@openeo/web-editor/src/components/Editor.vue","webpack://@openeo/web-editor/./src/components/Editor.vue?c738","webpack://@openeo/web-editor/./src/components/Editor.vue?87e1","webpack://@openeo/web-editor/./src/components/modals/ServiceInfoModal.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Service.vue?827c","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Service.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Service.vue?5ee3","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Service.vue","webpack://@openeo/web-editor/src/components/modals/ServiceInfoModal.vue","webpack://@openeo/web-editor/./src/components/modals/ServiceInfoModal.vue?5cf5","webpack://@openeo/web-editor/./src/components/modals/ServiceInfoModal.vue?d203","webpack://@openeo/web-editor/./src/export/exporter.js","webpack://@openeo/web-editor/./src/export/javascript.js"],"sourcesContent":["export default {\n\tcomponents: {\n\t\tFederationNotice: () => import('./FederationNotice.vue'),\n\t\tFederationMissingNotice: () => import('../FederationMissingNotice.vue')\n\t},\n\tprops: {\n\t\tfederation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({})\n\t\t}\n\t}\n};","import Utils from '../../utils';\n\nconst usageLabels = {\n\tcpu: \"CPU usage\",\n\tmemory: \"Memory usage\",\n\tduration: \"Wall time\",\n\tnetwork: \"Network Transfer IO\",\n\tdisk: \"Storage IO\",\n\tstorage: \"Storage space\"\n};\n\nexport default {\n\tcomputed: {\n\t\thasUsageMetrics() {\n\t\t\treturn Utils.size(this.usage) > 0;\n\t\t}\n\t},\n\tfilters: {\n\t\tusageLabel(key) {\n\t\t\tif (usageLabels[key]) {\n\t\t\t\treturn usageLabels[key];\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn Utils.prettifyString(key);\n\t\t\t}\n\t\t},\n\t\tusageValue(num) {\n\t\t\tif (typeof num === 'number') {\n\t\t\t\treturn num.toLocaleString();\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component collections\"},[_c('SearchableList',{attrs:{\"data\":_vm.collections,\"identifierKey\":\"id\",\"summaryKey\":\"title\",\"keywordsKey\":\"keywords\",\"showKeywords\":_vm.showKeywords,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Collection',{attrs:{\"data\":slot.item,\"mapOptions\":_vm.mapOptions,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"collection-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"collection-end\",null,null,scope)]}},{key:\"spatial-extents\",fn:function(scope){return [_vm._t(\"collection-spatial-extents\",null,null,scope)]}},{key:\"temporal-extents\",fn:function(scope){return [_vm._t(\"collection-temporal-extents\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Collections.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Collections.vue?vue&type=template&id=f0f5a594\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\nimport style0 from \"./Collections.vue?vue&type=style&index=0&id=f0f5a594&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component file-formats\"},[_c('SearchableList',{attrs:{\"data\":_vm.fileFormats,\"summaryKey\":\"title\",\"keywordsKey\":\"gis_data_types\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.item.name))]),_c('ul',{staticClass:\"badges small inline\"},[(_vm.showAll && slot.item.type === 'input')?_c('li',{staticClass:\"badge option1\"},[_vm._v(\"Import\")]):_vm._e(),(_vm.showAll && slot.item.type === 'output')?_c('li',{staticClass:\"badge option2\"},[_vm._v(\"Export\")]):_vm._e(),(Array.isArray(slot.item.gis_data_types))?_vm._l((slot.item.gis_data_types),function(type){return _c('li',{key:type,staticClass:\"badge gis\"},[_vm._v(_vm._s(type))])}):_vm._e()],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('FileFormat',{attrs:{\"id\":slot.summary.identifier,\"format\":slot.item,\"type\":slot.item.type,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"file-format-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"file-format-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FileFormats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileFormats.vue?vue&type=template&id=ddfadb90\"\nimport script from \"./FileFormats.vue?vue&type=script&lang=js\"\nexport * from \"./FileFormats.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileFormats.vue?vue&type=style&index=0&id=ddfadb90&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component processes\"},[_c('SearchableList',{attrs:{\"data\":_vm.processes,\"keywordsKey\":\"categories\",\"showKeywords\":_vm.showCategories,\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed,\"loadAdditionalData\":_vm.loadAdditionalData,\"allowCopy\":\"\"},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},(_vm.missing)?{key:\"content-start\",fn:function(){return [_c('FederationMissingNotice',{attrs:{\"missing\":_vm.missing,\"federation\":_vm.federation}})]},proxy:true}:null,{key:\"summary\",fn:function(scope){return [_vm._t(\"summary\",null,null,scope)]}},{key:\"details\",fn:function(slot){return [_c('Process',{attrs:{\"process\":slot.item,\"provideDownload\":_vm.provideDownload,\"processUrl\":_vm.processUrl,\"showGraph\":_vm.showGraph,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"before-description\",fn:function(scope){return [_vm._t(\"process-before-description\",null,null,scope)]}},{key:\"end\",fn:function(scope){return [_vm._t(\"process-end\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Processes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Processes.vue?vue&type=template&id=56bb3e34\"\nimport script from \"./Processes.vue?vue&type=script&lang=js\"\nexport * from \"./Processes.vue?vue&type=script&lang=js\"\nimport style0 from \"./Processes.vue?vue&type=style&index=0&id=56bb3e34&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component search-box\",class:{compact: _vm.compact}},[_c('span',{staticClass:\"icon\"},[_vm._v(\"🔎\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder,\"minlength\":_vm.minLength,\"title\":_vm.searchHint},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=84942a5a\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=84942a5a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component udf-runtimes\"},[_c('SearchableList',{attrs:{\"data\":_vm.runtimes,\"summaryKey\":\"title\",\"showSummaryOnExpand\":false,\"externalSearchTerm\":_vm.searchTerm,\"externalHideDeprecated\":_vm.hideDeprecated,\"deprecatedFilter\":_vm.deprecatedFilter,\"externalHideExperimental\":_vm.hideExperimental,\"experimentalFilter\":_vm.experimentalFilter,\"sort\":_vm.sort,\"offerDetails\":_vm.offerDetails,\"heading\":_vm.heading,\"collapsed\":_vm.collapsed},on:{\"detailsToggled\":_vm.detailsToggled},scopedSlots:_vm._u([{key:\"heading\",fn:function(scope){return [_vm._t(\"heading\",null,null,scope)]}},{key:\"summary\",fn:function(slot){return [_vm._t(\"summary\",function(){return [_c('strong',{staticClass:\"inline\"},[_vm._v(_vm._s(slot.summary.identifier))]),_c('ul',{staticClass:\"badges small inline\"},[(slot.item.type === 'docker' || (slot.item.docker && slot.item.tags))?[_c('li',{staticClass:\"badge docker\"},[_vm._v(\"Docker\")]),_vm._l((slot.item.tags),function(tag){return _c('li',{key:tag,staticClass:\"badge version\",class:{default: tag === slot.item.default}},[_vm._v(_vm._s(tag))])})]:_vm._l((slot.item.versions),function(lang,version){return _c('li',{key:version,staticClass:\"badge version\",class:{default: version === slot.item.default}},[_vm._v(_vm._s(version))])})],2),_c('br'),_c('small',[_vm._v(_vm._s(slot.summary.summary))])]},null,slot)]}},{key:\"details\",fn:function(slot){return [_c('UdfRuntime',{attrs:{\"id\":slot.summary.identifier,\"runtime\":slot.item,\"federation\":_vm.federation},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{staticClass:\"hidden\"})]},proxy:true},{key:\"badges\",fn:function(scope){return [_vm._t(\"udf-runtime-badges\",null,null,scope)]}},{key:\"before-description\",fn:function(scope){return [_vm._t(\"udf-runtime-before-description\",null,null,scope)]}}],null,true)})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UdfRuntimes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UdfRuntimes.vue?vue&type=template&id=42a4211a\"\nimport script from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nexport * from \"./UdfRuntimes.vue?vue&type=script&lang=js\"\nimport style0 from \"./UdfRuntimes.vue?vue&type=style&index=0&id=42a4211a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovery-toolbar\"},[_c('SearchBox',{model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_c('div',{staticClass:\"filters\"},[_c('span',{staticClass:\"label\"},[_vm._v(\" Show \")]),_c('label',{staticClass:\"show-deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showDeprecated),expression:\"showDeprecated\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showDeprecated)?_vm._i(_vm.showDeprecated,null)>-1:(_vm.showDeprecated)},on:{\"change\":function($event){var $$a=_vm.showDeprecated,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showDeprecated=$$c}}}}),_vm._v(\" deprecated \")]),_c('label',{staticClass:\"show-experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showExperimental),expression:\"showExperimental\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showExperimental)?_vm._i(_vm.showExperimental,null)>-1:(_vm.showExperimental)},on:{\"change\":function($event){var $$a=_vm.showExperimental,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showExperimental=$$c}}}}),_vm._v(\" experimental \")])]),_c('div',{staticClass:\"search-results\"},[_c('Collections',{staticClass:\"category\",attrs:{\"collections\":_vm.collections,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsLoadCollection},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'collection', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showCollectionInfo(item.id)}}},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()]),(_vm.hasCollectionPreview(item))?_c('button',{staticClass:\"discovery-button\",attrs:{\"type\":\"button\",\"title\":\"View on map\"},on:{\"click\":function($event){return _vm.showCollectionPreview(item)}}},[_c('i',{staticClass:\"fas fa-map\"})]):_vm._e()])]}}])}),_c('Processes',{staticClass:\"category\",attrs:{\"processes\":_vm.allProcesses,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'process', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showProcess(item)}}},[(item.namespace === 'user')?_c('i',{staticClass:\"custom-process fas fa-xs fa-sitemap\",attrs:{\"title\":\"Custom Process\"}}):(item.namespace !== 'backend')?_c('i',{staticClass:\"custom-process fas fa-xs fa-tag\",attrs:{\"title\":`Process from namespace '${item.namespace}'`}}):_vm._e(),_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.id))]),(item.summary)?_c('small',{attrs:{\"title\":item.summary}},[_vm._v(_vm._s(item.summary))]):_vm._e()])])]}}])}),(_vm.hasUdfRuntimes)?_c('UdfRuntimes',{staticClass:\"category\",attrs:{\"runtimes\":_vm.udfRuntimes,\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ summary, item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsRunUdf},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'udf', {runtime: summary.identifier, version: item.default})}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showUdfInfo(summary.identifier, item)}}},[_c('strong',{attrs:{\"title\":summary.identifier}},[_vm._v(_vm._s(summary.identifier)+\" (\"+_vm._s(item.default)+\")\")]),(summary.summary)?_c('small',{attrs:{\"title\":summary.summary}},[_vm._v(_vm._s(summary.summary))]):_vm._e()])])]}}],null,false,92063951)}):_vm._e(),_c('FileFormats',{staticClass:\"category\",attrs:{\"formats\":_vm.fileFormats,\"showInput\":false,\"heading\":\"Export File Formats\",\"searchTerm\":_vm.searchTerm,\"offerDetails\":false,\"collapsed\":_vm.collapsed,\"hideDeprecated\":!_vm.showDeprecated,\"hideExperimental\":!_vm.showExperimental},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{staticClass:\"discovery-entity\",attrs:{\"draggable\":_vm.supportsSaveResult},on:{\"dragstart\":function($event){return _vm.onDrag($event, 'fileformat', item)}}},[_c('div',{staticClass:\"discovery-info\",on:{\"click\":function($event){return _vm.showFileFormatInfo(item)}}},[_c('strong',{attrs:{\"title\":item.name}},[_vm._v(_vm._s(item.name))]),(item.title)?_c('small',{attrs:{\"title\":item.title}},[_vm._v(_vm._s(item.title))]):_vm._e()])])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DiscoveryToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryToolbar.vue?vue&type=template&id=281f64a6&scoped=true\"\nimport script from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryToolbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiscoveryToolbar.vue?vue&type=style&index=0&id=281f64a6&prod&lang=css\"\nimport style1 from \"./DiscoveryToolbar.vue?vue&type=style&index=1&id=281f64a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281f64a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tabs',{ref:\"tabs\",staticClass:\"editor\",attrs:{\"id\":\"customProcessContent\",\"position\":\"bottom\"}},[_c('Tab',{attrs:{\"id\":\"visual\",\"name\":\"Visual Model\",\"icon\":\"fa-project-diagram\",\"selected\":true,\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showModel}},[_c('VisualEditor',{ref:\"graphBuilder\",staticClass:\"visualEditorTab\",attrs:{\"editable\":_vm.editable,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.modelValue,\"title\":_vm.title,\"id\":_vm.id + '_visual',\"showDiscoveryToolbar\":_vm.showDiscoveryToolbar,\"showIntro\":_vm.showIntro,\"defaultValue\":_vm.defaultValue},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1),_c('Tab',{attrs:{\"id\":\"source\",\"name\":\"Code\",\"icon\":\"fa-code\",\"allowShow\":_vm.canSwitchView},on:{\"show\":_vm.showCode}},[_c('TextEditor',{ref:\"sourceEditor\",staticClass:\"textEditorTab\",attrs:{\"editable\":_vm.editable,\"value\":_vm.codeValue,\"title\":_vm.title,\"id\":_vm.id + '_text',\"language\":\"processgraph\"},on:{\"input\":_vm.commit,\"error\":_vm.onError},scopedSlots:_vm._u([{key:\"file-toolbar\",fn:function(){return [_vm._t(\"file-toolbar\")]},proxy:true},{key:\"toolbar\",fn:function(){return [_vm._t(\"toolbar\")]},proxy:true}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"visualEditor\",staticClass:\"visualEditor\"},[_c('div',{staticClass:\"sourceHeader\"},[(_vm.title)?_c('strong',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:\"sourceToolbar\"},[(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"New script / Clear current script\"},on:{\"click\":_vm.confirmClear}},[_c('i',{staticClass:\"fas fa-file\"})]),_vm._t(\"file-toolbar\")],2):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canUndo,\"title\":\"Revert last change\"},on:{\"click\":function($event){return _vm.$refs.blocks.undo()}}},[_c('i',{staticClass:\"fas fa-undo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.canRedo,\"title\":\"Redo last reverted change\"},on:{\"click\":function($event){return _vm.$refs.blocks.redo()}}},[_c('i',{staticClass:\"fas fa-redo-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"disabled\":!_vm.hasSelection,\"title\":\"Delete selected elements\"},on:{\"click\":function($event){return _vm.$refs.blocks.deleteSelected()}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"sepr\"},[(!_vm.parent)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Edit Process Metadata\"},on:{\"click\":() => _vm.editProcess(_vm.value)}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Add Parameter\"},on:{\"click\":_vm.addParameter}},[_c('i',{staticClass:\"fas fa-parking\"})]),(_vm.supportsMath)?_c('button',{class:{highlightFormula: _vm.isMath},attrs:{\"type\":\"button\",\"title\":\"Insert/Edit formula\"},on:{\"click\":_vm.showExpressionModal}},[_c('i',{staticClass:\"fas fa-square-root-alt\"})]):_vm._e()]):_vm._e(),_c('button',{class:{compactMode: _vm.compactMode},attrs:{\"type\":\"button\",\"title\":\"Compact Mode\"},on:{\"click\":function($event){return _vm.$refs.blocks.toggleCompact()}}},[_c('i',{staticClass:\"fas fa-compress-arrows-alt\"})]),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Scale to perfect size\"},on:{\"click\":function($event){return _vm.$refs.blocks.perfectScale()}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"})]),_c('FullscreenButton',{attrs:{\"element\":() => this.$refs.visualEditor},on:{\"changed\":enabled => {this.$refs.blocks.perfectScale(); _vm.isFullScreen = enabled}}}),_vm._t(\"toolbar\")],2)]),_c('div',{staticClass:\"editorSplitter\"},[((_vm.showDiscoveryToolbar || _vm.isFullScreen) && _vm.editable)?_c('DiscoveryToolbar',{staticClass:\"discoveryToolbar\",attrs:{\"onAddProcess\":_vm.insertProcess}}):_vm._e(),_c('div',{staticClass:\"graphBuilder\",on:{\"drop\":_vm.onDrop,\"dragover\":_vm.allowDrop}},[(_vm.showHelpOverlay)?_c('div',{staticClass:\"model-overlay\"},[_c('h2',[_vm._v(\"Welcome!\")]),_c('p',[_vm._v(\" What you are seeing in this area of the \"+_vm._s(_vm.$config.appName)+\" is the visual model builder. You can start building your model by dragging collections, processes etc. from the left area and dropping them here. \")]),_c('p',[_vm._v(\" Alternatively, you can also import existing processes into the model builder: \"),_c('ul',[(_vm.canPaste)?_c('li',[_vm._v(\"Paste the JSON from your clipboard by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Paste from clipboard\"},on:{\"click\":_vm.paste}},[_c('i',{staticClass:\"fas fa-paste\"})]),_vm._v(\" or use \"),_c('kbd',[_vm._v(\"CTRL\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (Windows, Linux) or \"),_c('kbd',[_vm._v(\"⌘\")]),_vm._v(\" + \"),_c('kbd',[_vm._v(\"V\")]),_vm._v(\" (MacOS) when the model builder is in focus.\")]):_vm._e(),_c('li',[_vm._v(\"Drag and drop a JSON file from your computer\")]),_c('li',[_vm._v(\"Import a JSON file from your computer or another source such as the internet by clicking \"),_c('button',{attrs:{\"type\":\"button\",\"title\":\"Import process from external source\"},on:{\"click\":_vm.importProcess}},[_c('i',{staticClass:\"fas fa-cloud-download-alt\"})])])])]),_vm._m(0),_c('p',[_vm._v(\"Once you start interacting with this area, this message will disappear.\")])]):_vm._e(),_c('ModelBuilder',{ref:\"blocks\",attrs:{\"editable\":_vm.editable,\"id\":_vm.id,\"processes\":_vm.processes,\"collections\":_vm.collections,\"parent\":_vm.parent,\"parentSchema\":_vm.parentSchema,\"value\":_vm.value},on:{\"input\":_vm.commit,\"error\":_vm.errorHandler,\"showProcess\":(id, namespace) => _vm.broadcast('showProcess', {id, namespace}),\"showCollection\":id => _vm.broadcast('showCollection', id),\"showParameter\":(param, origin) => _vm.broadcast('showProcessParameter', param, origin),\"editParameter\":_vm.editParameter,\"editArguments\":_vm.openArgumentEditor,\"compactMode\":compact => this.compactMode = compact,\"selectionChanged\":_vm.selectionChanged,\"historyChanged\":_vm.historyChanged}})],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" You can also import the processes from the Python and R client. You need to export your process to JSON first: \"),_c('ul',[_c('li',[_vm._v(\"In Python use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-python-client/cookbook/tricks.html#process-graph-export\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"print(result.to_json())\")])])]),_c('li',[_vm._v(\"In R use \"),_c('a',{attrs:{\"href\":\"https://open-eo.github.io/openeo-r-client/reference/index.html\",\"target\":\"_blank\"}},[_c('code',[_vm._v(\"toJSON(as(result, \\\"Process\\\"))\")])])])]),_vm._v(\" In both cases, \"),_c('code',[_vm._v(\"result\")]),_vm._v(\" is your last return value from a data cube process such as \"),_c('code',[_vm._v(\"save_result\")]),_vm._v(\". For more details, please read the corresponding chapter in the \"),_c('a',{attrs:{\"href\":\"https://openeo.org/documentation/1.0/cookbook/#output-process-as-json\",\"target\":\"_blank\"}},[_vm._v(\"openEO cookbook\")]),_vm._v(\". \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VisualEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VisualEditor.vue?vue&type=template&id=c6a91f54\"\nimport script from \"./VisualEditor.vue?vue&type=script&lang=js\"\nexport * from \"./VisualEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./VisualEditor.vue?vue&type=style&index=0&id=c6a91f54&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=35752957\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&id=35752957&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Modal',{attrs:{\"width\":\"80%\",\"title\":_vm.title},on:{\"closed\":function($event){return _vm.$emit('closed')}}},[_c('Service',{attrs:{\"service\":_vm.service,\"currency\":_vm.currency},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(){return [_c('Editor',{staticClass:\"infoViewer\",attrs:{\"value\":_vm.service.process,\"editable\":false,\"id\":\"servicePgViewer\"}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('article',{staticClass:\"vue-component service\"},[_vm._t(\"title\",function(){return [_c('a',{staticClass:\"anchor\",attrs:{\"name\":_vm.service.id}}),_c('h2',[_vm._v(_vm._s(_vm.service.title || _vm.service.id))])]},null,_vm.$props),_c('section',{staticClass:\"basedata\"},[_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"ID:\")]),_c('code',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.service.id))])]),_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Type:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.type))])]),(_vm.service.url)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"URL:\")]),_c('code',{staticClass:\"value\"},[_c('a',{attrs:{\"href\":_vm.service.url,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.service.url))])])]):_vm._e(),_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Enabled:\")]),_c('span',{staticClass:\"value boolean\"},[(_vm.service.enabled === true)?_c('span',[_vm._v(\"✔️\")]):(_vm.service.enabled === false)?_c('span',[_vm._v(\"❌\")]):_c('span',[_vm._v(\"❓\")])])]),(_vm.service.created)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Created:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.created))])]):_vm._e()]),_vm._t(\"before-description\",null,null,_vm.$props),(_vm.service.description)?_c('summary',{staticClass:\"description\"},[_c('h3',[_vm._v(\"Description\")]),_c('Description',{attrs:{\"description\":_vm.service.description}})],1):_vm._e(),(_vm.hasAttributes)?_c('section',{staticClass:\"attributes\"},[_c('h3',[_vm._v(\"Exposed Capabilities from \"+_vm._s(_vm.type))]),_vm._l((_vm.service.attributes),function(value,key){return _c('div',{key:key,staticClass:\"tabular\"},[_c('label',[_vm._v(_vm._s(_vm._f(\"prettifyKey\")(key))+\":\")]),_c('ObjectTree',{staticClass:\"value\",attrs:{\"data\":value}})],1)})],2):_vm._e(),(_vm.hasConfig)?_c('section',{staticClass:\"parameters\"},[_c('h3',[_vm._v(\"Custom Settings for \"+_vm._s(_vm.type))]),_vm._l((_vm.service.configuration),function(value,key){return _c('div',{key:key,staticClass:\"tabular\"},[_c('label',[_vm._v(_vm._s(_vm._f(\"prettifyKey\")(key))+\":\")]),_c('ObjectTree',{staticClass:\"value\",attrs:{\"data\":value}})],1)})],2):_vm._e(),(_vm.service.plan || _vm.costs || _vm.budget)?_c('section',{staticClass:\"billing\"},[_c('h3',[_vm._v(\"Billing\")]),(_vm.service.plan)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Billing plan:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.service.plan))])]):_vm._e(),(_vm.costs)?_c('div',{staticClass:\"tabular\"},[_c('label',[_vm._v(\"Incurred Costs:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.costs))])]):_vm._e(),(_vm.budget)?_c('div',{staticClass:\"tabular\"},[_c('label',{attrs:{\"title\":\"The allowed maximum costs, specified by the user.\"}},[_vm._v(\"Budget limit:\")]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.budget))])]):_vm._e()]):_vm._e(),(_vm.hasUsageMetrics)?_c('section',{staticClass:\"usage\"},[_c('h3',[_vm._v(\"Usage Metrics\")]),_vm._l((_vm.usage),function(metric,key){return _c('div',{key:key,staticClass:\"tabular\"},[_c('label',{staticClass:\"metric\"},[_vm._v(_vm._s(_vm._f(\"usageLabel\")(key)))]),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm._f(\"usageValue\")(metric.value))+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(_vm._s(metric.unit))])])])})],2):_vm._e(),_c('section',{staticClass:\"process\"},[_c('h3',[_vm._v(\"Process\")]),_c('Process',{staticClass:\"inline\",attrs:{\"process\":_vm.service.process,\"provideDownload\":false,\"showGraph\":true},scopedSlots:_vm._u([{key:\"process-graph\",fn:function(p){return [_vm._t(\"process-graph\",null,{\"vBind\":p})]}}],null,true)})],1),_vm._t(\"end\",null,null,_vm.$props)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Service.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Service.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Service.vue?vue&type=template&id=5c8fba94\"\nimport script from \"./Service.vue?vue&type=script&lang=js\"\nexport * from \"./Service.vue?vue&type=script&lang=js\"\nimport style0 from \"./Service.vue?vue&type=style&index=0&id=5c8fba94&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ServiceInfoModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ServiceInfoModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServiceInfoModal.vue?vue&type=template&id=18f5b0b5\"\nimport script from \"./ServiceInfoModal.vue?vue&type=script&lang=js\"\nexport * from \"./ServiceInfoModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./ServiceInfoModal.vue?vue&type=style&index=0&id=18f5b0b5&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { BaseProcess, ProcessGraph } from '@openeo/js-processgraphs';\nimport Utils from \"../utils\";\n\nclass ProcessImpl extends BaseProcess {\n\tconstructor(process, exporter) {\n\t\tsuper(process);\n\t\tthis.exporter = exporter;\n\t}\n\tasync execute(node) {\n\t\tawait this.exporter.generateFunction(node);\n\t}\n}\n\nexport default class Exporter extends ProcessGraph {\n\n\tconstructor(process, registry, connection) {\n\t\tsuper(Utils.isObject(process) ? process : {}, registry);\n\t\tthis.connection = connection;\n\t\tthis.code = [];\n\t\tthis.fnCounter = 1;\n\t\tthis.allowEmpty();\n\t\tthis.fillUndefinedParameters();\n\t}\n\n\t// inherited from ProcessGraph\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new Exporter(process, this.processRegistry, this.getJsonSchemaValidator());\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tcopyProcessGraphInstanceProperties(pg) {\n\t\tpg = super.copyProcessGraphInstanceProperties(pg);\n\t\tpg.connection = this.connection;\n\t\treturn pg;\n\t}\n\n\tcreateProcessInstance(process) {\n\t\treturn new ProcessImpl(process, this);\n\t}\n\n\tisKeyword(keyword) {\n\t\treturn this.getKeywords().includes(keyword.toLowerCase());\n\t}\n\n\t// Methods to be implemented by sub-class\n\n\tgetKeywords() {\n\t\treturn [];\n\t}\n\n\tcomment(/*comment*/) {}\n\n\tgenerateImports() {}\n\n\tgenerateConnection() {}\n\n\tgenerateAuthentication() {}\n\n\tgenerateBuilder() {}\n\n\tgenerateMetadata(/*key, value*/) {}\n\n\tgenerateMissingParameter() {}\n\n\tasync generateFunction(/*node*/) {}\n\n\tgenerateFunctionParams(parameters) {\n\t\treturn parameters.map(p => {\n\t\t\tif (typeof p.default !== 'undefined') {\n\t\t\t\treturn `${p.name} = ${this.e(p.default)}`;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn p.name;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync generateCallback(/*callback, parameters, variable*/) {}\n\n\tgenerateResult(/*resultNode, callback*/) {}\n\n\tmakeNull() {\n\t\treturn \"null\";\n\t}\n\tmakeBoolean(val) {\n\t\treturn val ? \"true\" : \"false\";\n\t}\n\tmakeArray(arr) {\n\t\treturn `[${arr.join(', ')}]`;\n\t}\n\tmakeObject(obj) {\n\t\tlet arr = Utils.mapObject(obj, (val, key) => `${this.makeString(key)}: ${val}`);\n\t\treturn `{${arr.join(', ')}}`;\n\t}\n\tmakeString(str) {\n\t\treturn JSON.stringify(str);\n\t}\n\tmakeNumber(num) {\n\t\treturn num;\n\t}\n\n\t// Helpers\n\n\te(value) {\n\t\tif (value === null) {\n\t\t\treturn this.makeNull();\n\t\t}\n\t\telse if (typeof value === 'boolean') {\n\t\t\treturn this.makeBoolean(value);\n\t\t}\n\t\telse if (typeof value === 'number') {\n\t\t\treturn this.makeNumber(value);\n\t\t}\n\t\telse if (typeof value === 'string') {\n\t\t\treturn this.makeString(value);\n\t\t}\n\t\telse if (Array.isArray(value)) {\n\t\t\treturn this.makeArray(value.map(val => this.e(val)));\n\t\t}\n\t\telse if (Utils.isObject(value)) {\n\t\t\treturn this.makeObject(Utils.mapObjectValues(value, val => this.e(val)));\n\t\t}\n\t\telse if (typeof value === 'function') {\n\t\t\treturn value();\n\t\t}\n\t\telse {\n\t\t\treturn this.makeNull();\n\t\t}\n\t}\n\n\tgenerateMetadata() {\n\t\tlet hasComment = false;\n\t\tfor(let key in this.process) {\n\t\t\tif (key === 'process_graph') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet val = this.process[key];\n\t\t\tif (Array.isArray(val) && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'string' && val.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse if (typeof val === 'boolean' && !val) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!hasComment) {\n\t\t\t\tthis.newLine();\n\t\t\t\tthis.comment(`Set the metadata for the process`);\n\t\t\t\thasComment = true;\n\t\t\t}\n\t\t\tthis.generateMetadataEntry(key, val);\n\t\t}\n\t}\n\n\tasync resolveArguments(args, onExporter, filter) {\n\t\tlet newArgs = Array.isArray(args) ? [] : {};\n\t\tfor(let key in args) {\n\t\t\tlet value = args[key];\n\t\t\tif (filter && filter(key, value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_node, this.varPrefix());\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tnewArgs[key] = () => this.var(value.from_parameter);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse if (value instanceof Exporter) {\n\t\t\t\t\tlet fnName = await onExporter(key);\n\t\t\t\t\tnewArgs[key] = () => fnName;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Array.isArray(value)) {\n\t\t\t\tnewArgs[key] = await this.resolveArguments(value, onExporter, filter);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnewArgs[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn newArgs;\n\t}\n\n\tasync resolveCallback(node, key) {\n\t\tlet callback;\n\t\tif (node.process_id === 'load_collection') {\n\t\t\tlet properties = node.getArgument('properties');\n\t\t\tcallback = properties[key];\n\t\t}\n\t\telse {\n\t\t\tcallback = node.getArgument(key);\n\t\t}\n\t\tlet parameters = callback.getCallbackParameters();\n\t\tawait callback.execute(parameters);\n\t\tlet fnName = this.var(`${key}${this.fnCounter++}`, 'fn_');\n\t\tlet replacement = await this.generateCallback(callback, parameters, fnName);\n\t\treturn replacement ? replacement : fnName;\n\t}\n\n\tasync generateArguments(node, ordered = false, filter = null) {\n\t\tlet args = await this.resolveArguments(node.arguments, async key => await this.resolveCallback(node, key), filter);\n\t\tif (ordered) {\n\t\t\targs = this.orderArguments(node, args);\n\t\t}\n\t\treturn args;\n\t}\n\n\torderArguments(node, args) {\n\t\tlet process = node.getProcessGraph().getProcess(node);\n\t\tif (process && Array.isArray(process.parameters)) {\n\t\t\tlet orderedArgs = process.parameters.map(param => {\n\t\t\t\tif (typeof args[param.name] !== 'undefined') {\n\t\t\t\t\treturn args[param.name];\n\t\t\t\t}\n\t\t\t\telse if (!param.optional) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet definedValueFound = false;\n\t\t\tfor(let i = orderedArgs.length-1; i >= 0; i--) {\n\t\t\t\tif (typeof orderedArgs[i] === 'undefined') {\n\t\t\t\t\tif (definedValueFound) {\n\t\t\t\t\t\torderedArgs[i] = null;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\torderedArgs.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdefinedValueFound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn orderedArgs;\n\t\t}\n\t}\n\n\tvarPrefix() {\n\t\tif (!this.getParent()) {\n\t\t\treturn 'datacube';\n\t\t}\n\t\telse {\n\t\t\treturn 'data';\n\t\t}\n\t}\n\n\tvar(id, prefix = \"var\") {\n\t\tid = String(id);\n\t\tif (this.isKeyword(id)) {\n\t\t\treturn `${id}_`;\n\t\t}\n\t\tif (!id.match(/^[a-z_]\\w*$/)) {\n\t\t\treturn prefix + id.replace(/[^\\w]+/g, '_');\n\t\t}\n\t\telse {\n\t\t\treturn id;\n\t\t}\n\t}\n\n\tgetTab() {\n\t\treturn `\\t`;\n\t}\n\n\taddCode(code, prefix = '', level = 0) {\n\t\tif (typeof code !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlet tabs = this.getTab().repeat(level);\n\t\tlet lines = code.trim().split(/\\r\\n|\\r|\\n/g);\n\t\tfor(let line of lines) {\n\t\t\tthis.code.push(`${tabs}${prefix}${line}\\n`);\n\t\t}\n\t}\n\n\tnewLine(count = 1) {\n\t\tfor(let i = 0; i < count; i++) {\n\t\t\tthis.addCode('');\n\t\t}\n\t}\n\n\tgetServerUrl() {\n\t\treturn this.connection.getUrl();\n\t}\n\n\tasync toCode(callback = false) {\n\t\tthis.code = [];\n\t\tif (!callback) {\n\t\t\tthis.comment(`Import required packages`);\n\t\t\tthis.generateImports();\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`Connect to the back-end`);\n\t\t\tthis.generateConnection();\n\t\t\tthis.generateAuthentication();\n\t\t\tthis.newLine();\n\t\t\tthis.generateBuilder();\n\t\t\tthis.generateMetadata();\n\t\t\tthis.newLine();\n\t\t}\n\t\tlet params = this.getProcessParameters();\n\t\tif (params.length > 0) {\n\t\t\tthis.comment('ToDo: Here you need to set values for the parameters');\n\t\t\tfor(let param of params) {\n\t\t\t\tthis.generateMissingParameter(param);\n\t\t\t}\n\t\t\tthis.newLine();\n\t\t}\n\t\tawait this.execute();\n\t\tif (!callback) {\n\t\t\tthis.newLine();\n\t\t\tthis.comment(`The process can be executed synchronously (see below), as batch job or as web service now`);\n\t\t}\n\t\tthis.generateResult(this.getResultNode(), callback);\n\t\treturn this.code.join('').trim();\n\t}\n\n\tasync execute() {\n\t\tawait this.validate();\n\t\tthis.reset();\n\t\tawait this.executeNodes(this.getStartNodes());\n\t\treturn this.getResultNode();\n\t}\n\n\tisMath() {\n\t\tif (typeof this._isMath === 'undefined') {\n\t\t\t// Determine whether the process is just math\n\t\t\tthis._isMath = this.processRegistry.isMath(this);\n\t\t}\n\t\treturn this._isMath;\n\t}\n\n}","import Utils from \"../utils\";\nimport Exporter from \"./exporter\";\nimport { Formula } from '@openeo/js-client';\n\nconst KEYWORDS = [\n\t\"abstract\",\n\t\"arguments\",\n\t\"await\",\n\t\"boolean\",\n\t\"break\",\n\t\"byte\",\n\t\"case\",\n\t\"catch\",\n\t\"char\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"double\",\n\t\"else\",\n\t\"enum\",\n\t\"eval\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"final\",\n\t\"finally\",\n\t\"float\",\n\t\"for\",\n\t\"function\",\n\t\"goto\",\n\t\"if\",\n\t\"implements\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"int\",\n\t\"interface\",\n\t\"let\",\n\t\"long\",\n\t\"native\",\n\t\"new\",\n\t\"null\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\t\"return\",\n\t\"short\",\n\t\"static\",\n\t\"super\",\n\t\"switch\",\n\t\"synchronized\",\n\t\"this\",\n\t\"throw\",\n\t\"throws\",\n\t\"transient\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"volatile\",\n\t\"while\",\n\t\"with\",\n\t\"yield\",\n\t// specific to this generator\n\t\"builder\",\n\t\"connection\",\n\t\"formula\",\n\t\"openeo\",\n\t\"result\"\n];\n\nexport default class JavaScript extends Exporter {\n\n\tconstructor(process, registry, connection, generateFormula = false) {\n\t\tsuper(process, registry, connection);\n\t\tthis.generateFormula = generateFormula;\n\t}\n\n\tcreateProcessGraphInstance(process) {\n\t\tlet pg = new JavaScript(process, this.processRegistry, this.getJsonSchemaValidator(), this.generateFormula);\n\t\treturn this.copyProcessGraphInstanceProperties(pg);\n\t}\n\n\tparse() {\n\t\tif (this.parsed) {\n\t\t\treturn;\n\t\t}\n\t\tsuper.parse();\n\t}\n\n\tgetKeywords() {\n\t\treturn KEYWORDS;\n\t}\n\n\tcomment(comment) {\n\t\tthis.addCode(comment, '// ');\n\t}\n\n\tgenerateImports() {\n\t\tthis.addCode(`import { OpenEO, Formula } from '@openeo/js-client';`);\n\t}\n\n\tgenerateConnection() {\n\t\tthis.addCode(`let connection = await OpenEO.connect('${this.getServerUrl()}');`);\n\t}\n\n\tgenerateAuthentication() {\n\t\tthis.comment(`ToDo: Here you need to add your authentication steps`);\n\t}\n\n\tgenerateBuilder() {\n\t\tthis.addCode(`let builder = await connection.buildProcess();`);\n\t}\n\n\tgenerateMetadataEntry(key, value) {\n\t\tthis.addCode(`builder.${key} = ${this.e(value)};`);\n\t}\n\n\tasync generateFunction(node) {\n\t\tlet builderName = node.getParent() ? 'this' : 'builder';\n\t\tlet variable = this.var(node.id, this.varPrefix());\n\t\tlet args = await this.generateArguments(node, !node.namespace);\n\n\t\tthis.comment(node.description);\n\t\tif (Utils.isObject(args)) {\n\t\t\tlet processId = node.namespace ? `${node.process_id}@${node.namespace}` : node.process_id;\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.process(\"${processId}\", ${this.e(args)});`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let ${variable} = ${builderName}.${node.process_id}(${args.map(arg => this.e(arg)).join(', ')});`);\n\t\t}\n\t}\n\n\tgenerateMissingParameter(parameter) {\n\t\tthis.comment(parameter.description);\n\t\tlet paramName = this.var(parameter.name, 'param');\n\t\tlet value = typeof parameter.default !== 'undefined' ? parameter.default : null;\n\t\tthis.addCode(`let ${paramName} = ${this.e(value)};`);\n\t}\n\n\tasync generateCallback(callback, parameters, variable) {\n\t\tif (this.generateFormula && callback && callback.isMath()) {\n\t\t\tlet formula = callback.toFormulaString();\n\t\t\tlet escaped = JSON.stringify(formula);\n\t\t\treturn `new Formula(${escaped})`;\n\t\t}\n\t\telse {\n\t\t\tlet params = this.generateFunctionParams(parameters);\n\t\t\tthis.newLine();\n\t\t\tthis.addCode(`let ${variable} = function(${params.join(', ')}) {`);\n\t\t\tthis.addCode(await callback.toCode(true), '', 1);\n\t\t\tthis.addCode(`}`);\n\t\t}\n\t}\n\n\tgenerateResult(resultNode, callback) {\n\t\tif (!resultNode) {\n\t\t\treturn;\n\t\t}\n\t\tlet variable = this.var(resultNode.id, this.varPrefix());\n\t\tif (callback) {\n\t\t\tthis.addCode(`return ${variable};`);\n\t\t}\n\t\telse {\n\t\t\tthis.addCode(`let result = await connection.computeResult(${variable});`);\n\t\t}\n\t}\n\n\ttoFormulaString() {\n\t\tif (this.isMath()) {\n\t\t\treturn this.nodeToFormula(this.getResultNode());\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tgetArrayElementPlaceholder(node) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tif (node.getArgumentType('data') === 'parameter') {\n\t\t\t\tlet parameter = node.getRawArgument('data').from_parameter;\n\t\t\t\tlet index = this.getCallbackParameters().findIndex(param => param.name === parameter);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\treturn '$'.repeat(index+1) + (node.getArgument('label') || node.getArgument('index'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tnodeToFormula(node, parentOperator = null) {\n\t\tif (node.process_id === 'array_element') {\n\t\t\tlet arrayElement = this.getArrayElementPlaceholder(node);\n\t\t\tif (arrayElement) {\n\t\t\t\treturn arrayElement;\n\t\t\t}\n\t\t}\n\n\t\tlet operator = Formula.reverseOperatorMapping[node.process_id];\n\t\tlet process = this.processRegistry.get(node.process_id);\n\t\tlet isArrayData = (typeof Formula.arrayOperatorMapping[node.process_id] !== 'undefined');\n\n\t\tlet convertValue = value => {\n\t\t\tif (Utils.isObject(value)) {\n\t\t\t\tif (value.from_node) {\n\t\t\t\t\tlet refNode = node.getProcessGraph().getNode(value.from_node);\n\t\t\t\t\tif (refNode) {\n\t\t\t\t\t\tvalue = this.nodeToFormula(refNode, operator);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = '#' + value.from_node;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (value.from_parameter) {\n\t\t\t\t\tvalue = value.from_parameter;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error('Objects not allowed');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\t// Create the list of arguments\n\t\tlet argList = [];\n\t\tlet params = Array.isArray(process.parameters) ? process.parameters : [];\n\t\tfor(let parameter of params) {\n\t\t\tlet value = convertValue(node.getRawArgument(parameter.name));\n\n\t\t\tif (isArrayData && Array.isArray(value) && parameter.name === 'data') {\n\t\t\t\targList = value.map(v => convertValue(v));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if(typeof value !== 'undefined') {\n\t\t\t\targList.push(value);\n\t\t\t}\n\t\t\telse if(typeof parameter.default !== 'undefined') {\n\t\t\t\targList.push(parameter.default);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error('Argument for parameter \"' + parameter.name + '\" missing');\n\t\t\t}\n\t\t}\n\t\t \n\t\t // Filter null values for array data to handle ignore_nodata\n\t\tif (isArrayData) {\n\t\t\targList = argList.filter(v => v !== null);\n\t\t}\n\n\t\tif (operator) {\n\t\t\tlet strongOps = ['/', '*']; // \"Punktrechnung\" vor\n\t\t\tlet weakOps = ['-', '+']; // \"Strichrechung\"\n\t\t\tlet formula = argList\n\t\t\t\t.map(v => v < 0 ? '(' + v + ')' : v) // Put negative values in brackets\n\t\t\t\t.join(operator); // Merge everything together\n\t\t\t\n\t\t\t// Check whether brackets are required\n\t\t\tif (\n\t\t\t\t// No brackets on top-level\n\t\t\t\t!parentOperator\n\t\t\t\t// If operators are both weak, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && weakOps.includes(operator))\n\t\t\t\t// If operators are both strong, no brackets required -> not correct, x/(a*b) needs it, see https://github.com/Open-EO/openeo-web-editor/issues/235\n//\t\t\t\t|| (strongOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t\t// No brackets required for power, it's the strongest operation\n\t\t\t\t|| operator === '^'\n\t\t\t\t// If the parent operation is a weak operation (+/-) and this is a strong operation, no brackets required\n\t\t\t\t|| (weakOps.includes(parentOperator) && strongOps.includes(operator))\n\t\t\t) {\n\t\t\t\treturn formula;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn '(' + formula + ')';\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn node.process_id + '(' + argList.join(', ') + ')';\n\t\t}\n\t}\n\n}"],"names":["components","FederationNotice","FederationMissingNotice","props","federation","type","Object","default","usageLabels","cpu","memory","duration","network","disk","storage","computed","hasUsageMetrics","size","this","usage","filters","usageLabel","key","prettifyString","usageValue","num","toLocaleString","render","_vm","_c","_self","staticClass","attrs","collections","showKeywords","searchTerm","hideDeprecated","deprecatedFilter","hideExperimental","experimentalFilter","sort","offerDetails","heading","collapsed","loadAdditionalData","on","detailsToggled","scopedSlots","_u","fn","scope","_t","missing","proxy","slot","item","mapOptions","staticRenderFns","name","Collection","loadAsyncComponent","SearchableList","mixins","FederationMixin","Array","String","Boolean","Function","beforeCreate","enableHtmlProps","methods","args","$emit","component","fileFormats","_v","_s","showAll","_e","isArray","gis_data_types","_l","summary","identifier","FileFormat","formats","showInput","showOutput","typesToShow","types","push","data","format","assign","id","processes","showCategories","provideDownload","processUrl","showGraph","Process","class","compact","directives","rawName","value","expression","placeholder","minLength","searchHint","domProps","$event","target","composing","Number","watch","newValue","oldValue","length","runtimes","docker","tags","tag","lang","version","UdfRuntime","model","callback","$$v","showDeprecated","_i","$$a","$$el","$$c","checked","$$i","concat","slice","showExperimental","supportsLoadCollection","onDrag","showCollectionInfo","title","hasCollectionPreview","showCollectionPreview","allProcesses","showProcess","namespace","hasUdfRuntimes","udfRuntimes","supportsRunUdf","runtime","showUdfInfo","supportsSaveResult","showFileFormatInfo","EventBusMixin","Collections","FileFormats","Processes","SearchBox","UdfRuntimes","onAddProcess","required","collectionPreview","persist","internalSearchTerm","$config","showDeprecatedByDefault","showExperimentalByDefault","Utils","mapState","mapGetters","has","all","get","discoverySearchTerm","set","setDiscoverySearchTerm","immediate","handler","newVal","oldVal","mapMutations","mapActions","event","loading","setModelDnd","loadProcess","then","broadcast","collection","getPreviewLinkFromSTAC","process","output","ref","canSwitchView","showModel","editable","parent","parentSchema","modelValue","showDiscoveryToolbar","showIntro","defaultValue","commit","onError","showCode","codeValue","confirmClear","canUndo","$refs","blocks","undo","canRedo","redo","hasSelection","deleteSelected","click","editProcess","addParameter","supportsMath","highlightFormula","isMath","showExpressionModal","compactMode","toggleCompact","perfectScale","element","visualEditor","enabled","isFullScreen","insertProcess","onDrop","allowDrop","showHelpOverlay","appName","canPaste","paste","importProcess","_m","errorHandler","showParameter","param","origin","editParameter","openArgumentEditor","selectionChanged","historyChanged","ModelBuilder","DiscoveryToolbar","FullscreenButton","formula","initialNode","isObject","process_graph","node","keys","openArgumentEditorForNode","error","exception","setInitialNode","mounted","navigator","clipboard","readText","text","JSON","parse","import","message","edges","filter","block","$el","allowsDelete","history","index","preventDefault","getModelNodeFromDnD","pageX","pageY","setModelDnD","files","dataTransfer","file","reader","FileReader","onload","e","result","onerror","readAsText","getNameField","undefined","description","label","schema","pattern","getDescriptionField","optional","subtype","getOptionalField","getDefaultField","toggledBy","getExperimentalField","getDeprecatedField","getSchemaField","minItems","items","returns","fields","categories","experimental","deprecated","info","exceptions","additionalProperties","properties","http","enum","examples","arguments","links","href","rel","newData","pickFromObject","returns_description","returns_schema","export","newProcess","defaults","equals","addPgParameter","parameter","saveCallback","js","JavaScript","connection","setCallbackParameters","getPgParameters","map","spec","events","save","insertNodes","nodeId","deepClone","processSpec","process_id","parameters","p","ProcessParameter","isEditable","selectParameterName","confirmed","confirm","clear","x","y","pos","getPositionForPageXY","addProcess","nodes","replace","VisualEditor","TextEditor","Tabs","Tab","Date","now","updateTab","sourceEditor","updateState","tabs","getActiveTabId","activeEditor","graphBuilder","service","currency","$props","url","created","_f","plan","costs","budget","metric","unit","UsageMixin","Description","ObjectTree","formatBudget","formatCurrency","formatTimestamp","hasAttributes","attributes","hasConfig","configuration","toUpperCase","prettifyKey","Editor","Modal","Service","ProcessImpl","BaseProcess","constructor","exporter","super","execute","generateFunction","Exporter","ProcessGraph","registry","code","fnCounter","allowEmpty","fillUndefinedParameters","createProcessGraphInstance","pg","processRegistry","getJsonSchemaValidator","copyProcessGraphInstanceProperties","createProcessInstance","isKeyword","keyword","getKeywords","includes","toLowerCase","comment","generateImports","generateConnection","generateAuthentication","generateBuilder","generateMetadata","generateMissingParameter","generateFunctionParams","generateCallback","generateResult","makeNull","makeBoolean","val","makeArray","arr","join","makeObject","obj","mapObject","makeString","str","stringify","makeNumber","mapObjectValues","hasComment","newLine","generateMetadataEntry","resolveArguments","onExporter","newArgs","from_node","var","varPrefix","from_parameter","fnName","resolveCallback","getArgument","getCallbackParameters","replacement","generateArguments","ordered","async","orderArguments","getProcessGraph","getProcess","orderedArgs","definedValueFound","i","pop","getParent","prefix","match","getTab","addCode","level","repeat","lines","trim","split","line","count","getServerUrl","getUrl","toCode","params","getProcessParameters","getResultNode","validate","reset","executeNodes","getStartNodes","_isMath","KEYWORDS","generateFormula","parsed","builderName","variable","processId","arg","paramName","toFormulaString","escaped","resultNode","nodeToFormula","getArrayElementPlaceholder","getArgumentType","getRawArgument","findIndex","parentOperator","arrayElement","operator","Formula","reverseOperatorMapping","isArrayData","arrayOperatorMapping","convertValue","refNode","getNode","Error","argList","v","strongOps","weakOps"],"sourceRoot":""} \ No newline at end of file diff --git a/js/887.9597d4af.js b/js/887.6647e815.js similarity index 99% rename from js/887.9597d4af.js rename to js/887.6647e815.js index 7fdf8ebd..0215e115 100644 --- a/js/887.9597d4af.js +++ b/js/887.6647e815.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[887],{17834:(e,t,s)=>{s.d(t,{A:()=>i});var l=s(86975);const a={cpu:"CPU usage",memory:"Memory usage",duration:"Wall time",network:"Network Transfer IO",disk:"Storage IO",storage:"Storage space"},i={computed:{hasUsageMetrics(){return l.A.size(this.usage)>0}},filters:{usageLabel(e){return a[e]?a[e]:l.A.prettifyString(e)},usageValue(e){return"number"===typeof e?e.toLocaleString():e}}}},66622:(e,t,s)=>{s.d(t,{A:()=>u});var l=function(){var e=this,t=e._self._c;return t("li",{staticClass:"vue-component log-entry",class:{[e.log.level]:!0,expanded:e.expanded}},[t("summary",[t("span",{staticClass:"toggle",on:{click:function(t){return e.toggle()}}},[e._v("▸")]),t("span",{staticClass:"log-message",on:{click:function(t){!e.expanded&&e.toggle()}}},[e._v(e._s(e.log.message))]),e.log.level?t("ul",{staticClass:"badges small inline"},[e.relativeTime?t("li",{staticClass:"badge time",attrs:{title:e.formattedTime}},[e._v(e._s(e.relativeTime))]):e._e(),t("li",{staticClass:"badge",class:e.log.level},[e._v(e._s(e.log.level))])]):e._e()]),e.expanded?t("ul",{staticClass:"details"},[e.log.code?t("li",[e._v("Code: "+e._s(e.log.code))]):e._e(),Array.isArray(e.log.path)&&e.log.path.length?t("li",[e._v(" Path: "),t("ol",{staticClass:"path"},e._l(e.path,(function(s,l){return t("li",{key:l},[t("strong",[t("code",[e._v("#"+e._s(s.node_id))])]),s.process_id?[t("br"),e._v("Process: "),t("code",[e._v(e._s(s.process_id))]),s.namespace?[e._v(" in namespace "),t("code",[e._v(e._s(s.namespace))])]:e._e(),s.parameter?[t("br"),e._v("Parameter: "),t("code",[e._v(e._s(s.parameter))])]:e._e()]:e._e()],2)})),0)]):e._e(),e.hasData?t("li",[e._v(" Data: "),t("ObjectTree",{attrs:{data:e.log.data}})],1):e._e(),e.hasUsageMetrics?t("li",[e._v(" Usage metrics: "),t("ul",{staticClass:"usage"},e._l(e.usage,(function(s,l){return t("li",{key:l},[t("strong",{staticClass:"metric"},[e._v(e._s(e._f("usageLabel")(l)))]),e._v(": "+e._s(e._f("usageValue")(s.value))+" "),t("span",{staticClass:"unit"},[e._v(e._s(s.unit))])])})),0)]):e._e(),t("li",[e._v("ID: "+e._s(e.log.id))]),Array.isArray(e.log.links)&&e.log.links.length?t("li",[e._v(" Related Resources: "),t("LinkList",{attrs:{links:e.log.links}})],1):e._e()]):e._e()])},a=[],i=s(86975),r=s(17834);const n=[{length:1e3,unit:"ms"},{length:60,unit:"s"},{length:60,unit:"m"},{length:24,unit:"h"}],o={name:"Log",mixins:[r.A],components:{LinkList:()=>s.e(2810).then(s.bind(s,52810)),ObjectTree:()=>s.e(2327).then(s.bind(s,2327))},props:{log:{type:Object,default:()=>[]},startTime:{type:String,default:null}},computed:{hasData(){return"undefined"!==typeof this.log.data},usage(){return this.log.usage},relativeTime(){if(!this.startTime||!this.log.time)return null;if(this.log.time===this.startTime)return i.A.formatTimestamp(this.log.time);try{let e=new Date(this.startTime),t=new Date(this.log.time),s=t-e,l=[];for(let a of n){let e=s%a.length;if(s-=e,0!==e&&l.push(e+a.unit),s{s.r(t),s.d(t,{default:()=>_});var l=function(){var e=this,t=e._self._c;return t("div",{staticClass:"log-viewer"},[null===e.logs?t("div",{staticClass:"no-data"},[t("i",{staticClass:"fas fa-spinner fa-spin fa-lg"}),e._v(" Loading logs...")]):t("Logs",{attrs:{logs:e.logs}})],1)},a=[],i=s(2566),r=s(61663),n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component logs"},[e.hasLogs?t("div",{staticClass:"log-container"},[t("div",{staticClass:"log-header"},[t("div",{staticClass:"log-search"},[null===e.externalSearchTerm?t("SearchBox",{attrs:{placeholder:"Search in Logs",minLength:2},model:{value:e.searchTerm,callback:function(t){e.searchTerm=t},expression:"searchTerm"}}):e._e(),t("MultiSelect",{staticClass:"log-fields",attrs:{options:e.availableFields,trackBy:"id",label:"label",multiple:!0,searchable:!1,allowEmpty:!1,closeOnSelect:!1,limit:3,limitText:e=>`+ ${e}`,selectedLabel:"✓",deselectLabel:"✗",selectLabel:"+",title:"Select the fields to search through"},model:{value:e.fields,callback:function(t){e.fields=t},expression:"fields"}})],1),t("MultiSelect",{staticClass:"log-levels",attrs:{options:e.levels,multiple:!0,searchable:!1,allowEmpty:!1,closeOnSelect:!1,selectedLabel:"✓",deselectLabel:"✗",selectLabel:"+",title:"Select the log levels shown in the list of logs"},scopedSlots:e._u([{key:"tag",fn:function(s){return[t("span",{key:s.index,staticClass:"multiselect__tag",class:s.option},[t("span",{domProps:{textContent:e._s(s.option)}}),t("i",{staticClass:"multiselect__tag-icon",attrs:{tabindex:"1"},on:{keypress:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),s.remove(s.option))},mousedown:function(e){return e.preventDefault(),s.remove(s.option)}}})])]}}],null,!1,1224176521),model:{value:e.levelsShown,callback:function(t){e.levelsShown=t},expression:"levelsShown"}})],1),t("ul",{staticClass:"log-body"},e._l(e.logs,(function(s,l){return t("Log",{directives:[{name:"show",rawName:"v-show",value:e.shown[l],expression:"shown[i]"}],key:s.id,attrs:{log:s,startTime:e.startTime}})})),1)]):t("div",{staticClass:"log-empty"},[e._v("No logs available.")])])},o=[],c=s(86975),h=s(66622);const d={name:"Logs",components:{Log:h.A,MultiSelect:()=>s.e(5262).then(s.t.bind(s,75262,23)),SearchBox:()=>Promise.resolve().then(s.bind(s,9409))},props:{logs:{type:Array,default:()=>[]},externalSearchTerm:{type:String,default:null}},data(){let e=["debug","info","warning","error"],t=[{id:"id",label:"ID"},{id:"code",label:"Code",default:!0},{id:"level",label:"Level"},{id:"message",label:"Message",default:!0},{id:"time",label:"Date and Time"},{id:"data",label:"Data",default:!0},{id:"path",label:"Path"},{id:"usage",label:"Usage Metrics"},{id:"links",label:"Related Resources"}];return{levels:e.slice(0),levelsShown:e.slice(0),searchTerm:"",availableFields:t,fields:t.filter((e=>Boolean(e.default)))}},computed:{shown(){return this.logs.map((e=>{if(!this.levelsShown.includes(e.level))return!1;if(this.searchTerm.length>=2){if(this.fields.length!=this.availableFields.length){let t=this.fields.map((e=>e.id));e=c.A.pickFromObject(e,t)}return c.A.search(this.searchTerm,e)}return!0}))},startTime(){if(this.hasLogs){let e=this.logs.find((e=>c.A.isObject(e)&&"string"===typeof e.time&&e.time.length>10));if(c.A.isObject(e)&&e.time)return e.time}return null},hasLogs(){return Array.isArray(this.logs)&&this.logs.length>0}},watch:{externalSearchTerm:{immediate:!0,handler(e){this.searchTerm="string"===typeof e?e:""}}},beforeCreate(){c.A.enableHtmlProps(this)}},u=d;var g=s(81656),m=(0,g.A)(u,n,o,!1,null,null,null);const p=m.exports,v={name:"LogViewer",mixins:[r.A],components:{Logs:p},props:{data:{type:[Object,Array],required:!0}},data(){return{logs:null,syncTimer:null}},computed:{...i.A.mapState(["connection"]),isJob(){return i.A.isObject(this.data)&&"function"===typeof this.data.debugJob},isService(){return i.A.isObject(this.data)&&"function"===typeof this.data.debugService},logIterator(){return this.isJob?this.data.debugJob():this.isService?this.data.debugService():null}},created(){this.isJob&&this.listen("jobStatusUpdated",this.onJobStatusUpdated)},mounted(){this.$emit("mounted",this)},beforeDestroy(){this.onHide()},methods:{onShow(){this.loadNext(),this.isJob?this.onJobStatusUpdated(this.data):this.isService&&this.startWatcher()},onHide(){this.stopWatcher()},onJobStatusUpdated(e){e===this.data&&"string"===typeof this.data.status&&(i.A.isActiveJobStatusCode(this.data.status)?this.startWatcher():this.stopWatcher())},startWatcher(){null===this.syncTimer&&(this.syncTimer=setInterval(this.loadNext.bind(this),1e4))},stopWatcher(){null!==this.syncTimer&&(clearInterval(this.syncTimer),this.syncTimer=null)},async loadNext(){try{if(this.logIterator){let e=await this.logIterator.nextLogs();if(!Array.isArray(this.logs)||this.logs.length>0&&e.length>0&&e[0].id==this.logs[0].id)this.logs=e;else for(let t of e)this.logs.push(t)}else Array.isArray(this.data)&&!this.logs&&(this.logs=this.data)}catch(e){i.A.exception(this,e,"Loading logs failed")}}}},f=v;var b=(0,g.A)(f,l,a,!1,null,null,null);const _=b.exports}}]); -//# sourceMappingURL=887.9597d4af.js.map \ No newline at end of file +//# sourceMappingURL=887.6647e815.js.map \ No newline at end of file diff --git a/js/887.9597d4af.js.map b/js/887.6647e815.js.map similarity index 99% rename from js/887.9597d4af.js.map rename to js/887.6647e815.js.map index 6c984314..019b9fa9 100644 --- a/js/887.9597d4af.js.map +++ b/js/887.6647e815.js.map @@ -1 +1 @@ -{"version":3,"file":"js/887.9597d4af.js","mappings":"0KAEA,MAAMA,EAAc,CACnBC,IAAK,YACLC,OAAQ,eACRC,SAAU,YACVC,QAAS,sBACTC,KAAM,aACNC,QAAS,iBAGV,GACCC,SAAU,CACT,eAAAC,GACC,OAAO,IAAMC,KAAKC,KAAKC,OAAS,CACjC,GAEDC,QAAS,CACR,UAAAC,CAAWC,GACV,OAAId,EAAYc,GACRd,EAAYc,GAGZ,IAAMC,eAAeD,EAE9B,EACA,UAAAE,CAAWC,GACV,MAAmB,kBAARA,EACHA,EAAIC,iBAELD,CACR,G,mCC/BF,IAAIE,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,KAAK,CAACE,YAAY,0BAA0BC,MAAM,CAAC,CAACJ,EAAIK,IAAIC,QAAQ,EAAMC,SAAUP,EAAIO,WAAW,CAACN,EAAG,UAAU,CAACA,EAAG,OAAO,CAACE,YAAY,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOT,EAAIU,QAAQ,IAAI,CAACV,EAAIW,GAAG,OAAOV,EAAG,OAAO,CAACE,YAAY,cAAcK,GAAG,CAAC,MAAQ,SAASC,IAAST,EAAIO,UAAYP,EAAIU,QAAQ,IAAI,CAACV,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIK,IAAIQ,YAAab,EAAIK,IAAS,MAAEJ,EAAG,KAAK,CAACE,YAAY,uBAAuB,CAAEH,EAAgB,aAAEC,EAAG,KAAK,CAACE,YAAY,aAAaW,MAAM,CAAC,MAAQd,EAAIe,gBAAgB,CAACf,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIgB,iBAAiBhB,EAAIiB,KAAKhB,EAAG,KAAK,CAACE,YAAY,QAAQC,MAAMJ,EAAIK,IAAIC,OAAO,CAACN,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIK,IAAIC,YAAYN,EAAIiB,OAAQjB,EAAY,SAAEC,EAAG,KAAK,CAACE,YAAY,WAAW,CAAEH,EAAIK,IAAQ,KAAEJ,EAAG,KAAK,CAACD,EAAIW,GAAG,SAASX,EAAIY,GAAGZ,EAAIK,IAAIa,SAASlB,EAAIiB,KAAME,MAAMC,QAAQpB,EAAIK,IAAIgB,OAASrB,EAAIK,IAAIgB,KAAKC,OAAQrB,EAAG,KAAK,CAACD,EAAIW,GAAG,WAAWV,EAAG,KAAK,CAACE,YAAY,QAAQH,EAAIuB,GAAIvB,EAAQ,MAAE,SAASqB,EAAKG,GAAG,OAAOvB,EAAG,KAAK,CAACP,IAAI8B,GAAG,CAACvB,EAAG,SAAS,CAACA,EAAG,OAAO,CAACD,EAAIW,GAAG,IAAIX,EAAIY,GAAGS,EAAKI,cAAeJ,EAAe,WAAE,CAACpB,EAAG,MAAMD,EAAIW,GAAG,aAAaV,EAAG,OAAO,CAACD,EAAIW,GAAGX,EAAIY,GAAGS,EAAKK,eAAgBL,EAAc,UAAE,CAACrB,EAAIW,GAAG,kBAAkBV,EAAG,OAAO,CAACD,EAAIW,GAAGX,EAAIY,GAAGS,EAAKM,eAAe3B,EAAIiB,KAAMI,EAAc,UAAE,CAACpB,EAAG,MAAMD,EAAIW,GAAG,eAAeV,EAAG,OAAO,CAACD,EAAIW,GAAGX,EAAIY,GAAGS,EAAKO,eAAe5B,EAAIiB,MAAMjB,EAAIiB,MAAM,EAAE,IAAG,KAAKjB,EAAIiB,KAAMjB,EAAW,QAAEC,EAAG,KAAK,CAACD,EAAIW,GAAG,WAAWV,EAAG,aAAa,CAACa,MAAM,CAAC,KAAOd,EAAIK,IAAIwB,SAAS,GAAG7B,EAAIiB,KAAMjB,EAAmB,gBAAEC,EAAG,KAAK,CAACD,EAAIW,GAAG,oBAAoBV,EAAG,KAAK,CAACE,YAAY,SAASH,EAAIuB,GAAIvB,EAAS,OAAE,SAAS8B,EAAOpC,GAAK,OAAOO,EAAG,KAAK,CAACP,IAAIA,GAAK,CAACO,EAAG,SAAS,CAACE,YAAY,UAAU,CAACH,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+B,GAAG,aAAP/B,CAAqBN,OAASM,EAAIW,GAAG,KAAKX,EAAIY,GAAGZ,EAAI+B,GAAG,aAAP/B,CAAqB8B,EAAOE,QAAQ,KAAK/B,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACH,EAAIW,GAAGX,EAAIY,GAAGkB,EAAOG,UAAU,IAAG,KAAKjC,EAAIiB,KAAKhB,EAAG,KAAK,CAACD,EAAIW,GAAG,OAAOX,EAAIY,GAAGZ,EAAIK,IAAI6B,OAAQf,MAAMC,QAAQpB,EAAIK,IAAI8B,QAAUnC,EAAIK,IAAI8B,MAAMb,OAAQrB,EAAG,KAAK,CAACD,EAAIW,GAAG,wBAAwBV,EAAG,WAAW,CAACa,MAAM,CAAC,MAAQd,EAAIK,IAAI8B,UAAU,GAAGnC,EAAIiB,OAAOjB,EAAIiB,MAC7gE,EACImB,EAAkB,G,sBCiDtB,MAAMC,EAAY,CACjB,CACCf,OAAQ,IACRW,KAAM,MAEP,CACCX,OAAQ,GACRW,KAAM,KAEP,CACCX,OAAQ,GACRW,KAAM,KAEP,CACCX,OAAQ,GACRW,KAAM,MAIR,GACCK,KAAM,MACNC,OAAQ,CACPC,EAAA,GAEDC,WAAY,CACXC,SAAU,IAAM,gCAChBC,WAAY,IAAM,gCAEnBC,MAAO,CACNvC,IAAK,CACJwC,KAAMC,OACNC,QAAS,IAAM,IAEhBC,UAAW,CACVH,KAAMI,OACNF,QAAS,OAGX5D,SAAU,CACT,OAAA+D,GACC,MAAgC,qBAAlB5D,KAAKe,IAAIwB,IACxB,EACA,KAAAtC,GACC,OAAOD,KAAKe,IAAId,KACjB,EACA,YAAAyB,GACC,IAAK1B,KAAK0D,YAAc1D,KAAKe,IAAI8C,KAChC,OAAO,KAEH,GAAI7D,KAAKe,IAAI8C,OAAS7D,KAAK0D,UAC/B,OAAO,IAAMI,gBAAgB9D,KAAKe,IAAI8C,MAEvC,IACC,IAAIE,EAAQ,IAAIC,KAAKhE,KAAK0D,WACtBO,EAAS,IAAID,KAAKhE,KAAKe,IAAI8C,MAC3BK,EAAQD,EAASF,EACjBI,EAAQ,GACZ,IAAI,IAAIC,KAAQrB,EAAW,CAC1B,IAAIsB,EAAYH,EAAQE,EAAKpC,OAK7B,GAJAkC,GAASG,EACS,IAAdA,GACHF,EAAMG,KAAKD,EAAYD,EAAKzB,MAEzBuB,EAAQE,EAAKpC,OAChB,MAGAkC,GAASE,EAAKpC,MAEhB,CACA,MAAO,IAAMmC,EAAMI,UAAUC,KAAK,IACnC,CAAE,MAAOC,GACR,OAAO,IACR,CACD,EACA,aAAAhD,GACC,OAAO,IAAMqC,gBAAgB9D,KAAKe,IAAI8C,KACvC,EACA,IAAA9B,GACC,OAAO/B,KAAKe,IAAIgB,KAAKwC,SACtB,GAED,IAAAhC,GACC,MAAO,CACNtB,UAAU,EAEZ,EACAyD,QAAS,CACR,MAAAtD,GACCpB,KAAKiB,UAAYjB,KAAKiB,QACvB,IC7IsH,I,eCQpH0D,GAAY,OACd,EACAlE,EACAqC,GACA,EACA,KACA,KACA,MAIF,QAAe6B,EAAiB,O,gDCnBhC,IAAIlE,EAAS,WAAkB,IAAIC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,cAAc,CAAe,OAAbH,EAAIkE,KAAejE,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,IAAI,CAACE,YAAY,iCAAiCH,EAAIW,GAAG,sBAAsBV,EAAG,OAAO,CAACa,MAAM,CAAC,KAAOd,EAAIkE,SAAS,EACtR,EACI9B,EAAkB,G,qBCFlB,EAAS,WAAkB,IAAIpC,EAAIV,KAAKW,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAAEH,EAAW,QAAEC,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAA6B,OAA3BH,EAAImE,mBAA6BlE,EAAG,YAAY,CAACa,MAAM,CAAC,YAAc,iBAAiB,UAAY,GAAGsD,MAAM,CAACpC,MAAOhC,EAAc,WAAEqE,SAAS,SAAUC,GAAMtE,EAAIuE,WAAWD,CAAG,EAAEE,WAAW,gBAAgBxE,EAAIiB,KAAKhB,EAAG,cAAc,CAACE,YAAY,aAAaW,MAAM,CAAC,QAAUd,EAAIyE,gBAAgB,QAAU,KAAK,MAAQ,QAAQ,UAAW,EAAK,YAAa,EAAM,YAAa,EAAM,eAAgB,EAAM,MAAQ,EAAE,UAAYC,GAAS,KAAKA,IAAQ,cAAgB,IAAI,cAAgB,IAAI,YAAc,IAAI,MAAQ,uCAAuCN,MAAM,CAACpC,MAAOhC,EAAU,OAAEqE,SAAS,SAAUC,GAAMtE,EAAI2E,OAAOL,CAAG,EAAEE,WAAW,aAAa,GAAGvE,EAAG,cAAc,CAACE,YAAY,aAAaW,MAAM,CAAC,QAAUd,EAAI4E,OAAO,UAAW,EAAK,YAAa,EAAM,YAAa,EAAM,eAAgB,EAAM,cAAgB,IAAI,cAAgB,IAAI,YAAc,IAAI,MAAQ,mDAAmDC,YAAY7E,EAAI8E,GAAG,CAAC,CAACpF,IAAI,MAAMqF,GAAG,SAASnC,GAAO,MAAO,CAAC3C,EAAG,OAAO,CAACP,IAAIkD,EAAMoC,MAAM7E,YAAY,mBAAmBC,MAAMwC,EAAMqC,QAAQ,CAAChF,EAAG,OAAO,CAACiF,SAAS,CAAC,YAAclF,EAAIY,GAAGgC,EAAMqC,WAAWhF,EAAG,IAAI,CAACE,YAAY,wBAAwBW,MAAM,CAAC,SAAW,KAAKN,GAAG,CAAC,SAAW,SAASC,GAAQ,OAAIA,EAAOoC,KAAKsC,QAAQ,QAAQnF,EAAIoF,GAAG3E,EAAO4E,QAAQ,QAAQ,GAAG5E,EAAOf,IAAI,SAAgB,MAAKe,EAAO6E,iBAAwB1C,EAAM2C,OAAO3C,EAAMqC,QAAO,EAAE,UAAY,SAASxE,GAAgC,OAAxBA,EAAO6E,iBAAwB1C,EAAM2C,OAAO3C,EAAMqC,OAAO,OAAO,IAAI,MAAK,EAAM,YAAYb,MAAM,CAACpC,MAAOhC,EAAe,YAAEqE,SAAS,SAAUC,GAAMtE,EAAIwF,YAAYlB,CAAG,EAAEE,WAAW,kBAAkB,GAAGvE,EAAG,KAAK,CAACE,YAAY,YAAYH,EAAIuB,GAAIvB,EAAQ,MAAE,SAASK,EAAImB,GAAG,OAAOvB,EAAG,MAAM,CAACwF,WAAW,CAAC,CAACnD,KAAK,OAAOoD,QAAQ,SAAS1D,MAAOhC,EAAI2F,MAAMnE,GAAIgD,WAAW,aAAa9E,IAAIW,EAAI6B,GAAGpB,MAAM,CAAC,IAAMT,EAAI,UAAYL,EAAIgD,YAAY,IAAG,KAAK/C,EAAG,MAAM,CAACE,YAAY,aAAa,CAACH,EAAIW,GAAG,yBAC1jE,EACI,EAAkB,G,sBCkCtB,SACC2B,KAAM,OACNG,WAAY,CACXmD,IAAG,IACHC,YAAa,IAAM,qCACnBC,UAAW,IAAM,wCAElBlD,MAAO,CACNsB,KAAM,CACLrB,KAAM1B,MACN4B,QAAS,IAAM,IAEhBoB,mBAAoB,CACnBtB,KAAMI,OACNF,QAAS,OAGX,IAAAlB,GACC,IAAI+C,EAAS,CACZ,QACA,OACA,UACA,SAEGD,EAAS,CACZ,CAACzC,GAAI,KAAM6D,MAAO,MAClB,CAAC7D,GAAI,OAAQ6D,MAAO,OAAQhD,SAAS,GACrC,CAACb,GAAI,QAAS6D,MAAO,SACrB,CAAC7D,GAAI,UAAW6D,MAAO,UAAWhD,SAAS,GAC3C,CAACb,GAAI,OAAQ6D,MAAO,iBACpB,CAAC7D,GAAI,OAAQ6D,MAAO,OAAQhD,SAAS,GACrC,CAACb,GAAI,OAAQ6D,MAAO,QACpB,CAAC7D,GAAI,QAAS6D,MAAO,iBACrB,CAAC7D,GAAI,QAAS6D,MAAO,sBAEtB,MAAO,CACNnB,OAAQA,EAAOoB,MAAM,GACrBR,YAAaZ,EAAOoB,MAAM,GAC1BzB,WAAY,GACZE,gBAAiBE,EACjBA,OAAQA,EAAOsB,QAAOC,GAASC,QAAQD,EAAMnD,WAE/C,EACA5D,SAAU,CACT,KAAAwG,GACC,OAAOrG,KAAK4E,KAAKkC,KAAI/F,IACpB,IAAKf,KAAKkG,YAAYa,SAAShG,EAAIC,OAClC,OAAO,EAER,GAAIhB,KAAKiF,WAAWjD,QAAU,EAAG,CAChC,GAAIhC,KAAKqF,OAAOrD,QAAUhC,KAAKmF,gBAAgBnD,OAAQ,CACtD,IAAIqD,EAASrF,KAAKqF,OAAOyB,KAAIF,GAASA,EAAMhE,KAC5C7B,EAAM,IAAMiG,eAAejG,EAAKsE,EACjC,CACA,OAAO,IAAM4B,OAAOjH,KAAKiF,WAAYlE,EACtC,CACA,OAAO,CAAI,GAEb,EACA,SAAA2C,GACC,GAAI1D,KAAKkH,QAAS,CACjB,IAAIxD,EAAY1D,KAAK4E,KAAKuC,MAAKpG,GAAO,IAAMqG,SAASrG,IAA4B,kBAAbA,EAAI8C,MAAqB9C,EAAI8C,KAAK7B,OAAS,KAC/G,GAAI,IAAMoF,SAAS1D,IAAcA,EAAUG,KAC1C,OAAOH,EAAUG,IAEnB,CACA,OAAO,IACR,EACA,OAAAqD,GACC,OAAOrF,MAAMC,QAAQ9B,KAAK4E,OAAS5E,KAAK4E,KAAK5C,OAAS,CACvD,GAEDqF,MAAO,CACNxC,mBAAoB,CACnByC,WAAW,EACX,OAAAC,CAAQ7E,GACP1C,KAAKiF,WAA8B,kBAAVvC,EAAqBA,EAAQ,EACvD,IAGF,YAAA8E,GACC,IAAMC,gBAAgBzH,KACvB,GCtHqH,I,eCSlH2E,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,QAAeA,EAAiB,QCRhC,GACA3B,KAAA,YACAC,OAAA,CAAAyE,EAAAA,GACAvE,WAAA,CACAwE,KAAAA,GAEArE,MAAA,CACAf,KAAA,CACAgB,KAAA,CAAAC,OAAA3B,OACA+F,UAAA,IAGArF,IAAAA,GACA,OACAqC,KAAA,KACAiD,UAAA,KAEA,EACAhI,SAAA,IACAiI,EAAAA,EAAAC,SAAA,gBACAC,KAAAA,GACA,OAAAF,EAAAA,EAAAV,SAAA,KAAA7E,OAAA,yBAAAA,KAAA0F,QACA,EACAC,SAAAA,GACA,OAAAJ,EAAAA,EAAAV,SAAA,KAAA7E,OAAA,yBAAAA,KAAA4F,YACA,EACAC,WAAAA,GACA,YAAAJ,MACA,KAAAzF,KAAA0F,WAEA,KAAAC,UACA,KAAA3F,KAAA4F,eAEA,IACA,GAEAE,OAAAA,GACA,KAAAL,OACA,KAAAM,OAAA,wBAAAC,mBAEA,EACAC,OAAAA,GACA,KAAAC,MAAA,eACA,EACAC,aAAAA,GACA,KAAAC,QACA,EACAjE,QAAA,CACAkE,MAAAA,GACA,KAAAC,WACA,KAAAb,MACA,KAAAO,mBAAA,KAAAhG,MAEA,KAAA2F,WACA,KAAAY,cAEA,EACAH,MAAAA,GACA,KAAAI,aACA,EACAR,kBAAAA,CAAAS,GACAA,IAAA,KAAAzG,MAAA,uBAAAA,KAAA0G,SAIAnB,EAAAA,EAAAoB,sBAAA,KAAA3G,KAAA0G,QACA,KAAAH,eAGA,KAAAC,cAEA,EACAD,YAAAA,GACA,YAAAjB,YACA,KAAAA,UAAAsB,YAAA,KAAAN,SAAAO,KAAA,WAEA,EACAL,WAAAA,GACA,YAAAlB,YACAwB,cAAA,KAAAxB,WACA,KAAAA,UAAA,KAEA,EACA,cAAAgB,GACA,IACA,QAAAT,YAAA,CACA,IAAAxD,QAAA,KAAAwD,YAAAkB,WAGA,IAAAzH,MAAAC,QAAA,KAAA8C,OAAA,KAAAA,KAAA5C,OAAA,GAAA4C,EAAA5C,OAAA,GAAA4C,EAAA,GAAAhC,IAAA,KAAAgC,KAAA,GAAAhC,GACA,KAAAgC,KAAAA,OAIA,QAAA7D,KAAA6D,EACA,KAAAA,KAAAN,KAAAvD,EAGA,MACAc,MAAAC,QAAA,KAAAS,QAAA,KAAAqC,OACA,KAAAA,KAAA,KAAArC,KAEA,OAAAkC,GACAqD,EAAAA,EAAAyB,UAAA,KAAA9E,EAAA,sBACA,CACA,ICrHiQ,ICQjQ,IAAI,GAAY,OACd,EACAhE,EACAqC,GACA,EACA,KACA,KACA,MAIF,QAAe,EAAiB,O","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/UsageMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/Log.vue?430b","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/internal/Log.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/Log.vue?685c","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/Log.vue","webpack://@openeo/web-editor/./src/components/viewer/LogViewer.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Logs.vue?67f1","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Logs.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Logs.vue?b8f2","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Logs.vue","webpack://@openeo/web-editor/src/components/viewer/LogViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/LogViewer.vue?9345","webpack://@openeo/web-editor/./src/components/viewer/LogViewer.vue?956f"],"sourcesContent":["import Utils from '../../utils';\n\nconst usageLabels = {\n\tcpu: \"CPU usage\",\n\tmemory: \"Memory usage\",\n\tduration: \"Wall time\",\n\tnetwork: \"Network Transfer IO\",\n\tdisk: \"Storage IO\",\n\tstorage: \"Storage space\"\n};\n\nexport default {\n\tcomputed: {\n\t\thasUsageMetrics() {\n\t\t\treturn Utils.size(this.usage) > 0;\n\t\t}\n\t},\n\tfilters: {\n\t\tusageLabel(key) {\n\t\t\tif (usageLabels[key]) {\n\t\t\t\treturn usageLabels[key];\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn Utils.prettifyString(key);\n\t\t\t}\n\t\t},\n\t\tusageValue(num) {\n\t\t\tif (typeof num === 'number') {\n\t\t\t\treturn num.toLocaleString();\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"vue-component log-entry\",class:{[_vm.log.level]: true, expanded: _vm.expanded}},[_c('summary',[_c('span',{staticClass:\"toggle\",on:{\"click\":function($event){return _vm.toggle()}}},[_vm._v(\"▸\")]),_c('span',{staticClass:\"log-message\",on:{\"click\":function($event){!_vm.expanded && _vm.toggle()}}},[_vm._v(_vm._s(_vm.log.message))]),(_vm.log.level)?_c('ul',{staticClass:\"badges small inline\"},[(_vm.relativeTime)?_c('li',{staticClass:\"badge time\",attrs:{\"title\":_vm.formattedTime}},[_vm._v(_vm._s(_vm.relativeTime))]):_vm._e(),_c('li',{staticClass:\"badge\",class:_vm.log.level},[_vm._v(_vm._s(_vm.log.level))])]):_vm._e()]),(_vm.expanded)?_c('ul',{staticClass:\"details\"},[(_vm.log.code)?_c('li',[_vm._v(\"Code: \"+_vm._s(_vm.log.code))]):_vm._e(),(Array.isArray(_vm.log.path) && _vm.log.path.length)?_c('li',[_vm._v(\" Path: \"),_c('ol',{staticClass:\"path\"},_vm._l((_vm.path),function(path,i){return _c('li',{key:i},[_c('strong',[_c('code',[_vm._v(\"#\"+_vm._s(path.node_id))])]),(path.process_id)?[_c('br'),_vm._v(\"Process: \"),_c('code',[_vm._v(_vm._s(path.process_id))]),(path.namespace)?[_vm._v(\" in namespace \"),_c('code',[_vm._v(_vm._s(path.namespace))])]:_vm._e(),(path.parameter)?[_c('br'),_vm._v(\"Parameter: \"),_c('code',[_vm._v(_vm._s(path.parameter))])]:_vm._e()]:_vm._e()],2)}),0)]):_vm._e(),(_vm.hasData)?_c('li',[_vm._v(\" Data: \"),_c('ObjectTree',{attrs:{\"data\":_vm.log.data}})],1):_vm._e(),(_vm.hasUsageMetrics)?_c('li',[_vm._v(\" Usage metrics: \"),_c('ul',{staticClass:\"usage\"},_vm._l((_vm.usage),function(metric,key){return _c('li',{key:key},[_c('strong',{staticClass:\"metric\"},[_vm._v(_vm._s(_vm._f(\"usageLabel\")(key)))]),_vm._v(\": \"+_vm._s(_vm._f(\"usageValue\")(metric.value))+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(_vm._s(metric.unit))])])}),0)]):_vm._e(),_c('li',[_vm._v(\"ID: \"+_vm._s(_vm.log.id))]),(Array.isArray(_vm.log.links) && _vm.log.links.length)?_c('li',[_vm._v(\" Related Resources: \"),_c('LinkList',{attrs:{\"links\":_vm.log.links}})],1):_vm._e()]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Log.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Log.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Log.vue?vue&type=template&id=2ff6e855\"\nimport script from \"./Log.vue?vue&type=script&lang=js\"\nexport * from \"./Log.vue?vue&type=script&lang=js\"\nimport style0 from \"./Log.vue?vue&type=style&index=0&id=2ff6e855&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"log-viewer\"},[(_vm.logs === null)?_c('div',{staticClass:\"no-data\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_vm._v(\" Loading logs...\")]):_c('Logs',{attrs:{\"logs\":_vm.logs}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component logs\"},[(_vm.hasLogs)?_c('div',{staticClass:\"log-container\"},[_c('div',{staticClass:\"log-header\"},[_c('div',{staticClass:\"log-search\"},[(_vm.externalSearchTerm === null)?_c('SearchBox',{attrs:{\"placeholder\":\"Search in Logs\",\"minLength\":2},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}):_vm._e(),_c('MultiSelect',{staticClass:\"log-fields\",attrs:{\"options\":_vm.availableFields,\"trackBy\":\"id\",\"label\":\"label\",\"multiple\":true,\"searchable\":false,\"allowEmpty\":false,\"closeOnSelect\":false,\"limit\":3,\"limitText\":count => `+ ${count}`,\"selectedLabel\":\"✓\",\"deselectLabel\":\"✗\",\"selectLabel\":\"+\",\"title\":\"Select the fields to search through\"},model:{value:(_vm.fields),callback:function ($$v) {_vm.fields=$$v},expression:\"fields\"}})],1),_c('MultiSelect',{staticClass:\"log-levels\",attrs:{\"options\":_vm.levels,\"multiple\":true,\"searchable\":false,\"allowEmpty\":false,\"closeOnSelect\":false,\"selectedLabel\":\"✓\",\"deselectLabel\":\"✗\",\"selectLabel\":\"+\",\"title\":\"Select the log levels shown in the list of logs\"},scopedSlots:_vm._u([{key:\"tag\",fn:function(props){return [_c('span',{key:props.index,staticClass:\"multiselect__tag\",class:props.option},[_c('span',{domProps:{\"textContent\":_vm._s(props.option)}}),_c('i',{staticClass:\"multiselect__tag-icon\",attrs:{\"tabindex\":\"1\"},on:{\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return props.remove(props.option)},\"mousedown\":function($event){$event.preventDefault();return props.remove(props.option)}}})])]}}],null,false,1224176521),model:{value:(_vm.levelsShown),callback:function ($$v) {_vm.levelsShown=$$v},expression:\"levelsShown\"}})],1),_c('ul',{staticClass:\"log-body\"},_vm._l((_vm.logs),function(log,i){return _c('Log',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shown[i]),expression:\"shown[i]\"}],key:log.id,attrs:{\"log\":log,\"startTime\":_vm.startTime}})}),1)]):_c('div',{staticClass:\"log-empty\"},[_vm._v(\"No logs available.\")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Logs.vue?vue&type=template&id=ce4409e2\"\nimport script from \"./Logs.vue?vue&type=script&lang=js\"\nexport * from \"./Logs.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./Logs.vue?vue&type=style&index=1&id=ce4409e2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LogViewer.vue?vue&type=template&id=2283b1c9\"\nimport script from \"./LogViewer.vue?vue&type=script&lang=js\"\nexport * from \"./LogViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./LogViewer.vue?vue&type=style&index=0&id=2283b1c9&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["usageLabels","cpu","memory","duration","network","disk","storage","computed","hasUsageMetrics","size","this","usage","filters","usageLabel","key","prettifyString","usageValue","num","toLocaleString","render","_vm","_c","_self","staticClass","class","log","level","expanded","on","$event","toggle","_v","_s","message","attrs","formattedTime","relativeTime","_e","code","Array","isArray","path","length","_l","i","node_id","process_id","namespace","parameter","data","metric","_f","value","unit","id","links","staticRenderFns","timeUnits","name","mixins","UsageMixin","components","LinkList","ObjectTree","props","type","Object","default","startTime","String","hasData","time","formatTimestamp","start","Date","future","delta","parts","temp","remainder","push","reverse","join","error","methods","component","logs","externalSearchTerm","model","callback","$$v","searchTerm","expression","availableFields","count","fields","levels","scopedSlots","_u","fn","index","option","domProps","indexOf","_k","keyCode","preventDefault","remove","levelsShown","directives","rawName","shown","Log","MultiSelect","SearchBox","label","slice","filter","field","Boolean","map","includes","pickFromObject","search","hasLogs","find","isObject","watch","immediate","handler","beforeCreate","enableHtmlProps","EventBusMixin","Logs","required","syncTimer","Utils","mapState","isJob","debugJob","isService","debugService","logIterator","created","listen","onJobStatusUpdated","mounted","$emit","beforeDestroy","onHide","onShow","loadNext","startWatcher","stopWatcher","job","status","isActiveJobStatusCode","setInterval","bind","clearInterval","nextLogs","exception"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/887.6647e815.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/UsageMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/Log.vue?430b","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/internal/Log.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/Log.vue?685c","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/Log.vue","webpack://@openeo/web-editor/./src/components/viewer/LogViewer.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Logs.vue?67f1","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/Logs.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Logs.vue?b8f2","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/Logs.vue","webpack://@openeo/web-editor/src/components/viewer/LogViewer.vue","webpack://@openeo/web-editor/./src/components/viewer/LogViewer.vue?9345","webpack://@openeo/web-editor/./src/components/viewer/LogViewer.vue?956f"],"sourcesContent":["import Utils from '../../utils';\n\nconst usageLabels = {\n\tcpu: \"CPU usage\",\n\tmemory: \"Memory usage\",\n\tduration: \"Wall time\",\n\tnetwork: \"Network Transfer IO\",\n\tdisk: \"Storage IO\",\n\tstorage: \"Storage space\"\n};\n\nexport default {\n\tcomputed: {\n\t\thasUsageMetrics() {\n\t\t\treturn Utils.size(this.usage) > 0;\n\t\t}\n\t},\n\tfilters: {\n\t\tusageLabel(key) {\n\t\t\tif (usageLabels[key]) {\n\t\t\t\treturn usageLabels[key];\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn Utils.prettifyString(key);\n\t\t\t}\n\t\t},\n\t\tusageValue(num) {\n\t\t\tif (typeof num === 'number') {\n\t\t\t\treturn num.toLocaleString();\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"vue-component log-entry\",class:{[_vm.log.level]: true, expanded: _vm.expanded}},[_c('summary',[_c('span',{staticClass:\"toggle\",on:{\"click\":function($event){return _vm.toggle()}}},[_vm._v(\"▸\")]),_c('span',{staticClass:\"log-message\",on:{\"click\":function($event){!_vm.expanded && _vm.toggle()}}},[_vm._v(_vm._s(_vm.log.message))]),(_vm.log.level)?_c('ul',{staticClass:\"badges small inline\"},[(_vm.relativeTime)?_c('li',{staticClass:\"badge time\",attrs:{\"title\":_vm.formattedTime}},[_vm._v(_vm._s(_vm.relativeTime))]):_vm._e(),_c('li',{staticClass:\"badge\",class:_vm.log.level},[_vm._v(_vm._s(_vm.log.level))])]):_vm._e()]),(_vm.expanded)?_c('ul',{staticClass:\"details\"},[(_vm.log.code)?_c('li',[_vm._v(\"Code: \"+_vm._s(_vm.log.code))]):_vm._e(),(Array.isArray(_vm.log.path) && _vm.log.path.length)?_c('li',[_vm._v(\" Path: \"),_c('ol',{staticClass:\"path\"},_vm._l((_vm.path),function(path,i){return _c('li',{key:i},[_c('strong',[_c('code',[_vm._v(\"#\"+_vm._s(path.node_id))])]),(path.process_id)?[_c('br'),_vm._v(\"Process: \"),_c('code',[_vm._v(_vm._s(path.process_id))]),(path.namespace)?[_vm._v(\" in namespace \"),_c('code',[_vm._v(_vm._s(path.namespace))])]:_vm._e(),(path.parameter)?[_c('br'),_vm._v(\"Parameter: \"),_c('code',[_vm._v(_vm._s(path.parameter))])]:_vm._e()]:_vm._e()],2)}),0)]):_vm._e(),(_vm.hasData)?_c('li',[_vm._v(\" Data: \"),_c('ObjectTree',{attrs:{\"data\":_vm.log.data}})],1):_vm._e(),(_vm.hasUsageMetrics)?_c('li',[_vm._v(\" Usage metrics: \"),_c('ul',{staticClass:\"usage\"},_vm._l((_vm.usage),function(metric,key){return _c('li',{key:key},[_c('strong',{staticClass:\"metric\"},[_vm._v(_vm._s(_vm._f(\"usageLabel\")(key)))]),_vm._v(\": \"+_vm._s(_vm._f(\"usageValue\")(metric.value))+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(_vm._s(metric.unit))])])}),0)]):_vm._e(),_c('li',[_vm._v(\"ID: \"+_vm._s(_vm.log.id))]),(Array.isArray(_vm.log.links) && _vm.log.links.length)?_c('li',[_vm._v(\" Related Resources: \"),_c('LinkList',{attrs:{\"links\":_vm.log.links}})],1):_vm._e()]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Log.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Log.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Log.vue?vue&type=template&id=2ff6e855\"\nimport script from \"./Log.vue?vue&type=script&lang=js\"\nexport * from \"./Log.vue?vue&type=script&lang=js\"\nimport style0 from \"./Log.vue?vue&type=style&index=0&id=2ff6e855&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"log-viewer\"},[(_vm.logs === null)?_c('div',{staticClass:\"no-data\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_vm._v(\" Loading logs...\")]):_c('Logs',{attrs:{\"logs\":_vm.logs}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component logs\"},[(_vm.hasLogs)?_c('div',{staticClass:\"log-container\"},[_c('div',{staticClass:\"log-header\"},[_c('div',{staticClass:\"log-search\"},[(_vm.externalSearchTerm === null)?_c('SearchBox',{attrs:{\"placeholder\":\"Search in Logs\",\"minLength\":2},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}):_vm._e(),_c('MultiSelect',{staticClass:\"log-fields\",attrs:{\"options\":_vm.availableFields,\"trackBy\":\"id\",\"label\":\"label\",\"multiple\":true,\"searchable\":false,\"allowEmpty\":false,\"closeOnSelect\":false,\"limit\":3,\"limitText\":count => `+ ${count}`,\"selectedLabel\":\"✓\",\"deselectLabel\":\"✗\",\"selectLabel\":\"+\",\"title\":\"Select the fields to search through\"},model:{value:(_vm.fields),callback:function ($$v) {_vm.fields=$$v},expression:\"fields\"}})],1),_c('MultiSelect',{staticClass:\"log-levels\",attrs:{\"options\":_vm.levels,\"multiple\":true,\"searchable\":false,\"allowEmpty\":false,\"closeOnSelect\":false,\"selectedLabel\":\"✓\",\"deselectLabel\":\"✗\",\"selectLabel\":\"+\",\"title\":\"Select the log levels shown in the list of logs\"},scopedSlots:_vm._u([{key:\"tag\",fn:function(props){return [_c('span',{key:props.index,staticClass:\"multiselect__tag\",class:props.option},[_c('span',{domProps:{\"textContent\":_vm._s(props.option)}}),_c('i',{staticClass:\"multiselect__tag-icon\",attrs:{\"tabindex\":\"1\"},on:{\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return props.remove(props.option)},\"mousedown\":function($event){$event.preventDefault();return props.remove(props.option)}}})])]}}],null,false,1224176521),model:{value:(_vm.levelsShown),callback:function ($$v) {_vm.levelsShown=$$v},expression:\"levelsShown\"}})],1),_c('ul',{staticClass:\"log-body\"},_vm._l((_vm.logs),function(log,i){return _c('Log',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shown[i]),expression:\"shown[i]\"}],key:log.id,attrs:{\"log\":log,\"startTime\":_vm.startTime}})}),1)]):_c('div',{staticClass:\"log-empty\"},[_vm._v(\"No logs available.\")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Logs.vue?vue&type=template&id=ce4409e2\"\nimport script from \"./Logs.vue?vue&type=script&lang=js\"\nexport * from \"./Logs.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./Logs.vue?vue&type=style&index=1&id=ce4409e2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LogViewer.vue?vue&type=template&id=2283b1c9\"\nimport script from \"./LogViewer.vue?vue&type=script&lang=js\"\nexport * from \"./LogViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./LogViewer.vue?vue&type=style&index=0&id=2283b1c9&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["usageLabels","cpu","memory","duration","network","disk","storage","computed","hasUsageMetrics","size","this","usage","filters","usageLabel","key","prettifyString","usageValue","num","toLocaleString","render","_vm","_c","_self","staticClass","class","log","level","expanded","on","$event","toggle","_v","_s","message","attrs","formattedTime","relativeTime","_e","code","Array","isArray","path","length","_l","i","node_id","process_id","namespace","parameter","data","metric","_f","value","unit","id","links","staticRenderFns","timeUnits","name","mixins","UsageMixin","components","LinkList","ObjectTree","props","type","Object","default","startTime","String","hasData","time","formatTimestamp","start","Date","future","delta","parts","temp","remainder","push","reverse","join","error","methods","component","logs","externalSearchTerm","model","callback","$$v","searchTerm","expression","availableFields","count","fields","levels","scopedSlots","_u","fn","index","option","domProps","indexOf","_k","keyCode","preventDefault","remove","levelsShown","directives","rawName","shown","Log","MultiSelect","SearchBox","label","slice","filter","field","Boolean","map","includes","pickFromObject","search","hasLogs","find","isObject","watch","immediate","handler","beforeCreate","enableHtmlProps","EventBusMixin","Logs","required","syncTimer","Utils","mapState","isJob","debugJob","isService","debugService","logIterator","created","listen","onJobStatusUpdated","mounted","$emit","beforeDestroy","onHide","onShow","loadNext","startWatcher","stopWatcher","job","status","isActiveJobStatusCode","setInterval","bind","clearInterval","nextLogs","exception"],"sourceRoot":""} \ No newline at end of file diff --git a/js/9066.36d20ab5.js b/js/9066.915e8a72.js similarity index 99% rename from js/9066.36d20ab5.js rename to js/9066.915e8a72.js index 1e497e74..fd587629 100644 --- a/js/9066.36d20ab5.js +++ b/js/9066.915e8a72.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[9066,4737],{54737:(e,t,s)=>{s.r(t),s.d(t,{default:()=>d});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"select-container"},[e.loaded?[t("MultiSelect",{key:e.type,ref:"htmlElement",attrs:{label:"label","track-by":"id",multiple:e.multiple,options:e.selectOptions,allowEmpty:!1,preselectFirst:e.preselect,disabled:!e.editable,deselectLabel:e.deselectLabel,taggable:e.taggable,tagPlaceholder:e.tagPlaceholder},on:{tag:e.addValue},model:{value:e.selected,callback:function(t){e.selected=t},expression:"selected"}}),e.showDetails?t("button",{attrs:{type:"button",title:"Details"},on:{click:function(t){return e.$emit("onDetails")}}},[t("i",{staticClass:"fas fa-info"})]):e._e()]:t("div",{staticClass:"loading"},[t("i",{staticClass:"fas fa-spinner fa-spin"}),e._v(" Loading options...")])],2)},i=[],l=s(75262),r=s.n(l),o=s(2566);const n={name:"SelectBox",components:{MultiSelect:r()},props:{value:{},type:{type:String,default:""},editable:{type:Boolean,default:!0},options:{type:[Array,Object]},schema:{type:Object},context:{},optionFilter:{type:Function,default:null}},computed:{selectOptions(){let e=[];switch(this.type){case"band-name":let t=this.$store.state.collections.find((e=>e.id==this.context));if(o.A.isObject(t)){try{e=t.summaries["bands"].map((e=>e.name))}catch(i){}if(0===e.length&&o.A.isObject(t["cube:dimensions"]))try{let s=Object.values(t["cube:dimensions"]).find((e=>"bands"===e.type));s&&Array.isArray(s.values)&&(e=s.values)}catch(i){}}break;case"collection-id":e=this.$store.state.collections;break;case"job-id":e=this.$store.state.jobs.jobs;break;case"file-path":case"file-paths":e=this.$store.state.files.files;break;case"epsg-code":e=this.$store.state.editor.epsgCodes;break;case"input-format":e=this.$store.state.fileFormats.getInputTypes();break;case"openeo-datatype":let a=s(63610),l={};for(let e of a.NATIVE_TYPES)l[e]={type:e};e=Object.assign(l,a.API_TYPES);break;case"output-format":e=this.$store.state.fileFormats.getOutputTypes();break;case"service-type":e=this.$store.state.serviceTypes;break;case"billing-plan":e=this.$store.state.connection.capabilities().listPlans();break;case"udf-runtime":e=Object.keys(this.$store.state.udfRuntimes);break;case"udf-runtime-version":e=this.context in this.$store.state.udfRuntimes?Object.keys(this.$store.state.udfRuntimes[this.context].versions):[];break}"function"===typeof this.optionFilter&&e&&"object"===typeof e&&(e=o.A.isObject(e)?Object.fromEntries(Object.entries(e).filter((([e,t])=>this.optionFilter(t,e)))):e.filter(((e,t)=>this.optionFilter(e,t))));let t=[];switch(this.type){case"collection-id":return e.map((e=>this.e(e.id))).sort(this.sortByLabel);case"job-id":return e.map((e=>({id:e.id,label:o.A.getResourceTitle(e)}))).sort(this.sortByLabel);case"openeo-datatype":for(let a in e){let s=e[a];t.push({id:a,label:s.title||o.A.prettifyString(a),value:s})}return t;case"file-path":case"file-paths":return e.map((e=>this.e(e.path))).sort(((e,t)=>o.A.sortByPath(e.id,t.id)));case"epsg-code":for(let a in e)t.push({id:Number.parseInt(a,10),label:a+": "+e[a]});return t;case"input-format":case"output-format":case"service-type":for(let a in e){let s=a.toUpperCase(),i=e[a].title;i?s!==i.toUpperCase()&&(i=`${i} - ${s}`):i=s,t.push({id:s,label:i})}return t.sort(this.sortByLabel);case"billing-plan":return e.map((e=>({id:e.name,label:e.name+(e.paid?" (paid)":" (free)")})));case"year":let s=(new Date).getFullYear(),i=Array.from({length:100},((e,t)=>this.e(String(s-t))));if("string"===typeof this.value&&this.value.length>0&&-1===i.findIndex((e=>e.id===this.value))){var a=this.e(this.value);this.value>s?i.unshift(a):i.push(this.e(this.value))}return i;case"band-name":case"udf-runtime":case"udf-runtime-version":return e.map((e=>this.e(e)));default:return o.A.isObject(this.schema)&&this.schema.isEnum()?this.schema.getEnumChoices().map((e=>this.e(e))):Array.isArray(this.options)?this.options.map((e=>o.A.isObject(e)?e:this.e(e))):[]}},showDetails(){return"collection-id"===this.type},deselectLabel(){return this.multiple?"Press enter to remove":""},tagPlaceholder(){return"year"===this.type?"Press enter to select":"Press enter to create a tag"},multiple(){return"file-paths"===this.type},taggable(){let e=["band-name","collection-id","job-id","input-format","output-format"];return"year"===this.type||0===this.selectOptions.length&&e.includes(this.type)},preselect(){return this.multiple?!Array.isArray(this.selected)||0===this.selected.length:null===this.selected}},data(){return{selected:null,loaded:!1}},created(){this.loadData()},watch:{type(){this.loadData()},selected(e){let t;if(null===e)t=null;else if(this.multiple)Array.isArray(e)||(e=[e]),t=e.map((e=>e.id));else switch(this.type){case"epsg-code":var s=Number.parseInt(e.id);t=Number.isNaN(s)?null:s;break;case"openeo-datatype":t=e.value;break;case"year":t=String(e.id);break;default:t=e.id}this.$emit("input",t)},context(){switch(this.type){case"udf-runtime":case"udf-runtime-version":this.selected=null,this.preselectFirst();break;case"band-name":this.selected=null,this.loadData();break}}},methods:{...o.A.mapActions(["describeCollection"]),...o.A.mapActions("editor",["loadEpsgCodes"]),e(e){return{id:e,label:e}},async loadData(){this.loaded=!1,"epsg-code"===this.type?await this.loadEpsgCodes():"band-name"===this.type&&await this.describeCollection(this.context),this.initSelection(),this.loaded=!0},async preselectFirst(){await this.$nextTick();let e=this.$refs.htmlElement;e.preselectFirst&&Array.isArray(e.filteredOptions)&&e.filteredOptions.length&&e.select(e.filteredOptions[0])},initSelection(){let e="undefined"===typeof this.value?this.schema.default():this.value;if(this.multiple&&Array.isArray(e))this.selected=this.selectOptions.filter((t=>e.includes(t.id)));else{switch(this.type){case"input-format":case"output-format":case"service-type":"string"===typeof e&&(e=e.toUpperCase());break}let t=this.selectOptions.find((t=>t.id===e));void 0!==t&&(this.selected=t)}},sortByLabel(e,t){return o.A.compareStringCaseInsensitive(e.label,t.label)},addValue(e){this.selected=this.e(e)}}},c=n;var p=s(81656),u=(0,p.A)(c,a,i,!1,null,null,null);const d=u.exports},79066:(e,t,s)=>{s.r(t),s.d(t,{default:()=>p});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-format"},[t("p",[e._v("Please select the file format you want to download data in.")]),t("SelectBox",{attrs:{type:"output-format",value:e.value,optionFilter:e.filterFormats},on:{input:e.setFormat}}),null!==e.scale?t("p",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.scaleBox,expression:"scaleBox"}],attrs:{type:"checkbox",id:"scale"},domProps:{checked:Array.isArray(e.scaleBox)?e._i(e.scaleBox,null)>-1:e.scaleBox},on:{change:function(t){var s=e.scaleBox,a=t.target,i=!!a.checked;if(Array.isArray(s)){var l=null,r=e._i(s,l);a.checked?r<0&&(e.scaleBox=s.concat([l])):r>-1&&(e.scaleBox=s.slice(0,r).concat(s.slice(r+1)))}else e.scaleBox=i}}}),e._v("  "),t("label",{attrs:{for:"scale"}},[e._v("Scale the values from [-1, 1] to [0, 255] (often required for PNG, GIF or JPEG).")])]):e._e()],1)},i=[],l=s(54737);const r={name:"ChooseFormat",components:{SelectBox:l["default"]},props:{value:{type:String,default:null},scale:{type:Boolean,default:null},gisDataType:{type:String,default:null}},computed:{scaleBox:{get(){return this.scale},set(e){this.$emit("update:scale",e)}},filterFormats(){return this.gisDataType?e=>!Array.isArray(e.gis_data_types)||0===e.gis_data_types.length||e.gis_data_types.includes(this.gisDataType):null}},methods:{setFormat(e){this.scaleBox=["bmp","gif","jpeg","jpg","png","webp"].includes(e.toLowerCase()),this.$emit("input",e)}}},o=r;var n=s(81656),c=(0,n.A)(o,a,i,!1,null,null,null);const p=c.exports},63610:(e,t,s)=>{s.r(t),s.d(t,{API_TYPES:()=>i,NATIVE_TYPES:()=>l});var a=s(2566);const i=a.A.resolveJsonRefs(s(96318)).definitions,l=["string","integer","number","boolean","array","object"]}}]); -//# sourceMappingURL=9066.36d20ab5.js.map \ No newline at end of file +//# sourceMappingURL=9066.915e8a72.js.map \ No newline at end of file diff --git a/js/9066.36d20ab5.js.map b/js/9066.915e8a72.js.map similarity index 99% rename from js/9066.36d20ab5.js.map rename to js/9066.915e8a72.js.map index 6842ee07..c4e48822 100644 --- a/js/9066.36d20ab5.js.map +++ b/js/9066.915e8a72.js.map @@ -1 +1 @@ -{"version":3,"file":"js/9066.36d20ab5.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?ff2a","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?8dc4","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?9604","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?365b","webpack://@openeo/web-editor/./src/components/datatypes/api.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"select-container\"},[(_vm.loaded)?[_c('MultiSelect',{key:_vm.type,ref:\"htmlElement\",attrs:{\"label\":\"label\",\"track-by\":\"id\",\"multiple\":_vm.multiple,\"options\":_vm.selectOptions,\"allowEmpty\":false,\"preselectFirst\":_vm.preselect,\"disabled\":!_vm.editable,\"deselectLabel\":_vm.deselectLabel,\"taggable\":_vm.taggable,\"tagPlaceholder\":_vm.tagPlaceholder},on:{\"tag\":_vm.addValue},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),(_vm.showDetails)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Details\"},on:{\"click\":function($event){return _vm.$emit('onDetails')}}},[_c('i',{staticClass:\"fas fa-info\"})]):_vm._e()]:_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading options...\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectBox.vue?vue&type=template&id=4d9e902d\"\nimport script from \"./SelectBox.vue?vue&type=script&lang=js\"\nexport * from \"./SelectBox.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./SelectBox.vue?vue&type=style&index=1&id=4d9e902d&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-format\"},[_c('p',[_vm._v(\"Please select the file format you want to download data in.\")]),_c('SelectBox',{attrs:{\"type\":\"output-format\",\"value\":_vm.value,\"optionFilter\":_vm.filterFormats},on:{\"input\":_vm.setFormat}}),(_vm.scale !== null)?_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.scaleBox),expression:\"scaleBox\"}],attrs:{\"type\":\"checkbox\",\"id\":\"scale\"},domProps:{\"checked\":Array.isArray(_vm.scaleBox)?_vm._i(_vm.scaleBox,null)>-1:(_vm.scaleBox)},on:{\"change\":function($event){var $$a=_vm.scaleBox,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.scaleBox=$$a.concat([$$v]))}else{$$i>-1&&(_vm.scaleBox=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.scaleBox=$$c}}}}),_vm._v(\"  \"),_c('label',{attrs:{\"for\":\"scale\"}},[_vm._v(\"Scale the values from [-1, 1] to [0, 255] (often required for PNG, GIF or JPEG).\")])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseFormat.vue?vue&type=template&id=399a88f0\"\nimport script from \"./ChooseFormat.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseFormat.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Utils from '../../utils';\nexport const API_TYPES = Utils.resolveJsonRefs(require('@openeo/js-processgraphs/assets/subtype-schemas.json')).definitions;\nexport const NATIVE_TYPES = [\n\t'string',\n\t'integer',\n\t'number',\n\t'boolean',\n\t'array',\n\t'object'\n];"],"names":["render","_vm","this","_c","_self","staticClass","loaded","key","type","ref","attrs","multiple","selectOptions","preselect","editable","deselectLabel","taggable","tagPlaceholder","on","addValue","model","value","selected","callback","$$v","expression","showDetails","$event","$emit","_e","_v","staticRenderFns","name","components","MultiSelect","props","String","default","Boolean","options","Array","Object","schema","context","optionFilter","Function","computed","state","collection","$store","collections","find","c","id","Utils","isObject","summaries","map","band","error","length","bandDimension","values","d","isArray","jobs","files","editor","epsgCodes","fileFormats","getInputTypes","t","require","types","native","NATIVE_TYPES","assign","API_TYPES","getOutputTypes","serviceTypes","connection","capabilities","listPlans","keys","udfRuntimes","versions","fromEntries","entries","filter","data","e","sort","sortByLabel","j","label","getResourceTitle","push","title","prettifyString","f","path","a","b","sortByPath","Number","parseInt","toUpperCase","p","paid","thisYear","Date","getFullYear","years","from","x","i","findIndex","y","customYear","unshift","val","isEnum","getEnumChoices","freeInputIfEmpty","includes","created","loadData","watch","newValue","v","num","isNaN","preselectFirst","methods","mapActions","loadEpsgCodes","describeCollection","initSelection","$nextTick","elem","$refs","htmlElement","filteredOptions","select","o","selectedOption","undefined","compareStringCaseInsensitive","component","filterFormats","setFormat","scale","directives","rawName","scaleBox","domProps","_i","$$a","$$el","target","$$c","checked","$$i","concat","slice","SelectBox","gisDataType","get","set","format","gis_data_types","toLowerCase","resolveJsonRefs","definitions"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/9066.915e8a72.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/src/components/datatypes/SelectBox.vue","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?ff2a","webpack://@openeo/web-editor/./src/components/datatypes/SelectBox.vue?8dc4","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseFormat.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?9604","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseFormat.vue?365b","webpack://@openeo/web-editor/./src/components/datatypes/api.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"select-container\"},[(_vm.loaded)?[_c('MultiSelect',{key:_vm.type,ref:\"htmlElement\",attrs:{\"label\":\"label\",\"track-by\":\"id\",\"multiple\":_vm.multiple,\"options\":_vm.selectOptions,\"allowEmpty\":false,\"preselectFirst\":_vm.preselect,\"disabled\":!_vm.editable,\"deselectLabel\":_vm.deselectLabel,\"taggable\":_vm.taggable,\"tagPlaceholder\":_vm.tagPlaceholder},on:{\"tag\":_vm.addValue},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),(_vm.showDetails)?_c('button',{attrs:{\"type\":\"button\",\"title\":\"Details\"},on:{\"click\":function($event){return _vm.$emit('onDetails')}}},[_c('i',{staticClass:\"fas fa-info\"})]):_vm._e()]:_c('div',{staticClass:\"loading\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Loading options...\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectBox.vue?vue&type=template&id=4d9e902d\"\nimport script from \"./SelectBox.vue?vue&type=script&lang=js\"\nexport * from \"./SelectBox.vue?vue&type=script&lang=js\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./SelectBox.vue?vue&type=style&index=1&id=4d9e902d&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-format\"},[_c('p',[_vm._v(\"Please select the file format you want to download data in.\")]),_c('SelectBox',{attrs:{\"type\":\"output-format\",\"value\":_vm.value,\"optionFilter\":_vm.filterFormats},on:{\"input\":_vm.setFormat}}),(_vm.scale !== null)?_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.scaleBox),expression:\"scaleBox\"}],attrs:{\"type\":\"checkbox\",\"id\":\"scale\"},domProps:{\"checked\":Array.isArray(_vm.scaleBox)?_vm._i(_vm.scaleBox,null)>-1:(_vm.scaleBox)},on:{\"change\":function($event){var $$a=_vm.scaleBox,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.scaleBox=$$a.concat([$$v]))}else{$$i>-1&&(_vm.scaleBox=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.scaleBox=$$c}}}}),_vm._v(\"  \"),_c('label',{attrs:{\"for\":\"scale\"}},[_vm._v(\"Scale the values from [-1, 1] to [0, 255] (often required for PNG, GIF or JPEG).\")])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseFormat.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseFormat.vue?vue&type=template&id=399a88f0\"\nimport script from \"./ChooseFormat.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseFormat.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Utils from '../../utils';\nexport const API_TYPES = Utils.resolveJsonRefs(require('@openeo/js-processgraphs/assets/subtype-schemas.json')).definitions;\nexport const NATIVE_TYPES = [\n\t'string',\n\t'integer',\n\t'number',\n\t'boolean',\n\t'array',\n\t'object'\n];"],"names":["render","_vm","this","_c","_self","staticClass","loaded","key","type","ref","attrs","multiple","selectOptions","preselect","editable","deselectLabel","taggable","tagPlaceholder","on","addValue","model","value","selected","callback","$$v","expression","showDetails","$event","$emit","_e","_v","staticRenderFns","name","components","MultiSelect","props","String","default","Boolean","options","Array","Object","schema","context","optionFilter","Function","computed","state","collection","$store","collections","find","c","id","Utils","isObject","summaries","map","band","error","length","bandDimension","values","d","isArray","jobs","files","editor","epsgCodes","fileFormats","getInputTypes","t","require","types","native","NATIVE_TYPES","assign","API_TYPES","getOutputTypes","serviceTypes","connection","capabilities","listPlans","keys","udfRuntimes","versions","fromEntries","entries","filter","data","e","sort","sortByLabel","j","label","getResourceTitle","push","title","prettifyString","f","path","a","b","sortByPath","Number","parseInt","toUpperCase","p","paid","thisYear","Date","getFullYear","years","from","x","i","findIndex","y","customYear","unshift","val","isEnum","getEnumChoices","freeInputIfEmpty","includes","created","loadData","watch","newValue","v","num","isNaN","preselectFirst","methods","mapActions","loadEpsgCodes","describeCollection","initSelection","$nextTick","elem","$refs","htmlElement","filteredOptions","select","o","selectedOption","undefined","compareStringCaseInsensitive","component","filterFormats","setFormat","scale","directives","rawName","scaleBox","domProps","_i","$$a","$$el","target","$$c","checked","$$i","concat","slice","SelectBox","gisDataType","get","set","format","gis_data_types","toLowerCase","resolveJsonRefs","definitions"],"sourceRoot":""} \ No newline at end of file diff --git a/js/9201.b232ee07.js b/js/9201.75f560cb.js similarity index 99% rename from js/9201.b232ee07.js rename to js/9201.75f560cb.js index f464274a..7aa3f21c 100644 --- a/js/9201.b232ee07.js +++ b/js/9201.75f560cb.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[9201,4152],{84542:(e,t,i)=>{i.d(t,{A:()=>a});const a={data(){return{canCopy:!1}},mounted(){this.canCopy=navigator&&navigator.clipboard&&"function"===typeof navigator.clipboard.writeText},methods:{copyText(e,t=null,i=null){if(this.canCopy){const a=navigator.clipboard.writeText(e);t&&a.then(t),i&&a.catch(i)}},toggleIcon(e,t){if(e){let i=e.innerText;e.innerText=t,setTimeout((()=>e.innerText=i),2e3)}}}}},34152:(e,t,i)=>{i.r(t),i.d(t,{default:()=>m});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"vue-component searchable-list",class:{expandable:null!==e.collapsed,expanded:e.showList,noResults:0===e.filteredCount}},[e._t("heading",(function(){return[e.heading?t("h2",{staticClass:"heading",on:{click:function(t){return e.toggleHeading(null)}}},[e._v(" "+e._s(e.heading)+" "),null!==e.filteredCount&&e.filteredCount!==e.totalCount?[e._v("("+e._s(e.filteredCount)+"/"+e._s(e.totalCount)+")")]:[e._v("("+e._s(e.totalCount)+")")]],2):e._e()]}),{filteredCount:e.filteredCount,totalCount:e.totalCount}),null!==e.showList?t("div",{directives:[{name:"show",rawName:"v-show",value:!0===e.showList,expression:"showList === true"}],staticClass:"body"},[e._t("content-start"),0===e.totalCount?[t("p",[e._v("No data available.")])]:[t("section",{staticClass:"action-bar"},[null===e.externalSearchTerm?t("SearchBox",{attrs:{placeholder:e.searchPlaceholder,minLength:e.searchMinLength},model:{value:e.searchTerm,callback:function(t){e.searchTerm=t},expression:"searchTerm"}}):e._e(),e.deprecatedFilter?t("label",{staticClass:"deprecated",attrs:{title:"Show deprecated elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.hideDeprecated,expression:"hideDeprecated"}],attrs:{type:"checkbox","true-value":!1,"false-value":!0},domProps:{checked:Array.isArray(e.hideDeprecated)?e._i(e.hideDeprecated,null)>-1:e._q(e.hideDeprecated,!1)},on:{change:function(t){var i=e.hideDeprecated,a=t.target,s=!a.checked;if(Array.isArray(i)){var r=null,n=e._i(i,r);a.checked?n<0&&(e.hideDeprecated=i.concat([r])):n>-1&&(e.hideDeprecated=i.slice(0,n).concat(i.slice(n+1)))}else e.hideDeprecated=s}}}),e._v(" Show deprecated ")]):e._e(),e.experimentalFilter?t("label",{staticClass:"experimental",attrs:{title:"Show experimental elements?"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.hideExperimental,expression:"hideExperimental"}],attrs:{type:"checkbox","true-value":!1,"false-value":!0},domProps:{checked:Array.isArray(e.hideExperimental)?e._i(e.hideExperimental,null)>-1:e._q(e.hideExperimental,!1)},on:{change:function(t){var i=e.hideExperimental,a=t.target,s=!a.checked;if(Array.isArray(i)){var r=null,n=e._i(i,r);a.checked?n<0&&(e.hideExperimental=i.concat([r])):n>-1&&(e.hideExperimental=i.slice(0,n).concat(i.slice(n+1)))}else e.hideExperimental=s}}}),e._v(" Show experimental ")]):e._e()],1),e._t("after-search-box",null,{filteredCount:e.filteredCount,summaries:e.summaries}),0===e.filteredCount?t("p",[e._v("No search results found.")]):t("ul",{staticClass:"list",class:{expandable:e.offerDetails}},e._l(e.summaries,(function(i,a){return t("li",{directives:[{name:"show",rawName:"v-show",value:i.show,expression:"summary.show"}],key:i.identifier,class:{expanded:e.showDetails[a]}},[t("summary",{staticClass:"summary",class:{experimental:i.experimental,deprecated:i.deprecated},on:{click:function(t){return e.toggleDetails(a)}}},[e._t("summary",(function(){return[t("strong",[e._v(" "+e._s(i.identifier)+" "),e.allowCopy&&e.canCopy?t("span",{staticClass:"copy",attrs:{title:"Copy identifier"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),e.copyIdentifier(t,i)}}},[e._v("📋")]):e._e()]),i.summary?t("small",{class:{hideOnExpand:!e.showSummaryOnExpand}},[e._v(e._s(i.summary))]):e._e(),e.showKeywords&&i.keywords.length>0?t("ul",{staticClass:"badges small block hideOnExpand"},e._l(i.keywords,(function(i){return t("li",{key:i,staticClass:"badge"},[e._v(e._s(i))])})),0):e._e()]}),{summary:i,item:i.data})],2),"boolean"===typeof e.showDetails[a]?t("div",{directives:[{name:"show",rawName:"v-show",value:!0===e.showDetails[a],expression:"showDetails[i] === true"}],staticClass:"details"},[i.loaded?e._t("details",(function(){return[e._v(" No details available! ")]}),{summary:i,item:i.data}):t("Loading")],2):e._e()])})),0)]],2):e._e()],2)},s=[],r=i(86975),n=i(12018),l=i(84542),o=i(85471);const d={name:"SearchableList",components:{Loading:n.A,SearchBox:()=>i.e(9409).then(i.bind(i,9409))},mixins:[l.A],props:{data:{type:[Array,Object],default:()=>[]},identifierKey:{type:String,default:"id"},summaryKey:{type:String,default:"summary"},keywordsKey:{type:String,default:null},showKeywords:{type:Boolean,default:!1},externalSearchTerm:{type:String,default:null},searchPlaceholder:{type:String,default:"Search"},sort:{type:Boolean,default:!0},offerDetails:{type:Boolean,default:!0},showSummaryOnExpand:{type:Boolean,default:!0},heading:{type:String,default:null},collapsed:{type:Boolean,default:null},searchMinLength:{type:Number,default:2},loadAdditionalData:{type:Function,default:null},allowCopy:{type:Boolean,default:!1},externalHideDeprecated:{type:Boolean,default:!1},deprecatedFilter:{type:Boolean,default:!1},externalHideExperimental:{type:Boolean,default:!1},experimentalFilter:{type:Boolean,default:!1}},data(){return{searchTerm:"",showDetails:{},showList:!this.collapsed||null,hideDeprecated:this.externalHideDeprecated,hideExperimental:this.externalHideExperimental,summaries:[]}},watch:{loadAdditionalData:{handler(){this.generateSummaries(this.summaries)}},data:{immediate:!0,handler(e,t){e!==t&&this.generateSummaries(e)}},externalSearchTerm:{immediate:!0,handler(e){this.searchTerm="string"===typeof e?e:""}},externalHideDeprecated:{immediate:!0,handler(e){this.hideDeprecated=e}},externalHideExperimental:{immediate:!0,handler(e){this.hideExperimental=e}},summaries:{immediate:!0,handler(){this.$emit("summaries",this.summaries)}},searchTerm(){this.filter()},hideDeprecated(){null!==this.hideDeprecatedByDefault&&this.filter()},hideExperimental(){null!==this.hideExperimentalByDefault&&this.filter()},collapsed(e){!1===e?this.showList=!0:null!==this.showList&&(this.showList=!1)}},computed:{totalCount(){return r.A.size(this.data)},filteredCount(){return this.hasActiveFilter()?this.summaries.filter((e=>!0===e.show)).length:null}},created(){this.filter()},methods:{hasActiveFilter(){return this.searchTerm.length>=this.searchMinLength||null!==this.hideDeprecatedByDefault&&this.hideDeprecated||null!==this.hideExperimentalByDefault&&this.hideExperimental},filter(){const e=this.searchTerm.length>=this.searchMinLength;this.summaries.forEach((t=>{let i=!0;null!==this.hideDeprecatedByDefault&&this.hideDeprecated&&t.deprecated||null!==this.hideExperimentalByDefault&&this.hideExperimental&&t.experimental?i=!1:e&&(i=r.A.search(this.searchTerm,[t.identifier,t.summary].concat(t.keywords))),this.$set(t,"show",i)})),this.$emit("summaries",this.summaries)},copyIdentifier(e,t){if(this.allowCopy){const i=e.composedPath()[0];this.copyText(t.identifier,(()=>this.toggleIcon(i,"✅")),(()=>this.toggleIcon(i,"❌")))}},generateSummaries(){let e="function"===typeof this.loadAdditionalData,t=[];for(let i in this.data){let a=this.data[i],s={identifier:i,summary:"",show:!0,loaded:!e,index:i,experimental:a.experimental,deprecated:a.deprecated,data:null};"string"===typeof this.identifierKey&&"string"===typeof a[this.identifierKey]&&(s.identifier=a[this.identifierKey]),"string"===typeof this.summaryKey&&"string"===typeof a[this.summaryKey]&&(s.summary=a[this.summaryKey]),"string"===typeof this.keywordsKey&&Array.isArray(a[this.keywordsKey])?s.keywords=a[this.keywordsKey]:s.keywords=[];let r=o.Ay.observable(s);r.data=a,t.push(r)}this.sort&&t.sort(((e,t)=>r.A.compareStringCaseInsensitive(e.identifier,t.identifier))),this.summaries=t},toggleHeading(e=null){null!==this.collapsed&&(this.showList=null===e?!this.showList:e,this.$emit("headingToggled",this.showList),this.$parent&&this.$parent.$emit("headingToggled",this.showList))},async toggleDetails(e,t){if(!this.offerDetails)return;if("undefined"===typeof t&&(t=!this.showDetails[e]),"undefined"===typeof this.showDetails[e]&&!1===t)return;this.$set(this.showDetails,e,t);let i=this.summaries[e];if(t&&"function"===typeof this.loadAdditionalData&&!i.loaded)try{i.data=await this.loadAdditionalData(i.index,i.identifier,i.data),i.loaded=!0}catch(a){console.error(a)}this.$emit("detailsToggled",t,i.index,i.identifier,i.data)}}},h=d;var c=i(81656),u=(0,c.A)(h,a,s,!1,null,null,null);const m=u.exports},39201:(e,t,i)=>{i.r(t),i.d(t,{default:()=>u});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"step choose-index"},[t("p",[e._v("Please select the spectral index you want to compute.")]),e.indices.length>0?t("SearchableList",{attrs:{heading:"",data:e.indices,offerDetails:!1,showKeywords:""},scopedSlots:e._u([{key:"summary",fn:function({item:i}){return[t("div",{class:{element:!0,selected:i.id==e.value.id}},[t("div",{staticClass:"summary",on:{click:function(t){return e.update(i)}}},[t("div",{staticClass:"title"},[t("strong",{attrs:{title:i.id}},[e._v(e._s(i.summary))]),t("ul",{staticClass:"badges small inline"},e._l(i.keywords,(function(a,s){return t("li",{key:a,class:{badge:!0,domain:s+1==i.keywords.length,[a]:s+1==i.keywords.length}},[e._v(e._s(a))])})),0)]),t("code",[e._v(e._s(i.formula))])]),t("button",{staticClass:"button",attrs:{type:"button",title:"Open website with additional details"},on:{click:function(t){return e.showDetails(i)}}},[t("i",{staticClass:"fas fa-info"})])])]}}],null,!1,970652951)}):e._e()],1)},s=[],r=i(34152),n=i(61663);const l={g:"Gain factor (e.g. Used for EVI)",L:"Canopy background adjustment (e.g. Used for SAVI and EVI)",C1:"Coefficient 1 for the aerosol resistance term (e.g. Used for EVI)",C2:"Coefficient 2 for the aerosol resistance term (e.g. Used for EVI)",cexp:"Exponent used for OCVI",nexp:"Exponent used for GDVI",alpha:"Weighting coefficient used for WDRVI, BWDRVI and NDPI",beta:"Calibration parameter used for NDSIns",gamma:"Weighting coefficient used for ARVI",omega:"Weighting coefficient used for MBWI",sla:"Soil line slope",slb:"Soil line intercept",PAR:"Photosynthetically Active Radiation",k:"Slope parameter by soil used for NIRvH2",lambdaN:"NIR wavelength used for NIRvH2 and NDGI",lambdaR:"Red wavelength used for NIRvH2 and NDGI",lambdaG:"Green wavelength used for NDGI"},o={name:"ChooseSpectralIndices",mixins:[n.A],components:{SearchableList:r["default"]},props:{value:{type:Object,default:()=>({})},availableBands:{type:Object,required:!0}},data(){return{indices:[]}},async created(){const{domains:e,indices:t}=await i.e(9546).then(i.t.bind(i,49546,19)),a=Object.keys(this.availableBands),s=Object.keys(l).join("|"),r=new RegExp(`(${s})`,"g");for(let i of t){const t=i[3],s=t.filter((e=>a.includes(e)));if(s.length!=t.length)continue;const n=i[4],l=Array.from(n.matchAll(r));if(l.length>0)continue;let o=i[5];o.length>0&&!o.includes("://")&&(o="https://doi.org/"+o),this.indices.push({id:i[0],summary:i[1],keywords:[...i[3],e[i[2]]],bands:t,formula:n,uri:o})}},methods:{showDetails(e){window.open(e.uri)},async update(e){this.$emit("input",e)}}},d=o;var h=i(81656),c=(0,h.A)(d,a,s,!1,null,null,null);const u=c.exports}}]); -//# sourceMappingURL=9201.b232ee07.js.map \ No newline at end of file +//# sourceMappingURL=9201.75f560cb.js.map \ No newline at end of file diff --git a/js/9201.b232ee07.js.map b/js/9201.75f560cb.js.map similarity index 99% rename from js/9201.b232ee07.js.map rename to js/9201.75f560cb.js.map index 419244fc..e37944b2 100644 --- a/js/9201.b232ee07.js.map +++ b/js/9201.75f560cb.js.map @@ -1 +1 @@ -{"version":3,"file":"js/9201.b232ee07.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/CopyMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue?cd66","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchableList.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue?0d21","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseSpectralIndices.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue?caee","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue?0b62"],"sourcesContent":["export default {\r\n data() {\r\n return {\r\n canCopy: false\r\n }\r\n },\r\n\tmounted() {\r\n\t\tthis.canCopy = navigator && navigator.clipboard && typeof navigator.clipboard.writeText === 'function';\r\n\t},\r\n methods: {\r\n copyText(text, onSuccess = null, onError = null) {\r\n if (this.canCopy) {\r\n const promise = navigator.clipboard.writeText(text)\r\n if (onSuccess) {\r\n promise.then(onSuccess);\r\n }\r\n if (onError) {\r\n promise.catch(onError);\r\n }\r\n }\r\n },\r\n\t\ttoggleIcon(elem, newIcon) {\r\n\t\t\tif (elem) {\r\n\t\t\t\tlet oldIcon = elem.innerText;\r\n\t\t\t\telem.innerText = newIcon;\r\n\t\t\t\tsetTimeout(() => elem.innerText = oldIcon, 2000);\r\n\t\t\t}\r\n\t\t}\r\n }\r\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component searchable-list\",class:{expandable: _vm.collapsed !== null, expanded: _vm.showList, noResults: _vm.filteredCount === 0}},[_vm._t(\"heading\",function(){return [(_vm.heading)?_c('h2',{staticClass:\"heading\",on:{\"click\":function($event){return _vm.toggleHeading(null)}}},[_vm._v(\" \"+_vm._s(_vm.heading)+\" \"),(_vm.filteredCount !== null && _vm.filteredCount !== _vm.totalCount)?[_vm._v(\"(\"+_vm._s(_vm.filteredCount)+\"/\"+_vm._s(_vm.totalCount)+\")\")]:[_vm._v(\"(\"+_vm._s(_vm.totalCount)+\")\")]],2):_vm._e()]},{\"filteredCount\":_vm.filteredCount,\"totalCount\":_vm.totalCount}),(_vm.showList !== null)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showList === true),expression:\"showList === true\"}],staticClass:\"body\"},[_vm._t(\"content-start\"),(_vm.totalCount === 0)?[_c('p',[_vm._v(\"No data available.\")])]:[_c('section',{staticClass:\"action-bar\"},[(_vm.externalSearchTerm === null)?_c('SearchBox',{attrs:{\"placeholder\":_vm.searchPlaceholder,\"minLength\":_vm.searchMinLength},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}):_vm._e(),(_vm.deprecatedFilter)?_c('label',{staticClass:\"deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hideDeprecated),expression:\"hideDeprecated\"}],attrs:{\"type\":\"checkbox\",\"true-value\":false,\"false-value\":true},domProps:{\"checked\":Array.isArray(_vm.hideDeprecated)?_vm._i(_vm.hideDeprecated,null)>-1:_vm._q(_vm.hideDeprecated,false)},on:{\"change\":function($event){var $$a=_vm.hideDeprecated,$$el=$event.target,$$c=$$el.checked?(false):(true);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hideDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hideDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hideDeprecated=$$c}}}}),_vm._v(\" Show deprecated \")]):_vm._e(),(_vm.experimentalFilter)?_c('label',{staticClass:\"experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hideExperimental),expression:\"hideExperimental\"}],attrs:{\"type\":\"checkbox\",\"true-value\":false,\"false-value\":true},domProps:{\"checked\":Array.isArray(_vm.hideExperimental)?_vm._i(_vm.hideExperimental,null)>-1:_vm._q(_vm.hideExperimental,false)},on:{\"change\":function($event){var $$a=_vm.hideExperimental,$$el=$event.target,$$c=$$el.checked?(false):(true);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hideExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hideExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hideExperimental=$$c}}}}),_vm._v(\" Show experimental \")]):_vm._e()],1),_vm._t(\"after-search-box\",null,{\"filteredCount\":_vm.filteredCount,\"summaries\":_vm.summaries}),(_vm.filteredCount === 0)?_c('p',[_vm._v(\"No search results found.\")]):_c('ul',{staticClass:\"list\",class:{expandable: _vm.offerDetails}},_vm._l((_vm.summaries),function(summary,i){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(summary.show),expression:\"summary.show\"}],key:summary.identifier,class:{expanded: _vm.showDetails[i]}},[_c('summary',{staticClass:\"summary\",class:{experimental: summary.experimental, deprecated: summary.deprecated},on:{\"click\":function($event){return _vm.toggleDetails(i)}}},[_vm._t(\"summary\",function(){return [_c('strong',[_vm._v(\" \"+_vm._s(summary.identifier)+\" \"),(_vm.allowCopy && _vm.canCopy)?_c('span',{staticClass:\"copy\",attrs:{\"title\":\"Copy identifier\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.copyIdentifier($event, summary)}}},[_vm._v(\"📋\")]):_vm._e()]),(summary.summary)?_c('small',{class:{hideOnExpand: !_vm.showSummaryOnExpand}},[_vm._v(_vm._s(summary.summary))]):_vm._e(),(_vm.showKeywords && summary.keywords.length > 0)?_c('ul',{staticClass:\"badges small block hideOnExpand\"},_vm._l((summary.keywords),function(keyword){return _c('li',{key:keyword,staticClass:\"badge\"},[_vm._v(_vm._s(keyword))])}),0):_vm._e()]},{\"summary\":summary,\"item\":summary.data})],2),(typeof _vm.showDetails[i] === 'boolean')?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetails[i] === true),expression:\"showDetails[i] === true\"}],staticClass:\"details\"},[(!summary.loaded)?_c('Loading'):_vm._t(\"details\",function(){return [_vm._v(\" No details available! \")]},{\"summary\":summary,\"item\":summary.data})],2):_vm._e()])}),0)]],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchableList.vue?vue&type=template&id=e2670128\"\nimport script from \"./SearchableList.vue?vue&type=script&lang=js\"\nexport * from \"./SearchableList.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchableList.vue?vue&type=style&index=0&id=e2670128&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-index\"},[_c('p',[_vm._v(\"Please select the spectral index you want to compute.\")]),(_vm.indices.length > 0)?_c('SearchableList',{attrs:{\"heading\":\"\",\"data\":_vm.indices,\"offerDetails\":false,\"showKeywords\":\"\"},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value.id}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item)}}},[_c('div',{staticClass:\"title\"},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.summary))]),_c('ul',{staticClass:\"badges small inline\"},_vm._l((item.keywords),function(keyword,i){return _c('li',{key:keyword,class:{badge: true, domain: i+1 == item.keywords.length, [keyword]: i+1 == item.keywords.length}},[_vm._v(_vm._s(keyword))])}),0)]),_c('code',[_vm._v(_vm._s(item.formula))])]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Open website with additional details\"},on:{\"click\":function($event){return _vm.showDetails(item)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}],null,false,970652951)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseSpectralIndices.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseSpectralIndices.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseSpectralIndices.vue?vue&type=template&id=7c6ee7ac\"\nimport script from \"./ChooseSpectralIndices.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseSpectralIndices.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseSpectralIndices.vue?vue&type=style&index=0&id=7c6ee7ac&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["data","canCopy","mounted","this","navigator","clipboard","writeText","methods","copyText","text","onSuccess","onError","promise","then","catch","toggleIcon","elem","newIcon","oldIcon","innerText","setTimeout","render","_vm","_c","_self","staticClass","class","expandable","collapsed","expanded","showList","noResults","filteredCount","_t","on","$event","toggleHeading","_v","_s","heading","totalCount","_e","directives","name","rawName","value","expression","externalSearchTerm","attrs","searchPlaceholder","searchMinLength","model","callback","$$v","searchTerm","domProps","Array","isArray","hideDeprecated","_i","_q","$$a","$$el","target","$$c","checked","$$i","concat","slice","hideExperimental","summaries","offerDetails","_l","summary","i","key","identifier","showDetails","experimental","deprecated","toggleDetails","allowCopy","preventDefault","stopPropagation","copyIdentifier","hideOnExpand","showSummaryOnExpand","showKeywords","keywords","length","keyword","loaded","staticRenderFns","components","Loading","SearchBox","mixins","CopyMixin","props","type","Object","default","identifierKey","String","summaryKey","keywordsKey","Boolean","sort","Number","loadAdditionalData","Function","externalHideDeprecated","deprecatedFilter","externalHideExperimental","experimentalFilter","watch","handler","generateSummaries","immediate","oldData","$emit","filter","hideDeprecatedByDefault","hideExperimentalByDefault","newState","computed","size","hasActiveFilter","item","show","created","doSearch","forEach","search","$set","event","composedPath","hasLoader","index","entry","observable","push","a","b","compareStringCaseInsensitive","$parent","error","console","component","indices","scopedSlots","_u","fn","element","selected","id","update","badge","domain","formula","PARAMS","g","L","C1","C2","cexp","nexp","alpha","beta","gamma","omega","sla","slb","PAR","k","lambdaN","lambdaR","lambdaG","EventBusMixin","SearchableList","availableBands","required","domains","available","keys","choice","join","pattern","RegExp","bands","bandsIntersection","includes","availableParams","from","matchAll","uri","window","open"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/9201.75f560cb.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/internal/CopyMixin.js","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue?cd66","webpack://@openeo/web-editor/node_modules/@openeo/vue-components/components/SearchableList.vue","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue?0d21","webpack://@openeo/web-editor/./node_modules/@openeo/vue-components/components/SearchableList.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseSpectralIndices.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue?caee","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseSpectralIndices.vue?0b62"],"sourcesContent":["export default {\r\n data() {\r\n return {\r\n canCopy: false\r\n }\r\n },\r\n\tmounted() {\r\n\t\tthis.canCopy = navigator && navigator.clipboard && typeof navigator.clipboard.writeText === 'function';\r\n\t},\r\n methods: {\r\n copyText(text, onSuccess = null, onError = null) {\r\n if (this.canCopy) {\r\n const promise = navigator.clipboard.writeText(text)\r\n if (onSuccess) {\r\n promise.then(onSuccess);\r\n }\r\n if (onError) {\r\n promise.catch(onError);\r\n }\r\n }\r\n },\r\n\t\ttoggleIcon(elem, newIcon) {\r\n\t\t\tif (elem) {\r\n\t\t\t\tlet oldIcon = elem.innerText;\r\n\t\t\t\telem.innerText = newIcon;\r\n\t\t\t\tsetTimeout(() => elem.innerText = oldIcon, 2000);\r\n\t\t\t}\r\n\t\t}\r\n }\r\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-component searchable-list\",class:{expandable: _vm.collapsed !== null, expanded: _vm.showList, noResults: _vm.filteredCount === 0}},[_vm._t(\"heading\",function(){return [(_vm.heading)?_c('h2',{staticClass:\"heading\",on:{\"click\":function($event){return _vm.toggleHeading(null)}}},[_vm._v(\" \"+_vm._s(_vm.heading)+\" \"),(_vm.filteredCount !== null && _vm.filteredCount !== _vm.totalCount)?[_vm._v(\"(\"+_vm._s(_vm.filteredCount)+\"/\"+_vm._s(_vm.totalCount)+\")\")]:[_vm._v(\"(\"+_vm._s(_vm.totalCount)+\")\")]],2):_vm._e()]},{\"filteredCount\":_vm.filteredCount,\"totalCount\":_vm.totalCount}),(_vm.showList !== null)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showList === true),expression:\"showList === true\"}],staticClass:\"body\"},[_vm._t(\"content-start\"),(_vm.totalCount === 0)?[_c('p',[_vm._v(\"No data available.\")])]:[_c('section',{staticClass:\"action-bar\"},[(_vm.externalSearchTerm === null)?_c('SearchBox',{attrs:{\"placeholder\":_vm.searchPlaceholder,\"minLength\":_vm.searchMinLength},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}):_vm._e(),(_vm.deprecatedFilter)?_c('label',{staticClass:\"deprecated\",attrs:{\"title\":\"Show deprecated elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hideDeprecated),expression:\"hideDeprecated\"}],attrs:{\"type\":\"checkbox\",\"true-value\":false,\"false-value\":true},domProps:{\"checked\":Array.isArray(_vm.hideDeprecated)?_vm._i(_vm.hideDeprecated,null)>-1:_vm._q(_vm.hideDeprecated,false)},on:{\"change\":function($event){var $$a=_vm.hideDeprecated,$$el=$event.target,$$c=$$el.checked?(false):(true);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hideDeprecated=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hideDeprecated=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hideDeprecated=$$c}}}}),_vm._v(\" Show deprecated \")]):_vm._e(),(_vm.experimentalFilter)?_c('label',{staticClass:\"experimental\",attrs:{\"title\":\"Show experimental elements?\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hideExperimental),expression:\"hideExperimental\"}],attrs:{\"type\":\"checkbox\",\"true-value\":false,\"false-value\":true},domProps:{\"checked\":Array.isArray(_vm.hideExperimental)?_vm._i(_vm.hideExperimental,null)>-1:_vm._q(_vm.hideExperimental,false)},on:{\"change\":function($event){var $$a=_vm.hideExperimental,$$el=$event.target,$$c=$$el.checked?(false):(true);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hideExperimental=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hideExperimental=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hideExperimental=$$c}}}}),_vm._v(\" Show experimental \")]):_vm._e()],1),_vm._t(\"after-search-box\",null,{\"filteredCount\":_vm.filteredCount,\"summaries\":_vm.summaries}),(_vm.filteredCount === 0)?_c('p',[_vm._v(\"No search results found.\")]):_c('ul',{staticClass:\"list\",class:{expandable: _vm.offerDetails}},_vm._l((_vm.summaries),function(summary,i){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(summary.show),expression:\"summary.show\"}],key:summary.identifier,class:{expanded: _vm.showDetails[i]}},[_c('summary',{staticClass:\"summary\",class:{experimental: summary.experimental, deprecated: summary.deprecated},on:{\"click\":function($event){return _vm.toggleDetails(i)}}},[_vm._t(\"summary\",function(){return [_c('strong',[_vm._v(\" \"+_vm._s(summary.identifier)+\" \"),(_vm.allowCopy && _vm.canCopy)?_c('span',{staticClass:\"copy\",attrs:{\"title\":\"Copy identifier\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.copyIdentifier($event, summary)}}},[_vm._v(\"📋\")]):_vm._e()]),(summary.summary)?_c('small',{class:{hideOnExpand: !_vm.showSummaryOnExpand}},[_vm._v(_vm._s(summary.summary))]):_vm._e(),(_vm.showKeywords && summary.keywords.length > 0)?_c('ul',{staticClass:\"badges small block hideOnExpand\"},_vm._l((summary.keywords),function(keyword){return _c('li',{key:keyword,staticClass:\"badge\"},[_vm._v(_vm._s(keyword))])}),0):_vm._e()]},{\"summary\":summary,\"item\":summary.data})],2),(typeof _vm.showDetails[i] === 'boolean')?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetails[i] === true),expression:\"showDetails[i] === true\"}],staticClass:\"details\"},[(!summary.loaded)?_c('Loading'):_vm._t(\"details\",function(){return [_vm._v(\" No details available! \")]},{\"summary\":summary,\"item\":summary.data})],2):_vm._e()])}),0)]],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchableList.vue?vue&type=template&id=e2670128\"\nimport script from \"./SearchableList.vue?vue&type=script&lang=js\"\nexport * from \"./SearchableList.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchableList.vue?vue&type=style&index=0&id=e2670128&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-index\"},[_c('p',[_vm._v(\"Please select the spectral index you want to compute.\")]),(_vm.indices.length > 0)?_c('SearchableList',{attrs:{\"heading\":\"\",\"data\":_vm.indices,\"offerDetails\":false,\"showKeywords\":\"\"},scopedSlots:_vm._u([{key:\"summary\",fn:function({ item }){return [_c('div',{class:{element: true, selected: item.id == _vm.value.id}},[_c('div',{staticClass:\"summary\",on:{\"click\":function($event){return _vm.update(item)}}},[_c('div',{staticClass:\"title\"},[_c('strong',{attrs:{\"title\":item.id}},[_vm._v(_vm._s(item.summary))]),_c('ul',{staticClass:\"badges small inline\"},_vm._l((item.keywords),function(keyword,i){return _c('li',{key:keyword,class:{badge: true, domain: i+1 == item.keywords.length, [keyword]: i+1 == item.keywords.length}},[_vm._v(_vm._s(keyword))])}),0)]),_c('code',[_vm._v(_vm._s(item.formula))])]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\",\"title\":\"Open website with additional details\"},on:{\"click\":function($event){return _vm.showDetails(item)}}},[_c('i',{staticClass:\"fas fa-info\"})])])]}}],null,false,970652951)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseSpectralIndices.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseSpectralIndices.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseSpectralIndices.vue?vue&type=template&id=7c6ee7ac\"\nimport script from \"./ChooseSpectralIndices.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseSpectralIndices.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseSpectralIndices.vue?vue&type=style&index=0&id=7c6ee7ac&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["data","canCopy","mounted","this","navigator","clipboard","writeText","methods","copyText","text","onSuccess","onError","promise","then","catch","toggleIcon","elem","newIcon","oldIcon","innerText","setTimeout","render","_vm","_c","_self","staticClass","class","expandable","collapsed","expanded","showList","noResults","filteredCount","_t","on","$event","toggleHeading","_v","_s","heading","totalCount","_e","directives","name","rawName","value","expression","externalSearchTerm","attrs","searchPlaceholder","searchMinLength","model","callback","$$v","searchTerm","domProps","Array","isArray","hideDeprecated","_i","_q","$$a","$$el","target","$$c","checked","$$i","concat","slice","hideExperimental","summaries","offerDetails","_l","summary","i","key","identifier","showDetails","experimental","deprecated","toggleDetails","allowCopy","preventDefault","stopPropagation","copyIdentifier","hideOnExpand","showSummaryOnExpand","showKeywords","keywords","length","keyword","loaded","staticRenderFns","components","Loading","SearchBox","mixins","CopyMixin","props","type","Object","default","identifierKey","String","summaryKey","keywordsKey","Boolean","sort","Number","loadAdditionalData","Function","externalHideDeprecated","deprecatedFilter","externalHideExperimental","experimentalFilter","watch","handler","generateSummaries","immediate","oldData","$emit","filter","hideDeprecatedByDefault","hideExperimentalByDefault","newState","computed","size","hasActiveFilter","item","show","created","doSearch","forEach","search","$set","event","composedPath","hasLoader","index","entry","observable","push","a","b","compareStringCaseInsensitive","$parent","error","console","component","indices","scopedSlots","_u","fn","element","selected","id","update","badge","domain","formula","PARAMS","g","L","C1","C2","cexp","nexp","alpha","beta","gamma","omega","sla","slb","PAR","k","lambdaN","lambdaR","lambdaG","EventBusMixin","SearchableList","availableBands","required","domains","available","keys","choice","join","pattern","RegExp","bands","bandsIntersection","includes","availableParams","from","matchAll","uri","window","open"],"sourceRoot":""} \ No newline at end of file diff --git a/js/9403.b60e7ec8.js b/js/9403.a9158bcb.js similarity index 99% rename from js/9403.b60e7ec8.js rename to js/9403.a9158bcb.js index db23c36f..11bf86c9 100644 --- a/js/9403.b60e7ec8.js +++ b/js/9403.a9158bcb.js @@ -6,4 +6,4 @@ * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time) */ !function(e,n){t.exports=n(s(10972),s(29276),s(49700),s(82986),s(54602),s(44294),s(86717),s(89718))}(0,(function(t,e,s,n,r,o,i,a){"use strict";function l(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var c=l(t),u=l(e),d=l(s),p=l(n),h=l(r),m=l(o),g=l(i),y=l(a),f="gcd-container",x="gcd-button-control",w="gcd-input-query",v="gcd-input-reset",b={namespace:"ol-geocoder",spin:"gcd-pseudo-rotate",hidden:"gcd-hidden",address:"gcd-address",country:"gcd-country",city:"gcd-city",road:"gcd-road",olControl:"ol-control",glass:{container:"gcd-gl-container",control:"gcd-gl-control",button:"gcd-gl-btn",input:"gcd-gl-input",expanded:"gcd-gl-expanded",reset:"gcd-gl-reset",result:"gcd-gl-result"},inputText:{container:"gcd-txt-container",control:"gcd-txt-control",input:"gcd-txt-input",reset:"gcd-txt-reset",icon:"gcd-txt-glass",result:"gcd-txt-result"}},E={containerId:f,buttonControlId:x,inputQueryId:w,inputResetId:v,cssClasses:b};const _=Object.freeze({__proto__:null,containerId:f,buttonControlId:x,inputQueryId:w,inputResetId:v,cssClasses:b,default:E}),A="addresschosen",S="nominatim",C="reverse",T="glass-button",k="text-input",$="osm",j="mapquest",P="photon",M="bing",q="opencage",I={provider:$,placeholder:"Search for an address",featureStyle:null,targetType:T,lang:"en-US",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function L(t,e="Assertion failed"){if(!t){if("undefined"!=typeof Error)throw new Error(e);throw e}}function O(t){const e=function(){if("performance"in window==0&&(window.performance={}),"now"in window.performance==0){let t=Date.now();performance.timing&&performance.timing.navigationStart&&(t=performance.timing.navigationStart),window.performance.now=()=>Date.now()-t}return window.performance.now()}().toString(36);return t?t+e:e}function N(t){return/^\d+$/u.test(t)}function F(t,e,s){if(Array.isArray(t))return void t.forEach((t=>F(t,e)));const n=Array.isArray(e)?e:e.split(/\s+/u);let r=n.length;for(;r--;)G(t,n[r])||B(t,n[r],s)}function R(t,e,s){if(Array.isArray(t))return void t.forEach((t=>R(t,e,s)));const n=Array.isArray(e)?e:e.split(/\s+/u);let r=n.length;for(;r--;)G(t,n[r])&&H(t,n[r],s)}function G(t,e){return t.classList?t.classList.contains(e):U(e).test(t.className)}function V(t,e){return t.replace(/\{\s*([\w-]+)\s*\}/gu,((t,s)=>{const n=void 0===e[s]?"":e[s];return String(n).replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}))}function D(t,e){let s;if(Array.isArray(t)){if(s=document.createElement(t[0]),t[1].id&&(s.id=t[1].id),t[1].classname&&(s.className=t[1].classname),t[1].attr){const{attr:e}=t[1];if(Array.isArray(e)){let t=-1;for(;++tH(t,e)),s)}function H(t,e,s){t.classList?t.classList.remove(e):t.className=t.className.replace(U(e)," ").trim(),s&&N(s)&&window.setTimeout((()=>B(t,e)),s)}const Q=_.cssClasses;class X{constructor(t){this.options=t,this.els=this.createControl()}createControl(){let t,e,s;return this.options.targetType===k?(e=`${Q.namespace} ${Q.inputText.container}`,t=D(["div",{id:_.containerId,classname:e}],X.input),s={container:t,control:t.querySelector(`.${Q.inputText.control}`),input:t.querySelector(`.${Q.inputText.input}`),reset:t.querySelector(`.${Q.inputText.reset}`),result:t.querySelector(`.${Q.inputText.result}`)}):(e=`${Q.namespace} ${Q.glass.container}`,t=D(["div",{id:_.containerId,classname:e}],X.glass),s={container:t,control:t.querySelector(`.${Q.glass.control}`),button:t.querySelector(`.${Q.glass.button}`),input:t.querySelector(`.${Q.glass.input}`),reset:t.querySelector(`.${Q.glass.reset}`),result:t.querySelector(`.${Q.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}X.glass=`\n
                              \n \n \n \n
                              \n
                                \n`,X.input=`\n
                                \n \n \n \n
                                \n
                                  \n`;class W{constructor(){this.settings={url:"https://photon.komoot.io/api/",params:{q:"",limit:10,lang:"en"},langs:["de","it","fr","en"]}}getParameters(t){return t.lang=t.lang.toLowerCase(),{url:this.settings.url,params:{q:t.query,limit:t.limit||this.settings.params.limit,lang:this.settings.langs.includes(t.lang)?t.lang:this.settings.params.lang}}}handleResponse(t){return 0===t.features.length?[]:t.features.map((t=>({lon:t.geometry.coordinates[0],lat:t.geometry.coordinates[1],address:{name:t.properties.name,postcode:t.properties.postcode,city:t.properties.city,state:t.properties.state,country:t.properties.country},original:{formatted:t.properties.name,details:t.properties}})))}}class Y{constructor(){this.settings={url:"https://nominatim.openstreetmap.org/search/",params:{q:"",format:"json",addressdetails:1,limit:10,countrycodes:"","accept-language":"en-US"}}}getParameters(t){return{url:this.settings.url,params:{q:t.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:t.limit||this.settings.params.limit,countrycodes:t.countrycodes||this.settings.params.countrycodes,"accept-language":t.lang||this.settings.params["accept-language"]}}}handleResponse(t){return 0===t.length?[]:t.map((t=>({lon:t.lon,lat:t.lat,bbox:t.boundingbox,address:{name:t.display_name,road:t.address.road||"",houseNumber:t.address.house_number||"",postcode:t.address.postcode,city:t.address.city||t.address.town,state:t.address.state,country:t.address.country},original:{formatted:t.display_name,details:t.address}})))}}class z{constructor(){this.settings={url:"https://open.mapquestapi.com/nominatim/v1/search.php",params:{q:"",key:"",format:"json",addressdetails:1,limit:10,countrycodes:"","accept-language":"en-US"}}}getParameters(t){return{url:this.settings.url,params:{q:t.query,key:t.key,format:"json",addressdetails:1,limit:t.limit||this.settings.params.limit,countrycodes:t.countrycodes||this.settings.params.countrycodes,"accept-language":t.lang||this.settings.params["accept-language"]}}}handleResponse(t){return 0===t.length?[]:t.map((t=>({lon:t.lon,lat:t.lat,address:{name:t.address.neighbourhood||"",road:t.address.road||"",postcode:t.address.postcode,city:t.address.city||t.address.town,state:t.address.state,country:t.address.country},original:{formatted:t.display_name,details:t.address}})))}}class J{constructor(){this.settings={url:"https://dev.virtualearth.net/REST/v1/Locations",callbackName:"jsonp",params:{query:"",key:"",includeNeighborhood:0,maxResults:10}}}getParameters(t){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:t.query,key:t.key,includeNeighborhood:t.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:t.maxResults||this.settings.params.maxResults}}}handleResponse(t){const{resources:e}=t.resourceSets[0];return 0===e.length?[]:e.map((t=>({lon:t.point.coordinates[1],lat:t.point.coordinates[0],address:{name:t.name},original:{formatted:t.address.formattedAddress,details:t.address}})))}}class K{constructor(){this.settings={url:"https://api.opencagedata.com/geocode/v1/json?",params:{q:"",key:"",limit:10,countrycode:"",pretty:1,no_annotations:1}}}getParameters(t){return{url:this.settings.url,params:{q:t.query,key:t.key,limit:t.limit||this.settings.params.limit,countrycode:t.countrycodes||this.settings.params.countrycodes}}}handleResponse(t){return 0===t.results.length?[]:t.results.map((t=>({lon:t.geometry.lng,lat:t.geometry.lat,address:{name:t.components.house_number||"",road:t.components.road||"",postcode:t.components.postcode,city:t.components.city||t.components.town,state:t.components.state,country:t.components.country},original:{formatted:t.formatted,details:t.components}})))}}function Z(t){return new Promise(((e,s)=>{const n=function(t,e){return e&&"object"==typeof e&&(t+=(/\?/u.test(t)?"&":"?")+tt(e)),t}(t.url,t.data),r={method:"GET",mode:"cors",credentials:"same-origin"};t.jsonp?function(t,e,s){const{head:n}=document,r=document.createElement("script"),o=`f${Math.round(Math.random()*Date.now())}`;r.setAttribute("src",`${t+(t.indexOf("?")>0?"&":"?")+e}=${o}`),window[o]=t=>{window[o]=void 0,setTimeout((()=>n.removeChild(r)),0),s(t)},n.append(r)}(n,t.callbackName,e):fetch(n,r).then((t=>t.json())).then(e).catch(s)}))}function tt(t){return Object.keys(t).reduce(((e,s)=>(e.push("object"==typeof t[s]?tt(t[s]):`${encodeURIComponent(s)}=${encodeURIComponent(t[s])}`),e)),[]).join("&")}const et=_.cssClasses;class st{constructor(t,e){this.Base=t,this.layerName=O("geocoder-layer-"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=t.options,this.options.provider="string"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=e,this.lastQuery="",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let t,e;const s=t=>{t.stopPropagation(),G(this.els.control,et.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener("keypress",(t=>{const e=t.target.value.trim();(t.key?"Enter"===t.key:t.which?13===t.which:t.keyCode&&13===t.keyCode)&&(t.preventDefault(),this.query(e))}),!1),this.els.input.addEventListener("click",(t=>t.stopPropagation()),!1),this.els.input.addEventListener("input",(s=>{const n=s.target.value.trim();0!==n.length?R(this.els.reset,et.hidden):F(this.els.reset,et.hidden),this.options.autoComplete&&n!==e&&(e=n,t&&clearTimeout(t),t=setTimeout((()=>{n.length>=this.options.autoCompleteMinLength&&this.query(n)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener("click",(t=>{this.els.input.focus(),this.els.input.value="",this.lastQuery="",F(this.els.reset,et.hidden),this.clearResults()}),!1),this.options.targetType===T&&this.els.button.addEventListener("click",s,!1)}query(t){this.provider||(this.provider=this.newProvider());const e=this.provider.getParameters({query:t,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===t&&this.els.result.firstChild)return;this.lastQuery=t,this.clearResults(),F(this.els.reset,et.spin);const s={url:e.url,data:e.params};e.callbackName&&(s.jsonp=!0,s.callbackName=e.callbackName),Z(s).then((t=>{this.options.debug&&console.info(t),R(this.els.reset,et.spin);const e=this.provider.handleResponse(t);e&&(this.createList(e),this.listenMapClick())})).catch((t=>{R(this.els.reset,et.spin);const e=D("li","
                                  Error! No internet connection?
                                  ");this.els.result.append(e)}))}createList(t){const e=this.els.result;t.forEach((t=>{let s;s=this.options.provider===$?`${t.address.name}`:this.addressTemplate(t.address);const n=D("li",`${s}`);n.addEventListener("click",(e=>{e.preventDefault(),this.chosen(t,s,t.address,t.original)}),!1),e.append(n)}))}chosen(t,e,s,n){const r=this.Base.getMap(),o=[Number.parseFloat(t.lon),Number.parseFloat(t.lat)],i=r.getView().getProjection(),a=y.default.transform(o,"EPSG:4326",i);let{bbox:l}=t;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],"EPSG:4326",i));const c={formatted:e,details:s,original:n};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:A,address:c,coordinate:a,bbox:l,place:t});else{l?r.getView().fit(l,{duration:500}):function(t,e,s=500,n=2.388657133911758){t.getView().animate({duration:s,resolution:n},{duration:s,center:e})}(r,a);const e=this.createFeature(a,c);this.Base.dispatchEvent({type:A,address:c,feature:e,coordinate:a,bbox:l,place:t})}}createFeature(t){const e=new g.default(new m.default(t));return this.addLayer(),e.setStyle(this.options.featureStyle),e.setId(O("geocoder-ft-")),this.getSource().addFeature(e),e}addressTemplate(t){const e=[];return t.name&&e.push(['{name}'].join("")),(t.road||t.building||t.house_number)&&e.push(['{building} {road} {house_number}'].join("")),(t.city||t.town||t.village)&&e.push(['{postcode} {city} {town} {village}'].join("")),(t.state||t.country)&&e.push(['{state} {country}'].join("")),V(e.join("
                                  "),t)}newProvider(){switch(this.options.provider){case $:return new Y;case j:return new z;case P:return new W;case M:return new J;case q:return new K;default:return this.options.provider}}expand(){R(this.els.input,et.spin),F(this.els.control,et.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value="",this.els.input.blur(),F(this.els.reset,et.hidden),R(this.els.control,et.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const t=this,e=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,e.addEventListener("click",{handleEvent(s){t.clearResults(!0),e.removeEventListener(s.type,this,!1),t.registeredListeners.mapClick=!1}},!1)}clearResults(t){t&&this.options.targetType===T?this.collapse():function(t){for(;t.firstChild;)t.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let t=!1;const e=this.Base.getMap();e.getLayers().forEach((e=>{e===this.layer&&(t=!0)})),t||e.addLayer(this.layer)}}class nt extends c.default{constructor(t=S,e={}){let s,n;L("string"==typeof t,"@param `type` should be string!"),L(t===S||t===C,`@param 'type' should be '${S}'\n or '${C}'!`),L("object"==typeof e,"@param `options` should be object!"),I.featureStyle=[new u.default({image:new d.default({scale:.7,src:"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png"})})];const r=new X(e);if(t===S&&(s=r.els.container),super({element:s}),!(this instanceof nt))return new nt;this.options=function(t,e){const s={};return Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),s}(I,e),this.container=s,t===S&&(n=new st(this,r.els),this.layer=n.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(t){this.options.provider=t}setProviderKey(t){this.options.key=t}}return nt}))},31660:(t,e,s)=>{"use strict";s.d(e,{A:()=>p});var n=s(66684),r=s.n(n);class o{constructor(t,e=!1){this.url=t,this.geojson=e}getParameters(t){return{url:this.url,params:{q:t.query,format:"json",limit:10,"accept-language":"en",polygon_geojson:this.geojson?1:0,polygon_threshold:.001}}}handleResponse(t){return 0===t.length?[]:t.filter((t=>["boundary","geological","leisure","natural","place","water","waterway"].includes(t.class))).map((t=>({lon:t.lon,lat:t.lat,bbox:t.boundingbox,address:{name:t.display_name},original:{formatted:t.display_name,details:t.address,geojson:t.geojson}})))}}const i={methods:{addGeocoder(t,e=!1){if(!this.$config.geocoder)return;const s={provider:new o(this.$config.geocoder,e),placeholder:"Search for ...",keepOpen:!0,preventDefault:!0},n=new(r())("nominatim",s);n.on("addresschosen",(s=>{if(e)t(s.place?.original?.geojson,s);else if(s.place.bbox){let e=s.place.bbox.map((t=>parseFloat(t))),n={west:e[2],east:e[3],north:e[1],south:e[0]};t(n,s)}else t(null,s)})),this.map.addControl(n)}}},a=i;var l,c,u=s(81656),d=(0,u.A)(a,l,c,!1,null,null,null);const p=d.exports},3075:(t,e,s)=>{"use strict";s.d(e,{A:()=>v});var n=function(){var t=this,e=t._self._c;return e("div",{attrs:{id:t.id}},[e("ProgressControl",{ref:"progress",attrs:{map:t.map}}),e("UserLocationControl",{attrs:{map:t.map}}),e("TextControl",{attrs:{text:t.help,map:t.map}})],1)},r=[],o=s(66451),i=s(31660),a=s(95104),l=s(2566),c=s(73926),u=s(89718),d=s(70915),p=s(29276),h=s(55193),m=s(953),g=s(13628);const y={name:"MapAreaSelect",mixins:[o.A,i.A,a.A],components:{TextControl:h.A},props:{value:{type:[Object,Array],default:()=>null},showMaxExtent:{type:[Object,Array],default:()=>null}},data(){return{interaction:null,extent:this.toExtent(this.value)}},computed:{returnAsObject(){return!Array.isArray(this.value)},projectedExtent(){return this.extent?(0,u.transformExtent)(this.extent,"EPSG:4326",this.map.getView().getProjection()):null},outerArea(){if(!this.showMaxExtent)return null;let{west:t,east:e,north:s,south:n}=this.showMaxExtent;return{type:"Polygon",coordinates:[[[-180,90],[-180,-90],[180,-90],[180,90],[-180,90]],[[t,s],[t,n],[e,n],[e,s],[t,s]]]}},bbox(){return l.A.extentToBBox(this.extent)},help(){return this.extent?"Click inside the bounding box to remove it.":"Click on the map to add a bounding box."}},methods:{update(t){t.extent?this.extent=(0,u.transformExtent)(t.extent,this.map.getView().getProjection(),"EPSG:4326"):this.extent=null,this.$emit("input",this.returnAsObject?this.bbox:this.extent)},async renderMap(){let t=!1!==l.A.isBboxInWebMercator(this.bbox);if(await this.createMap(t?"EPSG:3857":"EPSG:4326"),this.addBasemaps(),this.addGeocoder((t=>{if(!t)return;let e=this.toExtent(t);e=(0,u.transformExtent)(e,"EPSG:4326",this.map.getView().getProjection()),this.interaction.setExtent(e),this.fitMap()})),this.showMaxExtent){const t=new p["default"]({fill:new g.A({color:"#00000099"}),stroke:new m.A({width:0,color:"#00000000"})});this.addGeoJson(this.outerArea,!1,"unsupported area",t);let e=this.toExtent(this.showMaxExtent);e=(0,u.transformExtent)(e,"EPSG:4326",this.map.getView().getProjection()),this.map.getView().fit(e,this.getFitOptions(1))}let e=t=>{if(!this.editable)return!1;if("singleclick"===t.type){if(!this.extent){let e=this.map.getSize().map((t=>.2*t)),s=this.map.getView().calculateExtent(e),n=[s[2]-s[0],s[3]-s[1]],r=[t.coordinate[0]-n[0],t.coordinate[1]-n[1],t.coordinate[0]+n[0],t.coordinate[1]+n[1]];return this.interaction.setExtent(r),!1}(0,d.Rj)(this.projectedExtent,...t.coordinate)&&(this.interaction.setExtent(null),this.interaction.vertexOverlay_.getSource().clear(),this.interaction.vertexFeature_=null)}else if(this.interaction.handlingDownUpSequence||this.interaction.snapToVertex_(t.pixel,t.map))return!0;return!1};this.interaction=new c.A({extent:this.projectedExtent,condition:e,boxStyle:(0,p.createDefaultStyle)(),pixelTolerance:15}),this.editable&&this.interaction.on("extentchanged",this.update),this.map.addInteraction(this.interaction),this.fitMap()},fitMap(){if(this.projectedExtent){var t=this.getFitOptions(this.editable?10:33);this.map.getView().fit(this.projectedExtent,t)}}}},f=y;var x=s(81656),w=(0,x.A)(f,n,r,!1,null,null,null);const v=w.exports},55193:(t,e,s)=>{"use strict";s.d(e,{A:()=>u});var n=function(){var t=this,e=t._self._c;return t.texts.length>0?e("div",{staticClass:"ol-unselectable ol-control value",class:{pointer:t.texts.length>1},on:{click:t.toggle}},[t._v(t._s(t.current))]):t._e()},r=[],o=s(23634);const i={name:"TextControl",mixins:[o.A],data(){return{i:0}},computed:{texts(){return Array.isArray(this.text)?this.text:"string"===typeof this.text&&this.text.length>0?[this.text]:[]},current(){return 0===this.texts.length?"":this.texts[this.i%this.text.length]}},props:{text:{text:[String,Array],default:""}},methods:{toggle(){this.i++}}},a=i;var l=s(81656),c=(0,l.A)(a,n,r,!1,null,"52fec35a",null);const u=c.exports},34862:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>u});var n=function(){var t=this,e=t._self._c;return e("div",{staticClass:"step choose-bbox"},[e("p",[t._v("Please select the area of interest which you want to download data for. You can add or remove a bounding box by clicking into the map.")]),e("MapAreaSelect",{staticClass:"map",attrs:{show:t.showMap,value:t.value,showMaxExtent:t.max},on:{input:t.update}})],1)},r=[],o=s(3075);const i={name:"ChooseBoundingBox",components:{MapAreaSelect:o.A},props:{value:{type:Object,default:null},max:{type:Object,default:null}},data(){return{showMap:!0}},mounted(){window.setTimeout((()=>this.showMap=!0),1e3)},methods:{update(t){this.$emit("input",t)}}},a=i;var l=s(81656),c=(0,l.A)(a,n,r,!1,null,"61a75ac8",null);const u=c.exports},73926:(t,e,s)=>{"use strict";s.d(e,{A:()=>A});var n=s(1685),r=s(86717),o=s(73445),i=s(44294),a=s(21409),l=s(82986),c=s(54602),u=s(58704),d=s(70915),p=s(6933),h=s(29276),m=s(34142),g=s(89718);const y={EXTENTCHANGED:"extentchanged"};class f extends n.Ay{constructor(t){super(y.EXTENTCHANGED),this.extent=t}}class x extends a.A{constructor(t){t=t||{},super(t),this.on,this.once,this.un,this.condition_=t.condition?t.condition:u.Gk,this.extent_=null,this.pointerHandler_=null,this.pixelTolerance_=void 0!==t.pixelTolerance?t.pixelTolerance:10,this.snappedToVertex_=!1,this.extentFeature_=null,this.vertexFeature_=null,t||(t={}),this.extentOverlay_=new l["default"]({source:new c["default"]({useSpatialIndex:!1,wrapX:!!t.wrapX}),style:t.boxStyle?t.boxStyle:w(),updateWhileAnimating:!0,updateWhileInteracting:!0}),this.vertexOverlay_=new l["default"]({source:new c["default"]({useSpatialIndex:!1,wrapX:!!t.wrapX}),style:t.pointerStyle?t.pointerStyle:v(),updateWhileAnimating:!0,updateWhileInteracting:!0}),t.extent&&this.setExtent(t.extent)}snapToVertex_(t,e){const s=e.getCoordinateFromPixelInternal(t),n=function(t,e){return(0,p.$x)(s,t)-(0,p.$x)(s,e)},r=this.getExtentInternal();if(r){const o=_(r);o.sort(n);const i=o[0];let a=(0,p.sG)(s,i);const l=e.getPixelFromCoordinateInternal(a);if((0,p.Io)(t,l)<=this.pixelTolerance_){const t=e.getPixelFromCoordinateInternal(i[0]),s=e.getPixelFromCoordinateInternal(i[1]),n=(0,p.hG)(l,t),r=(0,p.hG)(l,s),o=Math.sqrt(Math.min(n,r));return this.snappedToVertex_=o<=this.pixelTolerance_,this.snappedToVertex_&&(a=n>r?i[1]:i[0]),a}}return null}handlePointerMove_(t){const e=t.pixel,s=t.map;let n=this.snapToVertex_(e,s);n||(n=s.getCoordinateFromPixelInternal(e)),this.createOrUpdatePointerFeature_(n)}createOrUpdateExtentFeature_(t){let e=this.extentFeature_;return e?t?e.setGeometry((0,m.VY)(t)):e.setGeometry(void 0):(e=t?new r["default"]((0,m.VY)(t)):new r["default"]({}),this.extentFeature_=e,this.extentOverlay_.getSource().addFeature(e)),e}createOrUpdatePointerFeature_(t){let e=this.vertexFeature_;if(e){const s=e.getGeometry();s.setCoordinates(t)}else e=new r["default"](new i["default"](t)),this.vertexFeature_=e,this.vertexOverlay_.getSource().addFeature(e);return e}handleEvent(t){return!t.originalEvent||!this.condition_(t)||(t.type!=o.A.POINTERMOVE||this.handlingDownUpSequence||this.handlePointerMove_(t),super.handleEvent(t),!1)}handleDownEvent(t){const e=t.pixel,s=t.map,n=this.getExtentInternal();let r=this.snapToVertex_(e,s);const o=function(t){let e=null,s=null;return t[0]==n[0]?e=n[2]:t[0]==n[2]&&(e=n[0]),t[1]==n[1]?s=n[3]:t[1]==n[3]&&(s=n[1]),null!==e&&null!==s?[e,s]:null};if(r&&n){const t=r[0]==n[0]||r[0]==n[2]?r[0]:null,e=r[1]==n[1]||r[1]==n[3]?r[1]:null;null!==t&&null!==e?this.pointerHandler_=b(o(r)):null!==t?this.pointerHandler_=E(o([t,n[1]]),o([t,n[3]])):null!==e&&(this.pointerHandler_=E(o([n[0],e]),o([n[2],e])))}else r=s.getCoordinateFromPixelInternal(e),this.setExtent([r[0],r[1],r[0],r[1]]),this.pointerHandler_=b(r);return!0}handleDragEvent(t){if(this.pointerHandler_){const e=t.coordinate;this.setExtent(this.pointerHandler_(e)),this.createOrUpdatePointerFeature_(e)}}handleUpEvent(t){this.pointerHandler_=null;const e=this.getExtentInternal();return e&&0!==(0,d.UG)(e)||this.setExtent(null),!1}setMap(t){this.extentOverlay_.setMap(t),this.vertexOverlay_.setMap(t),super.setMap(t)}getExtent(){return(0,g.toUserExtent)(this.getExtentInternal(),this.getMap().getView().getProjection())}getExtentInternal(){return this.extent_}setExtent(t){this.extent_=t||null,this.createOrUpdateExtentFeature_(t),this.dispatchEvent(new f(this.extent_))}}function w(){const t=(0,h.createEditingStyle)();return function(e,s){return t["Polygon"]}}function v(){const t=(0,h.createEditingStyle)();return function(e,s){return t["Point"]}}function b(t){return function(e){return(0,d.Tr)([t,e])}}function E(t,e){return t[0]==e[0]?function(s){return(0,d.Tr)([t,[s[0],e[1]]])}:t[1]==e[1]?function(s){return(0,d.Tr)([t,[e[0],s[1]]])}:null}function _(t){return[[[t[0],t[1]],[t[0],t[3]]],[[t[0],t[3]],[t[2],t[3]]],[[t[2],t[3]],[t[2],t[1]]],[[t[2],t[1]],[t[0],t[1]]]]}const A=x}}]); -//# sourceMappingURL=9403.b60e7ec8.js.map \ No newline at end of file +//# sourceMappingURL=9403.a9158bcb.js.map \ No newline at end of file diff --git a/js/9403.b60e7ec8.js.map b/js/9403.a9158bcb.js.map similarity index 99% rename from js/9403.b60e7ec8.js.map rename to js/9403.a9158bcb.js.map index 031d3d61..44aab67d 100644 --- a/js/9403.b60e7ec8.js.map +++ b/js/9403.a9158bcb.js.map @@ -1 +1 @@ -{"version":3,"file":"js/9403.b60e7ec8.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@kirtandesai/ol-geocoder/dist/ol-geocoder.js","webpack://@openeo/web-editor/./src/components/maps/osmgeocoder.js","webpack://@openeo/web-editor/src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue?9845","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?6e22","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?fc6c","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue","webpack://@openeo/web-editor/src/components/maps/TextControl.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?1df8","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?c848","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?3394","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?7107","webpack://@openeo/web-editor/./node_modules/ol/interaction/Extent.js"],"sourcesContent":["/*!\n * @kirtandesai/ol-geocoder - v5.0.3\n * A geocoder extension compatible with OpenLayers v7.\n * https://github.com/kirtan-desai/ol-geocoder\n * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time)\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"ol/control/Control\"),require(\"ol/style/Style\"),require(\"ol/style/Icon\"),require(\"ol/layer/Vector\"),require(\"ol/source/Vector\"),require(\"ol/geom/Point\"),require(\"ol/Feature\"),require(\"ol/proj\")):\"function\"==typeof define&&define.amd?define([\"ol/control/Control\",\"ol/style/Style\",\"ol/style/Icon\",\"ol/layer/Vector\",\"ol/source/Vector\",\"ol/geom/Point\",\"ol/Feature\",\"ol/proj\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).Geocoder=t(e.ol.control.Control,e.ol.style.Style,e.ol.style.Icon,e.ol.layer.Vector,e.ol.source.Vector,e.ol.geom.Point,e.ol.Feature,e.ol.proj)}(this,(function(e,t,s,r,n,o,a,i){\"use strict\";function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var c=l(e),d=l(t),u=l(s),p=l(r),h=l(n),m=l(o),g=l(a),y=l(i),f=\"gcd-container\",b=\"gcd-button-control\",w=\"gcd-input-query\",v=\"gcd-input-reset\",$={namespace:\"ol-geocoder\",spin:\"gcd-pseudo-rotate\",hidden:\"gcd-hidden\",address:\"gcd-address\",country:\"gcd-country\",city:\"gcd-city\",road:\"gcd-road\",olControl:\"ol-control\",glass:{container:\"gcd-gl-container\",control:\"gcd-gl-control\",button:\"gcd-gl-btn\",input:\"gcd-gl-input\",expanded:\"gcd-gl-expanded\",reset:\"gcd-gl-reset\",result:\"gcd-gl-result\"},inputText:{container:\"gcd-txt-container\",control:\"gcd-txt-control\",input:\"gcd-txt-input\",reset:\"gcd-txt-reset\",icon:\"gcd-txt-glass\",result:\"gcd-txt-result\"}},k={containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$};const x=Object.freeze({__proto__:null,containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$,default:k}),q=\"addresschosen\",C=\"nominatim\",S=\"reverse\",L=\"glass-button\",j=\"text-input\",E=\"osm\",T=\"mapquest\",N=\"photon\",R=\"bing\",A=\"opencage\",P={provider:E,placeholder:\"Search for an address\",featureStyle:null,targetType:L,lang:\"en-US\",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function I(e,t=\"Assertion failed\"){if(!e){if(\"undefined\"!=typeof Error)throw new Error(t);throw t}}function _(e){const t=function(){if(\"performance\"in window==0&&(window.performance={}),\"now\"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function M(e){return/^\\d+$/u.test(e)}function O(e,t,s){if(Array.isArray(e))return void e.forEach((e=>O(e,t)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])||U(e,r[n],s)}function F(e,t,s){if(Array.isArray(e))return void e.forEach((e=>F(e,t,s)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])&&G(e,r[n],s)}function V(e,t){return e.classList?e.classList.contains(t):B(t).test(e.className)}function D(e,t){return e.replace(/\\{\\s*([\\w-]+)\\s*\\}/gu,((e,s)=>{const r=void 0===t[s]?\"\":t[s];return String(r).replaceAll(\"&\",\"&\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll('\"',\""\").replaceAll(\"'\",\"'\")}))}function Q(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eG(e,t)),s)}function G(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(B(t),\" \").trim(),s&&M(s)&&window.setTimeout((()=>U(e,t)),s)}const z=x.cssClasses;class H{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===j?(t=`${z.namespace} ${z.inputText.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.input),s={container:e,control:e.querySelector(`.${z.inputText.control}`),input:e.querySelector(`.${z.inputText.input}`),reset:e.querySelector(`.${z.inputText.reset}`),result:e.querySelector(`.${z.inputText.result}`)}):(t=`${z.namespace} ${z.glass.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.glass),s={container:e,control:e.querySelector(`.${z.glass.control}`),button:e.querySelector(`.${z.glass.button}`),input:e.querySelector(`.${z.glass.input}`),reset:e.querySelector(`.${z.glass.reset}`),result:e.querySelector(`.${z.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}H.glass=`\\n
                                  \\n \\n \\n \\n
                                  \\n
                                    \\n`,H.input=`\\n
                                    \\n \\n \\n \\n
                                    \\n
                                      \\n`;class K{constructor(){this.settings={url:\"https://photon.komoot.io/api/\",params:{q:\"\",limit:10,lang:\"en\"},langs:[\"de\",\"it\",\"fr\",\"en\"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class J{constructor(){this.settings={url:\"https://nominatim.openstreetmap.org/search/\",params:{q:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||\"\",houseNumber:e.address.house_number||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class W{constructor(){this.settings={url:\"https://open.mapquestapi.com/nominatim/v1/search.php\",params:{q:\"\",key:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:\"json\",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||\"\",road:e.address.road||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class X{constructor(){this.settings={url:\"https://dev.virtualearth.net/REST/v1/Locations\",callbackName:\"jsonp\",params:{query:\"\",key:\"\",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class Y{constructor(){this.settings={url:\"https://api.opencagedata.com/geocode/v1/json?\",params:{q:\"\",key:\"\",limit:10,countrycode:\"\",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||\"\",road:e.components.road||\"\",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const r=function(e,t){t&&\"object\"==typeof t&&(e+=(/\\?/u.test(e)?\"&\":\"?\")+ee(t));return e}(e.url,e.data),n={method:\"GET\",mode:\"cors\",credentials:\"same-origin\"};e.jsonp?function(e,t,s){const{head:r}=document,n=document.createElement(\"script\"),o=`f${Math.round(Math.random()*Date.now())}`;n.setAttribute(\"src\",`${e+(e.indexOf(\"?\")>0?\"&\":\"?\")+t}=${o}`),window[o]=e=>{window[o]=void 0,setTimeout((()=>r.removeChild(n)),0),s(e)},r.append(n)}(r,e.callbackName,t):fetch(r,n).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push(\"object\"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join(\"&\")}const te=x.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=_(\"geocoder-layer-\"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider=\"string\"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery=\"\",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),V(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener(\"keypress\",(e=>{const t=e.target.value.trim();(e.key?\"Enter\"===e.key:e.which?13===e.which:!!e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener(\"click\",(e=>e.stopPropagation()),!1),this.els.input.addEventListener(\"input\",(s=>{const r=s.target.value.trim();0!==r.length?F(this.els.reset,te.hidden):O(this.els.reset,te.hidden),this.options.autoComplete&&r!==t&&(t=r,e&&clearTimeout(e),e=setTimeout((()=>{r.length>=this.options.autoCompleteMinLength&&this.query(r)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener(\"click\",(e=>{this.els.input.focus(),this.els.input.value=\"\",this.lastQuery=\"\",O(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===L&&this.els.button.addEventListener(\"click\",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),O(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),F(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{F(this.els.reset,te.spin);const t=Q(\"li\",\"
                                      Error! No internet connection?
                                      \");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;if(this.options.provider===E)s=`${e.address.name}`;else s=this.addressTemplate(e.address);const r=Q(\"li\",`${s}`);r.addEventListener(\"click\",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(r)}))}chosen(e,t,s,r){const n=this.Base.getMap(),o=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],a=n.getView().getProjection(),i=y.default.transform(o,\"EPSG:4326\",a);let{bbox:l}=e;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],\"EPSG:4326\",a));const c={formatted:t,details:s,original:r};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:q,address:c,coordinate:i,bbox:l,place:e});else{l?n.getView().fit(l,{duration:500}):function(e,t,s=500,r=2.388657133911758){e.getView().animate({duration:s,resolution:r},{duration:s,center:t})}(n,i);const t=this.createFeature(i,c);this.Base.dispatchEvent({type:q,address:c,feature:t,coordinate:i,bbox:l,place:e})}}createFeature(e){const t=new g.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(_(\"geocoder-ft-\")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join(\"\")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join(\"\")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join(\"\")),(e.state||e.country)&&t.push(['{state} {country}'].join(\"\")),D(t.join(\"
                                      \"),e)}newProvider(){switch(this.options.provider){case E:return new J;case T:return new W;case N:return new K;case R:return new X;case A:return new Y;default:return this.options.provider}}expand(){F(this.els.input,te.spin),O(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value=\"\",this.els.input.blur(),O(this.els.reset,te.hidden),F(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener(\"click\",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===L?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class re extends c.default{constructor(e=C,t={}){let s,r;I(\"string\"==typeof e,\"@param `type` should be string!\"),I(e===C||e===S,`@param 'type' should be '${C}'\\n or '${S}'!`),I(\"object\"==typeof t,\"@param `options` should be object!\"),P.featureStyle=[new d.default({image:new u.default({scale:.7,src:\"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png\"})})];const n=new H(t);if(e===C&&(s=n.els.container),super({element:s}),!(this instanceof re))return new re;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(P,t),this.container=s,e===C&&(r=new se(this,n.els),this.layer=r.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return re}));\n//# sourceMappingURL=ol-geocoder.js.map\n","export default class OSMGeocoder {\n\tconstructor(url, geojson = false) {\n\t\tthis.url = url;\n\t\tthis.geojson = geojson;\n\t}\n\n\tgetParameters(opt) {\n\t\treturn {\n\t\t\turl: this.url,\n\t\t\tparams: {\n\t\t\t\tq: opt.query,\n\t\t\t\tformat: 'json',\n\t\t\t\tlimit: 10,\n\t\t\t\t'accept-language': 'en',\n\t\t\t\tpolygon_geojson: this.geojson ? 1 : 0,\n\t\t\t\tpolygon_threshold: 0.001,\n\t\t\t},\n\t\t};\n\t}\n\n\thandleResponse(results) {\n\t\tif (results.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn results\n\t\t\t.filter(result => [\"boundary\", \"geological\", \"leisure\", \"natural\", \"place\", \"water\", \"waterway\"].includes(result.class))\n\t\t\t.map(result => ({\n\t\t\t\tlon: result.lon,\n\t\t\t\tlat: result.lat,\n\t\t\t\tbbox: result.boundingbox,\n\t\t\t\taddress: {\n\t\t\t\t\tname: result.display_name\n\t\t\t\t},\n\t\t\t\toriginal: {\n\t\t\t\t\tformatted: result.display_name,\n\t\t\t\t\tdetails: result.address,\n\t\t\t\t\tgeojson: result.geojson\n\t\t\t\t}\n\t\t\t}));\n\t}\n}","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nimport style0 from \"@kirtandesai/ol-geocoder/dist/ol-geocoder.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./GeocoderMixin.vue?vue&type=style&index=1&id=643f6883&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.id}},[_c('ProgressControl',{ref:\"progress\",attrs:{\"map\":_vm.map}}),_c('UserLocationControl',{attrs:{\"map\":_vm.map}}),_c('TextControl',{attrs:{\"text\":_vm.help,\"map\":_vm.map}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapAreaSelect.vue?vue&type=template&id=c6d9ceda\"\nimport script from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nexport * from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"../maps/MapMixin.scss?vue&type=style&index=0&prod&lang=scss&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.texts.length > 0)?_c('div',{staticClass:\"ol-unselectable ol-control value\",class:{pointer: _vm.texts.length > 1},on:{\"click\":_vm.toggle}},[_vm._v(_vm._s(_vm.current))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextControl.vue?vue&type=template&id=52fec35a&scoped=true\"\nimport script from \"./TextControl.vue?vue&type=script&lang=js\"\nexport * from \"./TextControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextControl.vue?vue&type=style&index=0&id=52fec35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52fec35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-bbox\"},[_c('p',[_vm._v(\"Please select the area of interest which you want to download data for. You can add or remove a bounding box by clicking into the map.\")]),_c('MapAreaSelect',{staticClass:\"map\",attrs:{\"show\":_vm.showMap,\"value\":_vm.value,\"showMaxExtent\":_vm.max},on:{\"input\":_vm.update}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseBoundingBox.vue?vue&type=template&id=61a75ac8&scoped=true\"\nimport script from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseBoundingBox.vue?vue&type=style&index=0&id=61a75ac8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61a75ac8\",\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/interaction/Extent\n */\nimport Event from '../events/Event.js';\nimport Feature from '../Feature.js';\nimport MapBrowserEventType from '../MapBrowserEventType.js';\nimport Point from '../geom/Point.js';\nimport PointerInteraction from './Pointer.js';\nimport VectorLayer from '../layer/Vector.js';\nimport VectorSource from '../source/Vector.js';\nimport {always} from '../events/condition.js';\nimport {boundingExtent, getArea} from '../extent.js';\nimport {\n closestOnSegment,\n distance as coordinateDistance,\n squaredDistance as squaredCoordinateDistance,\n squaredDistanceToSegment,\n} from '../coordinate.js';\nimport {createEditingStyle} from '../style/Style.js';\nimport {fromExtent as polygonFromExtent} from '../geom/Polygon.js';\nimport {toUserExtent} from '../proj.js';\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.always}.\n * @property {import(\"../extent.js\").Extent} [extent] Initial extent. Defaults to no\n * initial extent.\n * @property {import(\"../style/Style.js\").StyleLike} [boxStyle]\n * Style for the drawn extent box. Defaults to the `Polygon` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {number} [pixelTolerance=10] Pixel tolerance for considering the\n * pointer close enough to a segment or vertex for editing.\n * @property {import(\"../style/Style.js\").StyleLike} [pointerStyle]\n * Style for the cursor used to draw the extent. Defaults to the `Point` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {boolean} [wrapX=false] Wrap the drawn extent across multiple maps\n * in the X direction? Only affects visuals, not functionality.\n */\n\n/**\n * @enum {string}\n */\nconst ExtentEventType = {\n /**\n * Triggered after the extent is changed\n * @event ExtentEvent#extentchanged\n * @api\n */\n EXTENTCHANGED: 'extentchanged',\n};\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/Extent~Extent} instances are\n * instances of this type.\n */\nexport class ExtentEvent extends Event {\n /**\n * @param {import(\"../extent.js\").Extent} extent the new extent\n */\n constructor(extent) {\n super(ExtentEventType.EXTENTCHANGED);\n\n /**\n * The current extent.\n * @type {import(\"../extent.js\").Extent}\n * @api\n */\n this.extent = extent;\n }\n}\n\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'extentchanged', ExtentEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} ExtentOnSignature\n */\n\n/**\n * @classdesc\n * Allows the user to draw a vector box by clicking and dragging on the map.\n * Once drawn, the vector box can be modified by dragging its vertices or edges.\n * This interaction is only supported for mouse devices.\n *\n * @fires ExtentEvent\n * @api\n */\nclass Extent extends PointerInteraction {\n /**\n * @param {Options} [options] Options.\n */\n constructor(options) {\n options = options || {};\n\n super(/** @type {import(\"./Pointer.js\").Options} */ (options));\n\n /***\n * @type {ExtentOnSignature}\n */\n this.on;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.once;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.un;\n\n /**\n * Condition\n * @type {import(\"../events/condition.js\").Condition}\n * @private\n */\n this.condition_ = options.condition ? options.condition : always;\n\n /**\n * Extent of the drawn box\n * @type {import(\"../extent.js\").Extent}\n * @private\n */\n this.extent_ = null;\n\n /**\n * Handler for pointer move events\n * @type {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null}\n * @private\n */\n this.pointerHandler_ = null;\n\n /**\n * Pixel threshold to snap to extent\n * @type {number}\n * @private\n */\n this.pixelTolerance_ =\n options.pixelTolerance !== undefined ? options.pixelTolerance : 10;\n\n /**\n * Is the pointer snapped to an extent vertex\n * @type {boolean}\n * @private\n */\n this.snappedToVertex_ = false;\n\n /**\n * Feature for displaying the visible extent\n * @type {Feature}\n * @private\n */\n this.extentFeature_ = null;\n\n /**\n * Feature for displaying the visible pointer\n * @type {Feature}\n * @private\n */\n this.vertexFeature_ = null;\n\n if (!options) {\n options = {};\n }\n\n /**\n * Layer for the extentFeature\n * @type {VectorLayer}\n * @private\n */\n this.extentOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.boxStyle\n ? options.boxStyle\n : getDefaultExtentStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n /**\n * Layer for the vertexFeature\n * @type {VectorLayer}\n * @private\n */\n this.vertexOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.pointerStyle\n ? options.pointerStyle\n : getDefaultPointerStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n if (options.extent) {\n this.setExtent(options.extent);\n }\n }\n\n /**\n * @param {import(\"../pixel.js\").Pixel} pixel cursor location\n * @param {import(\"../Map.js\").default} map map\n * @return {import(\"../coordinate.js\").Coordinate|null} snapped vertex on extent\n * @private\n */\n snapToVertex_(pixel, map) {\n const pixelCoordinate = map.getCoordinateFromPixelInternal(pixel);\n const sortByDistance = function (a, b) {\n return (\n squaredDistanceToSegment(pixelCoordinate, a) -\n squaredDistanceToSegment(pixelCoordinate, b)\n );\n };\n const extent = this.getExtentInternal();\n if (extent) {\n //convert extents to line segments and find the segment closest to pixelCoordinate\n const segments = getSegments(extent);\n segments.sort(sortByDistance);\n const closestSegment = segments[0];\n\n let vertex = closestOnSegment(pixelCoordinate, closestSegment);\n const vertexPixel = map.getPixelFromCoordinateInternal(vertex);\n\n //if the distance is within tolerance, snap to the segment\n if (coordinateDistance(pixel, vertexPixel) <= this.pixelTolerance_) {\n //test if we should further snap to a vertex\n const pixel1 = map.getPixelFromCoordinateInternal(closestSegment[0]);\n const pixel2 = map.getPixelFromCoordinateInternal(closestSegment[1]);\n const squaredDist1 = squaredCoordinateDistance(vertexPixel, pixel1);\n const squaredDist2 = squaredCoordinateDistance(vertexPixel, pixel2);\n const dist = Math.sqrt(Math.min(squaredDist1, squaredDist2));\n this.snappedToVertex_ = dist <= this.pixelTolerance_;\n if (this.snappedToVertex_) {\n vertex =\n squaredDist1 > squaredDist2 ? closestSegment[1] : closestSegment[0];\n }\n return vertex;\n }\n }\n return null;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent pointer move event\n * @private\n */\n handlePointerMove_(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n let vertex = this.snapToVertex_(pixel, map);\n if (!vertex) {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n }\n this.createOrUpdatePointerFeature_(vertex);\n }\n\n /**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Feature} extent as featrue\n * @private\n */\n createOrUpdateExtentFeature_(extent) {\n let extentFeature = this.extentFeature_;\n\n if (!extentFeature) {\n if (!extent) {\n extentFeature = new Feature({});\n } else {\n extentFeature = new Feature(polygonFromExtent(extent));\n }\n this.extentFeature_ = extentFeature;\n this.extentOverlay_.getSource().addFeature(extentFeature);\n } else {\n if (!extent) {\n extentFeature.setGeometry(undefined);\n } else {\n extentFeature.setGeometry(polygonFromExtent(extent));\n }\n }\n return extentFeature;\n }\n\n /**\n * @param {import(\"../coordinate.js\").Coordinate} vertex location of feature\n * @return {Feature} vertex as feature\n * @private\n */\n createOrUpdatePointerFeature_(vertex) {\n let vertexFeature = this.vertexFeature_;\n if (!vertexFeature) {\n vertexFeature = new Feature(new Point(vertex));\n this.vertexFeature_ = vertexFeature;\n this.vertexOverlay_.getSource().addFeature(vertexFeature);\n } else {\n const geometry = vertexFeature.getGeometry();\n geometry.setCoordinates(vertex);\n }\n return vertexFeature;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n */\n handleEvent(mapBrowserEvent) {\n if (!mapBrowserEvent.originalEvent || !this.condition_(mapBrowserEvent)) {\n return true;\n }\n //display pointer (if not dragging)\n if (\n mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE &&\n !this.handlingDownUpSequence\n ) {\n this.handlePointerMove_(mapBrowserEvent);\n }\n //call pointer to determine up/down/drag\n super.handleEvent(mapBrowserEvent);\n //return false to stop propagation\n return false;\n }\n\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleDownEvent(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n const extent = this.getExtentInternal();\n let vertex = this.snapToVertex_(pixel, map);\n\n //find the extent corner opposite the passed corner\n const getOpposingPoint = function (point) {\n let x_ = null;\n let y_ = null;\n if (point[0] == extent[0]) {\n x_ = extent[2];\n } else if (point[0] == extent[2]) {\n x_ = extent[0];\n }\n if (point[1] == extent[1]) {\n y_ = extent[3];\n } else if (point[1] == extent[3]) {\n y_ = extent[1];\n }\n if (x_ !== null && y_ !== null) {\n return [x_, y_];\n }\n return null;\n };\n if (vertex && extent) {\n const x =\n vertex[0] == extent[0] || vertex[0] == extent[2] ? vertex[0] : null;\n const y =\n vertex[1] == extent[1] || vertex[1] == extent[3] ? vertex[1] : null;\n\n //snap to point\n if (x !== null && y !== null) {\n this.pointerHandler_ = getPointHandler(getOpposingPoint(vertex));\n //snap to edge\n } else if (x !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([x, extent[1]]),\n getOpposingPoint([x, extent[3]]),\n );\n } else if (y !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([extent[0], y]),\n getOpposingPoint([extent[2], y]),\n );\n }\n //no snap - new bbox\n } else {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n this.setExtent([vertex[0], vertex[1], vertex[0], vertex[1]]);\n this.pointerHandler_ = getPointHandler(vertex);\n }\n return true; //event handled; start downup sequence\n }\n\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n handleDragEvent(mapBrowserEvent) {\n if (this.pointerHandler_) {\n const pixelCoordinate = mapBrowserEvent.coordinate;\n this.setExtent(this.pointerHandler_(pixelCoordinate));\n this.createOrUpdatePointerFeature_(pixelCoordinate);\n }\n }\n\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleUpEvent(mapBrowserEvent) {\n this.pointerHandler_ = null;\n //If bbox is zero area, set to null;\n const extent = this.getExtentInternal();\n if (!extent || getArea(extent) === 0) {\n this.setExtent(null);\n }\n return false; //Stop handling downup sequence\n }\n\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../Map.js\").default} map Map.\n */\n setMap(map) {\n this.extentOverlay_.setMap(map);\n this.vertexOverlay_.setMap(map);\n super.setMap(map);\n }\n\n /**\n * Returns the current drawn extent in the view projection (or user projection if set)\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtent() {\n return toUserExtent(\n this.getExtentInternal(),\n this.getMap().getView().getProjection(),\n );\n }\n\n /**\n * Returns the current drawn extent in the view projection\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtentInternal() {\n return this.extent_;\n }\n\n /**\n * Manually sets the drawn extent, using the view projection.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent\n * @api\n */\n setExtent(extent) {\n //Null extent means no bbox\n this.extent_ = extent ? extent : null;\n this.createOrUpdateExtentFeature_(extent);\n this.dispatchEvent(new ExtentEvent(this.extent_));\n }\n}\n\n/**\n * Returns the default style for the drawn bbox\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default Extent style\n */\nfunction getDefaultExtentStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Polygon'];\n };\n}\n\n/**\n * Returns the default style for the pointer\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default pointer style\n */\nfunction getDefaultPointerStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Point'];\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedPoint corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent} event handler\n */\nfunction getPointHandler(fixedPoint) {\n return function (point) {\n return boundingExtent([fixedPoint, point]);\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedP1 first corner that will be unchanged in the new extent\n * @param {import(\"../coordinate.js\").Coordinate} fixedP2 second corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null} event handler\n */\nfunction getEdgeHandler(fixedP1, fixedP2) {\n if (fixedP1[0] == fixedP2[0]) {\n return function (point) {\n return boundingExtent([fixedP1, [point[0], fixedP2[1]]]);\n };\n }\n if (fixedP1[1] == fixedP2[1]) {\n return function (point) {\n return boundingExtent([fixedP1, [fixedP2[0], point[1]]]);\n };\n }\n return null;\n}\n\n/**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Array>} extent line segments\n */\nfunction getSegments(extent) {\n return [\n [\n [extent[0], extent[1]],\n [extent[0], extent[3]],\n ],\n [\n [extent[0], extent[3]],\n [extent[2], extent[3]],\n ],\n [\n [extent[2], extent[3]],\n [extent[2], extent[1]],\n ],\n [\n [extent[2], extent[1]],\n [extent[0], extent[1]],\n ],\n ];\n}\n\nexport default Extent;\n"],"names":["e","t","module","exports","this","s","r","n","o","a","i","l","default","c","d","u","p","h","m","g","y","f","b","w","v","$","namespace","spin","hidden","address","country","city","road","olControl","glass","container","control","button","input","expanded","reset","result","inputText","icon","k","containerId","buttonControlId","inputQueryId","inputResetId","cssClasses","x","Object","freeze","__proto__","q","C","S","L","j","E","T","N","R","A","P","provider","placeholder","featureStyle","targetType","lang","limit","keepOpen","preventDefault","autoComplete","autoCompleteMinLength","autoCompleteTimeout","debug","I","Error","_","window","performance","Date","now","timing","navigationStart","toString","M","test","O","Array","isArray","forEach","split","length","V","U","F","G","classList","contains","B","className","D","replace","String","replaceAll","Q","document","createElement","id","classname","attr","setAttribute","name","value","innerHTML","createDocumentFragment","childNodes","append","RegExp","add","trim","setTimeout","remove","z","H","constructor","options","els","createControl","querySelector","K","settings","url","params","langs","getParameters","toLowerCase","query","includes","handleResponse","features","map","lon","geometry","coordinates","lat","properties","postcode","state","original","formatted","details","J","format","addressdetails","countrycodes","bbox","boundingbox","display_name","houseNumber","house_number","town","W","key","neighbourhood","X","callbackName","includeNeighborhood","maxResults","resources","resourceSets","point","formattedAddress","Y","countrycode","pretty","no_annotations","results","lng","components","Z","Promise","ee","data","method","mode","credentials","jsonp","head","Math","round","random","indexOf","removeChild","fetch","then","json","catch","keys","reduce","push","encodeURIComponent","join","te","se","Base","layerName","layer","source","newProvider","lastQuery","registeredListeners","mapClick","setListeners","stopPropagation","collapse","expand","addEventListener","target","which","keyCode","clearTimeout","focus","clearResults","firstChild","console","info","createList","listenMapClick","addressTemplate","chosen","getMap","Number","parseFloat","getView","getProjection","transform","transformExtent","dispatchEvent","type","coordinate","place","fit","duration","animate","resolution","center","createFeature","feature","addLayer","setStyle","setId","getSource","addFeature","building","village","blur","getTargetElement","handleEvent","removeEventListener","getLayers","re","image","scale","src","super","element","prototype","hasOwnProperty","call","getLayer","setProvider","setProviderKey","OSMGeocoder","geojson","opt","polygon_geojson","polygon_threshold","filter","class","methods","addGeocoder","callback","$config","geocoder","Geocoder","on","event","bboxOpenEO","west","east","north","south","addControl","render","staticRenderFns","component","_vm","_c","_self","attrs","ref","help","mixins","GeoJsonMixin","GeocoderMixin","MapMixin","TextControl","props","showMaxExtent","interaction","extent","toExtent","computed","returnAsObject","projectedExtent","outerArea","Utils","extentToBBox","update","$emit","renderMap","isWebMercatorCompatible","isBboxInWebMercator","createMap","addBasemaps","setExtent","fitMap","style","Style","fill","Fill","color","stroke","Stroke","width","addGeoJson","getFitOptions","condition","editable","pixelSize","getSize","xy","calculateExtent","size","mouseExtent","containsXY","vertexOverlay_","clear","vertexFeature_","handlingDownUpSequence","snapToVertex_","pixel","ExtentInteraction","boxStyle","createDefaultStyle","pixelTolerance","addInteraction","fitOptions","texts","staticClass","pointer","toggle","_v","_s","current","_e","ControlMixin","text","showMap","max","MapAreaSelect","mounted","ExtentEventType","EXTENTCHANGED","ExtentEvent","Extent","once","un","condition_","extent_","pointerHandler_","pixelTolerance_","undefined","snappedToVertex_","extentFeature_","extentOverlay_","useSpatialIndex","wrapX","getDefaultExtentStyleFunction","updateWhileAnimating","updateWhileInteracting","pointerStyle","getDefaultPointerStyleFunction","pixelCoordinate","getCoordinateFromPixelInternal","sortByDistance","getExtentInternal","segments","getSegments","sort","closestSegment","vertex","vertexPixel","getPixelFromCoordinateInternal","pixel1","pixel2","squaredDist1","squaredDist2","dist","sqrt","min","handlePointerMove_","mapBrowserEvent","createOrUpdatePointerFeature_","createOrUpdateExtentFeature_","extentFeature","setGeometry","vertexFeature","getGeometry","setCoordinates","originalEvent","POINTERMOVE","handleDownEvent","getOpposingPoint","x_","y_","getPointHandler","getEdgeHandler","handleDragEvent","handleUpEvent","setMap","getExtent","toUserExtent","createEditingStyle","fixedPoint","fixedP1","fixedP2"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/9403.a9158bcb.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@kirtandesai/ol-geocoder/dist/ol-geocoder.js","webpack://@openeo/web-editor/./src/components/maps/osmgeocoder.js","webpack://@openeo/web-editor/src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue?9845","webpack://@openeo/web-editor/./src/components/maps/GeocoderMixin.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/src/components/maps/MapAreaSelect.vue","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?6e22","webpack://@openeo/web-editor/./src/components/maps/MapAreaSelect.vue?fc6c","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue","webpack://@openeo/web-editor/src/components/maps/TextControl.vue","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?1df8","webpack://@openeo/web-editor/./src/components/maps/TextControl.vue?c848","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/src/components/wizards/tabs/ChooseBoundingBox.vue","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?3394","webpack://@openeo/web-editor/./src/components/wizards/tabs/ChooseBoundingBox.vue?7107","webpack://@openeo/web-editor/./node_modules/ol/interaction/Extent.js"],"sourcesContent":["/*!\n * @kirtandesai/ol-geocoder - v5.0.3\n * A geocoder extension compatible with OpenLayers v7.\n * https://github.com/kirtan-desai/ol-geocoder\n * Built: Thu Nov 17 2022 14:58:35 GMT-0500 (Eastern Standard Time)\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"ol/control/Control\"),require(\"ol/style/Style\"),require(\"ol/style/Icon\"),require(\"ol/layer/Vector\"),require(\"ol/source/Vector\"),require(\"ol/geom/Point\"),require(\"ol/Feature\"),require(\"ol/proj\")):\"function\"==typeof define&&define.amd?define([\"ol/control/Control\",\"ol/style/Style\",\"ol/style/Icon\",\"ol/layer/Vector\",\"ol/source/Vector\",\"ol/geom/Point\",\"ol/Feature\",\"ol/proj\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).Geocoder=t(e.ol.control.Control,e.ol.style.Style,e.ol.style.Icon,e.ol.layer.Vector,e.ol.source.Vector,e.ol.geom.Point,e.ol.Feature,e.ol.proj)}(this,(function(e,t,s,r,n,o,a,i){\"use strict\";function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var c=l(e),d=l(t),u=l(s),p=l(r),h=l(n),m=l(o),g=l(a),y=l(i),f=\"gcd-container\",b=\"gcd-button-control\",w=\"gcd-input-query\",v=\"gcd-input-reset\",$={namespace:\"ol-geocoder\",spin:\"gcd-pseudo-rotate\",hidden:\"gcd-hidden\",address:\"gcd-address\",country:\"gcd-country\",city:\"gcd-city\",road:\"gcd-road\",olControl:\"ol-control\",glass:{container:\"gcd-gl-container\",control:\"gcd-gl-control\",button:\"gcd-gl-btn\",input:\"gcd-gl-input\",expanded:\"gcd-gl-expanded\",reset:\"gcd-gl-reset\",result:\"gcd-gl-result\"},inputText:{container:\"gcd-txt-container\",control:\"gcd-txt-control\",input:\"gcd-txt-input\",reset:\"gcd-txt-reset\",icon:\"gcd-txt-glass\",result:\"gcd-txt-result\"}},k={containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$};const x=Object.freeze({__proto__:null,containerId:f,buttonControlId:b,inputQueryId:w,inputResetId:v,cssClasses:$,default:k}),q=\"addresschosen\",C=\"nominatim\",S=\"reverse\",L=\"glass-button\",j=\"text-input\",E=\"osm\",T=\"mapquest\",N=\"photon\",R=\"bing\",A=\"opencage\",P={provider:E,placeholder:\"Search for an address\",featureStyle:null,targetType:L,lang:\"en-US\",limit:5,keepOpen:!1,preventDefault:!1,autoComplete:!1,autoCompleteMinLength:2,autoCompleteTimeout:200,debug:!1};function I(e,t=\"Assertion failed\"){if(!e){if(\"undefined\"!=typeof Error)throw new Error(t);throw t}}function _(e){const t=function(){if(\"performance\"in window==0&&(window.performance={}),\"now\"in window.performance==0){let e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),window.performance.now=()=>Date.now()-e}return window.performance.now()}().toString(36);return e?e+t:t}function M(e){return/^\\d+$/u.test(e)}function O(e,t,s){if(Array.isArray(e))return void e.forEach((e=>O(e,t)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])||U(e,r[n],s)}function F(e,t,s){if(Array.isArray(e))return void e.forEach((e=>F(e,t,s)));const r=Array.isArray(t)?t:t.split(/\\s+/u);let n=r.length;for(;n--;)V(e,r[n])&&G(e,r[n],s)}function V(e,t){return e.classList?e.classList.contains(t):B(t).test(e.className)}function D(e,t){return e.replace(/\\{\\s*([\\w-]+)\\s*\\}/gu,((e,s)=>{const r=void 0===t[s]?\"\":t[s];return String(r).replaceAll(\"&\",\"&\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll('\"',\""\").replaceAll(\"'\",\"'\")}))}function Q(e,t){let s;if(Array.isArray(e)){if(s=document.createElement(e[0]),e[1].id&&(s.id=e[1].id),e[1].classname&&(s.className=e[1].classname),e[1].attr){const{attr:t}=e[1];if(Array.isArray(t)){let e=-1;for(;++eG(e,t)),s)}function G(e,t,s){e.classList?e.classList.remove(t):e.className=e.className.replace(B(t),\" \").trim(),s&&M(s)&&window.setTimeout((()=>U(e,t)),s)}const z=x.cssClasses;class H{constructor(e){this.options=e,this.els=this.createControl()}createControl(){let e,t,s;return this.options.targetType===j?(t=`${z.namespace} ${z.inputText.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.input),s={container:e,control:e.querySelector(`.${z.inputText.control}`),input:e.querySelector(`.${z.inputText.input}`),reset:e.querySelector(`.${z.inputText.reset}`),result:e.querySelector(`.${z.inputText.result}`)}):(t=`${z.namespace} ${z.glass.container}`,e=Q([\"div\",{id:x.containerId,classname:t}],H.glass),s={container:e,control:e.querySelector(`.${z.glass.control}`),button:e.querySelector(`.${z.glass.button}`),input:e.querySelector(`.${z.glass.input}`),reset:e.querySelector(`.${z.glass.reset}`),result:e.querySelector(`.${z.glass.result}`)}),s.input.placeholder=this.options.placeholder,s}}H.glass=`\\n
                                      \\n \\n \\n \\n
                                      \\n
                                        \\n`,H.input=`\\n
                                        \\n \\n \\n \\n
                                        \\n
                                          \\n`;class K{constructor(){this.settings={url:\"https://photon.komoot.io/api/\",params:{q:\"\",limit:10,lang:\"en\"},langs:[\"de\",\"it\",\"fr\",\"en\"]}}getParameters(e){return e.lang=e.lang.toLowerCase(),{url:this.settings.url,params:{q:e.query,limit:e.limit||this.settings.params.limit,lang:this.settings.langs.includes(e.lang)?e.lang:this.settings.params.lang}}}handleResponse(e){return 0===e.features.length?[]:e.features.map((e=>({lon:e.geometry.coordinates[0],lat:e.geometry.coordinates[1],address:{name:e.properties.name,postcode:e.properties.postcode,city:e.properties.city,state:e.properties.state,country:e.properties.country},original:{formatted:e.properties.name,details:e.properties}})))}}class J{constructor(){this.settings={url:\"https://nominatim.openstreetmap.org/search/\",params:{q:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,format:this.settings.params.format,addressdetails:this.settings.params.addressdetails,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,bbox:e.boundingbox,address:{name:e.display_name,road:e.address.road||\"\",houseNumber:e.address.house_number||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class W{constructor(){this.settings={url:\"https://open.mapquestapi.com/nominatim/v1/search.php\",params:{q:\"\",key:\"\",format:\"json\",addressdetails:1,limit:10,countrycodes:\"\",\"accept-language\":\"en-US\"}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,format:\"json\",addressdetails:1,limit:e.limit||this.settings.params.limit,countrycodes:e.countrycodes||this.settings.params.countrycodes,\"accept-language\":e.lang||this.settings.params[\"accept-language\"]}}}handleResponse(e){return 0===e.length?[]:e.map((e=>({lon:e.lon,lat:e.lat,address:{name:e.address.neighbourhood||\"\",road:e.address.road||\"\",postcode:e.address.postcode,city:e.address.city||e.address.town,state:e.address.state,country:e.address.country},original:{formatted:e.display_name,details:e.address}})))}}class X{constructor(){this.settings={url:\"https://dev.virtualearth.net/REST/v1/Locations\",callbackName:\"jsonp\",params:{query:\"\",key:\"\",includeNeighborhood:0,maxResults:10}}}getParameters(e){return{url:this.settings.url,callbackName:this.settings.callbackName,params:{query:e.query,key:e.key,includeNeighborhood:e.includeNeighborhood||this.settings.params.includeNeighborhood,maxResults:e.maxResults||this.settings.params.maxResults}}}handleResponse(e){const{resources:t}=e.resourceSets[0];return 0===t.length?[]:t.map((e=>({lon:e.point.coordinates[1],lat:e.point.coordinates[0],address:{name:e.name},original:{formatted:e.address.formattedAddress,details:e.address}})))}}class Y{constructor(){this.settings={url:\"https://api.opencagedata.com/geocode/v1/json?\",params:{q:\"\",key:\"\",limit:10,countrycode:\"\",pretty:1,no_annotations:1}}}getParameters(e){return{url:this.settings.url,params:{q:e.query,key:e.key,limit:e.limit||this.settings.params.limit,countrycode:e.countrycodes||this.settings.params.countrycodes}}}handleResponse(e){return 0===e.results.length?[]:e.results.map((e=>({lon:e.geometry.lng,lat:e.geometry.lat,address:{name:e.components.house_number||\"\",road:e.components.road||\"\",postcode:e.components.postcode,city:e.components.city||e.components.town,state:e.components.state,country:e.components.country},original:{formatted:e.formatted,details:e.components}})))}}function Z(e){return new Promise(((t,s)=>{const r=function(e,t){t&&\"object\"==typeof t&&(e+=(/\\?/u.test(e)?\"&\":\"?\")+ee(t));return e}(e.url,e.data),n={method:\"GET\",mode:\"cors\",credentials:\"same-origin\"};e.jsonp?function(e,t,s){const{head:r}=document,n=document.createElement(\"script\"),o=`f${Math.round(Math.random()*Date.now())}`;n.setAttribute(\"src\",`${e+(e.indexOf(\"?\")>0?\"&\":\"?\")+t}=${o}`),window[o]=e=>{window[o]=void 0,setTimeout((()=>r.removeChild(n)),0),s(e)},r.append(n)}(r,e.callbackName,t):fetch(r,n).then((e=>e.json())).then(t).catch(s)}))}function ee(e){return Object.keys(e).reduce(((t,s)=>(t.push(\"object\"==typeof e[s]?ee(e[s]):`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`),t)),[]).join(\"&\")}const te=x.cssClasses;class se{constructor(e,t){this.Base=e,this.layerName=_(\"geocoder-layer-\"),this.layer=new p.default({name:this.layerName,source:new h.default}),this.options=e.options,this.options.provider=\"string\"==typeof this.options.provider?this.options.provider.toLowerCase():this.options.provider,this.provider=this.newProvider(),this.els=t,this.lastQuery=\"\",this.container=this.els.container,this.registeredListeners={mapClick:!1},this.setListeners()}setListeners(){let e,t;const s=e=>{e.stopPropagation(),V(this.els.control,te.glass.expanded)?this.collapse():this.expand()};this.els.input.addEventListener(\"keypress\",(e=>{const t=e.target.value.trim();(e.key?\"Enter\"===e.key:e.which?13===e.which:!!e.keyCode&&13===e.keyCode)&&(e.preventDefault(),this.query(t))}),!1),this.els.input.addEventListener(\"click\",(e=>e.stopPropagation()),!1),this.els.input.addEventListener(\"input\",(s=>{const r=s.target.value.trim();0!==r.length?F(this.els.reset,te.hidden):O(this.els.reset,te.hidden),this.options.autoComplete&&r!==t&&(t=r,e&&clearTimeout(e),e=setTimeout((()=>{r.length>=this.options.autoCompleteMinLength&&this.query(r)}),this.options.autoCompleteTimeout))}),!1),this.els.reset.addEventListener(\"click\",(e=>{this.els.input.focus(),this.els.input.value=\"\",this.lastQuery=\"\",O(this.els.reset,te.hidden),this.clearResults()}),!1),this.options.targetType===L&&this.els.button.addEventListener(\"click\",s,!1)}query(e){this.provider||(this.provider=this.newProvider());const t=this.provider.getParameters({query:e,key:this.options.key,lang:this.options.lang,countrycodes:this.options.countrycodes,limit:this.options.limit});if(this.lastQuery===e&&this.els.result.firstChild)return;this.lastQuery=e,this.clearResults(),O(this.els.reset,te.spin);const s={url:t.url,data:t.params};t.callbackName&&(s.jsonp=!0,s.callbackName=t.callbackName),Z(s).then((e=>{this.options.debug&&console.info(e),F(this.els.reset,te.spin);const t=this.provider.handleResponse(e);t&&(this.createList(t),this.listenMapClick())})).catch((e=>{F(this.els.reset,te.spin);const t=Q(\"li\",\"
                                          Error! No internet connection?
                                          \");this.els.result.append(t)}))}createList(e){const t=this.els.result;e.forEach((e=>{let s;if(this.options.provider===E)s=`${e.address.name}`;else s=this.addressTemplate(e.address);const r=Q(\"li\",`${s}`);r.addEventListener(\"click\",(t=>{t.preventDefault(),this.chosen(e,s,e.address,e.original)}),!1),t.append(r)}))}chosen(e,t,s,r){const n=this.Base.getMap(),o=[Number.parseFloat(e.lon),Number.parseFloat(e.lat)],a=n.getView().getProjection(),i=y.default.transform(o,\"EPSG:4326\",a);let{bbox:l}=e;l&&(l=y.default.transformExtent([l[2],l[1],l[3],l[0]],\"EPSG:4326\",a));const c={formatted:t,details:s,original:r};if(!1===this.options.keepOpen&&this.clearResults(!0),!0===this.options.preventDefault)this.Base.dispatchEvent({type:q,address:c,coordinate:i,bbox:l,place:e});else{l?n.getView().fit(l,{duration:500}):function(e,t,s=500,r=2.388657133911758){e.getView().animate({duration:s,resolution:r},{duration:s,center:t})}(n,i);const t=this.createFeature(i,c);this.Base.dispatchEvent({type:q,address:c,feature:t,coordinate:i,bbox:l,place:e})}}createFeature(e){const t=new g.default(new m.default(e));return this.addLayer(),t.setStyle(this.options.featureStyle),t.setId(_(\"geocoder-ft-\")),this.getSource().addFeature(t),t}addressTemplate(e){const t=[];return e.name&&t.push(['{name}'].join(\"\")),(e.road||e.building||e.house_number)&&t.push(['{building} {road} {house_number}'].join(\"\")),(e.city||e.town||e.village)&&t.push(['{postcode} {city} {town} {village}'].join(\"\")),(e.state||e.country)&&t.push(['{state} {country}'].join(\"\")),D(t.join(\"
                                          \"),e)}newProvider(){switch(this.options.provider){case E:return new J;case T:return new W;case N:return new K;case R:return new X;case A:return new Y;default:return this.options.provider}}expand(){F(this.els.input,te.spin),O(this.els.control,te.glass.expanded),window.setTimeout((()=>this.els.input.focus()),100),this.listenMapClick()}collapse(){this.els.input.value=\"\",this.els.input.blur(),O(this.els.reset,te.hidden),F(this.els.control,te.glass.expanded),this.clearResults()}listenMapClick(){if(this.registeredListeners.mapClick)return;const e=this,t=this.Base.getMap().getTargetElement();this.registeredListeners.mapClick=!0,t.addEventListener(\"click\",{handleEvent(s){e.clearResults(!0),t.removeEventListener(s.type,this,!1),e.registeredListeners.mapClick=!1}},!1)}clearResults(e){e&&this.options.targetType===L?this.collapse():function(e){for(;e.firstChild;)e.firstChild.remove()}(this.els.result)}getSource(){return this.layer.getSource()}addLayer(){let e=!1;const t=this.Base.getMap();t.getLayers().forEach((t=>{t===this.layer&&(e=!0)})),e||t.addLayer(this.layer)}}class re extends c.default{constructor(e=C,t={}){let s,r;I(\"string\"==typeof e,\"@param `type` should be string!\"),I(e===C||e===S,`@param 'type' should be '${C}'\\n or '${S}'!`),I(\"object\"==typeof t,\"@param `options` should be object!\"),P.featureStyle=[new d.default({image:new u.default({scale:.7,src:\"//cdn.rawgit.com/jonataswalker/map-utils/master/images/marker.png\"})})];const n=new H(t);if(e===C&&(s=n.els.container),super({element:s}),!(this instanceof re))return new re;this.options=function(e,t){const s={};return Object.keys(e).forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)&&(s[t]=e[t])})),Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&(s[e]=t[e])})),s}(P,t),this.container=s,e===C&&(r=new se(this,n.els),this.layer=r.layer)}getLayer(){return this.layer}getSource(){return this.getLayer().getSource()}setProvider(e){this.options.provider=e}setProviderKey(e){this.options.key=e}}return re}));\n//# sourceMappingURL=ol-geocoder.js.map\n","export default class OSMGeocoder {\n\tconstructor(url, geojson = false) {\n\t\tthis.url = url;\n\t\tthis.geojson = geojson;\n\t}\n\n\tgetParameters(opt) {\n\t\treturn {\n\t\t\turl: this.url,\n\t\t\tparams: {\n\t\t\t\tq: opt.query,\n\t\t\t\tformat: 'json',\n\t\t\t\tlimit: 10,\n\t\t\t\t'accept-language': 'en',\n\t\t\t\tpolygon_geojson: this.geojson ? 1 : 0,\n\t\t\t\tpolygon_threshold: 0.001,\n\t\t\t},\n\t\t};\n\t}\n\n\thandleResponse(results) {\n\t\tif (results.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn results\n\t\t\t.filter(result => [\"boundary\", \"geological\", \"leisure\", \"natural\", \"place\", \"water\", \"waterway\"].includes(result.class))\n\t\t\t.map(result => ({\n\t\t\t\tlon: result.lon,\n\t\t\t\tlat: result.lat,\n\t\t\t\tbbox: result.boundingbox,\n\t\t\t\taddress: {\n\t\t\t\t\tname: result.display_name\n\t\t\t\t},\n\t\t\t\toriginal: {\n\t\t\t\t\tformatted: result.display_name,\n\t\t\t\t\tdetails: result.address,\n\t\t\t\t\tgeojson: result.geojson\n\t\t\t\t}\n\t\t\t}));\n\t}\n}","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeocoderMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeocoderMixin.vue?vue&type=script&lang=js\"\nimport style0 from \"@kirtandesai/ol-geocoder/dist/ol-geocoder.min.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./GeocoderMixin.vue?vue&type=style&index=1&id=643f6883&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.id}},[_c('ProgressControl',{ref:\"progress\",attrs:{\"map\":_vm.map}}),_c('UserLocationControl',{attrs:{\"map\":_vm.map}}),_c('TextControl',{attrs:{\"text\":_vm.help,\"map\":_vm.map}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapAreaSelect.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MapAreaSelect.vue?vue&type=template&id=c6d9ceda\"\nimport script from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nexport * from \"./MapAreaSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"../maps/MapMixin.scss?vue&type=style&index=0&prod&lang=scss&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.texts.length > 0)?_c('div',{staticClass:\"ol-unselectable ol-control value\",class:{pointer: _vm.texts.length > 1},on:{\"click\":_vm.toggle}},[_vm._v(_vm._s(_vm.current))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextControl.vue?vue&type=template&id=52fec35a&scoped=true\"\nimport script from \"./TextControl.vue?vue&type=script&lang=js\"\nexport * from \"./TextControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextControl.vue?vue&type=style&index=0&id=52fec35a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52fec35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"step choose-bbox\"},[_c('p',[_vm._v(\"Please select the area of interest which you want to download data for. You can add or remove a bounding box by clicking into the map.\")]),_c('MapAreaSelect',{staticClass:\"map\",attrs:{\"show\":_vm.showMap,\"value\":_vm.value,\"showMaxExtent\":_vm.max},on:{\"input\":_vm.update}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChooseBoundingBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChooseBoundingBox.vue?vue&type=template&id=61a75ac8&scoped=true\"\nimport script from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nexport * from \"./ChooseBoundingBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChooseBoundingBox.vue?vue&type=style&index=0&id=61a75ac8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61a75ac8\",\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/interaction/Extent\n */\nimport Event from '../events/Event.js';\nimport Feature from '../Feature.js';\nimport MapBrowserEventType from '../MapBrowserEventType.js';\nimport Point from '../geom/Point.js';\nimport PointerInteraction from './Pointer.js';\nimport VectorLayer from '../layer/Vector.js';\nimport VectorSource from '../source/Vector.js';\nimport {always} from '../events/condition.js';\nimport {boundingExtent, getArea} from '../extent.js';\nimport {\n closestOnSegment,\n distance as coordinateDistance,\n squaredDistance as squaredCoordinateDistance,\n squaredDistanceToSegment,\n} from '../coordinate.js';\nimport {createEditingStyle} from '../style/Style.js';\nimport {fromExtent as polygonFromExtent} from '../geom/Polygon.js';\nimport {toUserExtent} from '../proj.js';\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.always}.\n * @property {import(\"../extent.js\").Extent} [extent] Initial extent. Defaults to no\n * initial extent.\n * @property {import(\"../style/Style.js\").StyleLike} [boxStyle]\n * Style for the drawn extent box. Defaults to the `Polygon` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {number} [pixelTolerance=10] Pixel tolerance for considering the\n * pointer close enough to a segment or vertex for editing.\n * @property {import(\"../style/Style.js\").StyleLike} [pointerStyle]\n * Style for the cursor used to draw the extent. Defaults to the `Point` editing style\n * documented in {@link module:ol/style/Style~Style}\n * @property {boolean} [wrapX=false] Wrap the drawn extent across multiple maps\n * in the X direction? Only affects visuals, not functionality.\n */\n\n/**\n * @enum {string}\n */\nconst ExtentEventType = {\n /**\n * Triggered after the extent is changed\n * @event ExtentEvent#extentchanged\n * @api\n */\n EXTENTCHANGED: 'extentchanged',\n};\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/Extent~Extent} instances are\n * instances of this type.\n */\nexport class ExtentEvent extends Event {\n /**\n * @param {import(\"../extent.js\").Extent} extent the new extent\n */\n constructor(extent) {\n super(ExtentEventType.EXTENTCHANGED);\n\n /**\n * The current extent.\n * @type {import(\"../extent.js\").Extent}\n * @api\n */\n this.extent = extent;\n }\n}\n\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'extentchanged', ExtentEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} ExtentOnSignature\n */\n\n/**\n * @classdesc\n * Allows the user to draw a vector box by clicking and dragging on the map.\n * Once drawn, the vector box can be modified by dragging its vertices or edges.\n * This interaction is only supported for mouse devices.\n *\n * @fires ExtentEvent\n * @api\n */\nclass Extent extends PointerInteraction {\n /**\n * @param {Options} [options] Options.\n */\n constructor(options) {\n options = options || {};\n\n super(/** @type {import(\"./Pointer.js\").Options} */ (options));\n\n /***\n * @type {ExtentOnSignature}\n */\n this.on;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.once;\n\n /***\n * @type {ExtentOnSignature}\n */\n this.un;\n\n /**\n * Condition\n * @type {import(\"../events/condition.js\").Condition}\n * @private\n */\n this.condition_ = options.condition ? options.condition : always;\n\n /**\n * Extent of the drawn box\n * @type {import(\"../extent.js\").Extent}\n * @private\n */\n this.extent_ = null;\n\n /**\n * Handler for pointer move events\n * @type {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null}\n * @private\n */\n this.pointerHandler_ = null;\n\n /**\n * Pixel threshold to snap to extent\n * @type {number}\n * @private\n */\n this.pixelTolerance_ =\n options.pixelTolerance !== undefined ? options.pixelTolerance : 10;\n\n /**\n * Is the pointer snapped to an extent vertex\n * @type {boolean}\n * @private\n */\n this.snappedToVertex_ = false;\n\n /**\n * Feature for displaying the visible extent\n * @type {Feature}\n * @private\n */\n this.extentFeature_ = null;\n\n /**\n * Feature for displaying the visible pointer\n * @type {Feature}\n * @private\n */\n this.vertexFeature_ = null;\n\n if (!options) {\n options = {};\n }\n\n /**\n * Layer for the extentFeature\n * @type {VectorLayer}\n * @private\n */\n this.extentOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.boxStyle\n ? options.boxStyle\n : getDefaultExtentStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n /**\n * Layer for the vertexFeature\n * @type {VectorLayer}\n * @private\n */\n this.vertexOverlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: !!options.wrapX,\n }),\n style: options.pointerStyle\n ? options.pointerStyle\n : getDefaultPointerStyleFunction(),\n updateWhileAnimating: true,\n updateWhileInteracting: true,\n });\n\n if (options.extent) {\n this.setExtent(options.extent);\n }\n }\n\n /**\n * @param {import(\"../pixel.js\").Pixel} pixel cursor location\n * @param {import(\"../Map.js\").default} map map\n * @return {import(\"../coordinate.js\").Coordinate|null} snapped vertex on extent\n * @private\n */\n snapToVertex_(pixel, map) {\n const pixelCoordinate = map.getCoordinateFromPixelInternal(pixel);\n const sortByDistance = function (a, b) {\n return (\n squaredDistanceToSegment(pixelCoordinate, a) -\n squaredDistanceToSegment(pixelCoordinate, b)\n );\n };\n const extent = this.getExtentInternal();\n if (extent) {\n //convert extents to line segments and find the segment closest to pixelCoordinate\n const segments = getSegments(extent);\n segments.sort(sortByDistance);\n const closestSegment = segments[0];\n\n let vertex = closestOnSegment(pixelCoordinate, closestSegment);\n const vertexPixel = map.getPixelFromCoordinateInternal(vertex);\n\n //if the distance is within tolerance, snap to the segment\n if (coordinateDistance(pixel, vertexPixel) <= this.pixelTolerance_) {\n //test if we should further snap to a vertex\n const pixel1 = map.getPixelFromCoordinateInternal(closestSegment[0]);\n const pixel2 = map.getPixelFromCoordinateInternal(closestSegment[1]);\n const squaredDist1 = squaredCoordinateDistance(vertexPixel, pixel1);\n const squaredDist2 = squaredCoordinateDistance(vertexPixel, pixel2);\n const dist = Math.sqrt(Math.min(squaredDist1, squaredDist2));\n this.snappedToVertex_ = dist <= this.pixelTolerance_;\n if (this.snappedToVertex_) {\n vertex =\n squaredDist1 > squaredDist2 ? closestSegment[1] : closestSegment[0];\n }\n return vertex;\n }\n }\n return null;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent pointer move event\n * @private\n */\n handlePointerMove_(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n let vertex = this.snapToVertex_(pixel, map);\n if (!vertex) {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n }\n this.createOrUpdatePointerFeature_(vertex);\n }\n\n /**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Feature} extent as featrue\n * @private\n */\n createOrUpdateExtentFeature_(extent) {\n let extentFeature = this.extentFeature_;\n\n if (!extentFeature) {\n if (!extent) {\n extentFeature = new Feature({});\n } else {\n extentFeature = new Feature(polygonFromExtent(extent));\n }\n this.extentFeature_ = extentFeature;\n this.extentOverlay_.getSource().addFeature(extentFeature);\n } else {\n if (!extent) {\n extentFeature.setGeometry(undefined);\n } else {\n extentFeature.setGeometry(polygonFromExtent(extent));\n }\n }\n return extentFeature;\n }\n\n /**\n * @param {import(\"../coordinate.js\").Coordinate} vertex location of feature\n * @return {Feature} vertex as feature\n * @private\n */\n createOrUpdatePointerFeature_(vertex) {\n let vertexFeature = this.vertexFeature_;\n if (!vertexFeature) {\n vertexFeature = new Feature(new Point(vertex));\n this.vertexFeature_ = vertexFeature;\n this.vertexOverlay_.getSource().addFeature(vertexFeature);\n } else {\n const geometry = vertexFeature.getGeometry();\n geometry.setCoordinates(vertex);\n }\n return vertexFeature;\n }\n\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n */\n handleEvent(mapBrowserEvent) {\n if (!mapBrowserEvent.originalEvent || !this.condition_(mapBrowserEvent)) {\n return true;\n }\n //display pointer (if not dragging)\n if (\n mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE &&\n !this.handlingDownUpSequence\n ) {\n this.handlePointerMove_(mapBrowserEvent);\n }\n //call pointer to determine up/down/drag\n super.handleEvent(mapBrowserEvent);\n //return false to stop propagation\n return false;\n }\n\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleDownEvent(mapBrowserEvent) {\n const pixel = mapBrowserEvent.pixel;\n const map = mapBrowserEvent.map;\n\n const extent = this.getExtentInternal();\n let vertex = this.snapToVertex_(pixel, map);\n\n //find the extent corner opposite the passed corner\n const getOpposingPoint = function (point) {\n let x_ = null;\n let y_ = null;\n if (point[0] == extent[0]) {\n x_ = extent[2];\n } else if (point[0] == extent[2]) {\n x_ = extent[0];\n }\n if (point[1] == extent[1]) {\n y_ = extent[3];\n } else if (point[1] == extent[3]) {\n y_ = extent[1];\n }\n if (x_ !== null && y_ !== null) {\n return [x_, y_];\n }\n return null;\n };\n if (vertex && extent) {\n const x =\n vertex[0] == extent[0] || vertex[0] == extent[2] ? vertex[0] : null;\n const y =\n vertex[1] == extent[1] || vertex[1] == extent[3] ? vertex[1] : null;\n\n //snap to point\n if (x !== null && y !== null) {\n this.pointerHandler_ = getPointHandler(getOpposingPoint(vertex));\n //snap to edge\n } else if (x !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([x, extent[1]]),\n getOpposingPoint([x, extent[3]]),\n );\n } else if (y !== null) {\n this.pointerHandler_ = getEdgeHandler(\n getOpposingPoint([extent[0], y]),\n getOpposingPoint([extent[2], y]),\n );\n }\n //no snap - new bbox\n } else {\n vertex = map.getCoordinateFromPixelInternal(pixel);\n this.setExtent([vertex[0], vertex[1], vertex[0], vertex[1]]);\n this.pointerHandler_ = getPointHandler(vertex);\n }\n return true; //event handled; start downup sequence\n }\n\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n handleDragEvent(mapBrowserEvent) {\n if (this.pointerHandler_) {\n const pixelCoordinate = mapBrowserEvent.coordinate;\n this.setExtent(this.pointerHandler_(pixelCoordinate));\n this.createOrUpdatePointerFeature_(pixelCoordinate);\n }\n }\n\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n handleUpEvent(mapBrowserEvent) {\n this.pointerHandler_ = null;\n //If bbox is zero area, set to null;\n const extent = this.getExtentInternal();\n if (!extent || getArea(extent) === 0) {\n this.setExtent(null);\n }\n return false; //Stop handling downup sequence\n }\n\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../Map.js\").default} map Map.\n */\n setMap(map) {\n this.extentOverlay_.setMap(map);\n this.vertexOverlay_.setMap(map);\n super.setMap(map);\n }\n\n /**\n * Returns the current drawn extent in the view projection (or user projection if set)\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtent() {\n return toUserExtent(\n this.getExtentInternal(),\n this.getMap().getView().getProjection(),\n );\n }\n\n /**\n * Returns the current drawn extent in the view projection\n *\n * @return {import(\"../extent.js\").Extent} Drawn extent in the view projection.\n * @api\n */\n getExtentInternal() {\n return this.extent_;\n }\n\n /**\n * Manually sets the drawn extent, using the view projection.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent\n * @api\n */\n setExtent(extent) {\n //Null extent means no bbox\n this.extent_ = extent ? extent : null;\n this.createOrUpdateExtentFeature_(extent);\n this.dispatchEvent(new ExtentEvent(this.extent_));\n }\n}\n\n/**\n * Returns the default style for the drawn bbox\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default Extent style\n */\nfunction getDefaultExtentStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Polygon'];\n };\n}\n\n/**\n * Returns the default style for the pointer\n *\n * @return {import(\"../style/Style.js\").StyleFunction} Default pointer style\n */\nfunction getDefaultPointerStyleFunction() {\n const style = createEditingStyle();\n return function (feature, resolution) {\n return style['Point'];\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedPoint corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent} event handler\n */\nfunction getPointHandler(fixedPoint) {\n return function (point) {\n return boundingExtent([fixedPoint, point]);\n };\n}\n\n/**\n * @param {import(\"../coordinate.js\").Coordinate} fixedP1 first corner that will be unchanged in the new extent\n * @param {import(\"../coordinate.js\").Coordinate} fixedP2 second corner that will be unchanged in the new extent\n * @return {function (import(\"../coordinate.js\").Coordinate): import(\"../extent.js\").Extent|null} event handler\n */\nfunction getEdgeHandler(fixedP1, fixedP2) {\n if (fixedP1[0] == fixedP2[0]) {\n return function (point) {\n return boundingExtent([fixedP1, [point[0], fixedP2[1]]]);\n };\n }\n if (fixedP1[1] == fixedP2[1]) {\n return function (point) {\n return boundingExtent([fixedP1, [fixedP2[0], point[1]]]);\n };\n }\n return null;\n}\n\n/**\n * @param {import(\"../extent.js\").Extent} extent extent\n * @return {Array>} extent line segments\n */\nfunction getSegments(extent) {\n return [\n [\n [extent[0], extent[1]],\n [extent[0], extent[3]],\n ],\n [\n [extent[0], extent[3]],\n [extent[2], extent[3]],\n ],\n [\n [extent[2], extent[3]],\n [extent[2], extent[1]],\n ],\n [\n [extent[2], extent[1]],\n [extent[0], extent[1]],\n ],\n ];\n}\n\nexport default Extent;\n"],"names":["e","t","module","exports","this","s","r","n","o","a","i","l","default","c","d","u","p","h","m","g","y","f","b","w","v","$","namespace","spin","hidden","address","country","city","road","olControl","glass","container","control","button","input","expanded","reset","result","inputText","icon","k","containerId","buttonControlId","inputQueryId","inputResetId","cssClasses","x","Object","freeze","__proto__","q","C","S","L","j","E","T","N","R","A","P","provider","placeholder","featureStyle","targetType","lang","limit","keepOpen","preventDefault","autoComplete","autoCompleteMinLength","autoCompleteTimeout","debug","I","Error","_","window","performance","Date","now","timing","navigationStart","toString","M","test","O","Array","isArray","forEach","split","length","V","U","F","G","classList","contains","B","className","D","replace","String","replaceAll","Q","document","createElement","id","classname","attr","setAttribute","name","value","innerHTML","createDocumentFragment","childNodes","append","RegExp","add","trim","setTimeout","remove","z","H","constructor","options","els","createControl","querySelector","K","settings","url","params","langs","getParameters","toLowerCase","query","includes","handleResponse","features","map","lon","geometry","coordinates","lat","properties","postcode","state","original","formatted","details","J","format","addressdetails","countrycodes","bbox","boundingbox","display_name","houseNumber","house_number","town","W","key","neighbourhood","X","callbackName","includeNeighborhood","maxResults","resources","resourceSets","point","formattedAddress","Y","countrycode","pretty","no_annotations","results","lng","components","Z","Promise","ee","data","method","mode","credentials","jsonp","head","Math","round","random","indexOf","removeChild","fetch","then","json","catch","keys","reduce","push","encodeURIComponent","join","te","se","Base","layerName","layer","source","newProvider","lastQuery","registeredListeners","mapClick","setListeners","stopPropagation","collapse","expand","addEventListener","target","which","keyCode","clearTimeout","focus","clearResults","firstChild","console","info","createList","listenMapClick","addressTemplate","chosen","getMap","Number","parseFloat","getView","getProjection","transform","transformExtent","dispatchEvent","type","coordinate","place","fit","duration","animate","resolution","center","createFeature","feature","addLayer","setStyle","setId","getSource","addFeature","building","village","blur","getTargetElement","handleEvent","removeEventListener","getLayers","re","image","scale","src","super","element","prototype","hasOwnProperty","call","getLayer","setProvider","setProviderKey","OSMGeocoder","geojson","opt","polygon_geojson","polygon_threshold","filter","class","methods","addGeocoder","callback","$config","geocoder","Geocoder","on","event","bboxOpenEO","west","east","north","south","addControl","render","staticRenderFns","component","_vm","_c","_self","attrs","ref","help","mixins","GeoJsonMixin","GeocoderMixin","MapMixin","TextControl","props","showMaxExtent","interaction","extent","toExtent","computed","returnAsObject","projectedExtent","outerArea","Utils","extentToBBox","update","$emit","renderMap","isWebMercatorCompatible","isBboxInWebMercator","createMap","addBasemaps","setExtent","fitMap","style","Style","fill","Fill","color","stroke","Stroke","width","addGeoJson","getFitOptions","condition","editable","pixelSize","getSize","xy","calculateExtent","size","mouseExtent","containsXY","vertexOverlay_","clear","vertexFeature_","handlingDownUpSequence","snapToVertex_","pixel","ExtentInteraction","boxStyle","createDefaultStyle","pixelTolerance","addInteraction","fitOptions","texts","staticClass","pointer","toggle","_v","_s","current","_e","ControlMixin","text","showMap","max","MapAreaSelect","mounted","ExtentEventType","EXTENTCHANGED","ExtentEvent","Extent","once","un","condition_","extent_","pointerHandler_","pixelTolerance_","undefined","snappedToVertex_","extentFeature_","extentOverlay_","useSpatialIndex","wrapX","getDefaultExtentStyleFunction","updateWhileAnimating","updateWhileInteracting","pointerStyle","getDefaultPointerStyleFunction","pixelCoordinate","getCoordinateFromPixelInternal","sortByDistance","getExtentInternal","segments","getSegments","sort","closestSegment","vertex","vertexPixel","getPixelFromCoordinateInternal","pixel1","pixel2","squaredDist1","squaredDist2","dist","sqrt","min","handlePointerMove_","mapBrowserEvent","createOrUpdatePointerFeature_","createOrUpdateExtentFeature_","extentFeature","setGeometry","vertexFeature","getGeometry","setCoordinates","originalEvent","POINTERMOVE","handleDownEvent","getOpposingPoint","x_","y_","getPointHandler","getEdgeHandler","handleDragEvent","handleUpEvent","setMap","getExtent","toUserExtent","createEditingStyle","fixedPoint","fixedP1","fixedP2"],"sourceRoot":""} \ No newline at end of file diff --git a/js/9882.221c4097.js b/js/9882.6fcac763.js similarity index 99% rename from js/9882.221c4097.js rename to js/9882.6fcac763.js index 026a9c35..b39c0496 100644 --- a/js/9882.221c4097.js +++ b/js/9882.6fcac763.js @@ -1,2 +1,2 @@ "use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[9882],{66451:(t,e,o)=>{o.d(e,{A:()=>S});var s=o(2566),a=o(61663),i=o(70915),r=o(58704),n=o(41312),l=o(42770),d=o(82986),h=o(54602);const p={mixins:[a.A],methods:{addGeoJson(t,e=!1,o="GeoJSON",a=!0){let n;n=t instanceof h["default"]?t:this.createGeoJsonSource(t,this.map.getView().getProjection());let p=new d["default"]({title:o,source:n});s.A.isObject(a)?p.setStyle(a):!a&&this.removeLayerFill&&this.removeLayerFill(p),this.map.addLayer(p);let u=n.getExtent();if((0,i.Im)(u)||this.map.getView().fit(u,this.getFitOptions()),e){var c=new l.A({hitTolerance:5,multi:!1,condition:r.t5,layers:[p]});c.on("select",this.onSelect),this.map.addInteraction(c)}return p},onSelect(t){if(t.selected.length>0){let e=t.selected[0],o=s.A.omitFromObject(e.getProperties(),["geometry"]),a=e.getId()||"Feature Properties";this.broadcast("showDataModal",o,a)}},createGeoJsonSource(t,e){let o=[];return s.A.detectGeoJson(t)&&(o=(new n.A).readFeatures(t,{featureProjection:e})),new h["default"]({features:o,wrapX:!1})}}},u=p;var c,g,m=o(81656),w=(0,m.A)(u,c,g,!1,null,null,null);const f=w.exports;var y=o(86717),b=o(34142);const A={mixins:[f],methods:{addExtent(t,e=!0){let o=null;return o=s.A.isObject(t)?"undefined"!==typeof t.west&&"undefined"!==typeof t.east&&"undefined"!==typeof t.south&&"undefined"!==typeof t.north?[t]:"Collection"===t.type?t.extent.spatial.bbox.map((t=>s.A.extentToBBox(t))):"Feature"!==t.type||t.geometry||t.bbox?t:null:t,Array.isArray(o)&&o.length>0?this.addRectangles(o,e):o?this.addGeoJson(o,!1,"Footprint",e):null},addRectangles(t,e=!0){let o=this.map.getView().getProjection(),s=t.map((t=>{let e=(0,b.VY)([t.west,t.south,t.east,t.north]).transform("EPSG:4326",o);return new y["default"](e)})),a=new h["default"]({features:s,projection:o,wrapX:!1}),i=new d["default"]({title:"Bounding Boxes",displayInLayerSwitcher:!1,source:a});return e||this.removeLayerFill(i),this.map.addLayer(i),this.map.getView().fit(a.getExtent(),this.getFitOptions()),i},removeLayerFill(t){let e=t.getStyle();"function"===typeof e&&(e=e()[0]),e.setFill(null)}}},L=A;var v,x,C=(0,m.A)(L,v,x,!1,null,null,null);const S=C.exports},95104:(t,e,o)=>{o.d(e,{A:()=>B});var s=o(61663),a=o(2566),i=(o(82488),o(57364)),r=o(43965),n=o(80169),l=o(64488),d=o(866),h=o(89718),p=o(95286),u=o(51176),c=o(30945),g=o(10702),m=o(99037),w=function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"show",rawName:"v-show",value:t.show,expression:"show"}],staticClass:"ol-unselectable ol-progress-control"},[e("div",{staticClass:"progress-bar"},[e("div",{staticClass:"progress-bar-inner",style:{width:t.percent}})]),e("div",{staticClass:"progress-label"},[t._v(t._s(t.label))])])},f=[],y=o(23634);const b={name:"ProgressControl",mixins:[y.A],data(){return{loading:0,loaded:0}},computed:{show(){return this.loading>0&&this.loaded<=this.loading},percent(){return(this.loaded/this.loading*100).toFixed(1)+"%"},label(){return"Loading Tiles ("+this.percent+")"}},methods:{addLoading(){this.loading++,this.update()},addLoaded(){this.loaded++,this.update()},update(){this.loading===this.loaded&&(this.loading=0,this.loaded=0),this.loading===this.loaded&&(this.loading=0,this.loaded=0)}}},A=b;var L=o(81656),v=(0,L.A)(A,w,f,!1,null,"3a0e8f20",null);const x=v.exports;var C=function(){var t=this,e=t._self._c;return e("div",{staticClass:"ol-location ol-unselectable ol-control",staticStyle:{"pointer-events":"auto"}},[e("button",{attrs:{type:"button",title:"Go to your location"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.request.apply(null,arguments)}}},[e("i",{staticClass:"fas fa-location-arrow"})])])},S=[];const F={name:"UserLocationControl",mixins:[y.A],methods:{request(){"geolocation"in navigator&&navigator.geolocation.getCurrentPosition((t=>{let e=this.map.getView(),o=[t.coords.longitude,t.coords.latitude];e.setCenter((0,h.fromLonLat)(o,e.getProjection()))}),(t=>Utils.error(this,t,"Location Error")),{maximumAge:1/0})}}},j=F;var P=(0,L.A)(j,C,S,!1,null,"34b57b3b",null);const M=P.exports;let $=1;const _={components:{ProgressControl:x,UserLocationControl:M},mixins:[s.A],props:{show:{type:Boolean,default:!0},editable:{type:Boolean,default:!0},removableLayers:{type:Boolean,default:!1}},data(){return{map:null,id:"map_"+$++,options:{}}},watch:{async show(){await this.showMap()}},async mounted(){await this.showMap()},methods:{async showMap(){this.show&&(await this.$nextTick(),await this.renderMap(),this.$emit("options",this.options))},async createMap(t="EPSG:3857"){let e,o={showFullExtent:!0};if("string"===typeof t?o.projection=await u.A.get(t):t instanceof p.A?o.projection=t:t instanceof d.Ay?e=t:a.A.isObject(t)&&(o=t),!e){if(e=new d.Ay(o),!e.getCenter()){let t=this.$config.mapLocation;Array.isArray(t)&&2==t.length||(t=[0,0]),e.setCenter((0,h.fromLonLat)([t[1],t[0]],e.getProjection()))}e.getZoom()||e.setZoom(this.$config.mapZoom||0)}if(null!==this.map)return this.map.updateSize(),void this.map.render();var s=[new i.A,new r.A],c={target:this.id,view:e};this.editable?c.controls=(0,n.N)().extend(s):(c.interactions=[],c.controls=s),this.map=new l.A(c),this.listen("windowResized",this.updateMapSize)},addLayerSwitcher(){const t={trash:this.removableLayers,extent:!0};this.map.addControl(new m.A(t))},addBasemaps(){let t={opaque:!0,attributionsCollapsible:!1,wrapX:!1},e=[];if(Array.isArray(this.$config.basemaps)){let o=!1;for(let s of this.$config.basemaps){let a=new g.A(Object.assign({},t,s)),i=new c.A({source:this.trackTileProgress(a),baseLayer:!0,title:s.title,noSwitcherDelete:!0,visible:!o});e.push(i),this.map.addLayer(i),o=!0}}return e},setOptions(t,e){this.options[t]=e,this.$emit("options",this.options)},onShow(){this.listen("windowResized",this.updateMapSize)},onHide(){this.unlisten("windowResized")},async renderMap(){await this.createMap(),this.addBasemaps()},async updateMapSize(){this.map&&(await this.$nextTick(),this.map.updateSize())},addLayerToMap(t){t.set("userLayer",!0),this.map.addLayer(t)},removeLayerFromMap(t){let e=this.getLayerFromMap(t);e&&this.map.removeLayer(e)},getLayerFromMap(t){let e=this.map.getLayers().getArray();for(let o of e)if(o.get("id")===t)return o;return null},getVisibleLayers(){let t=[],e=this.map.getLayers().getArray();for(let o of e)o.get("userLayer")&&o.getVisible()&&t.push(o);return t},getFitOptions(t=25){let e={};var o=this.map.getSize();return e.padding=o&&t>0?[o[0]*t/100,o[1]*t/100,o[0]*t/100,o[1]*t/100]:[30,30,30,30],e},trackTileProgress(t){if(this.$refs.progress){t.on("tileloadstart",(()=>this.$refs.progress&&this.$refs.progress.addLoading()));let e=()=>this.$refs.progress&&this.$refs.progress.addLoaded();t.on("tileloadend",e),t.on("tileloaderror",e)}return t},fromLonLat(t){return(0,h.fromLonLat)(t,this.map.getView().getProjection())},toExtent(t){let e=null;return a.A.isObject(t)&&"west"in t&&"south"in t&&"east"in t&&"north"in t?e=[t.west,t.south,t.east,t.north]:Array.isArray(t)&&t.length>=4&&(e=t),e}}},O=_;var T,k,z=(0,L.A)(O,T,k,!1,null,null,null);const B=z.exports},23634:(t,e,o)=>{o.d(e,{A:()=>a});var s=o(10972);const a={props:{map:{type:Object}},data(){return{control:null}},mounted(){this.control=new s["default"]({element:this.$el})},watch:{map(t){t&&this.map.addControl(this.control)}},methods:{getControl(){return this.control}}}}}]); -//# sourceMappingURL=9882.221c4097.js.map \ No newline at end of file +//# sourceMappingURL=9882.6fcac763.js.map \ No newline at end of file diff --git a/js/9882.221c4097.js.map b/js/9882.6fcac763.js.map similarity index 99% rename from js/9882.221c4097.js.map rename to js/9882.6fcac763.js.map index 48392f58..5df49e67 100644 --- a/js/9882.221c4097.js.map +++ b/js/9882.6fcac763.js.map @@ -1 +1 @@ -{"version":3,"file":"js/9882.221c4097.js","mappings":"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","sources":["webpack://@openeo/web-editor/src/components/maps/GeoJsonMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeoJsonMixin.vue?fc6d","webpack://@openeo/web-editor/./src/components/maps/GeoJsonMixin.vue","webpack://@openeo/web-editor/src/components/maps/ExtentMixin.vue","webpack://@openeo/web-editor/./src/components/maps/ExtentMixin.vue?0e90","webpack://@openeo/web-editor/./src/components/maps/ExtentMixin.vue","webpack://@openeo/web-editor/./src/components/maps/ProgressControl.vue","webpack://@openeo/web-editor/src/components/maps/ProgressControl.vue","webpack://@openeo/web-editor/./src/components/maps/ProgressControl.vue?5a7a","webpack://@openeo/web-editor/./src/components/maps/ProgressControl.vue?33a4","webpack://@openeo/web-editor/./src/components/maps/UserLocationControl.vue","webpack://@openeo/web-editor/src/components/maps/UserLocationControl.vue","webpack://@openeo/web-editor/./src/components/maps/UserLocationControl.vue?5ceb","webpack://@openeo/web-editor/./src/components/maps/UserLocationControl.vue?73c5","webpack://@openeo/web-editor/src/components/maps/MapMixin.vue","webpack://@openeo/web-editor/./src/components/maps/MapMixin.vue?c1da","webpack://@openeo/web-editor/./src/components/maps/MapMixin.vue","webpack://@openeo/web-editor/./src/components/maps/ControlMixin.js"],"sourcesContent":["","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeoJsonMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeoJsonMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeoJsonMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeoJsonMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExtentMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExtentMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./ExtentMixin.vue?vue&type=script&lang=js\"\nexport * from \"./ExtentMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}],staticClass:\"ol-unselectable ol-progress-control\"},[_c('div',{staticClass:\"progress-bar\"},[_c('div',{staticClass:\"progress-bar-inner\",style:({width: _vm.percent})})]),_c('div',{staticClass:\"progress-label\"},[_vm._v(_vm._s(_vm.label))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProgressControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProgressControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProgressControl.vue?vue&type=template&id=3a0e8f20&scoped=true\"\nimport script from \"./ProgressControl.vue?vue&type=script&lang=js\"\nexport * from \"./ProgressControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProgressControl.vue?vue&type=style&index=0&id=3a0e8f20&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a0e8f20\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ol-location ol-unselectable ol-control\",staticStyle:{\"pointer-events\":\"auto\"}},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"Go to your location\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.request.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-location-arrow\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserLocationControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserLocationControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserLocationControl.vue?vue&type=template&id=34b57b3b&scoped=true\"\nimport script from \"./UserLocationControl.vue?vue&type=script&lang=js\"\nexport * from \"./UserLocationControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserLocationControl.vue?vue&type=style&index=0&id=34b57b3b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34b57b3b\",\n null\n \n)\n\nexport default component.exports","","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MapMixin.vue?vue&type=script&lang=js\"\nexport * from \"./MapMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Control } from 'ol/control.js';\n\nexport default {\n\tprops: {\n\t\tmap: {\n\t\t\ttype: Object\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcontrol: null\n\t\t};\n\t},\n\tmounted() {\n\t\tthis.control = new Control({\n\t\t\telement: this.$el\n\t\t});\n\t},\n\twatch: {\n\t\tmap(newMap) {\n\t\t\tif (newMap) {\n\t\t\t\tthis.map.addControl(this.control);\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\tgetControl() {\n\t\t\treturn this.control;\n\t\t}\n\t}\n}"],"names":["mixins","EventBusMixin","methods","addGeoJson","geojson","selectable","title","fillOrStyle","source","VectorSource","createGeoJsonSource","map","getView","getProjection","layer","VectorLayer","Utils","isObject","setStyle","removeLayerFill","addLayer","extent","getExtent","extentIsEmpty","fit","getFitOptions","select","Select","hitTolerance","multi","condition","singleClick","layers","on","onSelect","addInteraction","event","selected","length","feature","props","omitFromObject","getProperties","getId","broadcast","projection","features","detectGeoJson","GeoJSON","readFeatures","featureProjection","wrapX","render","staticRenderFns","component","GeoJsonMixin","addExtent","data","fill","footprint","west","east","south","north","type","spatial","bbox","extentToBBox","geometry","Array","isArray","addRectangles","rectangles","mapProj","polygon","PolygonFromExtent","transform","Feature","displayInLayerSwitcher","style","getStyle","setFill","_vm","this","_c","_self","directives","name","rawName","value","show","expression","staticClass","width","percent","_v","_s","label","ControlMixin","loading","loaded","computed","toFixed","addLoading","update","addLoaded","staticStyle","attrs","$event","preventDefault","stopPropagation","request","apply","arguments","navigator","geolocation","getCurrentPosition","position","view","coords","longitude","latitude","setCenter","fromLonLat","error","maximumAge","Infinity","idCounter","components","ProgressControl","UserLocationControl","Boolean","default","editable","removableLayers","id","options","watch","showMap","mounted","$nextTick","renderMap","$emit","createMap","opts","viewOpts","showFullExtent","ProjManager","get","Projection","View","getCenter","location","$config","mapLocation","getZoom","setZoom","mapZoom","updateSize","customControls","FullScreen","ScaleLine","mapOptions","target","controls","defaultControls","extend","interactions","Map","listen","updateMapSize","addLayerSwitcher","trash","addControl","LayerSwitcher","addBasemaps","basemapOptions","opaque","attributionsCollapsible","baselayers","basemaps","hasDefault","basemap","XYZ","Object","assign","baselayer","TileLayer","trackTileProgress","baseLayer","noSwitcherDelete","visible","push","setOptions","key","onShow","onHide","unlisten","addLayerToMap","set","removeLayerFromMap","getLayerFromMap","removeLayer","getLayers","getArray","getVisibleLayers","shownLayers","getVisible","paddingPc","fitOptions","size","getSize","padding","$refs","progress","loadedFn","toExtent","control","Control","element","$el","newMap","getControl"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/9882.6fcac763.js","mappings":"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","sources":["webpack://@openeo/web-editor/src/components/maps/GeoJsonMixin.vue","webpack://@openeo/web-editor/./src/components/maps/GeoJsonMixin.vue?fc6d","webpack://@openeo/web-editor/./src/components/maps/GeoJsonMixin.vue","webpack://@openeo/web-editor/src/components/maps/ExtentMixin.vue","webpack://@openeo/web-editor/./src/components/maps/ExtentMixin.vue?0e90","webpack://@openeo/web-editor/./src/components/maps/ExtentMixin.vue","webpack://@openeo/web-editor/./src/components/maps/ProgressControl.vue","webpack://@openeo/web-editor/src/components/maps/ProgressControl.vue","webpack://@openeo/web-editor/./src/components/maps/ProgressControl.vue?5a7a","webpack://@openeo/web-editor/./src/components/maps/ProgressControl.vue?33a4","webpack://@openeo/web-editor/./src/components/maps/UserLocationControl.vue","webpack://@openeo/web-editor/src/components/maps/UserLocationControl.vue","webpack://@openeo/web-editor/./src/components/maps/UserLocationControl.vue?5ceb","webpack://@openeo/web-editor/./src/components/maps/UserLocationControl.vue?73c5","webpack://@openeo/web-editor/src/components/maps/MapMixin.vue","webpack://@openeo/web-editor/./src/components/maps/MapMixin.vue?c1da","webpack://@openeo/web-editor/./src/components/maps/MapMixin.vue","webpack://@openeo/web-editor/./src/components/maps/ControlMixin.js"],"sourcesContent":["","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeoJsonMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GeoJsonMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./GeoJsonMixin.vue?vue&type=script&lang=js\"\nexport * from \"./GeoJsonMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExtentMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExtentMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./ExtentMixin.vue?vue&type=script&lang=js\"\nexport * from \"./ExtentMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}],staticClass:\"ol-unselectable ol-progress-control\"},[_c('div',{staticClass:\"progress-bar\"},[_c('div',{staticClass:\"progress-bar-inner\",style:({width: _vm.percent})})]),_c('div',{staticClass:\"progress-label\"},[_vm._v(_vm._s(_vm.label))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProgressControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProgressControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProgressControl.vue?vue&type=template&id=3a0e8f20&scoped=true\"\nimport script from \"./ProgressControl.vue?vue&type=script&lang=js\"\nexport * from \"./ProgressControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProgressControl.vue?vue&type=style&index=0&id=3a0e8f20&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a0e8f20\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ol-location ol-unselectable ol-control\",staticStyle:{\"pointer-events\":\"auto\"}},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"Go to your location\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.request.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-location-arrow\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserLocationControl.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserLocationControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserLocationControl.vue?vue&type=template&id=34b57b3b&scoped=true\"\nimport script from \"./UserLocationControl.vue?vue&type=script&lang=js\"\nexport * from \"./UserLocationControl.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserLocationControl.vue?vue&type=style&index=0&id=34b57b3b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34b57b3b\",\n null\n \n)\n\nexport default component.exports","","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MapMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MapMixin.vue?vue&type=script&lang=js\"\nexport * from \"./MapMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Control } from 'ol/control.js';\n\nexport default {\n\tprops: {\n\t\tmap: {\n\t\t\ttype: Object\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcontrol: null\n\t\t};\n\t},\n\tmounted() {\n\t\tthis.control = new Control({\n\t\t\telement: this.$el\n\t\t});\n\t},\n\twatch: {\n\t\tmap(newMap) {\n\t\t\tif (newMap) {\n\t\t\t\tthis.map.addControl(this.control);\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\tgetControl() {\n\t\t\treturn this.control;\n\t\t}\n\t}\n}"],"names":["mixins","EventBusMixin","methods","addGeoJson","geojson","selectable","title","fillOrStyle","source","VectorSource","createGeoJsonSource","map","getView","getProjection","layer","VectorLayer","Utils","isObject","setStyle","removeLayerFill","addLayer","extent","getExtent","extentIsEmpty","fit","getFitOptions","select","Select","hitTolerance","multi","condition","singleClick","layers","on","onSelect","addInteraction","event","selected","length","feature","props","omitFromObject","getProperties","getId","broadcast","projection","features","detectGeoJson","GeoJSON","readFeatures","featureProjection","wrapX","render","staticRenderFns","component","GeoJsonMixin","addExtent","data","fill","footprint","west","east","south","north","type","spatial","bbox","extentToBBox","geometry","Array","isArray","addRectangles","rectangles","mapProj","polygon","PolygonFromExtent","transform","Feature","displayInLayerSwitcher","style","getStyle","setFill","_vm","this","_c","_self","directives","name","rawName","value","show","expression","staticClass","width","percent","_v","_s","label","ControlMixin","loading","loaded","computed","toFixed","addLoading","update","addLoaded","staticStyle","attrs","$event","preventDefault","stopPropagation","request","apply","arguments","navigator","geolocation","getCurrentPosition","position","view","coords","longitude","latitude","setCenter","fromLonLat","error","maximumAge","Infinity","idCounter","components","ProgressControl","UserLocationControl","Boolean","default","editable","removableLayers","id","options","watch","showMap","mounted","$nextTick","renderMap","$emit","createMap","opts","viewOpts","showFullExtent","ProjManager","get","Projection","View","getCenter","location","$config","mapLocation","getZoom","setZoom","mapZoom","updateSize","customControls","FullScreen","ScaleLine","mapOptions","target","controls","defaultControls","extend","interactions","Map","listen","updateMapSize","addLayerSwitcher","trash","addControl","LayerSwitcher","addBasemaps","basemapOptions","opaque","attributionsCollapsible","baselayers","basemaps","hasDefault","basemap","XYZ","Object","assign","baselayer","TileLayer","trackTileProgress","baseLayer","noSwitcherDelete","visible","push","setOptions","key","onShow","onHide","unlisten","addLayerToMap","set","removeLayerFromMap","getLayerFromMap","removeLayer","getLayers","getArray","getVisibleLayers","shownLayers","getVisible","paddingPc","fitOptions","size","getSize","padding","$refs","progress","loadedFn","toExtent","control","Control","element","$el","newMap","getControl"],"sourceRoot":""} \ No newline at end of file diff --git a/js/app.b5b9589a.js b/js/app.9e3967de.js similarity index 97% rename from js/app.b5b9589a.js rename to js/app.9e3967de.js index 670f786e..24e136fd 100644 --- a/js/app.b5b9589a.js +++ b/js/app.9e3967de.js @@ -1,2 +1,2 @@ -(()=>{var e={44263:(e,t,s)=>{"use strict";s.d(t,{A:()=>u});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"logo"},[e.$config.logo?t("img",{attrs:{src:e.$config.logo,alt:e.$config.serviceName}}):e._e(),t("h2",[e._v(e._s(e.$config.appName)+" "),t("span",{staticClass:"version",on:{click:e.showWebEditorInfo}},[e._v(e._s(e.version))])])])},i=[],o=s(61663),a=s(8330);const n={name:"Logo",mixins:[o.A],data(){return{version:a.version}},methods:{showWebEditorInfo(){this.broadcast("showWebEditorInfo")}}},c=n;var l=s(81656),d=(0,l.A)(c,r,i,!1,null,"af3cbbb2",null);const u=d.exports},39294:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var r=function(){var e=this,t=e._self._c;return t("Modal",{attrs:{show:e.show,title:"Add data from external source",submitFunction:e.submit},on:{closed:function(t){return e.$emit("closed")}},scopedSlots:e._u([{key:"default",fn:function(){return[t("div",{staticClass:"content"},[t("p",[e._v("You can add a layer with data from an external data source.")]),t("strong",[e._v("Internet Adress:")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.url,expression:"url"}],staticClass:"url",attrs:{type:"url",name:"url",placeholder:"https://"},domProps:{value:e.url},on:{input:function(t){t.target.composing||(e.url=t.target.value)}}}),t("br"),t("br"),t("strong",[e._v("Format:")]),t("ul",{staticClass:"formats"},[t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.format,expression:"format"}],attrs:{type:"radio",name:"format",value:"geojson",id:"f_geojson"},domProps:{checked:e._q(e.format,"geojson")},on:{change:function(t){e.format="geojson"}}}),t("label",{attrs:{for:"f_geojson"}},[e._v("GeoJSON")])]),t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.format,expression:"format"}],attrs:{type:"radio",name:"format",value:"geotiff",id:"f_geotiff"},domProps:{checked:e._q(e.format,"geotiff")},on:{change:function(t){e.format="geotiff"}}}),t("label",{attrs:{for:"f_geotiff"}},[e._v("Cloud-Optimized GeoTIFF")])]),t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.format,expression:"format"}],attrs:{type:"radio",name:"format",value:"stac",id:"f_stac"},domProps:{checked:e._q(e.format,"stac")},on:{change:function(t){e.format="stac"}}}),t("label",{attrs:{for:"f_stac"}},[e._v("STAC Item / Collection - shows displayable assets")])])])])]},proxy:!0},{key:"footer",fn:function(){return[t("div",{staticClass:"footer"},[t("button",{attrs:{type:"submit",disabled:!e.hasUrl||!e.format}},[t("i",{directives:[{name:"show",rawName:"v-show",value:e.loading,expression:"loading"}],staticClass:"fas fa-spinner fa-spin"}),e._v(" Add layer ")])])]},proxy:!0}])})},i=[],o=s(2566),a=s(94679);const n={name:"AddMapDataModal",components:{Modal:a.A},data(){return{loading:!1,show:!0,url:null,format:null}},computed:{...o.A.mapState("editor",["formatRegistry"]),hasUrl(){return o.A.isUrl(this.url)},mediaType(){switch(this.format){case"geojson":return"application/geo+json";case"geotiff":return"image/tiff; application=geotiff; cloud-optimized=true";case"stac":return"application/json";default:return null}}},watch:{url(){if(o.A.hasText(this.url))try{const e=new URL(this.url);e.pathname.endsWith(".tiff")||e.pathname.endsWith(".tif")?this.format="geotiff":e.pathname.endsWith(".geojson")&&(this.format="geojson")}catch(e){}}},methods:{async submit(){if(this.hasUrl){this.loading=!0;try{let e=[];if("stac"===this.format){const t=await axios.get(this.url);if(e=this.formatRegistry.createFilesFromSTAC(t.data),0===e.length)return void o.A.error(this,"No displayable data available in the provided STAC.")}else{const t={href:this.url,type:this.mediaType};e.push(this.formatRegistry.createFileFromAsset(t))}this.$emit("save",e),this.show=!1}catch(e){o.A.error(this,e,"URL provided does not return a supported file format.")}finally{this.loading=!1}}}}},c=n;var l=s(81656),d=(0,l.A)(c,r,i,!1,null,"0428e96a",null);const u=d.exports},94679:(e,t,s)=>{"use strict";s.d(t,{A:()=>u});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"modal",style:{"z-index":e.zIndex},on:{mousedown:e.backgroundClose}},[t(e.containerTag,{ref:"container",tag:"component",staticClass:"modal-container",class:{smooth:e.smooth},style:e.style,on:{submit:function(t){return t.preventDefault(),t.stopPropagation(),e.submitFunction.apply(null,arguments)}}},[t("header",{staticClass:"modal-header",on:{mousedown:e.startMove}},[e._t("header",(function(){return[t("h2",[e._v(e._s(e.title))]),t("span",{staticClass:"close",on:{click:e.close}},[t("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})])]}))],2),t("main",{staticClass:"modal-content"},[e._t("default")],2),t("footer",{staticClass:"modal-footer"},[e._t("footer",(function(){return[e.submitFunction?t("button",{attrs:{type:"submit"}},[e._v(e._s(e.submitButtonText))]):e._e()]}))],2)])],1)},i=[],o=s(61663),a=s(2566);const n={name:"Modal",mixins:[o.A],props:{title:{type:String,default:null},minWidth:{type:String,default:null},width:{type:String,default:"auto"},show:{type:Boolean,default:!0},submitFunction:{type:Function,default:null},submitButtonText:{type:String,default:"Submit"}},data(){return{zIndex:1e3,position:null,dragPosition:null,smooth:!1}},computed:{...a.A.mapState("editor",["hightestModalZIndex"]),style(){let e={width:this.width};return this.minWidth&&(e["min-width"]=this.minWidth),Array.isArray(this.position)&&(e.position="absolute",e.left=this.position[0]+"px",e.top=this.position[1]+"px"),e},containerTag(){return this.submitFunction?"form":"div"}},watch:{show:{immediate:!0,handler(e){e?this.open():this.close()}},width(){this.smoothResize()},minWidth(){this.smoothResize()}},methods:{...a.A.mapMutations("editor",["openModal","closeModal"]),smoothResize(){this.smooth=!0,setTimeout((()=>this.smooth=!1),600)},submit(e){this.submitFunction(e)},open(){this.openModal(),this.zIndex=this.hightestModalZIndex,window.addEventListener("keydown",this.escCloseListener),this.$emit("shown")},close(){window.removeEventListener("keydown",this.escCloseListener),this.closeModal(),this.$emit("closed")},startMove(e){"H2"!==e.target.tagName&&(this.dragPosition=[e.clientX,e.clientY],document.addEventListener("mousemove",this.move),document.addEventListener("mouseup",this.stopMove),e.preventDefault(),e.stopPropagation())},stopMove(){document.removeEventListener("mousemove",this.move),document.removeEventListener("mouseup",this.stopMove)},move(e){e.preventDefault(),this.position=[this.$refs.container.offsetLeft-(this.dragPosition[0]-e.clientX),this.$refs.container.offsetTop-(this.dragPosition[1]-e.clientY)],this.dragPosition=[e.clientX,e.clientY]},escCloseListener(e){if("Escape"==e.key)return this.close(),e.preventDefault(),e.stopPropagation(),!1},backgroundClose(e){e.target===this.$el&&this.close()}}},c=n;var l=s(81656),d=(0,l.A)(c,r,i,!1,null,null,null);const u=d.exports},19306:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});const r={serverUrl:"",serviceName:"openEO",appName:"Web Editor",skipLogin:!1,mapLocation:[49.8,9.9],mapZoom:4,geocoder:"https://nominatim.openstreetmap.org/search",loginMessage:"",logo:"./logo.png",snotifyDefaults:{timeout:1e4,titleMaxLength:30,bodyMaxLength:120,showProgressBar:!0,closeOnClick:!0,pauseOnHover:!0},supportedMapServices:["xyz","wmts"],supportedBatchJobSharingServices:["ShareEditor","CopyUrl","TwitterShare"],supportedWebServiceSharingServices:["ShareEditor","CopyUrl","TwitterShare"],supportedWizards:[{component:"SpectralIndices",title:"Compute Spectral Indices",description:"A spectral index is a mathematical equation that is applied on the various spectral bands of an image per pixel. It is often used to highlight vegetation, urban areas, snow, burn, soil, or water/drought/moisture stress. Provided by Awesome Spectral Indices (https://github.com/awesome-spectral-indices/awesome-spectral-indices).",requiredProcesses:["reduce_dimension"]}],basemaps:[{title:"OpenStreetMap",url:"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png",attributions:'© OpenStreetMap contributors.',maxZoom:19}],importCommunityExamples:!0,processNamespaces:[],oidcClientIds:{},showHttpWarning:!0,dataRefreshInterval:2,showExperimentalByDefault:!1,showDeprecatedByDefault:!1}},61663:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});const r={data(){return{eventBusListeners:{}}},beforeDestroy(){for(var e in this.eventBusListeners)this.$root.$off(e,this.eventBusListeners[e])},methods:{hasListener(e){return!!this.eventBusListeners[e]},listen(e,t){this.unlisten(e),this.$root.$on(e,t),this.eventBusListeners[e]=t},unlisten(e){this.hasListener(e)&&(this.$root.$off(e,this.eventBusListeners[e]),delete this.eventBusListeners[e])},broadcast(){this.$root.$emit(...arguments)}}}},51176:(e,t,s)=>{"use strict";s.d(t,{A:()=>c});var r=s(96737),i=s(89718),o=s(95286),a=s(84078),n=s(2566);class c{static async get(e){return e instanceof o.A?e:await c._load(e)}static add(e,t,s){try{r.A.defs(e,t),(0,a.kz)(r.A);let o=(0,i.get)(e);return Array.isArray(s)&&(s=(0,i.transformExtent)(s,"EPSG:4326",o),o.setExtent(s)),t.includes("+datum=WGS84")&&(o.basemap=!0),o}catch(o){return console.error(o),null}}static async addFromStac(e){if(n.A.isObject(e)&&n.A.isObject(e.properties)){if(e.properties["proj:code"])return await c.get(e.properties["proj:code"]);if(e.properties["proj:wkt2"])return c.add(e.id,e.properties["proj:wkt2"])}return null}static async _load(e){let t,r;if("string"===typeof e&&e.match(/^EPSG:\d+$/i))t=e.toUpperCase(),r=e.substr(5);else{if(!Number.isInteger(e))return null;t=`EPSG:${e}`,r=String(e)}let o=(0,i.get)(t);if(o)return o;let a=await s.e(4054).then(s.t.bind(s,14054,19));return r in a?c.add(t,a[r][0],a[r][1]):null}}},40772:(e,t,s)=>{"use strict";s.d(t,{A:()=>o});var r=s(6765);class i extends r.wI{constructor(e,t=[",",";"]){super(e,"TableViewer","fa-table"),this.delim=t}async parseData(e){if("string"===typeof e){let t=this.parseCSV(e.trim());return t.map((e=>e.map((e=>(e=e.trim(),0===e.length?NaN:isNaN(e)?e:parseFloat(e))))))}return e}parseCSV(e){for(var t=[],s=!1,r=0,i=0,o=0;o{"use strict";s.d(t,{rS:()=>a,wI:()=>o,yL:()=>i});var r=s(2566);class i{constructor(e){Object.assign(this,e),this.context=null}setContext(e){this.context=e}getContext(){return this.context}getUrl(){return this.href}canGroup(){return!1}isBinary(){return!0}download(e=null){let t=document.createElement("a");t.style.display="none",t.href=this.getUrl(),t.setAttribute("download",e||r.A.makeFileName("result",this.type)),t.setAttribute("target","_blank"),document.body.appendChild(t),t.click(),document.body.removeChild(t)}async loadData(e){this.loaded||(this.data=await this.fetchData(e),this.loaded=!0)}getData(){if(!this.loaded)throw new Error("Data must be loaded before");return this.data}async fetchData(e){let t,s=this.getUrl();if(s.startsWith("blob:")){let e=await fetch(s);t=await e.blob()}else{let r=!1;try{let t=new URL(e.getUrl()),i=new URL(s);r=t.origin===i.origin}catch(o){}t=await e.download(s,r)}let r=new Promise(((e,s)=>{let r=new FileReader;r.onload=t=>e(t.target.result),r.onerror=s,this.isBinary()?r.readAsBinaryString(t):r.readAsText(t)})),i=await r;return await this.parseData(i)}async parseData(e){return e}}class o extends i{constructor(e,t=null,s="fa-database",r={},i={}){super(e),this.loaded=!1,this.component=t,this.props=r,this.props.data||(this.props.data=this),this.icon=s,this.events=i}isBinary(){return!1}}class a extends i{constructor(e){super(e)}}},76130:(e,t,s)=>{"use strict";s.d(t,{A:()=>m});var r=s(6765),i=s(2566),o=s(51176),a=s(34099),n=s(98622),c=s(89718),l=s(95286),d=s(8100);const u="STATISTICS_MINIMUM",p="STATISTICS_MAXIMUM",h="DESCRIPTION";class f extends r.wI{constructor(e,t){super(e,"MapViewer","fa-map",{removableLayers:!0}),this._bands=[],this._nodata=[],this.img=null,this.projection=null,this.extent=null,this.convertToRGB=!1,this.stac=t}isBinary(){return!0}canGroup(){return!0}async loadData(e){return this.loaded||(await this.parseMetadata(),this.loaded=!0),this}getData(){return this}async parseMetadata(){let e,t,s=this.stac&&(this.stac.geometry||this.stac.extent);this.projection=await o.A.addFromStac(this.stac),Array.isArray(this["file:nodata"])&&this["file:nodata"].length>0&&(this._nodata=i.A.parseNodata(this["file:nodata"])),Array.isArray(this.bands)&&this.bands.length>0&&this.bands.forEach(((e,t)=>{e.name&&this.setBandInfo(t,{name:e.name}),i.A.isObject(e.statistics)&&this.setBandInfo(t,{min:e.statistics.minimum,max:e.statistics.maximum}),0===this._nodata.length&&"undefined"!==typeof e.nodata&&this._nodata.push(i.A.parseNodata(e.nodata))})),e=this.getBlob()?await(0,a._F)(this.getBlob()):await(0,a.uz)(this.getUrl()),this.img=await e.getImage();for(let o=0;o{"use strict";s.d(t,{A:()=>a});var r=s(2566),i=s(6765);class o extends i.wI{constructor(e,t="DataViewer"){super(e,t),this.isGeoJson=!1}async parseData(e){if("string"===typeof e)try{e=JSON.parse(e)}catch(t){console.log(t)}return r.A.detectGeoJson(e)?(this.isGeoJson=!0,this.component="MapViewer",this.icon="fa-map"):this.isTable(e)&&(this.component="TableViewer",this.icon="fa-table"),e}isTable(e){if(!e||"object"!==typeof e||0===r.A.size(e))return!1;let t=Object.values(e),s=Object.keys(t[0]);return!t.some((e=>!e||"object"!==typeof e||!r.A.equals(Object.keys(e),s)))}}const a=o},73657:(e,t,s)=>{"use strict";var r=s(85471),i=s(96346),o=s(95353),a=s(73902),n=s(31572),c=s(71321),l=s.n(c),d=s(2566),u=s(60478),p=s(14894);const h={mathProcesses:null,getMathProcesses(){return this.mathProcesses||(this.mathProcesses=this.all().filter(u.A.isMathProcess)),this.mathProcesses},isMath(e){if(e instanceof p.ProcessGraph&&(e=e.process),!d.A.isObject(e)||0===d.A.size(e.process_graph))return null;let t=this.getMathProcesses().map((e=>e.id)).concat(Object.values(a.Formula.operatorMapping)).concat(Object.keys(a.Formula.arrayOperatorMapping)).concat(["array_element"]),s=Object.values(e.process_graph).find((e=>!t.includes(e.process_id)));return"undefined"===typeof s}};var f=s(19306),m=s(58597),v=s(6765);class g extends v.wI{constructor(e){super(e,"ImageViewer","fa-image")}isBinary(){return!0}async fetchData(){return new Promise(((e,t)=>{let s=new Image;s.crossOrigin="anonymous",s.onerror=()=>t(new Error("Failed to load the image")),s.onload=()=>e(s),s.fetchPriotity="high",s.decoding="sync",s.src=this.getUrl()}))}}const b=g;var y=s(40772),w=s(76130),A=s(75024);class C extends v.wI{constructor(e){super(e,"DataViewer")}}const P=C;class x extends y.A{constructor(e){super(e,["\t"])}}const S=x;class _{constructor(){}createFilesFromSTAC(e,t=null){let s=Object.values(e.assets).filter((e=>!Array.isArray(e.roles)||!e.roles.includes("metadata"))).map((t=>this.createFileFromAsset(t,e)));return t&&s.forEach((e=>e.setContext(t))),s}createFilesFromBlob(e){if(!(e instanceof Blob))throw new Error("Given data is not a valid Blob");return this.createFilesFromSTAC({stac_version:"1.0.0",type:"Feature",geometry:null,properties:{},links:[],assets:{result:{href:URL.createObjectURL(e),blob:e,type:e.type}}})}createFileFromAsset(e,t){try{if("string"===typeof e.type){let s=m.parse(e.type.toLowerCase());switch(s.type){case"image/png":case"image/jpg":case"image/jpeg":case"image/gif":case"image/webp":return new b(e);case"application/json":case"text/json":case"application/geo+json":return new A.A(e);case"text/plain":return new P(e);case"text/csv":return new y.A(e);case"text/tab-separated-values":return new S(e);case"image/tiff":return new w.A(e,t)}}if("string"===typeof e.href){let s=e.href.split(/[#?]/)[0].split(".").pop().trim().toLowerCase();switch(s){case"png":case"jpg":case"jpeg":case"gif":case"webp":return new b(e);case"json":case"geojson":return new A.A(e);case"txt":return new P(e);case"csv":return new y.A(e);case"tsv":return new S(e);case"tif":case"tiff":return new w.A(e,t)}}}catch(s){console.log(s)}return new v.rS(e)}}const M="serverUrls",T=()=>({appMode:null,storedServers:JSON.parse(localStorage.getItem(M)||"[]"),context:null,process:null,discoverySearchTerm:"",hightestModalZIndex:1e3,epsgCodes:[],initialProcess:null,initialNode:null,openWizard:null,openWizardProps:{},collectionPreview:null,viewerOptions:{},modelDnD:null,formatRegistry:new _}),O={namespaced:!0,state:T(),getters:{hasProcess:e=>d.A.isObject(e.process)&&d.A.size(e.process)>0&&d.A.size(e.process.process_graph),getModelNodeFromDnD:(e,t,s,r)=>()=>new Promise(((t,s)=>{if(!e.modelDnD)return void t(null);const i=()=>{switch(e.modelDnD.type){case"collection":return{process_id:"load_collection",arguments:r.collectionDefaults(e.modelDnD.data.id)};case"process":return{process_id:e.modelDnD.data.id,namespace:e.modelDnD.data.namespace,arguments:{}};case"udf":return{process_id:"run_udf",arguments:e.modelDnD.data};case"fileformat":return{process_id:"save_result",arguments:{format:e.modelDnD.data.name,options:{}}};default:return null}};if(e.modelDnD.loading){let s=setInterval((()=>{e.modelDnD&&!e.modelDnD.loading&&(clearInterval(s),t(i()))}),50)}else t(i())}))},actions:{async loadEpsgCodes(e){if(0===e.state.epsgCodes.length){let t=await s.e(4011).then(s.t.bind(s,64011,19));e.commit("epsgCodes",t.default)}},async loadInitialProcess(e){if(!e.state.process)if(d.A.isUrl(e.state.initialProcess)){let s=await axios(e.state.initialProcess);if(d.A.isObject(s.data)){var t=new p.ProcessGraph(s.data);t.parse(),e.commit("setProcess",s.data)}}else if("string"===typeof e.state.initialProcess&&e.state.initialProcess.length>0){let[t,r]=d.A.extractUDPParams(e.state.initialProcess);try{await e.dispatch("loadProcess",{id:t,namespace:r},{root:!0})}catch(s){console.warn(s)}e.commit("setProcess",{process_graph:{[t]:{process_id:t,namespace:r,arguments:{},result:!0}}})}},async loadForAppMode(e){if(e.state.appMode&&"service"!==e.state.appMode.resultType)try{let t=await axios(e.state.appMode.resultUrl);d.A.isObject(t.data)&&e.commit("setAppModeData",t.data)}catch(t){throw console.error(t),new Error("Sorry, the shared data is not available anymore!")}}},mutations:{setModelDnd(e,t=null){e.modelDnD=t},setDiscoverySearchTerm(e,t){e.discoverySearchTerm="string"===typeof t?t:""},setInitialProcess(e,t){e.initialProcess=t},setInitialNode(e,t){e.initialNode=t},setAppMode(e,t){e.appMode={...t,title:"Results",data:null,expires:null}},setAppModeData(e,t){let s,i,o;r.Ay.set(e.appMode,"data",t),"Collection"===t.type?(s=d.A.getProcessingExpression(t)||d.A.getProcessingExpression(t.summaries),i=t.title,o=t.expires):"Feature"===t.type&&(s=d.A.getProcessingExpression(t.properties),i=t.properties?.title,o=t.properties?.expires),s&&(e.process=s),i&&(r.Ay.set(e.appMode,"title",i),r.Ay.set(e.appMode,"expires",o),e.context=i)},setViewerOptions(e,t){e.viewerOptions=t||{}},setOpenWizard(e,{component:t,options:s}){e.openWizard=t,t&&(e.openWizardProps=s)},setCollectionPreview(e,t){e.collectionPreview=t,e.discoverySearchTerm||(e.discoverySearchTerm="string"===typeof t?t:"")},openModal(e){e.hightestModalZIndex=e.hightestModalZIndex+1},closeModal(e){e.hightestModalZIndex=e.hightestModalZIndex-1},addServer(e,t){-1===e.storedServers.indexOf(t)&&e.storedServers.push(t),localStorage.setItem(M,JSON.stringify(e.storedServers))},removeServer(e,t){e.storedServers.splice(e.storedServers.indexOf(t),1),localStorage.setItem(M,JSON.stringify(e.storedServers))},setContext(e,t){e.context=t,t instanceof a.Job||t instanceof a.Service?e.process=t.process:t instanceof a.UserProcess?e.process=t.toJSON():d.A.isObject(t)&&t.process?e.process=t.process:e.process=t},setProcess(e,t){e.process=t},epsgCodes(e,t){e.epsgCodes=t},reset(e){Object.assign(e,T())}}},F=({namespace:e,listFn:t,createFn:s,updateFn:i,deleteFn:o,readFn:c,readFnById:l,customizations:d,primaryKey:u})=>{u||(u="id");const p=()=>{let t={};return t[e]=[],t};let h={namespaced:!0,state:p(),getters:{supportsList:(e,s,r,i)=>i.supports(t),supportsCreate:(e,t,r,i)=>i.supports(s),supportsUpdate:(e,t,s,r)=>r.supports(i),supportsDelete:(e,t,s,r)=>r.supports(o),supportsRead:(e,t,s,r)=>r.supports(c),getById:t=>s=>{let r=t[e].find((e=>e[u]===s));return"undefined"!==typeof r?r:null}},actions:{async create(e,t){if(e.getters.supportsCreate){let r=e.rootState.connection,i=await r[s].apply(r,t);return e.commit("upsert",i),i}throw new Error("Adding is not supported by the server.")},async delete(e,{data:t}){if(!e.getters.supportsDelete)throw new Error("Deleting is not supported by the server.");await t[o](),e.commit("delete",t)},async update(e,{data:t,parameters:s}){if(e.getters.supportsUpdate){let r=await t[i](s);return e.commit("upsert",r),r}throw new Error("Updating is not supported by the server.")},async read(e,{data:t}){let s=null;if(!(t instanceof a.UserProcess)){let r=n.Utils.isObject(t)?t[u]:t;t=e.getters.getById(r),t||(s=await e.rootState.connection[l](t))}return s||(s=await t[c]()),e.commit("upsert",s),s},async list(s){var r=[];return s.getters.supportsList&&(r=await s.rootState.connection[t](s.state[e])),s.commit("data",r),r}},mutations:{data(t,s){t[e]=s.map((e=>r.Ay.observable(e)))},upsert(t,s){let i=s[u],o=t[e].findIndex((e=>e[u]===i)),a=r.Ay.observable(s);o>=0?r.Ay.set(t[e],o,a):t[e].push(a)},delete(t,s){let i=s[u],o=t[e].findIndex((e=>e[u]===i));o>=0&&r.Ay.delete(t[e],o)},reset(e){Object.assign(e,p())}}};for(let r in d)Object.assign(h[r],d[r]);return h},U=F({namespace:"files",listFn:"listFiles",createFn:"uploadFile",updateFn:"uploadFile",deleteFn:"deleteFile",readFn:"downloadFile",readFnById:"getFile",primaryKey:"path",customizations:{getters:{},actions:{},mutations:{}}}),j=F({namespace:"jobs",listFn:"listJobs",createFn:"createJob",updateFn:"updateJob",deleteFn:"deleteJob",readFn:"describeJob",readFnById:"getJob",customizations:{getters:{supportsQueue:(e,t,s,r)=>r.supports("startJob"),supportsCancel:(e,t,s,r)=>r.supports("stopJob")},actions:{async queue(e,{data:t}){if(e.getters.supportsQueue){let s=await t.startJob();return e.commit("upsert",s),s}throw new Error("Queueing a batch job is not supported by the server.")},async cancel(e,{data:t}){if(e.getters.supportsCancel){let s=await t.stopJob();return e.commit("upsert",s),s}throw new Error("Canceling a batch job is not supported by the server.")}},mutations:{}}}),D=F({namespace:"services",listFn:"listServices",createFn:"createService",updateFn:"updateService",deleteFn:"deleteService",readFn:"describeService",readFnById:"getService",customizations:{getters:{},actions:{},mutations:{}}}),I=F({namespace:"userProcesses",listFn:"listUserProcesses",createFn:"setUserProcess",updateFn:"replaceUserProcess",deleteFn:"deleteUserProcess",readFn:"describeUserProcess",readFnById:"getUserProcess",customizations:{getters:{},actions:{},mutations:{data(e,t){e.userProcesses=t.map((e=>Object.assign(e,{namespace:"user"}))).filter((e=>"string"===typeof e.id)).sort(d.A.sortById)}}}});r.Ay.use(o.Ay),a.Formula.arrayOperatorMapping={product:"*",sum:"+"},a.Formula.reverseOperatorMapping=(()=>{let e={};for(var t in a.Formula.operatorMapping)e[a.Formula.operatorMapping[t]]=t;return Object.assign(e,a.Formula.arrayOperatorMapping)})();const L=()=>({connection:null,activeRequests:0,discoveryCompleted:!1,isAuthenticated:!1,userInfo:{},connectionError:null,beforeLogoutListener:{},authProviders:[],fileFormats:{},serviceTypes:{},udfRuntimes:{},processesUpdated:0,collections:[],processNamespaces:f.A.processNamespaces||[]}),k=new o.Ay.Store({modules:{editor:O,files:U,jobs:j,services:D,userProcesses:I},state:L(),getters:{title:e=>{if(null!==e.connection&&null!==e.connection.capabilities()){var t=e.connection.capabilities().title();return t||e.connection.getUrl()}return null},capabilities:e=>null!==e.connection?e.connection.capabilities():null,supports:e=>t=>null!==e.connection&&null!==e.connection.capabilities()&&e.connection.capabilities().hasFeature(t),currency:e=>{var t="";return e.connection&&null!==e.connection.capabilities().currency()&&(t=e.connection.capabilities().currency()),t},isConnected:e=>null!==e.connection&&null!==e.connection.capabilities(),isDiscovered:e=>null!==e.connection&&e.discoveryCompleted,supportsBilling:e=>null!==e.connection&&null!==e.connection.capabilities().currency(),supportsBillingPlans:e=>null!==e.connection&&null!==e.connection.capabilities().currency()&&e.connection.capabilities().listPlans().length>0,apiVersion:e=>null!==e.connection?e.connection.capabilities().apiVersion():null,fileFormats:e=>e.fileFormats instanceof a.FileTypes?e.fileFormats.toJSON():{input:{},output:{}},collectionDefaults:e=>t=>{var s=e.collections.find((e=>e.id===t));if(!d.A.isObject(s))return{};var r=null;try{r=d.A.extentToBBox(s.extent.spatial.bbox[0])}catch(a){}var i=null;try{i=s.extent.temporal.interval[0],null===i[0]&&null===i[1]?i=null:i[0]==i[1]&&(i[1]=null)}catch(a){}var o=null;return{id:t,spatial_extent:r,temporal_extent:i,bands:o}},processes:e=>{let t;return t=e.processesUpdated&&null!==e.connection?e.connection.processes:new n.ProcessRegistry,Object.assign(t,h)},supportsMath:(e,t)=>{if(e.processesUpdated){for(let e in a.Formula.operatorMapping){let s=a.Formula.operatorMapping[e];if(!t.processes.has(s))return!1}return!0}}},actions:{async connect(e,t){await e.dispatch("logout");var s=null;try{s=await a.OpenEO.connect(t,{addNamespaceToProcess:!0})}catch(i){return"Network Error"!=i.message&&"NetworkError"!=i.name||(i=new Error("Server is not available.")),e.commit("setConnectionError",i),!1}try{var r=await s.listAuthProviders();e.commit("authProviders",r)}catch(i){return e.commit("setConnectionError",i),!1}return s.on("authProviderChanged",(async t=>{e.commit("authenticated",null!==t),e.state.discoveryCompleted&&await e.dispatch("discover",!0)})),s.on("processesChanged",(()=>e.commit("updateProcesses"))),e.commit("connection",s),!0},async discover(e,t=!1){let s=[],r=[],i=e.state.connection.capabilities();if(i.hasFeature("listCollections")?s.push(e.state.connection.listCollections().then((t=>e.commit("collections",t))).catch((e=>r.push(e)))):r.push(new Error("Collections not supported by the server.")),!t){if(i.hasFeature("listProcesses")?s.push(e.state.connection.listProcesses().catch((e=>r.push(e)))):r.push(new Error("Pre-defined processes not supported by the server.")),e.state.processNamespaces.length>0)for(let t of e.state.processNamespaces)s.push(e.state.connection.listProcesses(t).catch((e=>r.push(e))));i.hasFeature("listUserProcesses")&&e.state.connection.isAuthenticated()&&s.push(e.dispatch("userProcesses/list").catch((e=>r.push(e))))}i.hasFeature("listFileTypes")&&s.push(e.state.connection.listFileTypes().then((t=>e.commit("fileFormats",t))).catch((e=>r.push(e)))),i.hasFeature("listServiceTypes")&&s.push(e.state.connection.listServiceTypes().then((t=>e.commit("serviceTypes",t))).catch((e=>r.push(e)))),i.hasFeature("listUdfRuntimes")&&s.push(e.state.connection.listUdfRuntimes().then((t=>e.commit("udfRuntimes",t))).catch((e=>r.push(e))));var o=e.dispatch("describeAccount").catch((e=>r.push(e)));if(s.push(o),await Promise.all(s),!t)try{await e.dispatch("editor/loadInitialProcess")}catch(a){r.push(a)}if(!t)try{await e.dispatch("editor/loadForAppMode")}catch(a){r.push(a)}return e.commit("discoveryCompleted"),r},async describeAccount(e){if(e.getters.supports("describeAccount")&&e.state.isAuthenticated){var t=await e.state.connection.describeAccount();e.commit("userInfo",t)}else e.commit("userInfo")},async describeCollection(e,t){let s=e.state.collections.find((e=>e.id===t));return s&&s._loaded||(s=await e.state.connection.describeCollection(t),s=l().collection(s,!1),e.commit("fillCollection",s)),s},async loadProcess(e,{id:t,namespace:s}){return process=e.getters.processes.get(t,s),d.A.isObject(process)?("backend"!==process.namespace&&("user"===process.namespace?await e.dispatch("userProcesses/read",{data:process}):process.namespace&&"backend"!==s&&await e.state.connection.describeProcess(t,process.namespace)),e.getters.processes.get(t,s)):null},async beforeLogout(e){await Promise.all(Object.values(e.state.beforeLogoutListener).map((e=>e())))},async logout(e,t=!1){if(await e.dispatch("beforeLogout"),t&&(e.state.connection.off("authProviderChanged"),e.state.connection.off("processesChanged")),e.state.isAuthenticated){var s=e.state.connection.getAuthProvider();null!==s&&await s.logout()}t?(e.commit("reset",this.isAuthenticated),e.commit("jobs/reset"),e.commit("files/reset"),e.commit("services/reset"),e.commit("userProcesses/reset")):e.commit("authenticated",!1)}},mutations:{discoveryCompleted(e,t=!0){e.discoveryCompleted=t},connection(e,t){e.connection=t},authProviders(e,t){e.authProviders=t},userInfo(e,t){e.userInfo=d.A.isObject(t)?t:{}},fileFormats(e,t){e.fileFormats=t},serviceTypes(e,t){if(d.A.isObject(t)){var s={};for(var r in t)s[r.toUpperCase()]=t[r];e.serviceTypes=s}else e.serviceTypes=t},udfRuntimes(e,t){e.udfRuntimes=t},updateProcesses(e){e.processesUpdated++},addProcessNamespacesToRequest(e,t){if("string"===typeof t&&(t=t.split(",")),Array.isArray(t))for(let s of t)s&&!e.processNamespaces.includes(s)&&e.processNamespaces.push(s)},fillCollection(e,t){let s=e.collections.findIndex((e=>e.id===t.id));-1!==s&&(t._loaded=!0,r.Ay.set(e.collections,s,t))},collections(e,t){e.collections=t.collections.map((e=>l().collection(e,!1))).filter((e=>"string"===typeof e.id)).sort(d.A.sortById)},setConnectionError(e,t){e.connectionError=t},authenticated(e,t){e.isAuthenticated=t,t||(e.userInfo={})},reset(e,t=!1){Object.assign(e,L(),{connection:t?e.connection:null})},startActiveRequest(e){e.activeRequests+=1},endActiveRequest(e){e.activeRequests-=1},beforeLogoutListener(e,{key:t,listener:s}){"function"===typeof s?e.beforeLogoutListener[t]=s:r.Ay.delete(e.beforeLogoutListener,t)}}});var E=function(){var e=this,t=e._self._c;return t("div",{staticClass:"container",class:{connecting:!e.isDiscovered}},[t("transition",{attrs:{name:"connect-fade",mode:"out-in"}},[e.isDiscovered?t("IDE",{key:"2"}):t("ConnectForm",{key:"1",attrs:{skipLogin:e.skipLogin}})],1),e._l(e.modals,(function(s){return[t(s.component,e._g(e._b({key:s.id,tag:"component",on:{closed:function(t){return e.hideModal(s)}}},"component",s.props,!1),s.events))]})),t("vue-snotify"),e.tourType?t("Tour",{model:{value:e.tourType,callback:function(t){e.tourType=t},expression:"tourType"}}):e._e(),t("span",{directives:[{name:"show",rawName:"v-show",value:e.activeRequests>0,expression:"activeRequests > 0"}],attrs:{id:"activeRequests"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-2x"})])],2)},$=[],N=s(61663),B=function(){var e=this,t=e._self._c;return t("div",{staticClass:"connectPage"},[t("Logo"),t("div",{staticClass:"connectContainer"},[t("div",{staticClass:"helpBtn",attrs:{title:"Show help"},on:{click:e.showHelp}},[t("i",{staticClass:"fas fa-question fa-fw"}),e._v(" Help")]),e.httpsUrl?t("div",{staticClass:"message error"},[t("i",{staticClass:"fas fa-shield-alt"}),t("span",[e._v("You are using an "),t("strong",[e._v("insecure")]),e._v(" HTTP connection, which is not encrypted. Please use HTTPS if possible."),t("br"),t("a",{attrs:{href:e.httpsUrl}},[e._v("Click here to switch to a secured HTTPS connection.")])])]):e._e(),e.message?t("div",{staticClass:"message warning"},[t("i",{staticClass:"fas fa-bullhorn"}),t("span",{domProps:{innerHTML:e._s(e.message)}})]):e._e(),t("transition",{attrs:{name:"connect-fade",mode:"out-in"},on:{"before-enter":e.initProviders}},[e.showConnectForm?t("form",{staticClass:"connect",on:{submit:function(t){return t.preventDefault(),e.submitForm.apply(null,arguments)}}},[t("h3",[e._v("Connect to server")]),t("div",{staticClass:"row"},[t("label",{attrs:{for:"serverUrl"}},[e._v("URL:")]),t("div",{staticClass:"input"},[t("input",{directives:[{name:"model",rawName:"v-model.lazy.trim",value:e.serverUrl,expression:"serverUrl",modifiers:{lazy:!0,trim:!0}}],staticClass:"tour-connect-url",attrs:{type:"text",id:"serverUrl",disabled:e.autoConnect},domProps:{value:e.serverUrl},on:{change:function(t){e.serverUrl=t.target.value.trim()},blur:function(t){return e.$forceUpdate()}}}),e.allowOtherServers?t("button",{staticClass:"tour-connect-history",attrs:{type:"button",title:"Select previously used server"},on:{click:e.showServerSelector}},[t("i",{staticClass:"fas fa-book"})]):e._e()])]),t("div",{staticClass:"row"},[t("button",{staticClass:"connectBtn tour-connect-retry",class:{loading:e.loading},attrs:{type:"submit"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-lg"}),e._v(" Connect")])])]):e.showLoginForm?t("div",{staticClass:"login"},[t("h3",[e._v("Log in to "+e._s(e.title))]),t("Tabs",{ref:"providers",attrs:{id:"credentials",pills:!0,pillsMultiline:!0},on:{selected:e.providerSelected},scopedSlots:e._u([{key:"dynamic",fn:function({tab:s}){return[t("form",{on:{submit:function(t){return t.preventDefault(),e.initDiscovery(s.data)}}},[s.data.description?t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-info-circle"}),t("span",[e._v(e._s(s.data.description))])]):e._e(),e.hasPredefinedOidcClientId?e._e():[t("div",{staticClass:"row"},[t("label",{attrs:{for:"password"}},[e._v("Client ID:")]),t("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.userOidcClientId,expression:"userOidcClientId",modifiers:{trim:!0}}],staticClass:"input",attrs:{type:"text",required:"required"},domProps:{value:e.userOidcClientId},on:{input:function(t){t.target.composing||(e.userOidcClientId=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-exclamation-circle"}),t("span",[e._v("You need to specify the "),t("em",[e._v("Client ID")]),e._v(" provided to you by the provider. You need to allow the "),t("a",{attrs:{href:e.oidcRedirectUrl,target:"_blank",title:e.oidcRedirectUrl}},[e._v("URL of this service")]),e._v(" as redirect URL with the authentication service.")])])],t("div",{staticClass:"row bottom"},[t("TermsOfServiceConsent"),t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-window-restore"}),t("span",[e._v("Clicking the button below may open a new window for login.")])]),t("button",{staticClass:"connectBtn",class:{loading:e.loading},attrs:{type:"submit"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-lg"}),t("i",{staticClass:"fab fa-openid"}),e._v(" Log in with "+e._s(s.name))])],1)],2)]}},e.basicProvider?{key:"basic",fn:function({tab:s}){return[t("form",{on:{submit:function(t){return t.preventDefault(),e.initDiscovery(s.data)}}},[t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-info-circle"}),t("span",[e._v("The "),t("tt",[e._v("HTTP Basic")]),e._v(" authentication method is mostly used for development and testing purposes.")],1)]),t("div",{staticClass:"row"},[t("label",{attrs:{for:"username"}},[e._v("Username:")]),t("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.username,expression:"username",modifiers:{trim:!0}}],staticClass:"input",attrs:{id:"username",type:"text",required:"required"},domProps:{value:e.username},on:{input:function(t){t.target.composing||(e.username=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),t("div",{staticClass:"row"},[t("label",{attrs:{for:"password"}},[e._v("Password:")]),t("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.password,expression:"password",modifiers:{trim:!0}}],staticClass:"input",attrs:{id:"password",type:"password",required:"required"},domProps:{value:e.password},on:{input:function(t){t.target.composing||(e.password=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),t("div",{staticClass:"row bottom"},[t("TermsOfServiceConsent"),t("button",{staticClass:"connectBtn",class:{loading:e.loading},attrs:{type:"submit"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-lg"}),e._v(" Log in")])],1)])]}}:null,{key:"noauth",fn:function(){return[t("form",{on:{submit:function(t){return t.preventDefault(),e.initDiscovery()}}},[t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-info-circle"}),t("span",[e._v("Choose this if you don't have credentials for the service provider and just want to explore the service with its available data and processes. You may not be able to process any data.")])]),t("div",{staticClass:"row bottom"},[t("TermsOfServiceConsent"),t("button",{staticClass:"connectBtn",class:{loading:e.loading},attrs:{type:"submit"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-lg"}),t("i",{staticClass:"fas fa-user-slash"}),e._v(" Proceed without logging in")])],1)])]},proxy:!0}],null,!0)}),e.allowOtherServers?t("div",{staticClass:"switch tour-login-switch"},[t("a",{on:{click:function(t){return e.switchServer()}}},[e._v("Switch server")])]):e._e()],1):e._e()])],1)],1)},R=[],q=s(44263),W=s(4615),z=s(58379),G=function(){var e=this,t=e._self._c;return e.show?t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-check-circle"}),e.terms&&e.privacy?t("span",[e._v("By clicking the button below, you agree to our "),t("a",{attrs:{href:e.terms.href,title:e.terms.title,target:"_blank"}},[e._v("Terms of Service")]),e._v(" and that you have read our "),t("a",{attrs:{href:e.privacy.href,title:e.privacy.title,target:"_blank"}},[e._v("Privacy Policy")]),e._v(".")]):e.terms?t("span",[e._v("By clicking the button below, you agree to our "),t("a",{attrs:{href:e.terms.href,title:e.terms.title,target:"_blank"}},[e._v("Terms of Service")]),e._v(".")]):e.privacy?t("span",[e._v("By clicking the button below, you agree that you have read our "),t("a",{attrs:{href:e.privacy.href,title:e.privacy.title,target:"_blank"}},[e._v("Privacy Policy")]),e._v(".")]):e._e()]):e._e()},J=[];const H={name:"TermsOfServiceConsent",computed:{...d.A.mapGetters(["capabilities"]),show(){return this.terms&&this.privacy},terms(){return this.getLinkForRel("terms-of-service")},privacy(){return this.getLinkForRel("privacy-policy")}},methods:{getLinkForRel(e){let t=this.capabilities.links().filter((t=>t.rel===e));return t.length>0?t[0]:null}}},Y=H;var V=s(81656),K=(0,V.A)(Y,G,J,!1,null,null,null);const Z=K.exports,X={name:"ConnectForm",mixins:[N.A],components:{Logo:q.A,Tabs:W["default"],Tab:z["default"],TermsOfServiceConsent:Z},props:{skipLogin:{type:Boolean,default:!1}},computed:{...d.A.mapState(["connectionError","authProviders","isAuthenticated"]),...d.A.mapGetters(["isConnected","isDiscovered","title"]),...d.A.mapState("editor",["storedServers"]),httpsUrl(){return this.$config.showHttpWarning&&!this.isLocalUrl(window.location)&&"http:"===window.location.protocol?window.location.toString().replace(/^http:/i,"https:").replace(/([\?&]server=http)(:|%3A)/,"$1s$2"):null},hasPredefinedOidcClientId(){return!(!this.provider||"oidc"!==this.provider.getType())&&Boolean(this.provider.defaultClient||this.$config.oidcClientIds[this.provider.id])},oidcClientId(){return this.provider&&"oidc"===this.provider.getType()&&(this.userOidcClientId||this.$config.oidcClientIds[this.provider.id])||null},oidcProviders(){return this.authProviders.filter((e=>"oidc"===e.getType()))},basicProvider(){return this.authProviders.find((e=>"basic"===e.getType()))||null},showConnectForm(){return!this.isConnected||this.skipLogin},showLoginForm(){return!this.showConnectForm&&!this.isDiscovered&&!this.skipLogin}},watch:{showConnectForm(e){e&&this.broadcast("title","Connect to server"),this.broadcast("stopTour")},showLoginForm(e){e&&this.broadcast("title","Log in"),this.broadcast("stopTour")}},data(){var e=500,t=500,s=50,r=50;return window.screen&&window.screen.availWidth>0&&window.screen.availHeight>0&&(e=Math.max(.8*window.screen.availWidth,e),t=Math.max(.8*window.screen.availHeight,t),s=.1*window.screen.availWidth,r=.1*window.screen.availHeight),{serverUrl:this.$config.serverUrl,allowOtherServers:!this.$config.serverUrl,autoConnect:!1,username:"",password:"",provider:null,loading:!1,message:this.$config.loginMessage,userOidcClientId:"",oidcOptions:{automaticSilentRenew:!0,popupWindowFeatures:`location=no,toolbar=no,width=${e},height=${t},left=${s},top=${r}`},oidcRedirectUrl:a.OidcProvider.redirectUrl}},async created(){var e=d.A.param("server");!this.$config.serverUrl&&e&&(this.serverUrl=e),this.serverUrl&&(this.autoConnect=!0);let t=d.A.param("oidc~prompt");["none","login","consent","select_account"].includes(t)&&(this.oidcOptions.prompt=t),a.OidcProvider.uiMethod="popup";try{await a.OidcProvider.signinCallback()}catch(s){s instanceof Error&&"No state in response"!==s.message&&d.A.exception(this,s)}},mounted(){window.onpopstate=e=>this.historyNavigate(e),window.history.replaceState({reset:!0,serverUrl:this.serverUrl},""),this.initProviders(),this.autoConnect&&this.submitForm()},methods:{...d.A.mapActions(["connect","discover","logout"]),...d.A.mapMutations(["reset"]),...d.A.mapMutations("editor",["addServer","removeServer"]),isLocalUrl(e){return Boolean("localhost"===e.hostname||"[::1]"===e.hostname||e.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))},showHelp(){this.isConnected?this.broadcast("showTour","login"):this.broadcast("showTour","connect")},historyNavigate(e){d.A.isObject(e.state)&&!e.state.reset||(this.logout(!0),this.autoConnect=!1,this.loading=!1,this.password=""),d.A.isObject(e.state)&&(e.state.serverUrl&&(this.serverUrl=e.state.serverUrl),"undefined"!==typeof e.state.autoConnect&&(this.autoConnect=e.state.autoConnect)),this.autoConnect&&this.initConnection(!!e.state.skipLogin,!0)},switchServer(){window.history.pushState({reset:!0,serverUrl:this.serverUrl,autoConnect:!0},"",this.makeUrl(!1)),this.serverUrl=null,this.autoConnect=!1,this.reset()},initProviders(){this.$refs.providers&&0===this.$refs.providers.tabs.length&&this.addProviders()},addProviders(){for(var e of this.oidcProviders)this.$refs.providers.addTab(e.getTitle(),null,e,e.getId(),!1,!1);this.basicProvider&&this.$refs.providers.addTab("Internal",null,this.basicProvider,"basic",!1,!1),this.$refs.providers.addTab("No credentials",null,null,"noauth",!1,!1),this.$nextTick((()=>this.$refs.providers.resetActiveTab(!0)))},providerSelected(e){this.provider=e.data},async submitForm(){this.isConnected||await this.initConnection(this.skipLogin,!1)},async initConnection(e=!1,t=!1){if("string"!==typeof this.serverUrl||!this.serverUrl)return void d.A.error(this,"Please specify a server.");let s=this.serverUrl;if(s.match(/^https?:\/\//i)||(s=`https://${s}`),!d.A.isUrl(s))return void d.A.error(this,"The server given is not a valid URL.");const r=new URL(s);if("https:"!==window.location.protocol||"https:"===r.protocol||this.isLocalUrl(r)){this.loading=!0;try{await this.connect(s)?(this.addServer(s),t||window.history.pushState({reset:!0,serverUrl:this.serverUrl,autoConnect:!0,skipLogin:e},"",this.makeUrl()),e&&await this.initDiscovery()):d.A.exception(this,this.connectionError)}catch(i){d.A.exception(this,i)}this.loading=!1,!this.isConnected&&this.allowOtherServers&&(this.autoConnect=!1)}else d.A.error(this,"You are trying to connect to a server with HTTP instead of HTTPS, which is insecure and prohibited by web browsers. Please use HTTPS instead.")},async initDiscovery(e=null){this.loading=!0;let t=d.A.isObject(e)&&"string"===typeof e.getType()?e.getType():null;try{if("basic"===t)await e.login(this.username,this.password);else if("oidc"===t){let t=!0;if(this.oidcClientId)this.provider.setClientId(this.oidcClientId);else{const s=e.detectDefaultClient();t=s&&Array.isArray(s.grant_types)&&s.grant_types.includes("refresh_token")}await e.login(this.oidcOptions,t),e.addListener("AccessTokenExpired",(()=>d.A.warn(this,"User session has expired, please login again."))),e.addListener("SilentRenewError",(()=>d.A.error(this,"You'll be switching to Guest mode in less than a minute.","Session renewal failed")))}else window.history.pushState({reset:!0,serverUrl:this.serverUrl,autoConnect:!0,skipLogin:!0},"",this.makeUrl(!0,!0))}catch(r){return"basic"===t?d.A.error(this,"Sorry, credentials are wrong."):"oidc"===t&&"ErrorResponse"===r.name&&"string"===typeof r.error_description?d.A.error(this,r.error_description.replace(/\+/g," ")):"oidc"!==t||"Network Error"!=r.message&&"NetworkError"!=r.name?d.A.exception(this,r):d.A.error(this,"Sorry, the authentication server is not available right now."),void(this.loading=!1)}let s=await this.discover();for(var r of s)d.A.exception(this,r);this.loading=!1,this.isAuthenticated&&window.history.pushState({reset:!0,serverUrl:this.serverUrl,autoConnect:!0},"",this.makeUrl())},makeUrl(e=!0,t=!1){let s=new URLSearchParams(window.location.search);e&&!this.$config.serverUrl?s.set("server",this.serverUrl):s.delete("server"),t&&!this.$config.skipLogin?s.set("discover",1):!t&&this.$config.skipLogin?s.set("discover",0):s.delete("discover");let r=s.toString();return r?`.?${r}`:"."},showServerSelector(){this.broadcast("showListModal","Select previously used server",this.storedServers,[{callback:e=>(this.serverUrl=e,!0)},{callback:e=>this.removeServer(e),icon:"trash",title:"Delete"}])}}},Q=X;var ee=(0,V.A)(Q,B,R,!1,null,"714226be",null);const te=ee.exports;var se=s(94335);s(39294);window.axios=se.A;const re={name:"openeo-web-editor",mixins:[N.A],components:{ConnectForm:te,IDE:()=>Promise.all([s.e(7497),s.e(5237),s.e(4638),s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(7213)]).then(s.bind(s,18351)),AddMapDataModal:()=>Promise.resolve().then(s.bind(s,39294)),CollectionModal:()=>Promise.all([s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(2075)]).then(s.bind(s,2075)),DataModal:()=>s.e(4375).then(s.bind(s,64375)),DownloadAssetsModal:()=>s.e(3383).then(s.bind(s,53383)),ErrorModal:()=>s.e(6550).then(s.bind(s,86550)),ExportCodeModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(8221)]).then(s.bind(s,82634)),ExpressionModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(2693)]).then(s.bind(s,53266)),FileFormatModal:()=>s.e(8324).then(s.bind(s,28324)),ImportProcessModal:()=>s.e(3506).then(s.bind(s,53506)),JobEstimateModal:()=>s.e(5981).then(s.bind(s,85981)),JobInfoModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(4638),s.e(3324)]).then(s.bind(s,78064)),ListModal:()=>s.e(4818).then(s.bind(s,14818)),ParameterModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(1160),s.e(5983),s.e(1323),s.e(5624),s.e(1189),s.e(6617),s.e(5640),s.e(2559),s.e(2365),s.e(3800),s.e(3291),s.e(3876),s.e(9882),s.e(7261),s.e(3043),s.e(4394),s.e(4625),s.e(510),s.e(7745)]).then(s.bind(s,17745)),ProcessModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(4638),s.e(5457)]).then(s.bind(s,12307)),ProcessParameterModal:()=>s.e(847).then(s.bind(s,90847)),ServerInfoModal:()=>s.e(5677).then(s.bind(s,65677)),ServiceInfoModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(4638),s.e(8807)]).then(s.bind(s,1777)),ShareModal:()=>s.e(2053).then(s.bind(s,22053)),Tour:()=>s.e(9047).then(s.bind(s,29047)),UdfRuntimeModal:()=>s.e(3166).then(s.bind(s,43166)),WebEditorModal:()=>s.e(9238).then(s.bind(s,19238)),WizardModal:()=>s.e(1533).then(s.bind(s,31533))},data(){return{modals:[],skipLogin:this.$config.skipLogin,tourType:null,title:null}},created(){this.addProcessNamespacesToRequest(d.A.param("namespaces")),this.setInitialProcess(d.A.param("process")),this.setInitialNode(d.A.param("edit-node")),this.setOpenWizard({component:d.A.param("wizard"),options:d.A.paramsForPrefix("wizard")}),this.setCollectionPreview(d.A.param("preview-collection"));const e=d.A.param("result"),t=d.A.param("result-type")||"job";e&&this.setAppMode({resultUrl:e,resultType:t,...d.A.paramsForPrefix("app")});const s=d.A.param("discover");"1"===s||e?this.skipLogin=!0:"0"===s&&(this.skipLogin=!1),se.A.interceptors.request.use((e=>(this.startActiveRequest(),e))),se.A.interceptors.response.use((e=>(this.endActiveRequest(),e)),(e=>(this.endActiveRequest(),Promise.reject(e))))},mounted(){this.listen("showError",this.showError),this.listen("showDataModal",this.showData),this.listen("showModal",this.showModal),this.listen("showListModal",this.showListModal),this.listen("showCollection",this.showCollection),this.listen("showProcess",this.showProcess),this.listen("showProcessParameter",this.showProcessParameter),this.listen("showWebEditorInfo",this.showWebEditorInfo),this.listen("title",this.setTitle),this.listen("showTour",(e=>this.tourType=e)),this.listen("stopTour",this.stopTour)},watch:{isDiscovered(e){e&&(this.skipLogin=!1),this.stopTour()},title(e){document.title=e}},computed:{...d.A.mapState(["activeRequests"]),...d.A.mapGetters(["isDiscovered"]),...d.A.mapState("editor",["hightestModalZIndex"])},methods:{...d.A.mapActions(["describeAccount","describeCollection","loadProcess"]),...d.A.mapMutations(["startActiveRequest","endActiveRequest","addProcessNamespacesToRequest"]),...d.A.mapMutations("editor",["setInitialProcess","setInitialNode","setOpenWizard","setAppMode","setCollectionPreview"]),setTitle(e){var t=`${this.$config.serviceName} ${this.$config.appName}`;e&&(t+=": "+e),this.title=t},stopTour(){this.tourType=null},showModal(e,t={},s={},r=null){this.modals.push({component:e,props:t,events:s,id:r||"modal_"+Date.now()}),this.stopTour()},hideModal(e){let t=d.A.isObject(e)?e.id:e,s=this.modals.findIndex((e=>e.id===t));"undefined"!==typeof s&&(this.modals.splice(s,1),this.stopTour())},showListModal(e,t,s){this.showModal("ListModal",{title:e,list:t,listActions:s})},showWebEditorInfo(){this.showModal("WebEditorModal")},showError(e){this.showModal("ErrorModal",{error:e})},async showCollection(e){try{let t=await this.describeCollection(e);this.showModal("CollectionModal",{collection:t})}catch(t){console.log(t),d.A.error(this,"Sorry, can't load collection details for '"+e+"'.")}},async showProcess(e){try{this.showModal("ProcessModal",{process:await this.loadProcess(e)})}catch(t){console.log(t),d.A.error(this,"Sorry, can't load process details.")}},async showData(e,t){this.showModal("DataModal",{data:e,title:t})},showProcessParameter(e,t){this.showModal("ProcessParameterModal",{parameter:e,origin:t})}}},ie=re;var oe=(0,V.A)(ie,E,$,!1,null,null,null);const ae=oe.exports,ne={};var ce=s(68261),le=s.n(ce);for(var de in r.Ay.use(i.Ay),r.Ay.use(le()),r.Ay.prototype.$snotify.singleError=function(){let e=arguments[0];e!==this.lastMessage&&(this.lastMessage=e,this.error(...arguments),setTimeout((()=>this.lastMessage=null),1e3))},r.Ay.config.productionTip=!1,r.Ay.config.errorHandler=function(e,t,s){if(console.error(e,s),!t||!t.$snotify)return;let r;e instanceof Error?r=e.message:"string"===typeof e&&(r=e),r&&t.$snotify.singleError(r,"Error",f.A.snotifyDefaults)},r.Ay.prototype.$config=f.A,ne)r.Ay.filter(de,ne[de]);const ue=new r.Ay({store:k,render:e=>e(ae)}).$mount("#app");window.addEventListener("unhandledrejection",(function(e){console.warn(e),("String"===typeof e.reason||e.reason instanceof Error)&&ue.$snotify.singleError(e.reason,"Error",f.A.snotifyDefaults),e.preventDefault(),e.stopPropagation()}))},60478:(e,t,s)=>{"use strict";s.d(t,{A:()=>o});var r=s(2566),i=s(31572);class o{static isMathProcess(e,t={}){let s=Object.values(t);if(s.includes(e.id))return!1;if(!r.A.isObject(e.returns)||!e.returns.schema)return!1;let o=["number","integer","any"],a=new i.ProcessSchema(e.returns.schema);if(!o.includes(a.nativeDataType()))return!1;if(Array.isArray(e.parameters))for(var n in e.parameters){let t=e.parameters[n];if(t.optional)continue;if(!t.schema)return!1;let s=new i.ProcessSchema(t.schema);if(!o.includes(s.nativeDataType()))return!1}return!0}static arrayOf(e){if(e instanceof i.ProcessDataType||(e=new i.ProcessDataType(e)),"array"===e.nativeDataType()&&r.A.isObject(e.schema.items)){let t=new i.ProcessDataType(e.schema.items);return t.dataType()}}}},2566:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var r=s(86975),i=s(73902),o=s(95353),a=s(58597),n=s(19306);class c extends r.A{static getPreviewLinkFromSTAC(e){if(c.isObject(e)&&Array.isArray(e.links)){let t=e.links.find((e=>c.isObject(e)&&"string"===typeof e.rel&&n.A.supportedMapServices.includes(e.rel.toLowerCase())));if(t)return t}return null}static isMapServiceSupported(e){return"string"===typeof e&&n.A.supportedMapServices.includes(e.toLowerCase())}static parseNodata(e){return Array.isArray(e)?e.map((e=>c.parseNodata(e))):"string"===typeof e&&"nan"===e.toLowerCase()?Number.NaN:e}static isActiveJobStatusCode(e){if("string"!==typeof e)return null;switch(e.toLowerCase()){case"running":case"queued":return!0;default:return!1}}static exception(e,t,s){console.error(t);var r=[],i=null,o=s;c.isObject(t)&&"string"===typeof t.message?(i=t.code>0?"Error #"+t.code:s,o=t.message,r.push({text:"Show Details",action:()=>e.$root.$emit("showError",t)})):"string"===typeof t&&(o=t,i=s),r.push({text:"Copy",action:t=>{let s=e.$clipboard(o),r=t.config.buttons.find((e=>"Copy"===e.text));r&&(r.text=s?"✔️ Copied":"❌ Failed")}});var a={buttons:r};e.$snotify.singleError(o,i,Object.assign({},e.$config.snotifyDefaults,a))}static error(e,t,s=null){e.$snotify.singleError(t,s,e.$config.snotifyDefaults)}static warn(e,t,s=null){e.$snotify.warning(t,s,e.$config.snotifyDefaults)}static info(e,t,s=null){e.$snotify.info(t,s,e.$config.snotifyDefaults)}static ok(e,t,s=null){e.$snotify.success(t,s,e.$config.snotifyDefaults)}static confirm(e,t,s=[]){var r={buttons:s};e.$snotify.confirm(t,null,Object.assign({},e.$config.snotifyDefaults,r))}static isChildOfModal(e){return e.$parent&&"Modal"==e.$parent.$options.name}static getFileNameFromURL(e){return e=e.substring(0,-1==e.indexOf("#")?e.length:e.indexOf("#")),e=e.substring(0,-1==e.indexOf("?")?e.length:e.indexOf("?")),e=e.substring(e.lastIndexOf("/")+1,e.length),e}static makeFileName(e,t){if(e.includes(".")||"string"!==typeof t)return e;if(!t.includes("/"))return e+"."+t;let s=null;try{let e=a.parse(t);switch(e.type.toLowerCase()){case"application/json":case"application/zip":case"image/png":case"image/jpg":case"image/jpeg":case"image/gif":case"image/tiff":case"text/csv":case"text/html":s=t.split("/")[1];break;case"text/plain":s="txt";break;case"application/netcdf":case"application/x-netcdf":s="nc";break}}catch(r){}return null!==s?e+"."+s:e}static replaceParam(e,t,s){var r=new URL(e),i=new URLSearchParams(r.search);return i.set(t,s),r.search=i.toString(),r.toString()}static paramsForPrefix(e,t="~"){e+=t;const s=new URLSearchParams(window.location.search);let r={};for(let[i,o]of s)i.startsWith(e)&&(r[i.substring(e.length)]=o);return r}static param(e){const t=new URLSearchParams(window.location.search);if(t.has(e))return t.get(e)}static isBboxInWebMercator(e){if(!e)return null;Array.isArray(e)||(e=[e]);let t={south:-85.06,north:85.06};return!e.find((e=>e.southt.north))}static extentToBBox(e){if(!Array.isArray(e))return null;var t=e.length>=6;let s={west:e[0],east:e[t?3:2],south:e[1],north:e[t?4:3]};return t&&(s.base=e[2],s.height=e[5]),s}static sortById(e,t){return r.A.compareStringCaseInsensitive(e.id,t.id)}static range(e,t){return te+s))}static newArray(e,t=0){return e<1?[]:Array.from({length:e},(()=>t))}static fitArray(e,t,s=0){return t<1?[]:t>e.length?e.concat(c.newArray(t-e.length,s)):tt[r].toUpperCase())return 1;if(e[r].toUpperCase()t.length?1:0}static getUniqueId(){return Math.random().toString(36).substr(2,9)}static formatIdOrTitle(e){return"string"!==typeof e?e:e.startsWith("#")?`${e}`:"Unnamed"===e?`${e}`:e}static getResourceTitle(e,t=!1){let s,r=c.isObject(e);if("string"===typeof e)s=e;else if(e instanceof i.UserProcess)s=e.id;else if(e instanceof i.UserFile)s=e.path;else if(r&&"string"===typeof e.stac_version)s=e.id;else if(r&&e.title)s=e.title;else if(r&&e.id){let t=new String(e.id);s=t.length>10?e.id.substr(0,5)+"…"+e.id.substr(-5):e.id,s="#"+s}else s="Unnamed";if(t){let o;"string"===typeof t?o=t:e instanceof i.Job?o="Job":e instanceof i.Service?o="Service":e instanceof i.UserProcess?o="Process":e instanceof i.UserFile?o="File":r&&"string"===typeof e.stac_version&&"Collection"===e.type&&(o=e.type),o&&(s=`${s} (${o})`)}return s}static resolveJsonRefs(e){var t=s=>{if(!s||"object"!==typeof s)return s;for(var r in s){var i=s[r];if(c.isObject(i)&&"string"===typeof i.$ref&&i.$ref.match(/^#(\/[^\/]+)+$/i)){var o=i.$ref.split("/").slice(1),a=e;while(o.length){let e=o.shift();if(a=a[e],"undefined"===typeof a)break}s[r]=a}else s[r]=t(i)}return s};return t(e)}static extractUDPParams(e){const t=e.indexOf("@");if(t<0)return[e,void 0];{const s=e.substring(0,t),r=e.substring(t+1);return[s,r]}}static getProcessingExpression(e){let t="processing:expression";if(!c.isObject(e)||!e[t])return null;let s=e[t];if(Array.isArray(s)){if(!(s.length>0))return null;s=s[0]}return c.isObject(s)&&"openeo"===s.format&&c.isObject(s.expression)?s.expression:null}confirmOpenAll(e){return confirm(`You are about to open ${e.length} individual files / tabs, which could slow down the web browser. Are you sure you want to open all of them?`)}}c.mapState=o.aH,c.mapGetters=o.L8,c.mapMutations=o.PY,c.mapActions=o.i0;const l=c},85525:e=>{"use strict";if("undefined"===typeof L){var t=new Error("Cannot find module 'L'");throw t.code="MODULE_NOT_FOUND",t}e.exports=L},65123:()=>{},28625:()=>{},56504:()=>{},6580:()=>{},42634:()=>{},63779:()=>{},77199:()=>{},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"@openeo/web-editor","version":"0.14.0-beta.1","apiVersions":["1.0.0-rc.2","1.0.0","1.0.1","1.1.0","1.2.0"],"author":"openEO Consortium","contributors":[{"name":"Matthias Mohr"},{"name":"Gustav Jv Rensburg"},{"name":"Miha Kadunc"},{"name":"Christoph Friedrich"},{"name":"Sofian Slimani"}],"description":"An interactive and easy to use web-based editor for the OpenEO API.","license":"Apache-2.0","homepage":"http://openeo.org","bugs":{"url":"https://github.com/Open-EO/openeo-web-editor/issues"},"repository":{"type":"git","url":"https://github.com/Open-EO/openeo-web-editor.git"},"funding":{"type":"github","url":"https://github.com/sponsors/m-mohr"},"scripts":{"build:database":"node src/build-database.js","start":"npm run build:database && npx vue-cli-service serve","build":"npm run build:database && npx vue-cli-service build --report"},"dependencies":{"@kirtandesai/ol-geocoder":"^5.0.6","@musement/iso-duration":"^1.0.0","@openeo/js-client":"^2.6.0","@openeo/js-commons":"^1.4.1","@openeo/js-processgraphs":"^1.4.0","@openeo/vue-components":"^2.17.0","@radiantearth/stac-fields":"^1.5.0-beta.2","@radiantearth/stac-migrate":"^2.0.0-beta.1","@tmcw/togeojson":"^5.5.0","ajv":"^6.12.6","axios":"^1.0.0","chart.js":"^3.7.1","chartjs-adapter-luxon":"^1.1.0","codemirror":"^5.58.2","content-type":"^1.0.4","core-js":"^3.7.0","jsonlint-mod":"^1.7.6","luxon":"^2.4.0","node-polyfill-webpack-plugin":"^4.0.0","ol":"^9.2.0","ol-ext":"^4.0.21","proj4":"^2.7.5","splitpanes":"^2.3.6","v-clipboard":"^2.2.3","vue":"^2.7.0","vue-chartjs":"^4.0.5","vue-multiselect":"^2.1.6","vue-snotify":"^3.2.1","vue-tour":"^2.0.0","vue2-datepicker":"^3.9.0","vuedraggable":"^2.24.3","vuex":"^3.5.1"},"devDependencies":{"@vue/cli-plugin-babel":"~5.0.8","@vue/cli-service":"~5.0.8","epsg-index":"^1.0.0","sass":"^1.35.2","sass-loader":"^10.2.0"},"browserslist":["> 2%","not ie > 0"]}')}},t={};function s(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(o.exports,o,o.exports,s),o.loaded=!0,o.exports}s.m=e,(()=>{var e=[];s.O=(t,r,i,o)=>{if(!r){var a=1/0;for(d=0;d=o)&&Object.keys(s.O).every((e=>s.O[e](r[c])))?r.splice(c--,1):(n=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[r,i,o]}})(),(()=>{s.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;return s.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;s.t=function(r,i){if(1&i&&(r=this(r)),8&i)return r;if("object"===typeof r&&r){if(4&i&&r.__esModule)return r;if(16&i&&"function"===typeof r.then)return r}var o=Object.create(null);s.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var n=2&i&&r;"object"==typeof n&&!~e.indexOf(n);n=t(n))Object.getOwnPropertyNames(n).forEach((e=>a[e]=()=>r[e]));return a["default"]=()=>r,s.d(o,a),o}})(),(()=>{s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce(((t,r)=>(s.f[r](e,t),t)),[]))})(),(()=>{s.u=e=>"js/"+e+"."+{156:"65c3b8e1",424:"e40e9e21",510:"2f326241",816:"1311ffcb",847:"5d3cc4f6",887:"9597d4af",925:"38adbe62",1026:"94414473",1030:"2845a7b6",1160:"6e0da912",1189:"5331c72b",1194:"9ab45054",1203:"0026b702",1237:"28502c62",1323:"f7e7e09d",1426:"77d35bf8",1533:"9f389652",1765:"35203da6",2053:"243d3baa",2075:"810d2384",2281:"b6069648",2327:"7598a0f4",2365:"47125e25",2388:"f7a0871b",2559:"93f8a988",2604:"36729f65",2693:"5792d792",2722:"cd2fa6d8",2764:"cc8f32fb",2810:"c9555d45",2855:"de626c66",2919:"9a1636ac",3043:"d27cd74e",3165:"bcc84e04",3166:"7c847567",3249:"93de5f37",3271:"accfab81",3291:"6163f1de",3324:"26d659b7",3383:"85c0da7d",3504:"bc1cfc39",3506:"b3483f23",3592:"c0f60bc4",3743:"58b6f9a6",3800:"e7428880",3876:"66785549",4011:"f159dc76",4016:"793af482",4054:"3e1fe5b6",4120:"2a80b790",4152:"8cb85ea6",4279:"9c4a8854",4285:"89373946",4368:"cc37d5bf",4375:"0db9f32b",4387:"c290c0cd",4394:"a1a670b6",4432:"c720e2a1",4475:"d3c27d4d",4477:"a0cdaafc",4625:"3f873e18",4638:"5c4d422b",4737:"18ac3fa2",4741:"0e25840f",4818:"f8169beb",4824:"210a1e92",5121:"5c8abae2",5237:"392dd9a5",5262:"ebdfdfe6",5363:"202a8225",5457:"4f6eaddc",5624:"f9a9baa2",5640:"25cf50ed",5677:"2f86dd7b",5771:"80073e41",5839:"13e0bb10",5865:"128b2a3a",5981:"3ac1b683",5983:"c08b924c",6036:"d73dc1a0",6192:"a4d7c472",6238:"231c7003",6457:"5cc649ee",6550:"be74866f",6568:"d2004679",6617:"a026f630",6625:"966ff507",6660:"6f548dde",6689:"a3a72a86",6885:"6ec2b3b7",7123:"35486855",7186:"9dd7e65f",7213:"1f19366c",7237:"330942d0",7261:"31221b0e",7336:"f87ea6ae",7349:"d5b2ff6f",7497:"2360527a",7745:"7fc998c5",7759:"184e6307",8053:"7d16dfb2",8080:"373259f9",8152:"378da544",8221:"fdfae280",8324:"f5c6c5af",8354:"226b165f",8363:"515b39f0",8396:"0c76bc6b",8645:"1e6f374d",8807:"aac1241d",9047:"22296c89",9066:"36d20ab5",9140:"b53d30af",9201:"b232ee07",9237:"d0d6e686",9238:"f1f47576",9403:"b60e7ec8",9409:"27bd9c80",9546:"479ad770",9873:"03e04f73",9882:"221c4097",9989:"d8a758e8"}[e]+".js"})(),(()=>{s.miniCssF=e=>"css/"+e+"."+{816:"6559def7",847:"4603a349",887:"8c892279",925:"90fa6336",1026:"ee56a981",1194:"5e953040",1203:"1291b8f6",1533:"2b39b841",1765:"575588e7",2053:"b5c732db",2075:"db78e22d",2327:"43969cb2",2388:"f3c3fe54",2604:"68de8223",2693:"535e25fa",2722:"13fcb001",2810:"bb165d6b",2855:"9be81686",3043:"cd129034",3165:"cedc5992",3166:"29fd8f89",3249:"b1500b27",3271:"6244371c",3324:"e8826bcf",3504:"bb165d6b",3506:"f9972275",3592:"2a21fdfd",3743:"de23863b",4016:"209ecd26",4120:"1490740e",4152:"6d1bdf91",4279:"a22f3053",4285:"b812a1c3",4368:"40459339",4375:"43969cb2",4387:"4f91105e",4475:"3532f099",4737:"84e10245",4741:"f6d430d3",4818:"3a734344",4824:"d62d95a4",5363:"f3cd8e29",5457:"bc4c0918",5677:"2d8c8304",5771:"f5601ccf",5839:"8955db24",5865:"951674bc",5981:"1db6fac8",6036:"84e10245",6192:"5fb184c3",6238:"c4731012",6550:"61908e27",6625:"c792bb6a",6660:"a22f3053",6689:"b4a63b64",7123:"a8f318bf",7186:"1abe4ef8",7213:"7146ad20",7336:"788ebcdc",7759:"052469b3",8053:"48f88ab7",8080:"f6d430d3",8152:"281aa3b1",8221:"201e08d1",8324:"0191acec",8354:"8f8ad761",8396:"a5e993af",8645:"ee56a981",8807:"82c899af",9047:"13422022",9066:"84e10245",9201:"19b52578",9403:"b02432d9",9409:"dd741b46",9873:"bb165d6b"}[e]+".css"})(),(()=>{s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()})(),(()=>{s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="@openeo/web-editor:";s.l=(r,i,o,a)=>{if(e[r])e[r].push(i);else{var n,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),d=0;d{n.onerror=n.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],n.parentNode&&n.parentNode.removeChild(n),i&&i.forEach((e=>e(s))),t)return t(s)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=p.bind(null,n.onerror),n.onload=p.bind(null,n.onload),c&&document.head.appendChild(n)}}})(),(()=>{s.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{s.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{s.p="/"})(),(()=>{if("undefined"!==typeof document){var e=(e,t,r,i,o)=>{var a=document.createElement("link");a.rel="stylesheet",a.type="text/css",s.nc&&(a.nonce=s.nc);var n=s=>{if(a.onerror=a.onload=null,"load"===s.type)i();else{var r=s&&s.type,n=s&&s.target&&s.target.href||t,c=new Error("Loading CSS chunk "+e+" failed.\n("+r+": "+n+")");c.name="ChunkLoadError",c.code="CSS_CHUNK_LOAD_FAILED",c.type=r,c.request=n,a.parentNode&&a.parentNode.removeChild(a),o(c)}};return a.onerror=a.onload=n,a.href=t,r?r.parentNode.insertBefore(a,r.nextSibling):document.head.appendChild(a),a},t=(e,t)=>{for(var s=document.getElementsByTagName("link"),r=0;rnew Promise(((i,o)=>{var a=s.miniCssF(r),n=s.p+a;if(t(a,n))return i();e(r,n,null,i,o)})),i={3524:0};s.f.miniCss=(e,t)=>{var s={816:1,847:1,887:1,925:1,1026:1,1194:1,1203:1,1533:1,1765:1,2053:1,2075:1,2327:1,2388:1,2604:1,2693:1,2722:1,2810:1,2855:1,3043:1,3165:1,3166:1,3249:1,3271:1,3324:1,3504:1,3506:1,3592:1,3743:1,4016:1,4120:1,4152:1,4279:1,4285:1,4368:1,4375:1,4387:1,4475:1,4737:1,4741:1,4818:1,4824:1,5363:1,5457:1,5677:1,5771:1,5839:1,5865:1,5981:1,6036:1,6192:1,6238:1,6550:1,6625:1,6660:1,6689:1,7123:1,7186:1,7213:1,7336:1,7759:1,8053:1,8080:1,8152:1,8221:1,8324:1,8354:1,8396:1,8645:1,8807:1,9047:1,9066:1,9201:1,9403:1,9409:1,9873:1};i[e]?t.push(i[e]):0!==i[e]&&s[e]&&t.push(i[e]=r(e).then((()=>{i[e]=0}),(t=>{throw delete i[e],t})))}}})(),(()=>{var e={3524:0};s.f.j=(t,r)=>{var i=s.o(e,t)?e[t]:void 0;if(0!==i)if(i)r.push(i[2]);else if(/^(1194|2722|4741)$/.test(t))e[t]=0;else{var o=new Promise(((s,r)=>i=e[t]=[s,r]));r.push(i[2]=o);var a=s.p+s.u(t),n=new Error,c=r=>{if(s.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;n.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",n.name="ChunkLoadError",n.type=o,n.request=a,i[1](n)}};s.l(a,c,"chunk-"+t,t)}},s.O.j=t=>0===e[t];var t=(t,r)=>{var i,o,[a,n,c]=r,l=0;if(a.some((t=>0!==e[t]))){for(i in n)s.o(n,i)&&(s.m[i]=n[i]);if(c)var d=c(s)}for(t&&t(r);ls(73657)));r=s.O(r)})(); -//# sourceMappingURL=app.b5b9589a.js.map \ No newline at end of file +(()=>{var e={44263:(e,t,s)=>{"use strict";s.d(t,{A:()=>u});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"logo"},[e.$config.logo?t("img",{attrs:{src:e.$config.logo,alt:e.$config.serviceName}}):e._e(),t("h2",[e._v(e._s(e.$config.appName)+" "),t("span",{staticClass:"version",on:{click:e.showWebEditorInfo}},[e._v(e._s(e.version))])])])},i=[],o=s(61663),a=s(8330);const n={name:"Logo",mixins:[o.A],data(){return{version:a.version}},methods:{showWebEditorInfo(){this.broadcast("showWebEditorInfo")}}},c=n;var l=s(81656),d=(0,l.A)(c,r,i,!1,null,"af3cbbb2",null);const u=d.exports},39294:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var r=function(){var e=this,t=e._self._c;return t("Modal",{attrs:{show:e.show,title:"Add data from external source",submitFunction:e.submit},on:{closed:function(t){return e.$emit("closed")}},scopedSlots:e._u([{key:"default",fn:function(){return[t("div",{staticClass:"content"},[t("p",[e._v("You can add a layer with data from an external data source.")]),t("strong",[e._v("Internet Adress:")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.url,expression:"url"}],staticClass:"url",attrs:{type:"url",name:"url",placeholder:"https://"},domProps:{value:e.url},on:{input:function(t){t.target.composing||(e.url=t.target.value)}}}),t("br"),t("br"),t("strong",[e._v("Format:")]),t("ul",{staticClass:"formats"},[t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.format,expression:"format"}],attrs:{type:"radio",name:"format",value:"geojson",id:"f_geojson"},domProps:{checked:e._q(e.format,"geojson")},on:{change:function(t){e.format="geojson"}}}),t("label",{attrs:{for:"f_geojson"}},[e._v("GeoJSON")])]),t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.format,expression:"format"}],attrs:{type:"radio",name:"format",value:"geotiff",id:"f_geotiff"},domProps:{checked:e._q(e.format,"geotiff")},on:{change:function(t){e.format="geotiff"}}}),t("label",{attrs:{for:"f_geotiff"}},[e._v("Cloud-Optimized GeoTIFF")])]),t("li",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.format,expression:"format"}],attrs:{type:"radio",name:"format",value:"stac",id:"f_stac"},domProps:{checked:e._q(e.format,"stac")},on:{change:function(t){e.format="stac"}}}),t("label",{attrs:{for:"f_stac"}},[e._v("STAC Item / Collection - shows displayable assets")])])])])]},proxy:!0},{key:"footer",fn:function(){return[t("div",{staticClass:"footer"},[t("button",{attrs:{type:"submit",disabled:!e.hasUrl||!e.format}},[t("i",{directives:[{name:"show",rawName:"v-show",value:e.loading,expression:"loading"}],staticClass:"fas fa-spinner fa-spin"}),e._v(" Add layer ")])])]},proxy:!0}])})},i=[],o=s(2566),a=s(94679);const n={name:"AddMapDataModal",components:{Modal:a.A},data(){return{loading:!1,show:!0,url:null,format:null}},computed:{...o.A.mapState("editor",["formatRegistry"]),hasUrl(){return o.A.isUrl(this.url)},mediaType(){switch(this.format){case"geojson":return"application/geo+json";case"geotiff":return"image/tiff; application=geotiff; cloud-optimized=true";case"stac":return"application/json";default:return null}}},watch:{url(){if(o.A.hasText(this.url))try{const e=new URL(this.url);e.pathname.endsWith(".tiff")||e.pathname.endsWith(".tif")?this.format="geotiff":e.pathname.endsWith(".geojson")&&(this.format="geojson")}catch(e){}}},methods:{async submit(){if(this.hasUrl){this.loading=!0;try{let e=[];if("stac"===this.format){const t=await axios.get(this.url);if(e=this.formatRegistry.createFilesFromSTAC(t.data),0===e.length)return void o.A.error(this,"No displayable data available in the provided STAC.")}else{const t={href:this.url,type:this.mediaType};e.push(this.formatRegistry.createFileFromAsset(t))}this.$emit("save",e),this.show=!1}catch(e){o.A.error(this,e,"URL provided does not return a supported file format.")}finally{this.loading=!1}}}}},c=n;var l=s(81656),d=(0,l.A)(c,r,i,!1,null,"0428e96a",null);const u=d.exports},94679:(e,t,s)=>{"use strict";s.d(t,{A:()=>u});var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"modal",style:{"z-index":e.zIndex},on:{mousedown:e.backgroundClose}},[t(e.containerTag,{ref:"container",tag:"component",staticClass:"modal-container",class:{smooth:e.smooth},style:e.style,on:{submit:function(t){return t.preventDefault(),t.stopPropagation(),e.submitFunction.apply(null,arguments)}}},[t("header",{staticClass:"modal-header",on:{mousedown:e.startMove}},[e._t("header",(function(){return[t("h2",[e._v(e._s(e.title))]),t("span",{staticClass:"close",on:{click:e.close}},[t("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})])]}))],2),t("main",{staticClass:"modal-content"},[e._t("default")],2),t("footer",{staticClass:"modal-footer"},[e._t("footer",(function(){return[e.submitFunction?t("button",{attrs:{type:"submit"}},[e._v(e._s(e.submitButtonText))]):e._e()]}))],2)])],1)},i=[],o=s(61663),a=s(2566);const n={name:"Modal",mixins:[o.A],props:{title:{type:String,default:null},minWidth:{type:String,default:null},width:{type:String,default:"auto"},show:{type:Boolean,default:!0},submitFunction:{type:Function,default:null},submitButtonText:{type:String,default:"Submit"}},data(){return{zIndex:1e3,position:null,dragPosition:null,smooth:!1}},computed:{...a.A.mapState("editor",["hightestModalZIndex"]),style(){let e={width:this.width};return this.minWidth&&(e["min-width"]=this.minWidth),Array.isArray(this.position)&&(e.position="absolute",e.left=this.position[0]+"px",e.top=this.position[1]+"px"),e},containerTag(){return this.submitFunction?"form":"div"}},watch:{show:{immediate:!0,handler(e){e?this.open():this.close()}},width(){this.smoothResize()},minWidth(){this.smoothResize()}},methods:{...a.A.mapMutations("editor",["openModal","closeModal"]),smoothResize(){this.smooth=!0,setTimeout((()=>this.smooth=!1),600)},submit(e){this.submitFunction(e)},open(){this.openModal(),this.zIndex=this.hightestModalZIndex,window.addEventListener("keydown",this.escCloseListener),this.$emit("shown")},close(){window.removeEventListener("keydown",this.escCloseListener),this.closeModal(),this.$emit("closed")},startMove(e){"H2"!==e.target.tagName&&(this.dragPosition=[e.clientX,e.clientY],document.addEventListener("mousemove",this.move),document.addEventListener("mouseup",this.stopMove),e.preventDefault(),e.stopPropagation())},stopMove(){document.removeEventListener("mousemove",this.move),document.removeEventListener("mouseup",this.stopMove)},move(e){e.preventDefault(),this.position=[this.$refs.container.offsetLeft-(this.dragPosition[0]-e.clientX),this.$refs.container.offsetTop-(this.dragPosition[1]-e.clientY)],this.dragPosition=[e.clientX,e.clientY]},escCloseListener(e){if("Escape"==e.key)return this.close(),e.preventDefault(),e.stopPropagation(),!1},backgroundClose(e){e.target===this.$el&&this.close()}}},c=n;var l=s(81656),d=(0,l.A)(c,r,i,!1,null,null,null);const u=d.exports},19306:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});const r={serverUrl:"",serviceName:"openEO",appName:"Web Editor",skipLogin:!1,mapLocation:[49.8,9.9],mapZoom:4,geocoder:"https://nominatim.openstreetmap.org/search",loginMessage:"",logo:"./logo.png",snotifyDefaults:{timeout:1e4,titleMaxLength:30,bodyMaxLength:120,showProgressBar:!0,closeOnClick:!0,pauseOnHover:!0},supportedMapServices:["xyz","wmts"],supportedBatchJobSharingServices:["ShareEditor","CopyUrl","TwitterShare"],supportedWebServiceSharingServices:["ShareEditor","CopyUrl","TwitterShare"],supportedWizards:[{component:"SpectralIndices",title:"Compute Spectral Indices",description:"A spectral index is a mathematical equation that is applied on the various spectral bands of an image per pixel. It is often used to highlight vegetation, urban areas, snow, burn, soil, or water/drought/moisture stress. Provided by Awesome Spectral Indices (https://github.com/awesome-spectral-indices/awesome-spectral-indices).",requiredProcesses:["reduce_dimension"]}],basemaps:[{title:"OpenStreetMap",url:"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png",attributions:'© OpenStreetMap contributors.',maxZoom:19}],importCommunityExamples:!0,processNamespaces:[],oidcClientIds:{},showHttpWarning:!0,dataRefreshInterval:2,showExperimentalByDefault:!1,showDeprecatedByDefault:!1}},61663:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});const r={data(){return{eventBusListeners:{}}},beforeDestroy(){for(var e in this.eventBusListeners)this.$root.$off(e,this.eventBusListeners[e])},methods:{hasListener(e){return!!this.eventBusListeners[e]},listen(e,t){this.unlisten(e),this.$root.$on(e,t),this.eventBusListeners[e]=t},unlisten(e){this.hasListener(e)&&(this.$root.$off(e,this.eventBusListeners[e]),delete this.eventBusListeners[e])},broadcast(){this.$root.$emit(...arguments)}}}},51176:(e,t,s)=>{"use strict";s.d(t,{A:()=>c});var r=s(96737),i=s(89718),o=s(95286),a=s(84078),n=s(2566);class c{static async get(e){return e instanceof o.A?e:await c._load(e)}static add(e,t,s){try{r.A.defs(e,t),(0,a.kz)(r.A);let o=(0,i.get)(e);return Array.isArray(s)&&(s=(0,i.transformExtent)(s,"EPSG:4326",o),o.setExtent(s)),t.includes("+datum=WGS84")&&(o.basemap=!0),o}catch(o){return console.error(o),null}}static async addFromStac(e){if(n.A.isObject(e)&&n.A.isObject(e.properties)){if(e.properties["proj:code"])return await c.get(e.properties["proj:code"]);if(e.properties["proj:wkt2"])return c.add(e.id,e.properties["proj:wkt2"])}return null}static async _load(e){let t,r;if("string"===typeof e&&e.match(/^EPSG:\d+$/i))t=e.toUpperCase(),r=e.substr(5);else{if(!Number.isInteger(e))return null;t=`EPSG:${e}`,r=String(e)}let o=(0,i.get)(t);if(o)return o;let a=await s.e(4054).then(s.t.bind(s,14054,19));return r in a?c.add(t,a[r][0],a[r][1]):null}}},40772:(e,t,s)=>{"use strict";s.d(t,{A:()=>o});var r=s(6765);class i extends r.wI{constructor(e,t=[",",";"]){super(e,"TableViewer","fa-table"),this.delim=t}async parseData(e){if("string"===typeof e){let t=this.parseCSV(e.trim());return t.map((e=>e.map((e=>(e=e.trim(),0===e.length?NaN:isNaN(e)?e:parseFloat(e))))))}return e}parseCSV(e){for(var t=[],s=!1,r=0,i=0,o=0;o{"use strict";s.d(t,{rS:()=>a,wI:()=>o,yL:()=>i});var r=s(2566);class i{constructor(e){Object.assign(this,e),this.context=null}setContext(e){this.context=e}getContext(){return this.context}getUrl(){return this.href}canGroup(){return!1}isBinary(){return!0}download(e=null){let t=document.createElement("a");t.style.display="none",t.href=this.getUrl(),t.setAttribute("download",e||r.A.makeFileName("result",this.type)),t.setAttribute("target","_blank"),document.body.appendChild(t),t.click(),document.body.removeChild(t)}async loadData(e){this.loaded||(this.data=await this.fetchData(e),this.loaded=!0)}getData(){if(!this.loaded)throw new Error("Data must be loaded before");return this.data}async fetchData(e){let t,s=this.getUrl();if(s.startsWith("blob:")){let e=await fetch(s);t=await e.blob()}else{let r=!1;try{let t=new URL(e.getUrl()),i=new URL(s);r=t.origin===i.origin}catch(o){}t=await e.download(s,r)}let r=new Promise(((e,s)=>{let r=new FileReader;r.onload=t=>e(t.target.result),r.onerror=s,this.isBinary()?r.readAsBinaryString(t):r.readAsText(t)})),i=await r;return await this.parseData(i)}async parseData(e){return e}}class o extends i{constructor(e,t=null,s="fa-database",r={},i={}){super(e),this.loaded=!1,this.component=t,this.props=r,this.props.data||(this.props.data=this),this.icon=s,this.events=i}isBinary(){return!1}}class a extends i{constructor(e){super(e)}}},76130:(e,t,s)=>{"use strict";s.d(t,{A:()=>m});var r=s(6765),i=s(2566),o=s(51176),a=s(34099),n=s(98622),c=s(89718),l=s(95286),d=s(8100);const u="STATISTICS_MINIMUM",p="STATISTICS_MAXIMUM",h="DESCRIPTION";class f extends r.wI{constructor(e,t){super(e,"MapViewer","fa-map",{removableLayers:!0}),this._bands=[],this._nodata=[],this.img=null,this.projection=null,this.extent=null,this.convertToRGB=!1,this.stac=t}isBinary(){return!0}canGroup(){return!0}async loadData(e){return this.loaded||(await this.parseMetadata(),this.loaded=!0),this}getData(){return this}async parseMetadata(){let e,t,s=this.stac&&(this.stac.geometry||this.stac.extent);this.projection=await o.A.addFromStac(this.stac),Array.isArray(this["file:nodata"])&&this["file:nodata"].length>0&&(this._nodata=i.A.parseNodata(this["file:nodata"])),Array.isArray(this.bands)&&this.bands.length>0&&this.bands.forEach(((e,t)=>{e.name&&this.setBandInfo(t,{name:e.name}),i.A.isObject(e.statistics)&&this.setBandInfo(t,{min:e.statistics.minimum,max:e.statistics.maximum}),0===this._nodata.length&&"undefined"!==typeof e.nodata&&this._nodata.push(i.A.parseNodata(e.nodata))})),e=this.getBlob()?await(0,a._F)(this.getBlob()):await(0,a.uz)(this.getUrl()),this.img=await e.getImage();for(let o=0;o{"use strict";s.d(t,{A:()=>a});var r=s(2566),i=s(6765);class o extends i.wI{constructor(e,t="DataViewer"){super(e,t),this.isGeoJson=!1}async parseData(e){if("string"===typeof e)try{e=JSON.parse(e)}catch(t){console.log(t)}return r.A.detectGeoJson(e)?(this.isGeoJson=!0,this.component="MapViewer",this.icon="fa-map"):this.isTable(e)&&(this.component="TableViewer",this.icon="fa-table"),e}isTable(e){if(!e||"object"!==typeof e||0===r.A.size(e))return!1;let t=Object.values(e),s=Object.keys(t[0]);return!t.some((e=>!e||"object"!==typeof e||!r.A.equals(Object.keys(e),s)))}}const a=o},73657:(e,t,s)=>{"use strict";var r=s(85471),i=s(96346),o=s(95353),a=s(73902),n=s(31572),c=s(71321),l=s.n(c),d=s(2566),u=s(60478),p=s(14894);const h={mathProcesses:null,getMathProcesses(){return this.mathProcesses||(this.mathProcesses=this.all().filter(u.A.isMathProcess)),this.mathProcesses},isMath(e){if(e instanceof p.ProcessGraph&&(e=e.process),!d.A.isObject(e)||0===d.A.size(e.process_graph))return null;let t=this.getMathProcesses().map((e=>e.id)).concat(Object.values(a.Formula.operatorMapping)).concat(Object.keys(a.Formula.arrayOperatorMapping)).concat(["array_element"]),s=Object.values(e.process_graph).find((e=>!t.includes(e.process_id)));return"undefined"===typeof s}};var f=s(19306),m=s(58597),v=s(6765);class g extends v.wI{constructor(e){super(e,"ImageViewer","fa-image")}isBinary(){return!0}async fetchData(){return new Promise(((e,t)=>{let s=new Image;s.crossOrigin="anonymous",s.onerror=()=>t(new Error("Failed to load the image")),s.onload=()=>e(s),s.fetchPriotity="high",s.decoding="sync",s.src=this.getUrl()}))}}const b=g;var y=s(40772),w=s(76130),A=s(75024);class C extends v.wI{constructor(e){super(e,"DataViewer")}}const P=C;class x extends y.A{constructor(e){super(e,["\t"])}}const S=x;class _{constructor(){}createFilesFromSTAC(e,t=null){let s=Object.values(e.assets).filter((e=>!Array.isArray(e.roles)||!e.roles.includes("metadata"))).map((t=>this.createFileFromAsset(t,e)));return t&&s.forEach((e=>e.setContext(t))),s}createFilesFromBlob(e){if(!(e instanceof Blob))throw new Error("Given data is not a valid Blob");return this.createFilesFromSTAC({stac_version:"1.0.0",type:"Feature",geometry:null,properties:{},links:[],assets:{result:{href:URL.createObjectURL(e),blob:e,type:e.type}}})}createFileFromAsset(e,t){try{if("string"===typeof e.type){let s=m.parse(e.type.toLowerCase());switch(s.type){case"image/png":case"image/jpg":case"image/jpeg":case"image/gif":case"image/webp":return new b(e);case"application/json":case"text/json":case"application/geo+json":return new A.A(e);case"text/plain":return new P(e);case"text/csv":return new y.A(e);case"text/tab-separated-values":return new S(e);case"image/tiff":return new w.A(e,t)}}if("string"===typeof e.href){let s=e.href.split(/[#?]/)[0].split(".").pop().trim().toLowerCase();switch(s){case"png":case"jpg":case"jpeg":case"gif":case"webp":return new b(e);case"json":case"geojson":return new A.A(e);case"txt":return new P(e);case"csv":return new y.A(e);case"tsv":return new S(e);case"tif":case"tiff":return new w.A(e,t)}}}catch(s){console.log(s)}return new v.rS(e)}}const M="serverUrls",T=()=>({appMode:null,storedServers:JSON.parse(localStorage.getItem(M)||"[]"),context:null,process:null,discoverySearchTerm:"",hightestModalZIndex:1e3,epsgCodes:[],initialProcess:null,initialNode:null,openWizard:null,openWizardProps:{},collectionPreview:null,viewerOptions:{},modelDnD:null,formatRegistry:new _}),O={namespaced:!0,state:T(),getters:{hasProcess:e=>d.A.isObject(e.process)&&d.A.size(e.process)>0&&d.A.size(e.process.process_graph),getModelNodeFromDnD:(e,t,s,r)=>()=>new Promise(((t,s)=>{if(!e.modelDnD)return void t(null);const i=()=>{switch(e.modelDnD.type){case"collection":return{process_id:"load_collection",arguments:r.collectionDefaults(e.modelDnD.data.id)};case"process":return{process_id:e.modelDnD.data.id,namespace:e.modelDnD.data.namespace,arguments:{}};case"udf":return{process_id:"run_udf",arguments:e.modelDnD.data};case"fileformat":return{process_id:"save_result",arguments:{format:e.modelDnD.data.name,options:{}}};default:return null}};if(e.modelDnD.loading){let s=setInterval((()=>{e.modelDnD&&!e.modelDnD.loading&&(clearInterval(s),t(i()))}),50)}else t(i())}))},actions:{async loadEpsgCodes(e){if(0===e.state.epsgCodes.length){let t=await s.e(4011).then(s.t.bind(s,64011,19));e.commit("epsgCodes",t.default)}},async loadInitialProcess(e){if(!e.state.process)if(d.A.isUrl(e.state.initialProcess)){let s=await axios(e.state.initialProcess);if(d.A.isObject(s.data)){var t=new p.ProcessGraph(s.data);t.parse(),e.commit("setProcess",s.data)}}else if("string"===typeof e.state.initialProcess&&e.state.initialProcess.length>0){let[t,r]=d.A.extractUDPParams(e.state.initialProcess);try{await e.dispatch("loadProcess",{id:t,namespace:r},{root:!0})}catch(s){console.warn(s)}e.commit("setProcess",{process_graph:{[t]:{process_id:t,namespace:r,arguments:{},result:!0}}})}},async loadForAppMode(e){if(e.state.appMode&&"service"!==e.state.appMode.resultType)try{let t=await axios(e.state.appMode.resultUrl);d.A.isObject(t.data)&&e.commit("setAppModeData",t.data)}catch(t){throw console.error(t),new Error("Sorry, the shared data is not available anymore!")}}},mutations:{setModelDnd(e,t=null){e.modelDnD=t},setDiscoverySearchTerm(e,t){e.discoverySearchTerm="string"===typeof t?t:""},setInitialProcess(e,t){e.initialProcess=t},setInitialNode(e,t){e.initialNode=t},setAppMode(e,t){e.appMode={...t,title:"Results",data:null,expires:null}},setAppModeData(e,t){let s,i,o;r.Ay.set(e.appMode,"data",t),"Collection"===t.type?(s=d.A.getProcessingExpression(t)||d.A.getProcessingExpression(t.summaries),i=t.title,o=t.expires):"Feature"===t.type&&(s=d.A.getProcessingExpression(t.properties),i=t.properties?.title,o=t.properties?.expires),s&&(e.process=s),i&&(r.Ay.set(e.appMode,"title",i),r.Ay.set(e.appMode,"expires",o),e.context=i)},setViewerOptions(e,t){e.viewerOptions=t||{}},setOpenWizard(e,{component:t,options:s}){e.openWizard=t,t&&(e.openWizardProps=s)},setCollectionPreview(e,t){e.collectionPreview=t,e.discoverySearchTerm||(e.discoverySearchTerm="string"===typeof t?t:"")},openModal(e){e.hightestModalZIndex=e.hightestModalZIndex+1},closeModal(e){e.hightestModalZIndex=e.hightestModalZIndex-1},addServer(e,t){-1===e.storedServers.indexOf(t)&&e.storedServers.push(t),localStorage.setItem(M,JSON.stringify(e.storedServers))},removeServer(e,t){e.storedServers.splice(e.storedServers.indexOf(t),1),localStorage.setItem(M,JSON.stringify(e.storedServers))},setContext(e,t){e.context=t,t instanceof a.Job||t instanceof a.Service?e.process=t.process:t instanceof a.UserProcess?e.process=t.toJSON():d.A.isObject(t)&&t.process?e.process=t.process:e.process=t},setProcess(e,t){e.process=t},epsgCodes(e,t){e.epsgCodes=t},reset(e){Object.assign(e,T())}}},F=({namespace:e,listFn:t,createFn:s,updateFn:i,deleteFn:o,readFn:c,readFnById:l,customizations:d,primaryKey:u})=>{u||(u="id");const p=()=>{let t={};return t[e]=[],t};let h={namespaced:!0,state:p(),getters:{supportsList:(e,s,r,i)=>i.supports(t),supportsCreate:(e,t,r,i)=>i.supports(s),supportsUpdate:(e,t,s,r)=>r.supports(i),supportsDelete:(e,t,s,r)=>r.supports(o),supportsRead:(e,t,s,r)=>r.supports(c),getById:t=>s=>{let r=t[e].find((e=>e[u]===s));return"undefined"!==typeof r?r:null}},actions:{async create(e,t){if(e.getters.supportsCreate){let r=e.rootState.connection,i=await r[s].apply(r,t);return e.commit("upsert",i),i}throw new Error("Adding is not supported by the server.")},async delete(e,{data:t}){if(!e.getters.supportsDelete)throw new Error("Deleting is not supported by the server.");await t[o](),e.commit("delete",t)},async update(e,{data:t,parameters:s}){if(e.getters.supportsUpdate){let r=await t[i](s);return e.commit("upsert",r),r}throw new Error("Updating is not supported by the server.")},async read(e,{data:t}){let s=null;if(!(t instanceof a.UserProcess)){let r=n.Utils.isObject(t)?t[u]:t;t=e.getters.getById(r),t||(s=await e.rootState.connection[l](t))}return s||(s=await t[c]()),e.commit("upsert",s),s},async list(s){var r=[];return s.getters.supportsList&&(r=await s.rootState.connection[t](s.state[e])),s.commit("data",r),r}},mutations:{data(t,s){t[e]=s.map((e=>r.Ay.observable(e)))},upsert(t,s){let i=s[u],o=t[e].findIndex((e=>e[u]===i)),a=r.Ay.observable(s);o>=0?r.Ay.set(t[e],o,a):t[e].push(a)},delete(t,s){let i=s[u],o=t[e].findIndex((e=>e[u]===i));o>=0&&r.Ay.delete(t[e],o)},reset(e){Object.assign(e,p())}}};for(let r in d)Object.assign(h[r],d[r]);return h},U=F({namespace:"files",listFn:"listFiles",createFn:"uploadFile",updateFn:"uploadFile",deleteFn:"deleteFile",readFn:"downloadFile",readFnById:"getFile",primaryKey:"path",customizations:{getters:{},actions:{},mutations:{}}}),j=F({namespace:"jobs",listFn:"listJobs",createFn:"createJob",updateFn:"updateJob",deleteFn:"deleteJob",readFn:"describeJob",readFnById:"getJob",customizations:{getters:{supportsQueue:(e,t,s,r)=>r.supports("startJob"),supportsCancel:(e,t,s,r)=>r.supports("stopJob")},actions:{async queue(e,{data:t}){if(e.getters.supportsQueue){let s=await t.startJob();return e.commit("upsert",s),s}throw new Error("Queueing a batch job is not supported by the server.")},async cancel(e,{data:t}){if(e.getters.supportsCancel){let s=await t.stopJob();return e.commit("upsert",s),s}throw new Error("Canceling a batch job is not supported by the server.")}},mutations:{}}}),D=F({namespace:"services",listFn:"listServices",createFn:"createService",updateFn:"updateService",deleteFn:"deleteService",readFn:"describeService",readFnById:"getService",customizations:{getters:{},actions:{},mutations:{}}}),I=F({namespace:"userProcesses",listFn:"listUserProcesses",createFn:"setUserProcess",updateFn:"replaceUserProcess",deleteFn:"deleteUserProcess",readFn:"describeUserProcess",readFnById:"getUserProcess",customizations:{getters:{},actions:{},mutations:{data(e,t){e.userProcesses=t.map((e=>Object.assign(e,{namespace:"user"}))).filter((e=>"string"===typeof e.id)).sort(d.A.sortById)}}}});r.Ay.use(o.Ay),a.Formula.arrayOperatorMapping={product:"*",sum:"+"},a.Formula.reverseOperatorMapping=(()=>{let e={};for(var t in a.Formula.operatorMapping)e[a.Formula.operatorMapping[t]]=t;return Object.assign(e,a.Formula.arrayOperatorMapping)})();const L=()=>({connection:null,activeRequests:0,discoveryCompleted:!1,isAuthenticated:!1,userInfo:{},connectionError:null,beforeLogoutListener:{},authProviders:[],fileFormats:{},serviceTypes:{},udfRuntimes:{},processesUpdated:0,collections:[],processNamespaces:f.A.processNamespaces||[]}),k=new o.Ay.Store({modules:{editor:O,files:U,jobs:j,services:D,userProcesses:I},state:L(),getters:{title:e=>{if(null!==e.connection&&null!==e.connection.capabilities()){var t=e.connection.capabilities().title();return t||e.connection.getUrl()}return null},capabilities:e=>null!==e.connection?e.connection.capabilities():null,supports:e=>t=>null!==e.connection&&null!==e.connection.capabilities()&&e.connection.capabilities().hasFeature(t),currency:e=>{var t="";return e.connection&&null!==e.connection.capabilities().currency()&&(t=e.connection.capabilities().currency()),t},isConnected:e=>null!==e.connection&&null!==e.connection.capabilities(),isDiscovered:e=>null!==e.connection&&e.discoveryCompleted,supportsBilling:e=>null!==e.connection&&null!==e.connection.capabilities().currency(),supportsBillingPlans:e=>null!==e.connection&&null!==e.connection.capabilities().currency()&&e.connection.capabilities().listPlans().length>0,apiVersion:e=>null!==e.connection?e.connection.capabilities().apiVersion():null,fileFormats:e=>e.fileFormats instanceof a.FileTypes?e.fileFormats.toJSON():{input:{},output:{}},collectionDefaults:e=>t=>{var s=e.collections.find((e=>e.id===t));if(!d.A.isObject(s))return{};var r=null;try{r=d.A.extentToBBox(s.extent.spatial.bbox[0])}catch(a){}var i=null;try{i=s.extent.temporal.interval[0],null===i[0]&&null===i[1]?i=null:i[0]==i[1]&&(i[1]=null)}catch(a){}var o=null;return{id:t,spatial_extent:r,temporal_extent:i,bands:o}},processes:e=>{let t;return t=e.processesUpdated&&null!==e.connection?e.connection.processes:new n.ProcessRegistry,Object.assign(t,h)},supportsMath:(e,t)=>{if(e.processesUpdated){for(let e in a.Formula.operatorMapping){let s=a.Formula.operatorMapping[e];if(!t.processes.has(s))return!1}return!0}}},actions:{async connect(e,t){await e.dispatch("logout");var s=null;try{s=await a.OpenEO.connect(t,{addNamespaceToProcess:!0})}catch(i){return"Network Error"!=i.message&&"NetworkError"!=i.name||(i=new Error("Server is not available.")),e.commit("setConnectionError",i),!1}try{var r=await s.listAuthProviders();e.commit("authProviders",r)}catch(i){return e.commit("setConnectionError",i),!1}return s.on("authProviderChanged",(async t=>{e.commit("authenticated",null!==t),e.state.discoveryCompleted&&await e.dispatch("discover",!0)})),s.on("processesChanged",(()=>e.commit("updateProcesses"))),e.commit("connection",s),!0},async discover(e,t=!1){let s=[],r=[],i=e.state.connection.capabilities();if(i.hasFeature("listCollections")?s.push(e.state.connection.listCollections().then((t=>e.commit("collections",t))).catch((e=>r.push(e)))):r.push(new Error("Collections not supported by the server.")),!t){if(i.hasFeature("listProcesses")?s.push(e.state.connection.listProcesses().catch((e=>r.push(e)))):r.push(new Error("Pre-defined processes not supported by the server.")),e.state.processNamespaces.length>0)for(let t of e.state.processNamespaces)s.push(e.state.connection.listProcesses(t).catch((e=>r.push(e))));i.hasFeature("listUserProcesses")&&e.state.connection.isAuthenticated()&&s.push(e.dispatch("userProcesses/list").catch((e=>r.push(e))))}i.hasFeature("listFileTypes")&&s.push(e.state.connection.listFileTypes().then((t=>e.commit("fileFormats",t))).catch((e=>r.push(e)))),i.hasFeature("listServiceTypes")&&s.push(e.state.connection.listServiceTypes().then((t=>e.commit("serviceTypes",t))).catch((e=>r.push(e)))),i.hasFeature("listUdfRuntimes")&&s.push(e.state.connection.listUdfRuntimes().then((t=>e.commit("udfRuntimes",t))).catch((e=>r.push(e))));var o=e.dispatch("describeAccount").catch((e=>r.push(e)));if(s.push(o),await Promise.all(s),!t)try{await e.dispatch("editor/loadInitialProcess")}catch(a){r.push(a)}if(!t)try{await e.dispatch("editor/loadForAppMode")}catch(a){r.push(a)}return e.commit("discoveryCompleted"),r},async describeAccount(e){if(e.getters.supports("describeAccount")&&e.state.isAuthenticated){var t=await e.state.connection.describeAccount();e.commit("userInfo",t)}else e.commit("userInfo")},async describeCollection(e,t){let s=e.state.collections.find((e=>e.id===t));return s&&s._loaded||(s=await e.state.connection.describeCollection(t),s=l().collection(s,!1),e.commit("fillCollection",s)),s},async loadProcess(e,{id:t,namespace:s}){return process=e.getters.processes.get(t,s),d.A.isObject(process)?("backend"!==process.namespace&&("user"===process.namespace?await e.dispatch("userProcesses/read",{data:process}):process.namespace&&"backend"!==s&&await e.state.connection.describeProcess(t,process.namespace)),e.getters.processes.get(t,s)):null},async beforeLogout(e){await Promise.all(Object.values(e.state.beforeLogoutListener).map((e=>e())))},async logout(e,t=!1){if(await e.dispatch("beforeLogout"),t&&(e.state.connection.off("authProviderChanged"),e.state.connection.off("processesChanged")),e.state.isAuthenticated){var s=e.state.connection.getAuthProvider();null!==s&&await s.logout()}t?(e.commit("reset",this.isAuthenticated),e.commit("jobs/reset"),e.commit("files/reset"),e.commit("services/reset"),e.commit("userProcesses/reset")):e.commit("authenticated",!1)}},mutations:{discoveryCompleted(e,t=!0){e.discoveryCompleted=t},connection(e,t){e.connection=t},authProviders(e,t){e.authProviders=t},userInfo(e,t){e.userInfo=d.A.isObject(t)?t:{}},fileFormats(e,t){e.fileFormats=t},serviceTypes(e,t){if(d.A.isObject(t)){var s={};for(var r in t)s[r.toUpperCase()]=t[r];e.serviceTypes=s}else e.serviceTypes=t},udfRuntimes(e,t){e.udfRuntimes=t},updateProcesses(e){e.processesUpdated++},addProcessNamespacesToRequest(e,t){if("string"===typeof t&&(t=t.split(",")),Array.isArray(t))for(let s of t)s&&!e.processNamespaces.includes(s)&&e.processNamespaces.push(s)},fillCollection(e,t){let s=e.collections.findIndex((e=>e.id===t.id));-1!==s&&(t._loaded=!0,r.Ay.set(e.collections,s,t))},collections(e,t){e.collections=t.collections.map((e=>l().collection(e,!1))).filter((e=>"string"===typeof e.id)).sort(d.A.sortById)},setConnectionError(e,t){e.connectionError=t},authenticated(e,t){e.isAuthenticated=t,t||(e.userInfo={})},reset(e,t=!1){Object.assign(e,L(),{connection:t?e.connection:null})},startActiveRequest(e){e.activeRequests+=1},endActiveRequest(e){e.activeRequests-=1},beforeLogoutListener(e,{key:t,listener:s}){"function"===typeof s?e.beforeLogoutListener[t]=s:r.Ay.delete(e.beforeLogoutListener,t)}}});var E=function(){var e=this,t=e._self._c;return t("div",{staticClass:"container",class:{connecting:!e.isDiscovered}},[t("transition",{attrs:{name:"connect-fade",mode:"out-in"}},[e.isDiscovered?t("IDE",{key:"2"}):t("ConnectForm",{key:"1",attrs:{skipLogin:e.skipLogin}})],1),e._l(e.modals,(function(s){return[t(s.component,e._g(e._b({key:s.id,tag:"component",on:{closed:function(t){return e.hideModal(s)}}},"component",s.props,!1),s.events))]})),t("vue-snotify"),e.tourType?t("Tour",{model:{value:e.tourType,callback:function(t){e.tourType=t},expression:"tourType"}}):e._e(),t("span",{directives:[{name:"show",rawName:"v-show",value:e.activeRequests>0,expression:"activeRequests > 0"}],attrs:{id:"activeRequests"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-2x"})])],2)},$=[],N=s(61663),B=function(){var e=this,t=e._self._c;return t("div",{staticClass:"connectPage"},[t("Logo"),t("div",{staticClass:"connectContainer"},[t("div",{staticClass:"helpBtn",attrs:{title:"Show help"},on:{click:e.showHelp}},[t("i",{staticClass:"fas fa-question fa-fw"}),e._v(" Help")]),e.httpsUrl?t("div",{staticClass:"message error"},[t("i",{staticClass:"fas fa-shield-alt"}),t("span",[e._v("You are using an "),t("strong",[e._v("insecure")]),e._v(" HTTP connection, which is not encrypted. Please use HTTPS if possible."),t("br"),t("a",{attrs:{href:e.httpsUrl}},[e._v("Click here to switch to a secured HTTPS connection.")])])]):e._e(),e.message?t("div",{staticClass:"message warning"},[t("i",{staticClass:"fas fa-bullhorn"}),t("span",{domProps:{innerHTML:e._s(e.message)}})]):e._e(),t("transition",{attrs:{name:"connect-fade",mode:"out-in"},on:{"before-enter":e.initProviders}},[e.showConnectForm?t("form",{staticClass:"connect",on:{submit:function(t){return t.preventDefault(),e.submitForm.apply(null,arguments)}}},[t("h3",[e._v("Connect to server")]),t("div",{staticClass:"row"},[t("label",{attrs:{for:"serverUrl"}},[e._v("URL:")]),t("div",{staticClass:"input"},[t("input",{directives:[{name:"model",rawName:"v-model.lazy.trim",value:e.serverUrl,expression:"serverUrl",modifiers:{lazy:!0,trim:!0}}],staticClass:"tour-connect-url",attrs:{type:"text",id:"serverUrl",disabled:e.autoConnect},domProps:{value:e.serverUrl},on:{change:function(t){e.serverUrl=t.target.value.trim()},blur:function(t){return e.$forceUpdate()}}}),e.allowOtherServers?t("button",{staticClass:"tour-connect-history",attrs:{type:"button",title:"Select previously used server"},on:{click:e.showServerSelector}},[t("i",{staticClass:"fas fa-book"})]):e._e()])]),t("div",{staticClass:"row"},[t("button",{staticClass:"connectBtn tour-connect-retry",class:{loading:e.loading},attrs:{type:"submit"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-lg"}),e._v(" Connect")])])]):e.showLoginForm?t("div",{staticClass:"login"},[t("h3",[e._v("Log in to "+e._s(e.title))]),t("Tabs",{ref:"providers",attrs:{id:"credentials",pills:!0,pillsMultiline:!0},on:{selected:e.providerSelected},scopedSlots:e._u([{key:"dynamic",fn:function({tab:s}){return[t("form",{on:{submit:function(t){return t.preventDefault(),e.initDiscovery(s.data)}}},[s.data.description?t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-info-circle"}),t("span",[e._v(e._s(s.data.description))])]):e._e(),e.hasPredefinedOidcClientId?e._e():[t("div",{staticClass:"row"},[t("label",{attrs:{for:"password"}},[e._v("Client ID:")]),t("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.userOidcClientId,expression:"userOidcClientId",modifiers:{trim:!0}}],staticClass:"input",attrs:{type:"text",required:"required"},domProps:{value:e.userOidcClientId},on:{input:function(t){t.target.composing||(e.userOidcClientId=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-exclamation-circle"}),t("span",[e._v("You need to specify the "),t("em",[e._v("Client ID")]),e._v(" provided to you by the provider. You need to allow the "),t("a",{attrs:{href:e.oidcRedirectUrl,target:"_blank",title:e.oidcRedirectUrl}},[e._v("URL of this service")]),e._v(" as redirect URL with the authentication service.")])])],t("div",{staticClass:"row bottom"},[t("TermsOfServiceConsent"),t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-window-restore"}),t("span",[e._v("Clicking the button below may open a new window for login.")])]),t("button",{staticClass:"connectBtn",class:{loading:e.loading},attrs:{type:"submit"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-lg"}),t("i",{staticClass:"fab fa-openid"}),e._v(" Log in with "+e._s(s.name))])],1)],2)]}},e.basicProvider?{key:"basic",fn:function({tab:s}){return[t("form",{on:{submit:function(t){return t.preventDefault(),e.initDiscovery(s.data)}}},[t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-info-circle"}),t("span",[e._v("The "),t("tt",[e._v("HTTP Basic")]),e._v(" authentication method is mostly used for development and testing purposes.")],1)]),t("div",{staticClass:"row"},[t("label",{attrs:{for:"username"}},[e._v("Username:")]),t("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.username,expression:"username",modifiers:{trim:!0}}],staticClass:"input",attrs:{id:"username",type:"text",required:"required"},domProps:{value:e.username},on:{input:function(t){t.target.composing||(e.username=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),t("div",{staticClass:"row"},[t("label",{attrs:{for:"password"}},[e._v("Password:")]),t("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.password,expression:"password",modifiers:{trim:!0}}],staticClass:"input",attrs:{id:"password",type:"password",required:"required"},domProps:{value:e.password},on:{input:function(t){t.target.composing||(e.password=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),t("div",{staticClass:"row bottom"},[t("TermsOfServiceConsent"),t("button",{staticClass:"connectBtn",class:{loading:e.loading},attrs:{type:"submit"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-lg"}),e._v(" Log in")])],1)])]}}:null,{key:"noauth",fn:function(){return[t("form",{on:{submit:function(t){return t.preventDefault(),e.initDiscovery()}}},[t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-info-circle"}),t("span",[e._v("Choose this if you don't have credentials for the service provider and just want to explore the service with its available data and processes. You may not be able to process any data.")])]),t("div",{staticClass:"row bottom"},[t("TermsOfServiceConsent"),t("button",{staticClass:"connectBtn",class:{loading:e.loading},attrs:{type:"submit"}},[t("i",{staticClass:"fas fa-spinner fa-spin fa-lg"}),t("i",{staticClass:"fas fa-user-slash"}),e._v(" Proceed without logging in")])],1)])]},proxy:!0}],null,!0)}),e.allowOtherServers?t("div",{staticClass:"switch tour-login-switch"},[t("a",{on:{click:function(t){return e.switchServer()}}},[e._v("Switch server")])]):e._e()],1):e._e()])],1)],1)},R=[],q=s(44263),W=s(4615),z=s(58379),G=function(){var e=this,t=e._self._c;return e.show?t("div",{staticClass:"row help"},[t("i",{staticClass:"fas fa-check-circle"}),e.terms&&e.privacy?t("span",[e._v("By clicking the button below, you agree to our "),t("a",{attrs:{href:e.terms.href,title:e.terms.title,target:"_blank"}},[e._v("Terms of Service")]),e._v(" and that you have read our "),t("a",{attrs:{href:e.privacy.href,title:e.privacy.title,target:"_blank"}},[e._v("Privacy Policy")]),e._v(".")]):e.terms?t("span",[e._v("By clicking the button below, you agree to our "),t("a",{attrs:{href:e.terms.href,title:e.terms.title,target:"_blank"}},[e._v("Terms of Service")]),e._v(".")]):e.privacy?t("span",[e._v("By clicking the button below, you agree that you have read our "),t("a",{attrs:{href:e.privacy.href,title:e.privacy.title,target:"_blank"}},[e._v("Privacy Policy")]),e._v(".")]):e._e()]):e._e()},J=[];const H={name:"TermsOfServiceConsent",computed:{...d.A.mapGetters(["capabilities"]),show(){return this.terms&&this.privacy},terms(){return this.getLinkForRel("terms-of-service")},privacy(){return this.getLinkForRel("privacy-policy")}},methods:{getLinkForRel(e){let t=this.capabilities.links().filter((t=>t.rel===e));return t.length>0?t[0]:null}}},Y=H;var V=s(81656),K=(0,V.A)(Y,G,J,!1,null,null,null);const Z=K.exports,X={name:"ConnectForm",mixins:[N.A],components:{Logo:q.A,Tabs:W["default"],Tab:z["default"],TermsOfServiceConsent:Z},props:{skipLogin:{type:Boolean,default:!1}},computed:{...d.A.mapState(["connectionError","authProviders","isAuthenticated"]),...d.A.mapGetters(["isConnected","isDiscovered","title"]),...d.A.mapState("editor",["storedServers"]),httpsUrl(){return this.$config.showHttpWarning&&!this.isLocalUrl(window.location)&&"http:"===window.location.protocol?window.location.toString().replace(/^http:/i,"https:").replace(/([\?&]server=http)(:|%3A)/,"$1s$2"):null},hasPredefinedOidcClientId(){return!(!this.provider||"oidc"!==this.provider.getType())&&Boolean(this.provider.defaultClient||this.$config.oidcClientIds[this.provider.id])},oidcClientId(){return this.provider&&"oidc"===this.provider.getType()&&(this.userOidcClientId||this.$config.oidcClientIds[this.provider.id])||null},oidcProviders(){return this.authProviders.filter((e=>"oidc"===e.getType()))},basicProvider(){return this.authProviders.find((e=>"basic"===e.getType()))||null},showConnectForm(){return!this.isConnected||this.skipLogin},showLoginForm(){return!this.showConnectForm&&!this.isDiscovered&&!this.skipLogin}},watch:{showConnectForm(e){e&&this.broadcast("title","Connect to server"),this.broadcast("stopTour")},showLoginForm(e){e&&this.broadcast("title","Log in"),this.broadcast("stopTour")}},data(){var e=500,t=500,s=50,r=50;return window.screen&&window.screen.availWidth>0&&window.screen.availHeight>0&&(e=Math.max(.8*window.screen.availWidth,e),t=Math.max(.8*window.screen.availHeight,t),s=.1*window.screen.availWidth,r=.1*window.screen.availHeight),{serverUrl:this.$config.serverUrl,allowOtherServers:!this.$config.serverUrl,autoConnect:!1,username:"",password:"",provider:null,loading:!1,message:this.$config.loginMessage,userOidcClientId:"",oidcOptions:{automaticSilentRenew:!0,popupWindowFeatures:`location=no,toolbar=no,width=${e},height=${t},left=${s},top=${r}`},oidcRedirectUrl:a.OidcProvider.redirectUrl}},async created(){var e=d.A.param("server");!this.$config.serverUrl&&e&&(this.serverUrl=e),this.serverUrl&&(this.autoConnect=!0);let t=d.A.param("oidc~prompt");["none","login","consent","select_account"].includes(t)&&(this.oidcOptions.prompt=t),a.OidcProvider.uiMethod="popup";try{await a.OidcProvider.signinCallback()}catch(s){s instanceof Error&&"No state in response"!==s.message&&d.A.exception(this,s)}},mounted(){window.onpopstate=e=>this.historyNavigate(e),window.history.replaceState({reset:!0,serverUrl:this.serverUrl},""),this.initProviders(),this.autoConnect&&this.submitForm()},methods:{...d.A.mapActions(["connect","discover","logout"]),...d.A.mapMutations(["reset"]),...d.A.mapMutations("editor",["addServer","removeServer"]),isLocalUrl(e){return Boolean("localhost"===e.hostname||"[::1]"===e.hostname||e.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))},showHelp(){this.isConnected?this.broadcast("showTour","login"):this.broadcast("showTour","connect")},historyNavigate(e){d.A.isObject(e.state)&&!e.state.reset||(this.logout(!0),this.autoConnect=!1,this.loading=!1,this.password=""),d.A.isObject(e.state)&&(e.state.serverUrl&&(this.serverUrl=e.state.serverUrl),"undefined"!==typeof e.state.autoConnect&&(this.autoConnect=e.state.autoConnect)),this.autoConnect&&this.initConnection(!!e.state.skipLogin,!0)},switchServer(){window.history.pushState({reset:!0,serverUrl:this.serverUrl,autoConnect:!0},"",this.makeUrl(!1)),this.serverUrl=null,this.autoConnect=!1,this.reset()},initProviders(){this.$refs.providers&&0===this.$refs.providers.tabs.length&&this.addProviders()},addProviders(){for(var e of this.oidcProviders)this.$refs.providers.addTab(e.getTitle(),null,e,e.getId(),!1,!1);this.basicProvider&&this.$refs.providers.addTab("Internal",null,this.basicProvider,"basic",!1,!1),this.$refs.providers.addTab("No credentials",null,null,"noauth",!1,!1),this.$nextTick((()=>this.$refs.providers.resetActiveTab(!0)))},providerSelected(e){this.provider=e.data},async submitForm(){this.isConnected||await this.initConnection(this.skipLogin,!1)},async initConnection(e=!1,t=!1){if("string"!==typeof this.serverUrl||!this.serverUrl)return void d.A.error(this,"Please specify a server.");let s=this.serverUrl;if(s.match(/^https?:\/\//i)||(s=`https://${s}`),!d.A.isUrl(s))return void d.A.error(this,"The server given is not a valid URL.");const r=new URL(s);if("https:"!==window.location.protocol||"https:"===r.protocol||this.isLocalUrl(r)){this.loading=!0;try{await this.connect(s)?(this.addServer(s),t||window.history.pushState({reset:!0,serverUrl:this.serverUrl,autoConnect:!0,skipLogin:e},"",this.makeUrl()),e&&await this.initDiscovery()):d.A.exception(this,this.connectionError)}catch(i){d.A.exception(this,i)}this.loading=!1,!this.isConnected&&this.allowOtherServers&&(this.autoConnect=!1)}else d.A.error(this,"You are trying to connect to a server with HTTP instead of HTTPS, which is insecure and prohibited by web browsers. Please use HTTPS instead.")},async initDiscovery(e=null){this.loading=!0;let t=d.A.isObject(e)&&"string"===typeof e.getType()?e.getType():null;try{if("basic"===t)await e.login(this.username,this.password);else if("oidc"===t){let t=!0;if(this.oidcClientId)this.provider.setClientId(this.oidcClientId);else{const s=e.detectDefaultClient();t=s&&Array.isArray(s.grant_types)&&s.grant_types.includes("refresh_token")}await e.login(this.oidcOptions,t),e.addListener("AccessTokenExpired",(()=>d.A.warn(this,"User session has expired, please login again."))),e.addListener("SilentRenewError",(()=>d.A.error(this,"You'll be switching to Guest mode in less than a minute.","Session renewal failed")))}else window.history.pushState({reset:!0,serverUrl:this.serverUrl,autoConnect:!0,skipLogin:!0},"",this.makeUrl(!0,!0))}catch(r){return"basic"===t?d.A.error(this,"Sorry, credentials are wrong."):"oidc"===t&&"ErrorResponse"===r.name&&"string"===typeof r.error_description?d.A.error(this,r.error_description.replace(/\+/g," ")):"oidc"!==t||"Network Error"!=r.message&&"NetworkError"!=r.name?d.A.exception(this,r):d.A.error(this,"Sorry, the authentication server is not available right now."),void(this.loading=!1)}let s=await this.discover();for(var r of s)d.A.exception(this,r);this.loading=!1,this.isAuthenticated&&window.history.pushState({reset:!0,serverUrl:this.serverUrl,autoConnect:!0},"",this.makeUrl())},makeUrl(e=!0,t=!1){let s=new URLSearchParams(window.location.search);e&&!this.$config.serverUrl?s.set("server",this.serverUrl):s.delete("server"),t&&!this.$config.skipLogin?s.set("discover",1):!t&&this.$config.skipLogin?s.set("discover",0):s.delete("discover");let r=s.toString();return r?`.?${r}`:"."},showServerSelector(){this.broadcast("showListModal","Select previously used server",this.storedServers,[{callback:e=>(this.serverUrl=e,!0)},{callback:e=>this.removeServer(e),icon:"trash",title:"Delete"}])}}},Q=X;var ee=(0,V.A)(Q,B,R,!1,null,"714226be",null);const te=ee.exports;var se=s(94335);s(39294);window.axios=se.A;const re={name:"openeo-web-editor",mixins:[N.A],components:{ConnectForm:te,IDE:()=>Promise.all([s.e(7497),s.e(5237),s.e(4638),s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(7213)]).then(s.bind(s,18351)),AddMapDataModal:()=>Promise.resolve().then(s.bind(s,39294)),CollectionModal:()=>Promise.all([s.e(156),s.e(2919),s.e(4432),s.e(9140),s.e(2281),s.e(2075)]).then(s.bind(s,2075)),DataModal:()=>s.e(4375).then(s.bind(s,64375)),DownloadAssetsModal:()=>s.e(3383).then(s.bind(s,53383)),ErrorModal:()=>s.e(6550).then(s.bind(s,86550)),ExportCodeModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(8221)]).then(s.bind(s,82634)),ExpressionModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(2693)]).then(s.bind(s,53266)),FileFormatModal:()=>s.e(8324).then(s.bind(s,28324)),ImportProcessModal:()=>s.e(3506).then(s.bind(s,53506)),JobEstimateModal:()=>s.e(5981).then(s.bind(s,85981)),JobInfoModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(4638),s.e(3324)]).then(s.bind(s,78064)),ListModal:()=>s.e(4818).then(s.bind(s,14818)),ParameterModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(1160),s.e(5983),s.e(1323),s.e(5624),s.e(1189),s.e(6617),s.e(5640),s.e(2559),s.e(2365),s.e(3800),s.e(3291),s.e(3876),s.e(9882),s.e(7261),s.e(3043),s.e(4394),s.e(4625),s.e(510),s.e(7745)]).then(s.bind(s,17745)),ProcessModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(4638),s.e(5457)]).then(s.bind(s,12307)),ProcessParameterModal:()=>s.e(847).then(s.bind(s,90847)),ServerInfoModal:()=>s.e(5677).then(s.bind(s,65677)),ServiceInfoModal:()=>Promise.all([s.e(7497),s.e(5237),s.e(4638),s.e(8807)]).then(s.bind(s,1777)),ShareModal:()=>s.e(2053).then(s.bind(s,22053)),Tour:()=>s.e(9047).then(s.bind(s,29047)),UdfRuntimeModal:()=>s.e(3166).then(s.bind(s,43166)),WebEditorModal:()=>s.e(9238).then(s.bind(s,19238)),WizardModal:()=>s.e(1533).then(s.bind(s,31533))},data(){return{modals:[],skipLogin:this.$config.skipLogin,tourType:null,title:null}},created(){this.addProcessNamespacesToRequest(d.A.param("namespaces")),this.setInitialProcess(d.A.param("process")),this.setInitialNode(d.A.param("edit-node")),this.setOpenWizard({component:d.A.param("wizard"),options:d.A.paramsForPrefix("wizard")}),this.setCollectionPreview(d.A.param("preview-collection"));const e=d.A.param("result"),t=d.A.param("result-type")||"job";e&&this.setAppMode({resultUrl:e,resultType:t,...d.A.paramsForPrefix("app")});const s=d.A.param("discover");"1"===s||e?this.skipLogin=!0:"0"===s&&(this.skipLogin=!1),se.A.interceptors.request.use((e=>(this.startActiveRequest(),e))),se.A.interceptors.response.use((e=>(this.endActiveRequest(),e)),(e=>(this.endActiveRequest(),Promise.reject(e))))},mounted(){this.listen("showError",this.showError),this.listen("showDataModal",this.showData),this.listen("showModal",this.showModal),this.listen("showListModal",this.showListModal),this.listen("showCollection",this.showCollection),this.listen("showProcess",this.showProcess),this.listen("showProcessParameter",this.showProcessParameter),this.listen("showWebEditorInfo",this.showWebEditorInfo),this.listen("title",this.setTitle),this.listen("showTour",(e=>this.tourType=e)),this.listen("stopTour",this.stopTour)},watch:{isDiscovered(e){e&&(this.skipLogin=!1),this.stopTour()},title(e){document.title=e}},computed:{...d.A.mapState(["activeRequests"]),...d.A.mapGetters(["isDiscovered"]),...d.A.mapState("editor",["hightestModalZIndex"])},methods:{...d.A.mapActions(["describeAccount","describeCollection","loadProcess"]),...d.A.mapMutations(["startActiveRequest","endActiveRequest","addProcessNamespacesToRequest"]),...d.A.mapMutations("editor",["setInitialProcess","setInitialNode","setOpenWizard","setAppMode","setCollectionPreview"]),setTitle(e){var t=`${this.$config.serviceName} ${this.$config.appName}`;e&&(t+=": "+e),this.title=t},stopTour(){this.tourType=null},showModal(e,t={},s={},r=null){this.modals.push({component:e,props:t,events:s,id:r||"modal_"+Date.now()}),this.stopTour()},hideModal(e){let t=d.A.isObject(e)?e.id:e,s=this.modals.findIndex((e=>e.id===t));"undefined"!==typeof s&&(this.modals.splice(s,1),this.stopTour())},showListModal(e,t,s){this.showModal("ListModal",{title:e,list:t,listActions:s})},showWebEditorInfo(){this.showModal("WebEditorModal")},showError(e){this.showModal("ErrorModal",{error:e})},async showCollection(e){try{let t=await this.describeCollection(e);this.showModal("CollectionModal",{collection:t})}catch(t){console.log(t),d.A.error(this,"Sorry, can't load collection details for '"+e+"'.")}},async showProcess(e){try{this.showModal("ProcessModal",{process:await this.loadProcess(e)})}catch(t){console.log(t),d.A.error(this,"Sorry, can't load process details.")}},async showData(e,t){this.showModal("DataModal",{data:e,title:t})},showProcessParameter(e,t){this.showModal("ProcessParameterModal",{parameter:e,origin:t})}}},ie=re;var oe=(0,V.A)(ie,E,$,!1,null,null,null);const ae=oe.exports,ne={};var ce=s(68261),le=s.n(ce);for(var de in r.Ay.use(i.Ay),r.Ay.use(le()),r.Ay.prototype.$snotify.singleError=function(){let e=arguments[0];e!==this.lastMessage&&(this.lastMessage=e,this.error(...arguments),setTimeout((()=>this.lastMessage=null),1e3))},r.Ay.config.productionTip=!1,r.Ay.config.errorHandler=function(e,t,s){if(console.error(e,s),!t||!t.$snotify)return;let r;e instanceof Error?r=e.message:"string"===typeof e&&(r=e),r&&t.$snotify.singleError(r,"Error",f.A.snotifyDefaults)},r.Ay.prototype.$config=f.A,ne)r.Ay.filter(de,ne[de]);const ue=new r.Ay({store:k,render:e=>e(ae)}).$mount("#app");window.addEventListener("unhandledrejection",(function(e){console.warn(e),("String"===typeof e.reason||e.reason instanceof Error)&&ue.$snotify.singleError(e.reason,"Error",f.A.snotifyDefaults),e.preventDefault(),e.stopPropagation()}))},60478:(e,t,s)=>{"use strict";s.d(t,{A:()=>o});var r=s(2566),i=s(31572);class o{static isMathProcess(e,t={}){let s=Object.values(t);if(s.includes(e.id))return!1;if(!r.A.isObject(e.returns)||!e.returns.schema)return!1;let o=["number","integer","any"],a=new i.ProcessSchema(e.returns.schema);if(!o.includes(a.nativeDataType()))return!1;if(Array.isArray(e.parameters))for(var n in e.parameters){let t=e.parameters[n];if(t.optional)continue;if(!t.schema)return!1;let s=new i.ProcessSchema(t.schema);if(!o.includes(s.nativeDataType()))return!1}return!0}static arrayOf(e){if(e instanceof i.ProcessDataType||(e=new i.ProcessDataType(e)),"array"===e.nativeDataType()&&r.A.isObject(e.schema.items)){let t=new i.ProcessDataType(e.schema.items);return t.dataType()}}}},2566:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var r=s(86975),i=s(73902),o=s(95353),a=s(58597),n=s(19306);class c extends r.A{static getPreviewLinkFromSTAC(e){if(c.isObject(e)&&Array.isArray(e.links)){let t=e.links.find((e=>c.isObject(e)&&"string"===typeof e.rel&&n.A.supportedMapServices.includes(e.rel.toLowerCase())));if(t)return t}return null}static isMapServiceSupported(e){return"string"===typeof e&&n.A.supportedMapServices.includes(e.toLowerCase())}static parseNodata(e){return Array.isArray(e)?e.map((e=>c.parseNodata(e))):"string"===typeof e&&"nan"===e.toLowerCase()?Number.NaN:e}static isActiveJobStatusCode(e){if("string"!==typeof e)return null;switch(e.toLowerCase()){case"running":case"queued":return!0;default:return!1}}static exception(e,t,s){console.error(t);var r=[],i=null,o=s;c.isObject(t)&&"string"===typeof t.message?(i=t.code>0?"Error #"+t.code:s,o=t.message,r.push({text:"Show Details",action:()=>e.$root.$emit("showError",t)})):"string"===typeof t&&(o=t,i=s),r.push({text:"Copy",action:t=>{let s=e.$clipboard(o),r=t.config.buttons.find((e=>"Copy"===e.text));r&&(r.text=s?"✔️ Copied":"❌ Failed")}});var a={buttons:r};e.$snotify.singleError(o,i,Object.assign({},e.$config.snotifyDefaults,a))}static error(e,t,s=null){e.$snotify.singleError(t,s,e.$config.snotifyDefaults)}static warn(e,t,s=null){e.$snotify.warning(t,s,e.$config.snotifyDefaults)}static info(e,t,s=null){e.$snotify.info(t,s,e.$config.snotifyDefaults)}static ok(e,t,s=null){e.$snotify.success(t,s,e.$config.snotifyDefaults)}static confirm(e,t,s=[]){var r={buttons:s};e.$snotify.confirm(t,null,Object.assign({},e.$config.snotifyDefaults,r))}static isChildOfModal(e){return e.$parent&&"Modal"==e.$parent.$options.name}static getFileNameFromURL(e){return e=e.substring(0,-1==e.indexOf("#")?e.length:e.indexOf("#")),e=e.substring(0,-1==e.indexOf("?")?e.length:e.indexOf("?")),e=e.substring(e.lastIndexOf("/")+1,e.length),e}static makeFileName(e,t){if(e.includes(".")||"string"!==typeof t)return e;if(!t.includes("/"))return e+"."+t;let s=null;try{let e=a.parse(t);switch(e.type.toLowerCase()){case"application/json":case"application/zip":case"image/png":case"image/jpg":case"image/jpeg":case"image/gif":case"image/tiff":case"text/csv":case"text/html":s=t.split("/")[1];break;case"text/plain":s="txt";break;case"application/netcdf":case"application/x-netcdf":s="nc";break}}catch(r){}return null!==s?e+"."+s:e}static replaceParam(e,t,s){var r=new URL(e),i=new URLSearchParams(r.search);return i.set(t,s),r.search=i.toString(),r.toString()}static paramsForPrefix(e,t="~"){e+=t;const s=new URLSearchParams(window.location.search);let r={};for(let[i,o]of s)i.startsWith(e)&&(r[i.substring(e.length)]=o);return r}static param(e){const t=new URLSearchParams(window.location.search);if(t.has(e))return t.get(e)}static isBboxInWebMercator(e){if(!e)return null;Array.isArray(e)||(e=[e]);let t={south:-85.06,north:85.06};return!e.find((e=>e.southt.north))}static extentToBBox(e){if(!Array.isArray(e))return null;var t=e.length>=6;let s={west:e[0],east:e[t?3:2],south:e[1],north:e[t?4:3]};return t&&(s.base=e[2],s.height=e[5]),s}static sortById(e,t){return r.A.compareStringCaseInsensitive(e.id,t.id)}static range(e,t){return te+s))}static newArray(e,t=0){return e<1?[]:Array.from({length:e},(()=>t))}static fitArray(e,t,s=0){return t<1?[]:t>e.length?e.concat(c.newArray(t-e.length,s)):tt[r].toUpperCase())return 1;if(e[r].toUpperCase()t.length?1:0}static getUniqueId(){return Math.random().toString(36).substr(2,9)}static formatIdOrTitle(e){return"string"!==typeof e?e:e.startsWith("#")?`${e}`:"Unnamed"===e?`${e}`:e}static getResourceTitle(e,t=!1){let s,r=c.isObject(e);if("string"===typeof e)s=e;else if(e instanceof i.UserProcess)s=e.id;else if(e instanceof i.UserFile)s=e.path;else if(r&&"string"===typeof e.stac_version)s=e.id;else if(r&&e.title)s=e.title;else if(r&&e.id){let t=new String(e.id);s=t.length>10?e.id.substr(0,5)+"…"+e.id.substr(-5):e.id,s="#"+s}else s="Unnamed";if(t){let o;"string"===typeof t?o=t:e instanceof i.Job?o="Job":e instanceof i.Service?o="Service":e instanceof i.UserProcess?o="Process":e instanceof i.UserFile?o="File":r&&"string"===typeof e.stac_version&&"Collection"===e.type&&(o=e.type),o&&(s=`${s} (${o})`)}return s}static resolveJsonRefs(e){var t=s=>{if(!s||"object"!==typeof s)return s;for(var r in s){var i=s[r];if(c.isObject(i)&&"string"===typeof i.$ref&&i.$ref.match(/^#(\/[^\/]+)+$/i)){var o=i.$ref.split("/").slice(1),a=e;while(o.length){let e=o.shift();if(a=a[e],"undefined"===typeof a)break}s[r]=a}else s[r]=t(i)}return s};return t(e)}static extractUDPParams(e){const t=e.indexOf("@");if(t<0)return[e,void 0];{const s=e.substring(0,t),r=e.substring(t+1);return[s,r]}}static getProcessingExpression(e){let t="processing:expression";if(!c.isObject(e)||!e[t])return null;let s=e[t];if(Array.isArray(s)){if(!(s.length>0))return null;s=s[0]}return c.isObject(s)&&"openeo"===s.format&&c.isObject(s.expression)?s.expression:null}confirmOpenAll(e){return confirm(`You are about to open ${e.length} individual files / tabs, which could slow down the web browser. Are you sure you want to open all of them?`)}}c.mapState=o.aH,c.mapGetters=o.L8,c.mapMutations=o.PY,c.mapActions=o.i0;const l=c},85525:e=>{"use strict";if("undefined"===typeof L){var t=new Error("Cannot find module 'L'");throw t.code="MODULE_NOT_FOUND",t}e.exports=L},65123:()=>{},28625:()=>{},56504:()=>{},6580:()=>{},42634:()=>{},63779:()=>{},77199:()=>{},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"@openeo/web-editor","version":"0.14.0-beta.1","apiVersions":["1.0.0-rc.2","1.0.0","1.0.1","1.1.0","1.2.0"],"author":"openEO Consortium","contributors":[{"name":"Matthias Mohr"},{"name":"Gustav Jv Rensburg"},{"name":"Miha Kadunc"},{"name":"Christoph Friedrich"},{"name":"Sofian Slimani"}],"description":"An interactive and easy to use web-based editor for the OpenEO API.","license":"Apache-2.0","homepage":"http://openeo.org","bugs":{"url":"https://github.com/Open-EO/openeo-web-editor/issues"},"repository":{"type":"git","url":"https://github.com/Open-EO/openeo-web-editor.git"},"funding":{"type":"github","url":"https://github.com/sponsors/m-mohr"},"scripts":{"build:database":"node src/build-database.js","start":"npm run build:database && npx vue-cli-service serve","build":"npm run build:database && npx vue-cli-service build --report"},"dependencies":{"@kirtandesai/ol-geocoder":"^5.0.6","@musement/iso-duration":"^1.0.0","@openeo/js-client":"^2.6.0","@openeo/js-commons":"^1.5.0","@openeo/js-processgraphs":"^1.4.1","@openeo/vue-components":"^2.17.0","@radiantearth/stac-fields":"^1.5.0-beta.2","@radiantearth/stac-migrate":"^2.0.0-beta.1","@tmcw/togeojson":"^5.5.0","ajv":"^6.12.6","axios":"^1.0.0","chart.js":"^3.7.1","chartjs-adapter-luxon":"^1.1.0","codemirror":"^5.58.2","content-type":"^1.0.4","core-js":"^3.7.0","jsonlint-mod":"^1.7.6","luxon":"^2.4.0","node-polyfill-webpack-plugin":"^4.0.0","ol":"^9.2.0","ol-ext":"^4.0.21","proj4":"^2.7.5","splitpanes":"^2.3.6","v-clipboard":"^2.2.3","vue":"^2.7.0","vue-chartjs":"^4.0.5","vue-multiselect":"^2.1.6","vue-snotify":"^3.2.1","vue-tour":"^2.0.0","vue2-datepicker":"^3.9.0","vuedraggable":"^2.24.3","vuex":"^3.5.1"},"devDependencies":{"@vue/cli-plugin-babel":"~5.0.8","@vue/cli-service":"~5.0.8","epsg-index":"^1.0.0","sass":"^1.35.2","sass-loader":"^10.2.0"},"browserslist":["> 2%","not ie > 0"]}')}},t={};function s(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(o.exports,o,o.exports,s),o.loaded=!0,o.exports}s.m=e,(()=>{var e=[];s.O=(t,r,i,o)=>{if(!r){var a=1/0;for(d=0;d=o)&&Object.keys(s.O).every((e=>s.O[e](r[c])))?r.splice(c--,1):(n=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[r,i,o]}})(),(()=>{s.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;return s.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;s.t=function(r,i){if(1&i&&(r=this(r)),8&i)return r;if("object"===typeof r&&r){if(4&i&&r.__esModule)return r;if(16&i&&"function"===typeof r.then)return r}var o=Object.create(null);s.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var n=2&i&&r;"object"==typeof n&&!~e.indexOf(n);n=t(n))Object.getOwnPropertyNames(n).forEach((e=>a[e]=()=>r[e]));return a["default"]=()=>r,s.d(o,a),o}})(),(()=>{s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce(((t,r)=>(s.f[r](e,t),t)),[]))})(),(()=>{s.u=e=>"js/"+e+"."+{156:"65c3b8e1",424:"e40e9e21",510:"2f326241",816:"1311ffcb",847:"5d3cc4f6",887:"6647e815",925:"38adbe62",1026:"94414473",1030:"2845a7b6",1160:"6e0da912",1189:"5331c72b",1194:"9ab45054",1203:"0026b702",1237:"85c772b7",1323:"f7e7e09d",1426:"77d35bf8",1533:"9f389652",1765:"8c0299d7",2053:"243d3baa",2075:"810d2384",2281:"b6069648",2327:"7598a0f4",2365:"47125e25",2388:"8b1d748f",2559:"93f8a988",2604:"36729f65",2693:"5792d792",2722:"cd2fa6d8",2764:"cc8f32fb",2810:"c9555d45",2855:"de626c66",2919:"9a1636ac",3043:"d27cd74e",3165:"bcc84e04",3166:"7c847567",3249:"93de5f37",3271:"accfab81",3291:"6163f1de",3324:"bcef36de",3383:"85c0da7d",3504:"bc1cfc39",3506:"b3483f23",3592:"2cfdaec3",3743:"58b6f9a6",3800:"e7428880",3876:"66785549",4011:"f159dc76",4016:"793af482",4054:"3e1fe5b6",4120:"2a80b790",4152:"8cb85ea6",4279:"9c4a8854",4285:"54ff3b9e",4368:"a38c89d2",4375:"0db9f32b",4387:"c290c0cd",4394:"a1a670b6",4432:"c720e2a1",4475:"8df38147",4477:"9ea74349",4625:"3f873e18",4638:"5c4d422b",4737:"18ac3fa2",4741:"0e25840f",4818:"f8169beb",4824:"e45c7fb2",5121:"5c8abae2",5237:"392dd9a5",5262:"ebdfdfe6",5363:"202a8225",5457:"8a1b428a",5624:"f9a9baa2",5640:"25cf50ed",5677:"2f86dd7b",5771:"80073e41",5839:"827b7af7",5865:"128b2a3a",5981:"3ac1b683",5983:"c08b924c",6036:"51b11294",6192:"a4d7c472",6238:"231c7003",6457:"5cc649ee",6550:"be74866f",6568:"d2004679",6617:"a026f630",6625:"966ff507",6660:"6f548dde",6689:"a3a72a86",6885:"6ec2b3b7",7123:"35486855",7186:"7ddfb742",7213:"456d73fc",7237:"330942d0",7261:"31221b0e",7336:"60fc4911",7349:"d5b2ff6f",7497:"52e15be2",7745:"7fc998c5",7759:"184e6307",8053:"7d16dfb2",8080:"629bdb1c",8152:"378da544",8221:"fdfae280",8324:"f5c6c5af",8354:"226b165f",8363:"515b39f0",8396:"e1b55b48",8645:"1e6f374d",8807:"e41e9690",9047:"22296c89",9066:"915e8a72",9140:"b53d30af",9201:"75f560cb",9237:"d0d6e686",9238:"f1f47576",9403:"a9158bcb",9409:"27bd9c80",9546:"479ad770",9873:"03e04f73",9882:"6fcac763",9989:"d8a758e8"}[e]+".js"})(),(()=>{s.miniCssF=e=>"css/"+e+"."+{816:"6559def7",847:"4603a349",887:"8c892279",925:"90fa6336",1026:"ee56a981",1194:"5e953040",1203:"1291b8f6",1533:"2b39b841",1765:"575588e7",2053:"b5c732db",2075:"db78e22d",2327:"43969cb2",2388:"f3c3fe54",2604:"68de8223",2693:"535e25fa",2722:"13fcb001",2810:"bb165d6b",2855:"9be81686",3043:"cd129034",3165:"cedc5992",3166:"29fd8f89",3249:"b1500b27",3271:"6244371c",3324:"e8826bcf",3504:"bb165d6b",3506:"f9972275",3592:"2a21fdfd",3743:"de23863b",4016:"209ecd26",4120:"1490740e",4152:"6d1bdf91",4279:"a22f3053",4285:"b812a1c3",4368:"40459339",4375:"43969cb2",4387:"4f91105e",4475:"3532f099",4737:"84e10245",4741:"f6d430d3",4818:"3a734344",4824:"d62d95a4",5363:"f3cd8e29",5457:"bc4c0918",5677:"2d8c8304",5771:"f5601ccf",5839:"8955db24",5865:"951674bc",5981:"1db6fac8",6036:"84e10245",6192:"5fb184c3",6238:"c4731012",6550:"61908e27",6625:"c792bb6a",6660:"a22f3053",6689:"b4a63b64",7123:"a8f318bf",7186:"1abe4ef8",7213:"7146ad20",7336:"788ebcdc",7759:"052469b3",8053:"48f88ab7",8080:"f6d430d3",8152:"281aa3b1",8221:"201e08d1",8324:"0191acec",8354:"8f8ad761",8396:"a5e993af",8645:"ee56a981",8807:"82c899af",9047:"13422022",9066:"84e10245",9201:"19b52578",9403:"b02432d9",9409:"dd741b46",9873:"bb165d6b"}[e]+".css"})(),(()=>{s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()})(),(()=>{s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="@openeo/web-editor:";s.l=(r,i,o,a)=>{if(e[r])e[r].push(i);else{var n,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),d=0;d{n.onerror=n.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],n.parentNode&&n.parentNode.removeChild(n),i&&i.forEach((e=>e(s))),t)return t(s)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=p.bind(null,n.onerror),n.onload=p.bind(null,n.onload),c&&document.head.appendChild(n)}}})(),(()=>{s.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{s.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{s.p="/"})(),(()=>{if("undefined"!==typeof document){var e=(e,t,r,i,o)=>{var a=document.createElement("link");a.rel="stylesheet",a.type="text/css",s.nc&&(a.nonce=s.nc);var n=s=>{if(a.onerror=a.onload=null,"load"===s.type)i();else{var r=s&&s.type,n=s&&s.target&&s.target.href||t,c=new Error("Loading CSS chunk "+e+" failed.\n("+r+": "+n+")");c.name="ChunkLoadError",c.code="CSS_CHUNK_LOAD_FAILED",c.type=r,c.request=n,a.parentNode&&a.parentNode.removeChild(a),o(c)}};return a.onerror=a.onload=n,a.href=t,r?r.parentNode.insertBefore(a,r.nextSibling):document.head.appendChild(a),a},t=(e,t)=>{for(var s=document.getElementsByTagName("link"),r=0;rnew Promise(((i,o)=>{var a=s.miniCssF(r),n=s.p+a;if(t(a,n))return i();e(r,n,null,i,o)})),i={3524:0};s.f.miniCss=(e,t)=>{var s={816:1,847:1,887:1,925:1,1026:1,1194:1,1203:1,1533:1,1765:1,2053:1,2075:1,2327:1,2388:1,2604:1,2693:1,2722:1,2810:1,2855:1,3043:1,3165:1,3166:1,3249:1,3271:1,3324:1,3504:1,3506:1,3592:1,3743:1,4016:1,4120:1,4152:1,4279:1,4285:1,4368:1,4375:1,4387:1,4475:1,4737:1,4741:1,4818:1,4824:1,5363:1,5457:1,5677:1,5771:1,5839:1,5865:1,5981:1,6036:1,6192:1,6238:1,6550:1,6625:1,6660:1,6689:1,7123:1,7186:1,7213:1,7336:1,7759:1,8053:1,8080:1,8152:1,8221:1,8324:1,8354:1,8396:1,8645:1,8807:1,9047:1,9066:1,9201:1,9403:1,9409:1,9873:1};i[e]?t.push(i[e]):0!==i[e]&&s[e]&&t.push(i[e]=r(e).then((()=>{i[e]=0}),(t=>{throw delete i[e],t})))}}})(),(()=>{var e={3524:0};s.f.j=(t,r)=>{var i=s.o(e,t)?e[t]:void 0;if(0!==i)if(i)r.push(i[2]);else if(/^(1194|2722|4741)$/.test(t))e[t]=0;else{var o=new Promise(((s,r)=>i=e[t]=[s,r]));r.push(i[2]=o);var a=s.p+s.u(t),n=new Error,c=r=>{if(s.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;n.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",n.name="ChunkLoadError",n.type=o,n.request=a,i[1](n)}};s.l(a,c,"chunk-"+t,t)}},s.O.j=t=>0===e[t];var t=(t,r)=>{var i,o,[a,n,c]=r,l=0;if(a.some((t=>0!==e[t]))){for(i in n)s.o(n,i)&&(s.m[i]=n[i]);if(c)var d=c(s)}for(t&&t(r);ls(73657)));r=s.O(r)})(); +//# sourceMappingURL=app.9e3967de.js.map \ No newline at end of file diff --git a/js/app.b5b9589a.js.map b/js/app.9e3967de.js.map similarity index 99% rename from js/app.b5b9589a.js.map rename to js/app.9e3967de.js.map index a4f14563..a185d8f2 100644 --- a/js/app.b5b9589a.js.map +++ b/js/app.9e3967de.js.map @@ -1 +1 @@ -{"version":3,"file":"js/app.b5b9589a.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/Logo.vue","webpack://@openeo/web-editor/src/components/Logo.vue","webpack://@openeo/web-editor/./src/components/Logo.vue?c0bc","webpack://@openeo/web-editor/./src/components/Logo.vue?0cc9","webpack://@openeo/web-editor/./src/components/modals/AddMapDataModal.vue","webpack://@openeo/web-editor/src/components/modals/AddMapDataModal.vue","webpack://@openeo/web-editor/./src/components/modals/AddMapDataModal.vue?eb69","webpack://@openeo/web-editor/./src/components/modals/AddMapDataModal.vue?8d78","webpack://@openeo/web-editor/./src/components/modals/Modal.vue","webpack://@openeo/web-editor/src/components/modals/Modal.vue","webpack://@openeo/web-editor/./src/components/modals/Modal.vue?e840","webpack://@openeo/web-editor/./src/components/modals/Modal.vue?5039","webpack://@openeo/web-editor/./config.js","webpack://@openeo/web-editor/./src/components/EventBusMixin.js","webpack://@openeo/web-editor/./src/components/maps/projManager.js","webpack://@openeo/web-editor/./src/formats/csv.js","webpack://@openeo/web-editor/./src/formats/format.js","webpack://@openeo/web-editor/./src/formats/geotiff.js","webpack://@openeo/web-editor/./src/formats/json.js","webpack://@openeo/web-editor/./src/registryExtension.js","webpack://@openeo/web-editor/./src/formats/browserImage.js","webpack://@openeo/web-editor/./src/formats/native.js","webpack://@openeo/web-editor/./src/formats/tsv.js","webpack://@openeo/web-editor/./src/formats/formatRegistry.js","webpack://@openeo/web-editor/./src/store/editor.js","webpack://@openeo/web-editor/./src/store/storeFactory.js","webpack://@openeo/web-editor/./src/store/files.js","webpack://@openeo/web-editor/./src/store/jobs.js","webpack://@openeo/web-editor/./src/store/services.js","webpack://@openeo/web-editor/./src/store/userProcesses.js","webpack://@openeo/web-editor/./src/store/index.js","webpack://@openeo/web-editor/./src/Page.vue","webpack://@openeo/web-editor/./src/components/ConnectForm.vue","webpack://@openeo/web-editor/./src/components/TermsOfServiceConsent.vue","webpack://@openeo/web-editor/src/components/TermsOfServiceConsent.vue","webpack://@openeo/web-editor/./src/components/TermsOfServiceConsent.vue?ce8c","webpack://@openeo/web-editor/./src/components/TermsOfServiceConsent.vue?4902","webpack://@openeo/web-editor/src/components/ConnectForm.vue","webpack://@openeo/web-editor/./src/components/ConnectForm.vue?e1e0","webpack://@openeo/web-editor/./src/components/ConnectForm.vue?757a","webpack://@openeo/web-editor/src/Page.vue","webpack://@openeo/web-editor/./src/Page.vue?99ee","webpack://@openeo/web-editor/./src/Page.vue?0126","webpack://@openeo/web-editor/./src/filters.js","webpack://@openeo/web-editor/./src/main.js","webpack://@openeo/web-editor/./src/process.js","webpack://@openeo/web-editor/./src/utils.js","webpack://@openeo/web-editor/external var \"L\"","webpack://@openeo/web-editor/webpack/bootstrap","webpack://@openeo/web-editor/webpack/runtime/chunk loaded","webpack://@openeo/web-editor/webpack/runtime/compat get default export","webpack://@openeo/web-editor/webpack/runtime/create fake namespace object","webpack://@openeo/web-editor/webpack/runtime/define property getters","webpack://@openeo/web-editor/webpack/runtime/ensure chunk","webpack://@openeo/web-editor/webpack/runtime/get javascript chunk filename","webpack://@openeo/web-editor/webpack/runtime/get mini-css chunk filename","webpack://@openeo/web-editor/webpack/runtime/global","webpack://@openeo/web-editor/webpack/runtime/hasOwnProperty shorthand","webpack://@openeo/web-editor/webpack/runtime/load script","webpack://@openeo/web-editor/webpack/runtime/make namespace object","webpack://@openeo/web-editor/webpack/runtime/node module decorator","webpack://@openeo/web-editor/webpack/runtime/publicPath","webpack://@openeo/web-editor/webpack/runtime/css loading","webpack://@openeo/web-editor/webpack/runtime/jsonp chunk loading","webpack://@openeo/web-editor/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"logo\"},[(_vm.$config.logo)?_c('img',{attrs:{\"src\":_vm.$config.logo,\"alt\":_vm.$config.serviceName}}):_vm._e(),_c('h2',[_vm._v(_vm._s(_vm.$config.appName)+\" \"),_c('span',{staticClass:\"version\",on:{\"click\":_vm.showWebEditorInfo}},[_vm._v(_vm._s(_vm.version))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=af3cbbb2&scoped=true\"\nimport script from \"./Logo.vue?vue&type=script&lang=js\"\nexport * from \"./Logo.vue?vue&type=script&lang=js\"\nimport style0 from \"./Logo.vue?vue&type=style&index=0&id=af3cbbb2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"af3cbbb2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Modal',{attrs:{\"show\":_vm.show,\"title\":\"Add data from external source\",\"submitFunction\":_vm.submit},on:{\"closed\":function($event){return _vm.$emit('closed')}},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('div',{staticClass:\"content\"},[_c('p',[_vm._v(\"You can add a layer with data from an external data source.\")]),_c('strong',[_vm._v(\"Internet Adress:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.url),expression:\"url\"}],staticClass:\"url\",attrs:{\"type\":\"url\",\"name\":\"url\",\"placeholder\":\"https://\"},domProps:{\"value\":(_vm.url)},on:{\"input\":function($event){if($event.target.composing)return;_vm.url=$event.target.value}}}),_c('br'),_c('br'),_c('strong',[_vm._v(\"Format:\")]),_c('ul',{staticClass:\"formats\"},[_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.format),expression:\"format\"}],attrs:{\"type\":\"radio\",\"name\":\"format\",\"value\":\"geojson\",\"id\":\"f_geojson\"},domProps:{\"checked\":_vm._q(_vm.format,\"geojson\")},on:{\"change\":function($event){_vm.format=\"geojson\"}}}),_c('label',{attrs:{\"for\":\"f_geojson\"}},[_vm._v(\"GeoJSON\")])]),_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.format),expression:\"format\"}],attrs:{\"type\":\"radio\",\"name\":\"format\",\"value\":\"geotiff\",\"id\":\"f_geotiff\"},domProps:{\"checked\":_vm._q(_vm.format,\"geotiff\")},on:{\"change\":function($event){_vm.format=\"geotiff\"}}}),_c('label',{attrs:{\"for\":\"f_geotiff\"}},[_vm._v(\"Cloud-Optimized GeoTIFF\")])]),_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.format),expression:\"format\"}],attrs:{\"type\":\"radio\",\"name\":\"format\",\"value\":\"stac\",\"id\":\"f_stac\"},domProps:{\"checked\":_vm._q(_vm.format,\"stac\")},on:{\"change\":function($event){_vm.format=\"stac\"}}}),_c('label',{attrs:{\"for\":\"f_stac\"}},[_vm._v(\"STAC Item / Collection - shows displayable assets\")])])])])]},proxy:true},{key:\"footer\",fn:function(){return [_c('div',{staticClass:\"footer\"},[_c('button',{attrs:{\"type\":\"submit\",\"disabled\":!_vm.hasUrl || !_vm.format}},[_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Add layer \")])])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddMapDataModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddMapDataModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AddMapDataModal.vue?vue&type=template&id=0428e96a&scoped=true\"\nimport script from \"./AddMapDataModal.vue?vue&type=script&lang=js\"\nexport * from \"./AddMapDataModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./AddMapDataModal.vue?vue&type=style&index=0&id=0428e96a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0428e96a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal\",style:({'z-index': _vm.zIndex}),on:{\"mousedown\":_vm.backgroundClose}},[_c(_vm.containerTag,{ref:\"container\",tag:\"component\",staticClass:\"modal-container\",class:{smooth: _vm.smooth},style:(_vm.style),on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.submitFunction.apply(null, arguments)}}},[_c('header',{staticClass:\"modal-header\",on:{\"mousedown\":_vm.startMove}},[_vm._t(\"header\",function(){return [_c('h2',[_vm._v(_vm._s(_vm.title))]),_c('span',{staticClass:\"close\",on:{\"click\":_vm.close}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])]})],2),_c('main',{staticClass:\"modal-content\"},[_vm._t(\"default\")],2),_c('footer',{staticClass:\"modal-footer\"},[_vm._t(\"footer\",function(){return [(_vm.submitFunction)?_c('button',{attrs:{\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.submitButtonText))]):_vm._e()]})],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=7a094955\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\nimport style0 from \"./Modal.vue?vue&type=style&index=0&id=7a094955&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\t// Set this to connect to a back-end automatically when opening the Web Editor,\n\t// so you could set this to https://example.com and then the Web Editor connects\n\t// to the corresponding back-end automatically.\n\tserverUrl: '',\n\n\t// The name of the service\n\tserviceName: 'openEO',\n\t// The name of the app\n\tappName: 'Web Editor',\n\n\t// Skip login and automatically load up the \"discovery mode\"\n\tskipLogin: false,\n\n\t// Default location for maps\n\t// Default to the center of the EU in Wuerzburg: \n\t// https://en.wikipedia.org/wiki/Geographical_midpoint_of_Europe#Geographic_centre_of_the_European_Union\n\t// The zoom level should show most of Europe\n\tmapLocation: [49.8, 9.9],\n\tmapZoom: 4,\n\n\t// OSM Nominatim compliant geocoder URL, remove to disable\n\tgeocoder: \"https://nominatim.openstreetmap.org/search\",\n\n\t// A message shown on the login page\n\tloginMessage: '',\n\n\t// The logo to show\n\tlogo: './logo.png',\n\n\t// Defaults for notifications\n\tsnotifyDefaults: {\n\t\ttimeout: 10000,\n\t\ttitleMaxLength: 30,\n\t\tbodyMaxLength: 120,\n\t\tshowProgressBar: true,\n\t\tcloseOnClick: true,\n\t\tpauseOnHover: true\n\t},\n\n\t// List of supported web map services (all lower-cased)\n\tsupportedMapServices: [\n\t\t'xyz',\n\t\t'wmts'\n\t],\n\n\t// List of supported batch job sharing services\n\tsupportedBatchJobSharingServices: [\n\t\t'ShareEditor',\n\t\t'CopyUrl',\n\t\t'TwitterShare'\n\t],\n\n\t// List of supported web service sharing services\n\tsupportedWebServiceSharingServices: [\n\t\t'ShareEditor',\n\t\t'CopyUrl',\n\t\t'TwitterShare'\n\t],\n\n\t// List of supported wizards\n\tsupportedWizards: [\n\t\t{\n\t\t\tcomponent: 'SpectralIndices',\n\t\t\ttitle: 'Compute Spectral Indices',\n\t\t\tdescription: 'A spectral index is a mathematical equation that is applied on the various spectral bands of an image per pixel. It is often used to highlight vegetation, urban areas, snow, burn, soil, or water/drought/moisture stress. Provided by Awesome Spectral Indices (https://github.com/awesome-spectral-indices/awesome-spectral-indices).',\n\t\t\trequiredProcesses: ['reduce_dimension']\n\t\t}\n\t],\n\n\t// Configure the (base)maps\n\tbasemaps: [\n\t\t{\n\t\t\t// Title for the basemap\n\t\t\ttitle: \"OpenStreetMap\",\n\t\t\t// Templated URI for the XYZ basemap.\n\t\t\turl: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png',\n\t\t\t// Attributon for the basemap. HTML is allowed.\n\t\t\tattributions: '© OpenStreetMap contributors.',\n\t\t\t// Maximum zoom level\n\t\t\tmaxZoom: 19\n\t\t}\n\t],\n\n\t// Import processes from openeo-community-examples repo\n\timportCommunityExamples: true,\n\n\t// Additional process namespaces to load by default\n\tprocessNamespaces: [],\n\n\t// Key is the OIDC provider id, value is the client ID\n\toidcClientIds: {},\n\n\t// Show a warning if HTTP is used instead of HTTPS\n\tshowHttpWarning: true,\n\n\t// refresh interval for jobs/user data/services etc. in minutes - doesn't apply to logs.\n\t// It's recommended to use a value between 1 and 5 minutes.\n\tdataRefreshInterval: 2,\n\n\t// Show or hide experimental and/or deprecated entites by default (e.g. processes, collections)\n\tshowExperimentalByDefault: false,\n\tshowDeprecatedByDefault: false,\n\t\n};","export default {\n\tdata() {\n\t\treturn {\n\t\t\teventBusListeners: {}\n\t\t};\n\t},\n\tbeforeDestroy() {\n\t\tfor (var eventName in this.eventBusListeners) {\n\t\t\tthis.$root.$off(eventName, this.eventBusListeners[eventName]);\n\t\t}\n\t},\n\tmethods: {\n\t\thasListener(eventName) {\n\t\t\treturn !!this.eventBusListeners[eventName];\n\t\t},\n\t\tlisten(eventName, callback) {\n\t\t\tthis.unlisten(eventName);\n\t\t\tthis.$root.$on(eventName, callback);\n\t\t\tthis.eventBusListeners[eventName] = callback;\n\t\t},\n\t\tunlisten(eventName) {\n\t\t\tif (this.hasListener(eventName)) {\n\t\t\t\tthis.$root.$off(eventName, this.eventBusListeners[eventName]);\n\t\t\t\tdelete this.eventBusListeners[eventName];\n\t\t\t}\n\t\t},\n\t\tbroadcast() {\n\t\t\tthis.$root.$emit(...arguments);\n\t\t}\n\t}\n}","import proj4 from 'proj4';\nimport { get as getProjection, transformExtent } from 'ol/proj';\nimport Projection from 'ol/proj/Projection';\nimport { register } from 'ol/proj/proj4';\n\nimport Utils from '../../utils';\n\nexport default class ProjManager {\n\n\tstatic async get(data) {\n\t\tif (data instanceof Projection) {\n\t\t\treturn data;\n\t\t}\n\n\t\treturn await ProjManager._load(data);\n\t}\n\n\tstatic add(code, meta, extent) {\n\t\ttry {\n\t\t\tproj4.defs(code, meta);\n\t\t\tregister(proj4);\n\t\t\tlet projection = getProjection(code);\n\t\t\tif (Array.isArray(extent)) {\n\t\t\t\textent = transformExtent(extent, 'EPSG:4326', projection);\n\t\t\t\tprojection.setExtent(extent);\n\t\t\t}\n\t\t\tif (meta.includes('+datum=WGS84')) {\n\t\t\t\tprojection.basemap = true;\n\t\t\t}\n\t\t\treturn projection;\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t// Get projection details from STAC (todo: add collection support)\n\tstatic async addFromStac(stac) {\n\t\tif (Utils.isObject(stac) && Utils.isObject(stac.properties)) {\n\t\t\tif (stac.properties['proj:code']) {\n\t\t\t\treturn await ProjManager.get(stac.properties['proj:code']);\n\t\t\t}\n\t\t\telse if (stac.properties['proj:wkt2']) {\n\t\t\t\treturn ProjManager.add(stac.id, stac.properties['proj:wkt2']);\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tstatic async _load(crs) {\n\t\tlet code, id;\n\t\tif (typeof crs === 'string' && crs.match(/^EPSG:\\d+$/i)) {\n\t\t\tcode = crs.toUpperCase();\n\t\t\tid = crs.substr(5);\n\t\t}\n\t\telse if (Number.isInteger(crs)) {\n\t\t\tcode = `EPSG:${crs}`\n\t\t\tid = String(crs);\n\t\t}\n\t\telse {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Get projection from cache\n\t\tlet projection = getProjection(code);\n\t\tif (projection) {\n\t\t\treturn projection;\n\t\t}\n\n\t\t// Get projection from database\n\t\tlet epsg = await import('../../assets/epsg-proj.json');\n\t\tif (id in epsg) {\n\t\t\treturn ProjManager.add(code, epsg[id][0], epsg[id][1]);\n\t\t}\n\n\t\t// No projection found\n\t\treturn null;\n\t}\n\n}","import { SupportedFormat } from './format';\n\nclass CSV extends SupportedFormat {\n\n\tconstructor(asset, delim = [',', ';']) {\n\t\tsuper(asset, 'TableViewer', 'fa-table');\n\t\tthis.delim = delim;\n\t}\n\n\tasync parseData(data) {\n\t\tif (typeof data === 'string') {\n\t\t\t// Parse CSV\n\t\t\tlet array = this.parseCSV(data.trim());\n\t\t\t// Convert values into numbers, if possible\n\t\t\treturn array.map(row => row.map(col => {\n\t\t\t\tcol = col.trim();\n\t\t\t\tif (col.length === 0) {\n\t\t\t\t\treturn NaN;\n\t\t\t\t}\n\t\t\t\telse if (!isNaN(col)) { // https://stackoverflow.com/a/35759874/9709414\n\t\t\t\t\treturn parseFloat(col);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn col;\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t\treturn data;\n\t}\n\n\t// From https://stackoverflow.com/questions/1293147/example-javascript-code-to-parse-csv-data\n\tparseCSV(str) {\n\t\tvar arr = [];\n\t\tvar quote = false; // 'true' means we're inside a quoted field\n\t\n\t\t// Iterate over each character, keep track of current row and column (of the returned array)\n\t\tfor (var row = 0, col = 0, c = 0; c < str.length; c++) {\n\t\t\tvar cc = str[c], nc = str[c+1]; // Current character, next character\n\t\t\tarr[row] = arr[row] || []; // Create a new row if necessary\n\t\t\tarr[row][col] = arr[row][col] || ''; // Create a new column (start with empty string) if necessary\n\t\n\t\t\t// If the current character is a quotation mark, and we're inside a\n\t\t\t// quoted field, and the next character is also a quotation mark,\n\t\t\t// add a quotation mark to the current column and skip the next character\n\t\t\tif (cc == '\"' && quote && nc == '\"') {\n\t\t\t\tarr[row][col] += cc; ++c;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// If it's just one quotation mark, begin/end quoted field\n\t\t\tif (cc == '\"') {\n\t\t\t\tquote = !quote;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// If it's a elimiter and we're not in a quoted field, move on to the next column\n\t\t\tif (this.delim.includes(cc) && !quote) {\n\t\t\t\t++col;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// If it's a newline (CRLF) and we're not in a quoted field, skip the next character\n\t\t\t// and move on to the next row and move to column 0 of that new row\n\t\t\tif (cc == '\\r' && nc == '\\n' && !quote) {\n\t\t\t\t++row; col = 0; ++c;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// If it's a newline (LF or CR) and we're not in a quoted field,\n\t\t\t// move on to the next row and move to column 0 of that new row\n\t\t\tif (cc == '\\n' && !quote) {\n\t\t\t\t++row; col = 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (cc == '\\r' && !quote) {\n\t\t\t\t++row; col = 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// Otherwise, append the current character to the current column\n\t\t\tarr[row][col] += cc;\n\t\t}\n\t\treturn arr;\n\t}\n\n}\n\nexport default CSV;","import Utils from '../utils.js';\n\nexport class Format {\n\n\tconstructor(asset) {\n\t\tObject.assign(this, asset);\n\t\tthis.context = null;\n\t}\n\n\tsetContext(context) {\n\t\tthis.context = context;\n\t}\n\n\tgetContext() {\n\t\treturn this.context;\n\t}\n\n\tgetUrl() {\n\t\treturn this.href;\n\t}\n\n\tcanGroup() {\n\t\treturn false;\n\t}\n\n\tisBinary() {\n\t\treturn true;\n\t}\n\n\tdownload(filename = null) {\n\t\tlet tempLink = document.createElement('a');\n\t\ttempLink.style.display = 'none';\n\t\ttempLink.href = this.getUrl();\n\t\ttempLink.setAttribute('download', filename ? filename : Utils.makeFileName(\"result\", this.type));\n\t\ttempLink.setAttribute('target', '_blank');\n\t\tdocument.body.appendChild(tempLink);\n\t\ttempLink.click();\n\t\tdocument.body.removeChild(tempLink);\n\t}\n\n\tasync loadData(connection) {\n\t\tif (!this.loaded) {\n\t\t\tthis.data = await this.fetchData(connection);\n\t\t\tthis.loaded = true;\n\t\t}\n\t}\n\n\tgetData() {\n\t\tif (!this.loaded) {\n\t\t\tthrow new Error('Data must be loaded before');\n\t\t}\n\t\treturn this.data;\n\t}\n\n\tasync fetchData(connection) {\n\t\tlet blob;\n\t\tlet url = this.getUrl();\n\t\tif (url.startsWith('blob:')) {\n\t\t\tlet response = await fetch(url);\n\t\t\tblob = await response.blob();\n\t\t}\n\t\telse {\n\t\t\tlet auth = false;\n\t\t\ttry {\n\t\t\t\tlet apiUrl = new URL(connection.getUrl());\n\t\t\t\tlet requestUrl = new URL(url);\n\t\t\t\tauth = apiUrl.origin === requestUrl.origin;\n\t\t\t} catch (error) {}\n\n\t\t\tblob = await connection.download(url, auth);\n\t\t}\n\t\tlet promise = new Promise((resolve, reject) => {\n\t\t\tlet reader = new FileReader();\n\t\t\treader.onload = event => resolve(event.target.result);\n\t\t\treader.onerror = reject;\n\t\t\tif (this.isBinary()) {\n\t\t\t\treader.readAsBinaryString(blob);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treader.readAsText(blob);\n\t\t\t}\n\t\t});\n\t\tlet data = await promise;\n\t\treturn await this.parseData(data);\n\t}\n\n\tasync parseData(data) {\n\t\treturn data;\n\t}\n\n}\n\nexport class SupportedFormat extends Format {\n\n\tconstructor(asset, component = null, icon = 'fa-database', props = {}, events = {}) {\n\t\tsuper(asset);\n\t\tthis.loaded = false;\n\t\tthis.component = component;\n\t\tthis.props = props;\n\t\tif (!this.props.data) {\n\t\t\tthis.props.data = this;\n\t\t}\n\t\tthis.icon = icon;\n\t\tthis.events = events;\n\t}\n\n\tisBinary() {\n\t\treturn false;\n\t}\n\n}\n\nexport class UnsupportedFormat extends Format {\n\n\tconstructor(asset) {\n\t\tsuper(asset);\n\t}\n\n}\n\nexport class FormatCollection extends SupportedFormat {\n\n}","import { SupportedFormat } from './format';\nimport Utils from '../utils';\nimport ProjManager from '../components/maps/projManager';\n\nimport { fromUrl as tiffFromUrl, fromBlob as tiffFromBlob, globals as _ } from 'geotiff';\n\nimport { toUserExtent } from 'ol/proj';\nimport Projection from 'ol/proj/Projection';\nimport { fromCode as unitsFromCode } from 'ol/proj/Units';\n\nconst GDAL_MIN = 'STATISTICS_MINIMUM';\nconst GDAL_MAX = 'STATISTICS_MAXIMUM';\nconst GDAL_NAME = 'DESCRIPTION';\n\nclass GeoTIFF extends SupportedFormat {\n\n\tconstructor(asset, stac) {\n\t\tsuper(asset, \"MapViewer\", 'fa-map', { removableLayers: true });\n\t\tthis._bands = [];\n\t\tthis._nodata = [];\n\t\tthis.img = null;\n\t\tthis.projection = null;\n\t\tthis.extent = null;\n\t\tthis.convertToRGB = false;\n\t\tthis.stac = stac;\n\t}\n\n\tisBinary() {\n\t\treturn true;\n\t}\n\n\tcanGroup() {\n\t\treturn true;\n\t}\n\n\tasync loadData(connection) {\n\t\tif (!this.loaded) {\n\t\t\tawait this.parseMetadata();\n\t\t\tthis.loaded = true;\n\t\t}\n\t\treturn this;\n\t}\n\n\tgetData() {\n\t\treturn this;\n\t}\n\n\tasync parseMetadata() {\n\t\tlet stacHasExtent = this.stac && (this.stac.geometry || this.stac.extent);\n\n\t\t// Get projection from STAC\n\t\tthis.projection = await ProjManager.addFromStac(this.stac);\n\n\t\t// Get nodata from STAC file:nodata\n\t\tif (Array.isArray(this['file:nodata']) && this['file:nodata'].length > 0) {\n\t\t\tthis._nodata = Utils.parseNodata(this['file:nodata']);\n\t\t}\n\n\t\t// Get min/max/nodata from STAC bands\n\t\tif (Array.isArray(this.bands) && this.bands.length > 0) {\n\t\t\tthis.bands.forEach((band, i) => {\n\t\t\t\t// Get name from band\n\t\t\t\tif (band.name) {\n\t\t\t\t\tthis.setBandInfo(i, {\n\t\t\t\t\t\tname: band.name\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Set min/max from statistics\n\t\t\t\tif (Utils.isObject(band.statistics)) {\n\t\t\t\t\tthis.setBandInfo(i, {\n\t\t\t\t\t\tmin: band.statistics.minimum,\n\t\t\t\t\t\tmax: band.statistics.maximum\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// per-band no-data values are not supported, simply read the no-data from the first occurance if not defined yet\n\t\t\t\tif (this._nodata.length === 0 && typeof band.nodata !== 'undefined') {\n\t\t\t\t\tthis._nodata.push(Utils.parseNodata(band.nodata));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Load example tiff image\n\t\tlet tiff;\n\t\tif (this.getBlob()) {\n\t\t\ttiff = await tiffFromBlob(this.getBlob());\n\t\t}\n\t\telse {\n\t\t\ttiff = await tiffFromUrl(this.getUrl());\n\t\t}\n\t\tthis.img = await tiff.getImage();\n\n\t\t// Get data for each band / sample\n\t\tfor (let i = 0; i < this.img.getSamplesPerPixel(); i++) {\n\t\t\tlet data = {};\n\n\t\t\t// Use min/max for data type (as fallback)\n\t\t\ttry {\n\t\t\t\tlet dummy = this.img.getArrayForSample(i);\n\t\t\t\tif (!Number.isFinite(this._bands[i].min)) {\n\t\t\t\t\tdata.min = this.getMinForDataType(dummy);\n\t\t\t\t}\n\t\t\t\tif (!Number.isFinite(this._bands[i].max)) {\n\t\t\t\t\tdata.max = this.getMaxForDataType(dummy);\n\t\t\t\t}\n\t\t\t} catch (error) {}\n\n\t\t\t// Set min/max/name from statistics, if available\n\t\t\tlet band = this.img.getGDALMetadata(i);\n\t\t\tif (Utils.isObject(band)) {\n\t\t\t\tif (GDAL_MIN in band) {\n\t\t\t\t\tdata.min = parseFloat(band[GDAL_MIN]);\n\t\t\t\t}\n\t\t\t\tif (GDAL_MAX in band) {\n\t\t\t\t\tdata.max = parseFloat(band[GDAL_MAX]);\n\t\t\t\t}\n\t\t\t\tif (GDAL_NAME in band) {\n\t\t\t\t\tdata.name = band[GDAL_NAME];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.setBandInfo(i, data);\n\n\t\t\t// get no-data values if needed\n\t\t\tlet nodata = this.img.getGDALNoData();\n\t\t\tif (this._nodata.length === 0 && nodata !== null) {\n\t\t\t\tthis._nodata.push(nodata);\n\t\t\t}\n\t\t}\n\n\t\t// Get projection from GeoTiff\n\t\tlet code;\n\t\tif (!this.projection && this.img.geoKeys) {\n\t\t\tlet { ProjectedCSTypeGeoKey, GeographicTypeGeoKey, ProjLinearUnitsGeoKey, GeogAngularUnitsGeoKey } = this.img.geoKeys;\n\t\t\tif (ProjectedCSTypeGeoKey) {\n\t\t\t\tcode = 'EPSG:' + ProjectedCSTypeGeoKey;\n\t\t\t\tthis.projection = await ProjManager.get(code);\n\t\t\t}\n\t\t\tif (!this.projection && GeographicTypeGeoKey) {\n\t\t\t\tcode = 'EPSG:' + GeographicTypeGeoKey;\n\t\t\t\tthis.projection = await ProjManager.get(code);\n\t\t\t}\n\n\t\t\tif (!this.projection && code) {\n\t\t\t\tconst units = (ProjLinearUnitsGeoKey && unitsFromCode(ProjLinearUnitsGeoKey)) || (GeogAngularUnitsGeoKey && unitsFromCode(GeogAngularUnitsGeoKey));\n\t\t\t\tif (units) {\n\t\t\t\t\tthis.projection = new Projection({ code, units });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Get extent from geotiff\n\t\tif (!stacHasExtent) {\n\t\t\ttry {\n\t\t\t\tlet bbox = this.img.getBoundingBox();\n\t\t\t\tthis.extent = toUserExtent(bbox, this.projection);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(error);\n\t\t\t}\n\t\t}\n\n\t\t// Store color map as RGB\n\t\tif (this.img.fileDirectory.ColorMap) {\n\t\t\tconst map = Array.from(this.img.fileDirectory.ColorMap);\n\t\t\tconst greenOffset = map.length / 3;\n\t\t\tconst blueOffset = map.length / 3 * 2;\n\t\t\tthis.colorMap = [];\n\t\t\tfor (let i = 0; i < greenOffset; i++) {\n\t\t\t\tthis.colorMap.push([\n\t\t\t\t\tMath.trunc(map[i] / 65536 * 256),\n\t\t\t\t\tMath.trunc(map[i + greenOffset] / 65536 * 256),\n\t\t\t\t\tMath.trunc(map[i + blueOffset] / 65536 * 256),\n\t\t\t\t\tthis._nodata.includes(i) ? 0 : 1\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\n\t\t// Get photometric interpretation\n\t\tswitch (this.img.fileDirectory.PhotometricInterpretation) {\n\t\t\tcase _.photometricInterpretations.CMYK:\n\t\t\tcase _.photometricInterpretations.YCbCr:\n\t\t\tcase _.photometricInterpretations.CIELab:\n\t\t\t\tthis.convertToRGB = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// RGB and (Black/White)IsZero are handled via user control\n\t\t\t\t// Palette is handled directly by our styling\n\t\t\t\tthis.convertToRGB = false;\n\t\t}\n\t}\n\n\tsetBandInfo(i, data) {\n\t\tif (this._bands[i]) {\n\t\t\tObject.assign(this._bands[i], data);\n\t\t}\n\t\telse {\n\t\t\tthis._bands.push(Object.assign({ id: i + 1 }, data));\n\t\t}\n\t}\n\n\tgetBlob() {\n\t\treturn this.blob;\n\t}\n\n\tgetNoData() {\n\t\treturn this._nodata;\n\t}\n\n\tgetContext() {\n\t\treturn this.stac;\n\t}\n\n\tgetBands() {\n\t\treturn this._bands;\n\t}\n\n\tgetProjection() {\n\t\treturn this.projection;\n\t}\n\n\tgetExtent() {\n\t\treturn this.extent;\n\t}\n\n\tgetColorMap() {\n\t\treturn this.colorMap;\n\t}\n\n\tgetMinForDataType(array) {\n\t\tif (array instanceof Int8Array) {\n\t\t\treturn -128;\n\t\t}\n\t\tif (array instanceof Int16Array) {\n\t\t\treturn -32768;\n\t\t}\n\t\tif (array instanceof Int32Array) {\n\t\t\treturn -2147483648;\n\t\t}\n\t\tif (array instanceof Float32Array) {\n\t\t\treturn 1.2e-38;\n\t\t}\n\t\treturn 0;\n\t}\n\t\n\tgetMaxForDataType(array) {\n\t\tif (array instanceof Int8Array) {\n\t\t\treturn 127;\n\t\t}\n\t\tif (array instanceof Uint8Array) {\n\t\t\treturn 255;\n\t\t}\n\t\tif (array instanceof Uint8ClampedArray) {\n\t\t\treturn 255;\n\t\t}\n\t\tif (array instanceof Int16Array) {\n\t\t\treturn 32767;\n\t\t}\n\t\tif (array instanceof Uint16Array) {\n\t\t\treturn 65535;\n\t\t}\n\t\tif (array instanceof Int32Array) {\n\t\t\treturn 2147483647;\n\t\t}\n\t\tif (array instanceof Uint32Array) {\n\t\t\treturn 4294967295;\n\t\t}\n\t\tif (array instanceof Float32Array) {\n\t\t\treturn 3.4e38;\n\t\t}\n\t\treturn 255;\n\t}\n\n}\n\nexport default GeoTIFF;","import Utils from '../utils';\nimport { SupportedFormat } from './format';\n\nclass JSON_ extends SupportedFormat {\n\n\tconstructor(asset, component = \"DataViewer\") {\n\t\tsuper(asset, component);\n\n\t\tthis.isGeoJson = false;\n\t\t// this.isCovJson = false;\n\t}\n\n\tasync parseData(data) {\n\t\tif (typeof data === 'string') {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse(data);\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t}\n\t\tif (Utils.detectGeoJson(data)) {\n\t\t\tthis.isGeoJson = true;\n\t\t\tthis.component = 'MapViewer';\n\t\t\tthis.icon = 'fa-map';\n\t\t}\n\t\telse if (this.isTable(data)) {\n\t\t\tthis.component = 'TableViewer';\n\t\t\tthis.icon = 'fa-table';\n\t\t}\n\t\treturn data;\n\t}\n\n\tisTable(data) {\n\t\tif (!data || typeof data !== 'object' || Utils.size(data) === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tlet values = Object.values(data);\n\t\tlet keys = Object.keys(values[0]);\n\t\treturn !values.some(row => !row || typeof row !== 'object' || !Utils.equals(Object.keys(row), keys));\n\t}\n}\n\nexport default JSON_;","import Utils from './utils';\nimport Process from './process';\nimport { Formula } from '@openeo/js-client';\nimport { ProcessGraph } from '@openeo/js-processgraphs';\n\nexport default {\n\tmathProcesses: null,\n\tgetMathProcesses() {\n\t\tif (!this.mathProcesses) {\n\t\t\tthis.mathProcesses = this.all().filter(Process.isMathProcess);\n\t\t}\n\t\treturn this.mathProcesses;\n\t},\n\tisMath(process) {\n\t\tif (process instanceof ProcessGraph) {\n\t\t\tprocess = process.process;\n\t\t}\n\t\tif (!Utils.isObject(process) || Utils.size(process.process_graph) === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet mathProcessIds = this.getMathProcesses().map(p => p.id)\n\t\t\t.concat(Object.values(Formula.operatorMapping))\n\t\t\t.concat(Object.keys(Formula.arrayOperatorMapping))\n\t\t\t.concat(['array_element']);\n\t\tlet unsupportedFuncs = Object.values(process.process_graph).find(node => !mathProcessIds.includes(node.process_id));\n\t\treturn (typeof unsupportedFuncs === 'undefined');\n\t}\n};","import { SupportedFormat } from './format';\n\nclass BrowserImage extends SupportedFormat {\n\n\tconstructor(asset) {\n\t\tsuper(asset, 'ImageViewer', 'fa-image');\n\t}\n\n\tisBinary() {\n\t\treturn true;\n\t}\n\n\tasync fetchData() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet img = new Image();\n\t\t\timg.crossOrigin = 'anonymous';\n\t\t\timg.onerror = () => reject(new Error('Failed to load the image'));\n\t\t\timg.onload = () => resolve(img);\n\t\t\timg.fetchPriotity = 'high';\n\t\t\timg.decoding = 'sync';\n\t\t\timg.src = this.getUrl();\n\t\t});\n\t}\n\n}\n\nexport default BrowserImage;","import { SupportedFormat } from './format';\n\nclass NativeType extends SupportedFormat {\n\n\tconstructor(asset) {\n\t\tsuper(asset, \"DataViewer\");\n\t}\n\n}\n\nexport default NativeType;","import CSV from './csv';\n\nclass TSV extends CSV {\n\n\tconstructor(asset) {\n\t\tsuper(asset, [\"\\t\"]);\n\t}\n\n}\n\nexport default TSV;","import contentType from 'content-type';\n\nimport BrowserImage from '../formats/browserImage';\nimport CSV from '../formats/csv';\nimport GeoTIFF from '../formats/geotiff';\nimport JSON_ from '../formats/json';\nimport NativeType from './native';\nimport TSV from '../formats/tsv';\nimport { UnsupportedFormat } from './format';\n\nexport default class FormatRegistry {\n\n\tconstructor() {\n\t}\n\n\tcreateFilesFromSTAC(stac, resource = null) {\n\t\tlet files = Object.values(stac.assets)\n\t\t\t.filter(asset => !Array.isArray(asset.roles) || !asset.roles.includes(\"metadata\"))\n\t\t\t.map(asset => this.createFileFromAsset(asset, stac));\n\t\tif (resource) {\n\t\t\tfiles.forEach(file => file.setContext(resource));\n\t\t}\n\t\treturn files;\n\t}\n\n\tcreateFilesFromBlob(data) {\n\t\tif (!(data instanceof Blob)) {\n\t\t\tthrow new Error(\"Given data is not a valid Blob\");\n\t\t}\n\t\treturn this.createFilesFromSTAC({\n\t\t\tstac_version: \"1.0.0\",\n\t\t\ttype: \"Feature\",\n\t\t\tgeometry: null,\n\t\t\tproperties: {},\n\t\t\tlinks: [],\n\t\t\tassets: {\n\t\t\t\tresult: {\n\t\t\t\t\thref: URL.createObjectURL(data),\n\t\t\t\t\tblob: data,\n\t\t\t\t\ttype: data.type\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tcreateFileFromAsset(asset, stac) {\n\t\ttry {\n\t\t\t// Detect by media type\n\t\t\tif (typeof asset.type === 'string') {\n\t\t\t\tlet mime = contentType.parse(asset.type.toLowerCase());\n\t\t\t\tswitch(mime.type) {\n\t\t\t\t\tcase 'image/png':\n\t\t\t\t\tcase 'image/jpg':\n\t\t\t\t\tcase 'image/jpeg':\n\t\t\t\t\tcase 'image/gif':\n\t\t\t\t\tcase 'image/webp':\n\t\t\t\t\t\treturn new BrowserImage(asset);\n\t\t\t\t\tcase 'application/json':\n\t\t\t\t\tcase 'text/json':\n\t\t\t\t\tcase 'application/geo+json':\n\t\t\t\t\t\treturn new JSON_(asset);\n\t\t\t\t\tcase 'text/plain':\n\t\t\t\t\t\treturn new NativeType(asset);\n\t\t\t\t\tcase 'text/csv':\n\t\t\t\t\t\treturn new CSV(asset);\n\t\t\t\t\tcase 'text/tab-separated-values':\n\t\t\t\t\t\treturn new TSV(asset);\n\t\t\t\t\tcase 'image/tiff':\n\t\t\t\t\t\treturn new GeoTIFF(asset, stac);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Fallback: Detect by file extension\n\t\t\tif (typeof asset.href === 'string') {\n\t\t\t\tlet extension = asset.href.split(/[#?]/)[0].split('.').pop().trim().toLowerCase();\n\t\t\t\tswitch(extension) {\n\t\t\t\t\tcase 'png':\n\t\t\t\t\tcase 'jpg':\n\t\t\t\t\tcase 'jpeg':\n\t\t\t\t\tcase 'gif':\n\t\t\t\t\tcase 'webp':\n\t\t\t\t\t\treturn new BrowserImage(asset);\n\t\t\t\t\tcase 'json':\n\t\t\t\t\tcase 'geojson':\n\t\t\t\t\t\treturn new JSON_(asset);\n\t\t\t\t\tcase 'txt':\n\t\t\t\t\t\treturn new NativeType(asset);\n\t\t\t\t\tcase 'csv':\n\t\t\t\t\t\treturn new CSV(asset);\n\t\t\t\t\tcase 'tsv':\n\t\t\t\t\t\treturn new TSV(asset);\n\t\t\t\t\tcase 'tif':\n\t\t\t\t\tcase 'tiff':\n\t\t\t\t\t\treturn new GeoTIFF(asset, stac);\n\t\t\t\t}\n\t\t\t}\n\n\t\t} catch (error) {\n\t\t\tconsole.log(error);\n\t\t}\n\n\t\treturn new UnsupportedFormat(asset);\n\t}\n\n}","import Vue from 'vue';\nimport Utils from '../utils';\nimport { Job, Service, UserProcess } from '@openeo/js-client';\nimport { ProcessGraph } from '@openeo/js-processgraphs';\nimport FormatRegistry from '../formats/formatRegistry.js';\n\nconst serverStorage = \"serverUrls\";\n\nconst getDefaultState = () => {\n\treturn {\n\t\tappMode: null,\n\t\tstoredServers: JSON.parse(localStorage.getItem(serverStorage) || \"[]\"),\n\t\tcontext: null,\n\t\tprocess: null,\n\t\tdiscoverySearchTerm: '',\n\t\thightestModalZIndex: 1000,\n\t\tepsgCodes: [],\n\t\tinitialProcess: null,\n\t\tinitialNode: null,\n\t\topenWizard: null,\n\t\topenWizardProps: {},\n\t\tcollectionPreview: null,\n\t\tviewerOptions: {},\n\t\tmodelDnD: null,\n\t\tformatRegistry: new FormatRegistry(),\n\t};\n};\n\nexport default {\n\tnamespaced: true,\n\tstate: getDefaultState(),\n\tgetters: {\n\t\thasProcess: state => Utils.isObject(state.process) && Utils.size(state.process) > 0 && Utils.size(state.process.process_graph),\n\t\tgetModelNodeFromDnD: (state, getters, rootState, rootGetters) => () => {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tif (!state.modelDnD) {\n\t\t\t\t\tresolve(null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst getterFn = () => {\n\t\t\t\t\tswitch(state.modelDnD.type) {\n\t\t\t\t\t\tcase 'collection':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tprocess_id: 'load_collection',\n\t\t\t\t\t\t\t\targuments: rootGetters.collectionDefaults(state.modelDnD.data.id)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'process':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tprocess_id: state.modelDnD.data.id,\n\t\t\t\t\t\t\t\tnamespace: state.modelDnD.data.namespace,\n\t\t\t\t\t\t\t\targuments: {}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'udf':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tprocess_id: 'run_udf',\n\t\t\t\t\t\t\t\targuments: state.modelDnD.data\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'fileformat':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tprocess_id: 'save_result',\n\t\t\t\t\t\t\t\targuments: {format: state.modelDnD.data.name, options: {}}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tif (state.modelDnD.loading) {\n\t\t\t\t\tlet id = setInterval(() => {\n\t\t\t\t\t\tif (!state.modelDnD || state.modelDnD.loading) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclearInterval(id);\n\t\t\t\t\t\tresolve(getterFn());\n\t\t\t\t\t}, 50);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresolve(getterFn());\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tactions: {\n\t\tasync loadEpsgCodes(cx) {\n\t\t\tif (cx.state.epsgCodes.length === 0) {\n\t\t\t\tlet res = await import('../assets/epsg-names.json');\n\t\t\t\tcx.commit('epsgCodes', res.default);\n\t\t\t}\n\t\t},\n\t\tasync loadInitialProcess(cx) {\n\t\t\tif (cx.state.process) {\n\t\t\t\treturn; // Process already loaded (usually during a later login)\n\t\t\t}\n\t\t\tif (Utils.isUrl(cx.state.initialProcess)) {\n\t\t\t\tlet response = await axios(cx.state.initialProcess);\n\t\t\t\tif (Utils.isObject(response.data)) {\n\t\t\t\t\tvar pg = new ProcessGraph(response.data);\n\t\t\t\t\tpg.parse();\n\t\t\t\t\tcx.commit('setProcess', response.data);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (typeof cx.state.initialProcess === 'string' && cx.state.initialProcess.length > 0) {\n\t\t\t\tlet [id, namespace] = Utils.extractUDPParams(cx.state.initialProcess);\n\t\t\t\ttry {\n\t\t\t\t\tawait cx.dispatch('loadProcess', {id, namespace}, {root: true});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.warn(error);\n\t\t\t\t}\n\t\t\t\tcx.commit('setProcess', {\n\t\t\t\t\tprocess_graph: {\n\t\t\t\t\t\t[id]: {\n\t\t\t\t\t\t\tprocess_id: id,\n\t\t\t\t\t\t\tnamespace,\n\t\t\t\t\t\t\targuments: {},\n\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tasync loadForAppMode(cx) {\n\t\t\tif (!cx.state.appMode) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (cx.state.appMode.resultType !== 'service') {\n\t\t\t\ttry {\n\t\t\t\t\tlet response = await axios(cx.state.appMode.resultUrl);\n\t\t\t\t\tif (Utils.isObject(response.data)) {\n\t\t\t\t\t\tcx.commit('setAppModeData', response.data);\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t\tthrow new Error(\"Sorry, the shared data is not available anymore!\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tmutations: {\n\t\tsetModelDnd(state, obj = null) {\n\t\t\tstate.modelDnD = obj;\n\t\t},\n\t\tsetDiscoverySearchTerm(state, searchTerm) {\n\t\t\tstate.discoverySearchTerm = typeof searchTerm === 'string' ? searchTerm : '';\n\t\t},\n\t\tsetInitialProcess(state, process) {\n\t\t\tstate.initialProcess = process;\n\t\t},\n\t\tsetInitialNode(state, node) {\n\t\t\tstate.initialNode = node;\n\t\t},\n\t\tsetAppMode(state, appMode) {\n\t\t\tstate.appMode = {\n\t\t\t\t...appMode,\n\t\t\t\ttitle: 'Results',\n\t\t\t\tdata: null,\n\t\t\t\texpires: null\n\t\t\t};\n\t\t},\n\t\tsetAppModeData(state, data) {\n\t\t\tVue.set(state.appMode, 'data', data);\n\n\t\t\tlet process, title, expires;\n\t\t\tif (data.type === 'Collection') {\n\t\t\t\tprocess = Utils.getProcessingExpression(data) || Utils.getProcessingExpression(data.summaries);\n\t\t\t\ttitle = data.title;\n\t\t\t\texpires = data.expires;\n\t\t\t}\n\t\t\telse if (data.type === 'Feature') {\n\t\t\t\tprocess = Utils.getProcessingExpression(data.properties);\n\t\t\t\ttitle = data.properties?.title;\n\t\t\t\texpires = data.properties?.expires;\n\t\t\t}\n\t\t\tif (process) {\n\t\t\t\tstate.process = process;\n\t\t\t}\n\t\t\tif (title) {\n\t\t\t\tVue.set(state.appMode, 'title', title);\n\t\t\t\tVue.set(state.appMode, 'expires', expires);\n\t\t\t\tstate.context = title;\n\t\t\t}\n\t\t},\n\t\tsetViewerOptions(state, options) {\n\t\t\tstate.viewerOptions = options || {};\n\t\t},\n\t\tsetOpenWizard(state, {component, options}) {\n\t\t\tstate.openWizard = component;\n\t\t\tif (component) {\n\t\t\t\tstate.openWizardProps = options;\n\t\t\t}\n\t\t},\n\t\tsetCollectionPreview(state, collectionID) {\n\t\t\tstate.collectionPreview = collectionID;\n\t\t\tif (!state.discoverySearchTerm) {\n\t\t\t\tstate.discoverySearchTerm = typeof collectionID === 'string' ? collectionID : '';\n\t\t\t}\n\t\t},\n\t\topenModal(state) {\n\t\t\tstate.hightestModalZIndex = state.hightestModalZIndex + 1;\n\t\t},\n\t\tcloseModal(state) {\n\t\t\tstate.hightestModalZIndex = state.hightestModalZIndex - 1;\n\t\t},\n\t\taddServer(state, url) {\n\t\t\tif (state.storedServers.indexOf(url) === -1) {\n\t\t\t\tstate.storedServers.push(url);\n\t\t\t}\n\t\t\tlocalStorage.setItem(serverStorage, JSON.stringify(state.storedServers));\n\t\t},\n\t\tremoveServer(state, url) {\n\t\t\tstate.storedServers.splice(state.storedServers.indexOf(url), 1);\n\t\t\tlocalStorage.setItem(serverStorage, JSON.stringify(state.storedServers));\n\t\t},\n\t\tsetContext(state, obj) {\n\t\t\tstate.context = obj;\n\t\t\tif (obj instanceof Job || obj instanceof Service) {\n\t\t\t\tstate.process = obj.process;\n\t\t\t}\n\t\t\telse if (obj instanceof UserProcess) {\n\t\t\t\tstate.process = obj.toJSON();\n\t\t\t}\n\t\t\telse if (Utils.isObject(obj) && obj.process) {\n\t\t\t\tstate.process = obj.process;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tstate.process = obj;\n\t\t\t}\n\t\t},\n\t\tsetProcess(state, process) {\n\t\t\tstate.process = process;\n\t\t},\n\t\tepsgCodes(state, epsgCodes) {\n\t\t\tstate.epsgCodes = epsgCodes;\n\t\t},\n\t\treset(state) {\n\t\t\tObject.assign(state, getDefaultState());\n\t\t}\n\t}\n};\n","import { UserProcess } from '@openeo/js-client';\nimport { Utils } from '@openeo/js-commons';\nimport Vue from 'vue';\n\nexport default ({namespace, listFn, createFn, updateFn, deleteFn, readFn, readFnById, customizations, primaryKey}) => {\n\tif (!primaryKey) {\n\t\tprimaryKey = 'id';\n\t}\n\tconst getDefaultState = () => {\n\t\tlet data = {};\n\t\tdata[namespace] = [];\n\t\treturn data;\n\t};\n\tlet definition = {\n\t\tnamespaced: true,\n\t\tstate: getDefaultState(),\n\t\tgetters: {\n\t\t\tsupportsList: (state, getters, rootState, rootGetters) => rootGetters.supports(listFn),\n\t\t\tsupportsCreate: (state, getters, rootState, rootGetters) => rootGetters.supports(createFn),\n\t\t\tsupportsUpdate: (state, getters, rootState, rootGetters) => rootGetters.supports(updateFn),\n\t\t\tsupportsDelete: (state, getters, rootState, rootGetters) => rootGetters.supports(deleteFn),\n\t\t\tsupportsRead: (state, getters, rootState, rootGetters) => rootGetters.supports(readFn),\n\t\t\tgetById: (state) => (id) => {\n\t\t\t\tlet data = state[namespace].find(x => x[primaryKey] === id);\n\t\t\t\treturn typeof data !== 'undefined' ? data : null;\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\tasync create(cx, parameters) {\n\t\t\t\tif (cx.getters.supportsCreate) {\n\t\t\t\t\tlet connection = cx.rootState.connection;\n\t\t\t\t\tlet data = await connection[createFn].apply(connection, parameters);\n\t\t\t\t\tcx.commit('upsert', data);\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Adding is not supported by the server.\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync delete(cx, {data}) {\n\t\t\t\tif (cx.getters.supportsDelete) {\n\t\t\t\t\tawait data[deleteFn]();\n\t\t\t\t\tcx.commit('delete', data);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Deleting is not supported by the server.\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync update(cx, {data, parameters}) {\n\t\t\t\tif (cx.getters.supportsUpdate) {\n\t\t\t\t\tlet updated = await data[updateFn](parameters);\n\t\t\t\t\tcx.commit('upsert', updated);\n\t\t\t\t\treturn updated;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Updating is not supported by the server.\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync read(cx, {data}) {\n\t\t\t\tlet updated = null;\n\t\t\t\tif (!(data instanceof UserProcess)) {\n\t\t\t\t\tlet id = Utils.isObject(data) ? data[primaryKey] : data;\n\t\t\t\t\t// Try to get UserProcess from store\n\t\t\t\t\tdata = cx.getters.getById(id);\n\t\t\t\t\tif (!data) {\n\t\t\t\t\t\t// Try to load UserProcess from Connection\n\t\t\t\t\t\tupdated = await cx.rootState.connection[readFnById](data);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!updated) {\n\t\t\t\t\t// Try to update UserProcess\n\t\t\t\t\tupdated = await data[readFn]();\n\t\t\t\t}\n\t\t\t\t// Update or insert, depending on previous state\n\t\t\t\tcx.commit('upsert', updated);\n\t\t\t\treturn updated;\n\t\t\t},\n\t\t\tasync list(cx) {\n\t\t\t\tvar data = [];\n\t\t\t\tif (cx.getters.supportsList) {\n\t\t\t\t\t// Pass over existing data so that it can be updated (for all complete entities, only update fields that exist in the new object)\n\t\t\t\t\t// instead of getting replaced, see https://github.com/Open-EO/openeo-web-editor/issues/234\n\t\t\t\t\tdata = await cx.rootState.connection[listFn](cx.state[namespace]);\n\t\t\t\t}\n\t\t\t\tcx.commit('data', data);\n\t\t\t\treturn data;\n\t\t\t}\n\t\t},\n\t\tmutations: {\n\t\t\tdata(state, data) {\n\t\t\t\tstate[namespace] = data.map(d => Vue.observable(d));\n\t\t\t},\n\t\t\tupsert(state, data) {\n\t\t\t\tlet id = data[primaryKey];\n\t\t\t\tlet index = state[namespace].findIndex(x => x[primaryKey] === id);\n\t\t\t\tlet observableData = Vue.observable(data);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\tVue.set(state[namespace], index, observableData);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tstate[namespace].push(observableData);\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelete(state, data) {\n\t\t\t\tlet id = data[primaryKey];\n\t\t\t\tlet index = state[namespace].findIndex(x => x[primaryKey] === id);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\tVue.delete(state[namespace], index);\n\t\t\t\t}\n\t\t\t},\n\t\t\treset(state) {\n\t\t\t\tObject.assign(state, getDefaultState());\n\t\t\t}\n\t\t}\n\t};\n\t// Override with custom definitions\n\tfor(let key in customizations) {\n\t\tObject.assign(definition[key], customizations[key]);\n\t}\n\treturn definition;\n};","import storeFactory from './storeFactory';\n\nexport default storeFactory({\n\tnamespace: 'files',\n\tlistFn: 'listFiles',\n\tcreateFn: 'uploadFile',\n\tupdateFn: 'uploadFile',\n\tdeleteFn: 'deleteFile',\n\treadFn: 'downloadFile',\n\treadFnById: 'getFile',\n\tprimaryKey: 'path',\n\tcustomizations: {\n\t\tgetters: {\n\t\t},\n\t\tactions: {\n\t\t},\n\t\tmutations: {\n\t\t}\n\t}\n});","import storeFactory from './storeFactory';\n\nexport default storeFactory({\n\tnamespace: 'jobs',\n\tlistFn: 'listJobs',\n\tcreateFn: 'createJob',\n\tupdateFn: 'updateJob',\n\tdeleteFn: 'deleteJob',\n\treadFn: 'describeJob',\n\treadFnById: 'getJob',\n\tcustomizations: {\n\t\tgetters: {\n\t\t\tsupportsQueue: (state, getters, rootState, rootGetters) => rootGetters.supports('startJob'),\n\t\t\tsupportsCancel: (state, getters, rootState, rootGetters) => rootGetters.supports('stopJob')\n\t\t},\n\t\tactions: {\n\t\t\tasync queue(cx, {data}) {\n\t\t\t\tif (cx.getters.supportsQueue) {\n\t\t\t\t\tlet updated = await data.startJob();\n\t\t\t\t\tcx.commit('upsert', updated);\n\t\t\t\t\treturn updated;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Queueing a batch job is not supported by the server.\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync cancel(cx, {data}) {\n\t\t\t\tif (cx.getters.supportsCancel) {\n\t\t\t\t\tlet updated = await data.stopJob();\n\t\t\t\t\tcx.commit('upsert', updated);\n\t\t\t\t\treturn updated;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Canceling a batch job is not supported by the server.\");\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmutations: {\n\t\t}\n\t}\n});","import storeFactory from './storeFactory';\n\nexport default storeFactory({\n\tnamespace: 'services',\n\tlistFn: 'listServices',\n\tcreateFn: 'createService',\n\tupdateFn: 'updateService',\n\tdeleteFn: 'deleteService',\n\treadFn: 'describeService',\n\treadFnById: 'getService',\n\tcustomizations: {\n\t\tgetters: {\n\t\t},\n\t\tactions: {\n\t\t},\n\t\tmutations: {\n\t\t}\n\t}\n});","import storeFactory from './storeFactory';\nimport Utils from '../utils';\n\nexport default storeFactory({\n\tnamespace: 'userProcesses',\n\tlistFn: 'listUserProcesses',\n\tcreateFn: 'setUserProcess',\n\tupdateFn: 'replaceUserProcess',\n\tdeleteFn: 'deleteUserProcess',\n\treadFn: 'describeUserProcess',\n\treadFnById: 'getUserProcess',\n\tcustomizations: {\n\t\tgetters: {\n\t\t},\n\t\tactions: {\n\t\t},\n\t\tmutations: {\n\t\t\tdata(state, data) {\n\t\t\t\tstate.userProcesses = data\n\t\t\t\t\t.map(p => Object.assign(p, {namespace: 'user'}))\n\t\t\t\t\t.filter(p => (typeof p.id === 'string'))\n\t\t\t\t\t.sort(Utils.sortById);\n\t\t\t}\n\t\t}\n\t}\n});","import Vue from 'vue';\nimport Vuex from 'vuex';\n\nimport { OpenEO, FileTypes, Formula } from '@openeo/js-client';\nimport { ProcessRegistry } from '@openeo/js-commons';\nimport StacMigrate from '@radiantearth/stac-migrate';\nimport Utils from '../utils.js';\nimport ProcessRegistryExtension from '../registryExtension.js';\nimport Config from '../../config';\n// Sub-modules\nimport editor from './editor';\nimport files from './files';\nimport jobs from './jobs';\nimport services from './services';\nimport userProcesses from './userProcesses';\n\nVue.use(Vuex);\n\nFormula.arrayOperatorMapping = {\n\t'product': '*',\n\t'sum': '+'\n};\nFormula.reverseOperatorMapping = (() => {\n\tlet mapping = {};\n\tfor(var op in Formula.operatorMapping) {\n\t\tmapping[Formula.operatorMapping[op]] = op;\n\t}\n\treturn Object.assign(mapping, Formula.arrayOperatorMapping);\n})();\n\nconst getDefaultState = () => {\n\treturn {\n\t\tconnection: null,\n\t\tactiveRequests: 0,\n\t\tdiscoveryCompleted: false,\n\t\tisAuthenticated: false,\n\t\tuserInfo: {},\n\t\tconnectionError: null,\n\t\tbeforeLogoutListener: {},\n\t\tauthProviders: [],\n\t\tfileFormats: {},\n\t\tserviceTypes: {},\n\t\tudfRuntimes: {},\n\t\tprocessesUpdated: 0,\n\t\tcollections: [],\n\t\tprocessNamespaces: Config.processNamespaces || [],\n\t};\n};\n\nexport default new Vuex.Store({\n//\tstrict: true, // Can't enable, js-client gets mutated externally\n\tmodules: {\n\t\teditor,\n\t\tfiles,\n\t\tjobs,\n\t\tservices,\n\t\tuserProcesses\n\t},\n\tstate: getDefaultState(),\n\tgetters: {\n\t\ttitle: (state) => {\n\t\t\tif (state.connection !== null && state.connection.capabilities() !== null) {\n\t\t\t\tvar title = state.connection.capabilities().title();\n\t\t\t\treturn title ? title : state.connection.getUrl();\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tcapabilities: (state) => state.connection !== null ? state.connection.capabilities() : null,\n\t\tsupports: (state) => (feature) => state.connection !== null && state.connection.capabilities() !== null && state.connection.capabilities().hasFeature(feature),\n\t\tcurrency: (state) => {\n\t\t\tvar currency = '';\n\t\t\tif (state.connection && state.connection.capabilities().currency() !== null) {\n\t\t\t\tcurrency = state.connection.capabilities().currency();\n\t\t\t}\n\t\t\treturn currency;\n\t\t},\n\t\tisConnected: (state) => state.connection !== null && state.connection.capabilities() !== null,\n\t\tisDiscovered: (state) => state.connection !== null && state.discoveryCompleted,\n\t\tsupportsBilling: (state) => state.connection !== null && state.connection.capabilities().currency() !== null,\n\t\tsupportsBillingPlans: (state) => state.connection !== null && state.connection.capabilities().currency() !== null && state.connection.capabilities().listPlans().length > 0,\n\t\tapiVersion: (state) => state.connection !== null ? state.connection.capabilities().apiVersion() : null,\n\t\tfileFormats: (state) => state.fileFormats instanceof FileTypes ? state.fileFormats.toJSON() : {input: {}, output: {}},\n\t\tcollectionDefaults: (state) => (id) => {\n\t\t\tvar collection = state.collections.find(c => c.id === id);\n\t\t\tif (!Utils.isObject(collection)) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tvar spatial_extent = null;\n\t\t\ttry {\n\t\t\t\tspatial_extent = Utils.extentToBBox(collection.extent.spatial.bbox[0]);\n\t\t\t} catch (error) {}\n\n\t\t\tvar temporal_extent = null;\n\t\t\ttry {\n\t\t\t\ttemporal_extent = collection.extent.temporal.interval[0];\n\t\t\t\tif (temporal_extent[0] === null && temporal_extent[1] === null) {\n\t\t\t\t\ttemporal_extent = null;\n\t\t\t\t}\n\t\t\t\telse if (temporal_extent[0] == temporal_extent[1]) {\n\t\t\t\t\ttemporal_extent[1] = null;\n\t\t\t\t}\n\t\t\t} catch (error) {}\n\t\n\t\t\tvar bands = null;\n\t\t\treturn {id, spatial_extent, temporal_extent, bands};\n\t\t},\n\t\tprocesses: (state) => {\n\t\t\tlet registry\n\t\t\tif (state.processesUpdated && state.connection !== null) {\n\t\t\t\tregistry = state.connection.processes;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tregistry = new ProcessRegistry();\n\t\t\t}\n\t\t\treturn Object.assign(registry, ProcessRegistryExtension);\n\t\t},\n\t\tsupportsMath: (state, getters) => {\n\t\t\tif (!state.processesUpdated) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfor(let i in Formula.operatorMapping) {\n\t\t\t\tlet processId = Formula.operatorMapping[i];\n\t\t\t\tif (!getters.processes.has(processId)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t},\n\tactions: {\n\t\tasync connect(cx, url) {\n\t\t\tawait cx.dispatch('logout');\n\n\t\t\t// Connect and request capabilities\n\t\t\tvar connection = null;\n\t\t\ttry {\n\t\t\t\tconnection = await OpenEO.connect(url, {addNamespaceToProcess: true});\n\t\t\t} catch (error) {\n\t\t\t\tif(error.message == 'Network Error' || error.name == 'NetworkError') {\n\t\t\t\t\terror = new Error(\"Server is not available.\");\n\t\t\t\t}\n\t\t\t\tcx.commit('setConnectionError', error);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Request auth provider list\n\t\t\ttry {\n\t\t\t\tvar providers = await connection.listAuthProviders();\n\t\t\t\tcx.commit('authProviders', providers);\n\t\t\t} catch (error) {\n\t\t\t\tcx.commit('setConnectionError', error);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconnection.on('authProviderChanged', async (provider) => {\n\t\t\t\tcx.commit('authenticated', provider !== null);\n\t\t\t\tif (cx.state.discoveryCompleted) {\n\t\t\t\t\tawait cx.dispatch('discover', true);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconnection.on('processesChanged', () => cx.commit('updateProcesses'));\n\n\t\t\t// Only commit the connection change after requesting the auth providers\n\t\t\t// as this indicates that the connection procedure has finished.\n\t\t\tcx.commit('connection', connection);\n\n\t\t\treturn true;\n\t\t},\n\n\t\tasync discover(cx, refresh = false) {\n\t\t\tlet promises = [];\n\t\t\tlet errors = [];\n\t\t\tlet capabilities = cx.state.connection.capabilities();\n\n\t\t\t// Request collections\n\t\t\tif (capabilities.hasFeature('listCollections')) {\n\t\t\t\tpromises.push(cx.state.connection.listCollections()\n\t\t\t\t\t.then(response => cx.commit('collections', response))\n\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t}\n\t\t\telse {\n\t\t\t\terrors.push(new Error(\"Collections not supported by the server.\"));\n\t\t\t}\n\n\t\t\tif (!refresh) { // Only load on first discovery, otherwise the JS client already refreshes the data\n\t\t\t\t// Request processes\n\t\t\t\tif (capabilities.hasFeature('listProcesses')) {\n\t\t\t\t\tpromises.push(cx.state.connection.listProcesses()\n\t\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\terrors.push(new Error(\"Pre-defined processes not supported by the server.\"));\n\t\t\t\t}\n\n\t\t\t\t// Request processes from namespaces\n\t\t\t\tif (cx.state.processNamespaces.length > 0) {\n\t\t\t\t\tfor(let namespace of cx.state.processNamespaces) {\n\t\t\t\t\t\tpromises.push(cx.state.connection.listProcesses(namespace)\n\t\t\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Request custom processes\n\t\t\t\tif (capabilities.hasFeature('listUserProcesses') && cx.state.connection.isAuthenticated()) {\n\t\t\t\t\tpromises.push(cx.dispatch('userProcesses/list')\n\t\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Request supported output formats\n\t\t\tif (capabilities.hasFeature('listFileTypes')) {\n\t\t\t\tpromises.push(cx.state.connection.listFileTypes()\n\t\t\t\t\t.then(response => cx.commit('fileFormats', response))\n\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t}\n\n\t\t\t// Request supported service types\n\t\t\tif (capabilities.hasFeature('listServiceTypes')) {\n\t\t\t\tpromises.push(cx.state.connection.listServiceTypes()\n\t\t\t\t\t.then(response => cx.commit('serviceTypes', response))\n\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t}\n\n\t\t\t// Request supported UDF runtimes\n\t\t\tif (capabilities.hasFeature('listUdfRuntimes')) {\n\t\t\t\tpromises.push(cx.state.connection.listUdfRuntimes()\n\t\t\t\t\t.then(response => cx.commit('udfRuntimes', response))\n\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t}\n\n\t\t\t// Request user account information\n\t\t\tvar promise = cx.dispatch('describeAccount')\n\t\t\t\t.catch(error => errors.push(error));\n\t\t\tpromises.push(promise);\n\n\t\t\tawait Promise.all(promises);\n\n\t\t\t// Request initial process\n\t\t\tif (!refresh) {\n\t\t\t\ttry {\n\t\t\t\t\tawait cx.dispatch('editor/loadInitialProcess');\n\t\t\t\t} catch (error) {\n\t\t\t\t\terrors.push(error);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Request results for app mode\n\t\t\tif (!refresh) {\n\t\t\t\ttry {\n\t\t\t\t\tawait cx.dispatch('editor/loadForAppMode');\n\t\t\t\t} catch (error) {\n\t\t\t\t\terrors.push(error);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcx.commit('discoveryCompleted');\n\t\t\treturn errors;\n\t\t},\n\n\t\t// Request user account info\n\t\tasync describeAccount(cx) {\n\t\t\tif (cx.getters.supports('describeAccount') && cx.state.isAuthenticated) {\n\t\t\t\tvar response = await cx.state.connection.describeAccount();\n\t\t\t\tcx.commit('userInfo', response);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcx.commit('userInfo');\n\t\t\t}\n\t\t},\n\n\t\tasync describeCollection(cx, id) {\n\t\t\tlet collection = cx.state.collections.find(c => c.id === id);\n\t\t\tif (!collection || !collection._loaded) {\n\t\t\t\tcollection = await cx.state.connection.describeCollection(id);\n\t\t\t\tcollection = StacMigrate.collection(collection, false);\n\t\t\t\tcx.commit('fillCollection', collection);\n\t\t\t}\n\t\t\treturn collection;\n\t\t},\n\n\t\tasync loadProcess(cx, {id, namespace}) {\n\t\t\tprocess = cx.getters.processes.get(id, namespace);\n\t\t\tif (!Utils.isObject(process)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (process.namespace !== 'backend') {\n\t\t\t\tif (process.namespace === 'user') {\n\t\t\t\t\tawait cx.dispatch('userProcesses/read', {data: process});\n\t\t\t\t}\n\t\t\t\telse if (process.namespace && namespace !== 'backend') {\n\t\t\t\t\tawait cx.state.connection.describeProcess(id, process.namespace);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn cx.getters.processes.get(id, namespace);\n\t\t},\n\n\t\tasync beforeLogout(cx) {\n\t\t\tawait Promise.all(Object.values(cx.state.beforeLogoutListener).map(listener => listener()));\n\t\t},\n\n\t\tasync logout(cx, disconnect = false) {\n\t\t\tawait cx.dispatch('beforeLogout');\n\n\t\t\tif (disconnect) {\n\t\t\t\t// Remove listeners, we don't need them anymore if we connect anyway\n\t\t\t\tcx.state.connection.off('authProviderChanged');\n\t\t\t\tcx.state.connection.off('processesChanged');\n\t\t\t}\n\n\t\t\tif (cx.state.isAuthenticated) {\n\t\t\t\t// Logout (mostly for OIDC)\n\t\t\t\tvar authProvider = cx.state.connection.getAuthProvider();\n\t\t\t\tif (authProvider !== null) {\n\t\t\t\t\tawait authProvider.logout();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (disconnect) {\n\t\t\t\t// Reset values\n\t\t\t\tcx.commit('reset', this.isAuthenticated);\n\t\t\t\tcx.commit('jobs/reset');\n\t\t\t\tcx.commit('files/reset');\n\t\t\t\tcx.commit('services/reset');\n\t\t\t\tcx.commit('userProcesses/reset');\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcx.commit('authenticated', false);\n\t\t\t}\n\t\t}\n\t},\n\tmutations: {\n\t\tdiscoveryCompleted(state, completed = true) {\n\t\t\tstate.discoveryCompleted = completed;\n\t\t},\n\t\tconnection(state, connection) {\n\t\t\tstate.connection = connection;\n\t\t},\n\t\tauthProviders(state, authProviders) {\n\t\t\tstate.authProviders = authProviders;\n\t\t},\n\t\tuserInfo(state, info) {\n\t\t\tstate.userInfo = Utils.isObject(info) ? info : {};\n\t\t},\n\t\tfileFormats(state, fileFormats) {\n\t\t\tstate.fileFormats = fileFormats;\n\t\t},\n\t\tserviceTypes(state, serviceTypes) {\n\t\t\t// Make keys uppercase for simplicity\n\t\t\tif (Utils.isObject(serviceTypes)) {\n\t\t\t\tvar obj = {};\n\t\t\t\tfor(var key in serviceTypes) {\n\t\t\t\t\tobj[key.toUpperCase()] = serviceTypes[key];\n\t\t\t\t}\n\t\t\t\tstate.serviceTypes = obj;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tstate.serviceTypes = serviceTypes;\n\t\t\t}\n\t\t},\n\t\tudfRuntimes(state, udfRuntimes) {\n\t\t\tstate.udfRuntimes = udfRuntimes;\n\t\t},\n\t\tupdateProcesses(state) {\n\t\t\tstate.processesUpdated++;\n\t\t},\n\t\taddProcessNamespacesToRequest(state, namespaces) {\n\t\t\tif (typeof namespaces === 'string') {\n\t\t\t\tnamespaces = namespaces.split(',');\n\t\t\t}\n\t\t\tif (!Array.isArray(namespaces)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor(let namespace of namespaces) {\n\t\t\t\tif (namespace && !state.processNamespaces.includes(namespace)) {\n\t\t\t\t\tstate.processNamespaces.push(namespace);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfillCollection(state, data) {\n\t\t\tlet index = state.collections.findIndex(c => c.id === data.id);\n\t\t\tif (index !== -1) {\n\t\t\t\tdata._loaded = true;\n\t\t\t\tVue.set(state.collections, index, data);\n\t\t\t}\n\t\t},\n\t\tcollections(state, data) {\n\t\t\tstate.collections = data.collections\n\t\t\t\t.map(c => StacMigrate.collection(c, false))\n\t\t\t\t.filter(c => (typeof c.id === 'string'))\n\t\t\t\t.sort(Utils.sortById);\n\t\t},\n\t\tsetConnectionError(state, error) {\n\t\t\tstate.connectionError = error;\n\t\t},\n\t\tauthenticated(state, isAuthenticated) {\n\t\t\tstate.isAuthenticated = isAuthenticated;\n\t\t\tif (!isAuthenticated) {\n\t\t\t\tstate.userInfo = {};\n\t\t\t}\n\t\t},\n\t\treset(state, keepConnection = false) {\n\t\t\tObject.assign(state, getDefaultState(), {\n\t\t\t\tconnection: keepConnection ? state.connection : null\n\t\t\t});\n\t\t},\n\t\tstartActiveRequest(state) {\n\t\t\tstate.activeRequests += 1;\n\t\t},\n\t\tendActiveRequest(state) {\n\t\t\tstate.activeRequests -= 1;\n\t\t},\n\t\tbeforeLogoutListener(state, {key, listener}) {\n\t\t\tif (typeof listener === 'function') {\n\t\t\t\tstate.beforeLogoutListener[key] = listener;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tVue.delete(state.beforeLogoutListener, key);\n\t\t\t}\n\t\t}\n\t}\n});","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container\",class:{connecting: !_vm.isDiscovered}},[_c('transition',{attrs:{\"name\":\"connect-fade\",\"mode\":\"out-in\"}},[(!_vm.isDiscovered)?_c('ConnectForm',{key:\"1\",attrs:{\"skipLogin\":_vm.skipLogin}}):_c('IDE',{key:\"2\"})],1),_vm._l((_vm.modals),function(modal){return [_c(modal.component,_vm._g(_vm._b({key:modal.id,tag:\"component\",on:{\"closed\":function($event){return _vm.hideModal(modal)}}},'component',modal.props,false),modal.events))]}),_c('vue-snotify'),(_vm.tourType)?_c('Tour',{model:{value:(_vm.tourType),callback:function ($$v) {_vm.tourType=$$v},expression:\"tourType\"}}):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeRequests > 0),expression:\"activeRequests > 0\"}],attrs:{\"id\":\"activeRequests\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-2x\"})])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"connectPage\"},[_c('Logo'),_c('div',{staticClass:\"connectContainer\"},[_c('div',{staticClass:\"helpBtn\",attrs:{\"title\":\"Show help\"},on:{\"click\":_vm.showHelp}},[_c('i',{staticClass:\"fas fa-question fa-fw\"}),_vm._v(\" Help\")]),(_vm.httpsUrl)?_c('div',{staticClass:\"message error\"},[_c('i',{staticClass:\"fas fa-shield-alt\"}),_c('span',[_vm._v(\"You are using an \"),_c('strong',[_vm._v(\"insecure\")]),_vm._v(\" HTTP connection, which is not encrypted. Please use HTTPS if possible.\"),_c('br'),_c('a',{attrs:{\"href\":_vm.httpsUrl}},[_vm._v(\"Click here to switch to a secured HTTPS connection.\")])])]):_vm._e(),(_vm.message)?_c('div',{staticClass:\"message warning\"},[_c('i',{staticClass:\"fas fa-bullhorn\"}),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.message)}})]):_vm._e(),_c('transition',{attrs:{\"name\":\"connect-fade\",\"mode\":\"out-in\"},on:{\"before-enter\":_vm.initProviders}},[(_vm.showConnectForm)?_c('form',{staticClass:\"connect\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm.apply(null, arguments)}}},[_c('h3',[_vm._v(\"Connect to server\")]),_c('div',{staticClass:\"row\"},[_c('label',{attrs:{\"for\":\"serverUrl\"}},[_vm._v(\"URL:\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy.trim\",value:(_vm.serverUrl),expression:\"serverUrl\",modifiers:{\"lazy\":true,\"trim\":true}}],staticClass:\"tour-connect-url\",attrs:{\"type\":\"text\",\"id\":\"serverUrl\",\"disabled\":_vm.autoConnect},domProps:{\"value\":(_vm.serverUrl)},on:{\"change\":function($event){_vm.serverUrl=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),(_vm.allowOtherServers)?_c('button',{staticClass:\"tour-connect-history\",attrs:{\"type\":\"button\",\"title\":\"Select previously used server\"},on:{\"click\":_vm.showServerSelector}},[_c('i',{staticClass:\"fas fa-book\"})]):_vm._e()])]),_c('div',{staticClass:\"row\"},[_c('button',{staticClass:\"connectBtn tour-connect-retry\",class:{loading: _vm.loading},attrs:{\"type\":\"submit\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_vm._v(\" Connect\")])])]):(_vm.showLoginForm)?_c('div',{staticClass:\"login\"},[_c('h3',[_vm._v(\"Log in to \"+_vm._s(_vm.title))]),_c('Tabs',{ref:\"providers\",attrs:{\"id\":\"credentials\",\"pills\":true,\"pillsMultiline\":true},on:{\"selected\":_vm.providerSelected},scopedSlots:_vm._u([{key:\"dynamic\",fn:function({ tab }){return [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.initDiscovery(tab.data)}}},[(tab.data.description)?_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-info-circle\"}),_c('span',[_vm._v(_vm._s(tab.data.description))])]):_vm._e(),(!_vm.hasPredefinedOidcClientId)?[_c('div',{staticClass:\"row\"},[_c('label',{attrs:{\"for\":\"password\"}},[_vm._v(\"Client ID:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.userOidcClientId),expression:\"userOidcClientId\",modifiers:{\"trim\":true}}],staticClass:\"input\",attrs:{\"type\":\"text\",\"required\":\"required\"},domProps:{\"value\":(_vm.userOidcClientId)},on:{\"input\":function($event){if($event.target.composing)return;_vm.userOidcClientId=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-exclamation-circle\"}),_c('span',[_vm._v(\"You need to specify the \"),_c('em',[_vm._v(\"Client ID\")]),_vm._v(\" provided to you by the provider. You need to allow the \"),_c('a',{attrs:{\"href\":_vm.oidcRedirectUrl,\"target\":\"_blank\",\"title\":_vm.oidcRedirectUrl}},[_vm._v(\"URL of this service\")]),_vm._v(\" as redirect URL with the authentication service.\")])])]:_vm._e(),_c('div',{staticClass:\"row bottom\"},[_c('TermsOfServiceConsent'),_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-window-restore\"}),_c('span',[_vm._v(\"Clicking the button below may open a new window for login.\")])]),_c('button',{staticClass:\"connectBtn\",class:{loading: _vm.loading},attrs:{\"type\":\"submit\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_c('i',{staticClass:\"fab fa-openid\"}),_vm._v(\" Log in with \"+_vm._s(tab.name))])],1)],2)]}},(_vm.basicProvider)?{key:\"basic\",fn:function({ tab }){return [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.initDiscovery(tab.data)}}},[_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-info-circle\"}),_c('span',[_vm._v(\"The \"),_c('tt',[_vm._v(\"HTTP Basic\")]),_vm._v(\" authentication method is mostly used for development and testing purposes.\")],1)]),_c('div',{staticClass:\"row\"},[_c('label',{attrs:{\"for\":\"username\"}},[_vm._v(\"Username:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.username),expression:\"username\",modifiers:{\"trim\":true}}],staticClass:\"input\",attrs:{\"id\":\"username\",\"type\":\"text\",\"required\":\"required\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing)return;_vm.username=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"row\"},[_c('label',{attrs:{\"for\":\"password\"}},[_vm._v(\"Password:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.password),expression:\"password\",modifiers:{\"trim\":true}}],staticClass:\"input\",attrs:{\"id\":\"password\",\"type\":\"password\",\"required\":\"required\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing)return;_vm.password=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"row bottom\"},[_c('TermsOfServiceConsent'),_c('button',{staticClass:\"connectBtn\",class:{loading: _vm.loading},attrs:{\"type\":\"submit\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_vm._v(\" Log in\")])],1)])]}}:null,{key:\"noauth\",fn:function(){return [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.initDiscovery()}}},[_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-info-circle\"}),_c('span',[_vm._v(\"Choose this if you don't have credentials for the service provider and just want to explore the service with its available data and processes. You may not be able to process any data.\")])]),_c('div',{staticClass:\"row bottom\"},[_c('TermsOfServiceConsent'),_c('button',{staticClass:\"connectBtn\",class:{loading: _vm.loading},attrs:{\"type\":\"submit\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_c('i',{staticClass:\"fas fa-user-slash\"}),_vm._v(\" Proceed without logging in\")])],1)])]},proxy:true}],null,true)}),(_vm.allowOtherServers)?_c('div',{staticClass:\"switch tour-login-switch\"},[_c('a',{on:{\"click\":function($event){return _vm.switchServer()}}},[_vm._v(\"Switch server\")])]):_vm._e()],1):_vm._e()])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.show)?_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-check-circle\"}),(_vm.terms && _vm.privacy)?_c('span',[_vm._v(\"By clicking the button below, you agree to our \"),_c('a',{attrs:{\"href\":_vm.terms.href,\"title\":_vm.terms.title,\"target\":\"_blank\"}},[_vm._v(\"Terms of Service\")]),_vm._v(\" and that you have read our \"),_c('a',{attrs:{\"href\":_vm.privacy.href,\"title\":_vm.privacy.title,\"target\":\"_blank\"}},[_vm._v(\"Privacy Policy\")]),_vm._v(\".\")]):(_vm.terms)?_c('span',[_vm._v(\"By clicking the button below, you agree to our \"),_c('a',{attrs:{\"href\":_vm.terms.href,\"title\":_vm.terms.title,\"target\":\"_blank\"}},[_vm._v(\"Terms of Service\")]),_vm._v(\".\")]):(_vm.privacy)?_c('span',[_vm._v(\"By clicking the button below, you agree that you have read our \"),_c('a',{attrs:{\"href\":_vm.privacy.href,\"title\":_vm.privacy.title,\"target\":\"_blank\"}},[_vm._v(\"Privacy Policy\")]),_vm._v(\".\")]):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TermsOfServiceConsent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TermsOfServiceConsent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TermsOfServiceConsent.vue?vue&type=template&id=52726e94\"\nimport script from \"./TermsOfServiceConsent.vue?vue&type=script&lang=js\"\nexport * from \"./TermsOfServiceConsent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ConnectForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ConnectForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ConnectForm.vue?vue&type=template&id=714226be&scoped=true\"\nimport script from \"./ConnectForm.vue?vue&type=script&lang=js\"\nexport * from \"./ConnectForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./ConnectForm.vue?vue&type=style&index=0&id=714226be&prod&lang=scss&scoped=true\"\nimport style1 from \"./ConnectForm.vue?vue&type=style&index=1&id=714226be&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"714226be\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Page.vue?vue&type=template&id=572322d0\"\nimport script from \"./Page.vue?vue&type=script&lang=js\"\nexport * from \"./Page.vue?vue&type=script&lang=js\"\nimport style0 from \"./Page.vue?vue&type=style&index=0&id=572322d0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\n}","import Vue from 'vue';\nimport Snotify from 'vue-snotify';\nimport 'vue-snotify/styles/simple.css';\nimport store from './store/index';\nimport Config from '../config';\nimport Page from './Page.vue';\nimport filters from './filters';\nimport Clipboard from 'v-clipboard';\n\nVue.use(Snotify);\nVue.use(Clipboard);\n\n// Don't show too many repetitive error messages\nVue.prototype.$snotify.singleError = function () {\n\tlet message = arguments[0];\n\tif (message !== this.lastMessage) {\n\t\tthis.lastMessage = message;\n\t\tthis.error(...arguments);\n\t\tsetTimeout(() => this.lastMessage = null, 1000);\n\t}\n};\n\nVue.config.productionTip = false;\nVue.config.errorHandler = function (err, vm, info) {\n\tconsole.error(err, info);\n\tif (!vm || !vm.$snotify) {\n\t\treturn;\n\t}\n\n\tlet message;\n\tif (err instanceof Error) {\n\t\tmessage = err.message;\n\t}\n\telse if (typeof err === 'string') {\n\t\tmessage = err;\n\t}\n\n\tif (message) {\n\t\tvm.$snotify.singleError(message, 'Error', Config.snotifyDefaults);\n\t}\n};\nVue.prototype.$config = Config;\n\nfor(var name in filters) {\n\tVue.filter(name, filters[name]);\n}\n\nconst app = new Vue({\n\tstore,\n\trender: h => h(Page)\n}).$mount('#app');\n\nwindow.addEventListener(\"unhandledrejection\", function(event) {\n\tconsole.warn(event);\n\tif (typeof event.reason === 'String' || event.reason instanceof Error) {\n\t\tapp.$snotify.singleError(event.reason, 'Error', Config.snotifyDefaults);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n});\n","import Utils from './utils';\nimport { ProcessSchema, ProcessDataType } from '@openeo/js-commons';\n\nexport default class Process {\n\n\tstatic isMathProcess(p, operatorMapping = {}) {\n\t\t// Skip processes handled by operators, if given\n\t\tlet operatorProcesses = Object.values(operatorMapping);\n\t\tif (operatorProcesses.includes(p.id)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Process must return a numerical value\n\t\tif (!Utils.isObject(p.returns) || !p.returns.schema) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet allowedTypes = ['number', 'integer', 'any'];\n\t\tlet returns = new ProcessSchema(p.returns.schema);\n\t\tif (!allowedTypes.includes(returns.nativeDataType())) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Required Process parameters must accept numerical values\n\t\tif (Array.isArray(p.parameters)) {\n\t\t\tfor(var i in p.parameters) {\n\t\t\t\tlet param = p.parameters[i];\n\t\t\t\tif (param.optional) {\n\t\t\t\t\tcontinue; // Skip optional parameters\n\t\t\t\t}\n\t\t\t\tif (!param.schema) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tlet schema = new ProcessSchema(param.schema);\n\t\t\t\tif (!allowedTypes.includes(schema.nativeDataType())) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t// ToDo: Parameters with a dash (and other operators) in them are a problem\n\n\t\treturn true;\n\t}\n\n\tstatic arrayOf(datatype) {\n\t\tif (!(datatype instanceof ProcessDataType)) {\n\t\t\tdatatype = new ProcessDataType(datatype);\n\t\t}\n\t\tif (datatype.nativeDataType() === 'array' && Utils.isObject(datatype.schema.items)) {\n\t\t\tlet subtype = new ProcessDataType(datatype.schema.items);\n\t\t\treturn subtype.dataType();\n\t\t}\n\t\treturn undefined;\n\t}\n}","import VueUtils from '@openeo/vue-components/utils';\nimport { Job, Service, UserFile, UserProcess } from '@openeo/js-client';\nimport { mapState, mapActions, mapMutations, mapGetters } from 'vuex';\nimport contentType from 'content-type';\nimport Config from '../config';\n\nclass Utils extends VueUtils {\n\n\tstatic getPreviewLinkFromSTAC(stac) {\n\t\tif (Utils.isObject(stac) && Array.isArray(stac.links)) {\n\t\t\tlet link = stac.links.find(link => Utils.isObject(link) && typeof link.rel === 'string' && Config.supportedMapServices.includes(link.rel.toLowerCase()));\n\t\t\tif (link) {\n\t\t\t\treturn link;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tstatic isMapServiceSupported(mapType) {\n\t\tif (typeof mapType !== 'string') {\n\t\t\treturn false;\n\t\t}\n\t\treturn Config.supportedMapServices.includes(mapType.toLowerCase());\n\t}\n\n\tstatic parseNodata(value) {\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value.map(nodata => Utils.parseNodata(nodata));\n\t\t}\n\t\telse {\n\t\t\treturn typeof value === \"string\" && value.toLowerCase() === \"nan\" ? Number.NaN : value;\n\t\t}\n\t}\n\n\tstatic isActiveJobStatusCode(status) {\n\t\tif (typeof status !== 'string') {\n\t\t\treturn null;\n\t\t}\n\t\tswitch (status.toLowerCase()) {\n\t\t\tcase 'running':\n\t\t\tcase 'queued':\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\n\tstatic exception(vm, error, alt) {\n\t\tconsole.error(error);\n\t\tvar buttons = [];\n\t\tvar title = null; \n\t\tvar message = alt;\n\t\tif (Utils.isObject(error) && typeof error.message === 'string') {\n\t\t\tif (error.code > 0) {\n\t\t\t\ttitle = \"Error #\" + error.code; \n\t\t\t}\n\t\t\telse {\n\t\t\t\ttitle = alt; \n\t\t\t}\n\t\t\tmessage = error.message;\n\n\t\t\tbuttons.push({\n\t\t\t\ttext: 'Show Details',\n\t\t\t\taction: () => vm.$root.$emit('showError', error)\n\t\t\t});\n\t\t}\n\t\telse if (typeof error === 'string') {\n\t\t\tmessage = error; \n\t\t\ttitle = alt; \n\t\t}\n\t\tbuttons.push({\n\t\t\ttext: 'Copy',\n\t\t\taction: toast => {\n\t\t\t\tlet success = vm.$clipboard(message);\n\t\t\t\tlet button = toast.config.buttons.find(btn => btn.text === 'Copy');\n\t\t\t\tif (button) {\n\t\t\t\t\tbutton.text = success ? \"✔️ Copied\" : \"❌ Failed\";\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tvar typeDefaults = {\n\t\t\tbuttons\n\t\t}; \n\t\tvm.$snotify.singleError(message, title, Object.assign({}, vm.$config.snotifyDefaults, typeDefaults)); \n\t} \n\tstatic error(vm, message, title = null) {\n\t\tvm.$snotify.singleError(message, title, vm.$config.snotifyDefaults); \n\t}\n\tstatic warn(vm, message, title = null) {\n\t\tvm.$snotify.warning(message, title, vm.$config.snotifyDefaults);\n\t}\n\tstatic info(vm, message, title = null) {\n\t\tvm.$snotify.info(message, title, vm.$config.snotifyDefaults); \n\t}\n\tstatic ok(vm, message, title = null) {\n\t\tvm.$snotify.success(message, title, vm.$config.snotifyDefaults); \n\t}\n\tstatic confirm(vm, message, buttons = []) {\n\t\tvar typeDefaults = {\n\t\t\tbuttons: buttons\n\t\t}; \n\t\tvm.$snotify.confirm(message, null, Object.assign({}, vm.$config.snotifyDefaults, typeDefaults)); \n\t}\n\t\n\tstatic isChildOfModal(that) {\n\t\treturn that.$parent && that.$parent.$options.name == 'Modal'; \n\t}\n\n\tstatic getFileNameFromURL(url) {\n\t\t//this removes the anchor at the end, if there is one\n\t\turl = url.substring(0, (url.indexOf(\"#\") == -1)?url.length:url.indexOf(\"#\")); \n\t\t//this removes the query after the file name, if there is one\n\t\turl = url.substring(0, (url.indexOf(\"?\") == -1)?url.length:url.indexOf(\"?\")); \n\t\t//this removes everything before the last slash in the path\n\t\turl = url.substring(url.lastIndexOf(\"/\") + 1, url.length); \n\t\treturn url; \n\t}\n\n\tstatic makeFileName(filename, type) {\n\t\tif (filename.includes('.') || typeof type !== 'string') {\n\t\t\treturn filename;\n\t\t}\n\t\tif (!type.includes('/')) {\n\t\t\treturn filename + '.' + type;\n\t\t}\n\n\t\tlet ext = null;\n\t\ttry {\n\t\t\tlet mime = contentType.parse(type);\n\t\t\tswitch(mime.type.toLowerCase()) {\n\t\t\t\tcase 'application/json':\n\t\t\t\tcase 'application/zip':\n\t\t\t\tcase 'image/png':\n\t\t\t\tcase 'image/jpg':\n\t\t\t\tcase 'image/jpeg':\n\t\t\t\tcase 'image/gif':\n\t\t\t\tcase 'image/tiff':\n\t\t\t\tcase 'text/csv':\n\t\t\t\tcase 'text/html':\n\t\t\t\t\text = type.split('/')[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'text/plain':\n\t\t\t\t\text = 'txt';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'application/netcdf':\n\t\t\t\tcase 'application/x-netcdf':\n\t\t\t\t\text = 'nc'\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} catch (error) {}\n\n\t\tif (ext !== null) {\n\t\t\treturn filename + '.' + ext;\n\t\t}\n\t\telse {\n\t\t\treturn filename;\n\t\t}\n\t}\n\n\tstatic replaceParam(url, paramName, paramValue) {\n\t\tvar urlObj = new URL(url);\n\t\tvar query = new URLSearchParams(urlObj.search); \n\t\tquery.set(paramName, paramValue);\n\t\turlObj.search = query.toString();\n\t\treturn urlObj.toString();\n\t}\n\n\tstatic paramsForPrefix(prefix, sep = '~') {\n\t\tprefix += sep;\n\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\tlet params = {};\n\t\tfor(let [key, value] of urlParams) {\n\t\t\tif (key.startsWith(prefix)) {\n\t\t\t\tparams[key.substring(prefix.length)] = value;\n\t\t\t}\n\t\t}\n\t\treturn params; \n\t}\n\n\tstatic param(name) {\n\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\tif (urlParams.has(name)) {\n\t\t\treturn urlParams.get(name);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tstatic isBboxInWebMercator(bboxes) {\n\t\tif (!bboxes) {\n\t\t\treturn null;\n\t\t}\n\t\tif (!Array.isArray(bboxes)) {\n\t\t\tbboxes = [bboxes];\n\t\t}\n\t\tlet maxBounds = {south: -85.06, north: 85.06}; // Max. south/north bounds for Web Mercator\n\t\treturn !bboxes.find(bbox => bbox.south < maxBounds.south || bbox.north > maxBounds.north);\n\t}\n\tstatic extentToBBox(extent) {\n\t\tif (!Array.isArray(extent)) {\n\t\t\treturn null;\n\t\t}\n\t\tvar hasZ = extent.length >= 6;\n let obj = {\n\t\t\twest: extent[0],\n\t\t\teast: extent[hasZ ? 3 : 2],\n\t\t\tsouth: extent[1],\n\t\t\tnorth: extent[hasZ ? 4 : 3]\n\t\t};\n\t\tif (hasZ) {\n\t\t\tobj.base = extent[2];\n\t\t\tobj.height = extent[5];\n\t\t}\n\t\treturn obj;\n\t}\n\tstatic sortById(a, b) {\n\t\treturn VueUtils.compareStringCaseInsensitive(a.id, b.id);\n\t}\n\n\tstatic range(start, end) {\n\t\tif (end < start) {\n\t\t\treturn [];\n\t\t}\n\t\treturn Array.from({length: 1 + end - start}, (_, i) => start + i);\n\t}\n\n\tstatic newArray(length, defaultValue = 0) {\n\t\tif (length < 1) {\n\t\t\treturn [];\n\t\t}\n\t\treturn Array.from({length}, () => defaultValue);\n\t}\n\n\tstatic fitArray(arr, length, defaultValue = 0) {\n\t\tif (length < 1) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (length > arr.length) {\n\t\t\treturn arr.concat(Utils.newArray(length - arr.length, defaultValue));\n\t\t}\n\t\telse if (length < arr.length) {\n\t\t\treturn arr.slice(0, length);\n\t\t}\n\t\telse {\n\t\t\treturn arr;\n\t\t}\n\t}\n\n\t// Based on https://github.com/hughsk/path-sort\n\tstatic sortByPath(a, b) {\n\t\ta = a.split('/');\n\t\tb = b.split('/');\n\t\tvar l = Math.max(a.length, b.length);\n\t\tfor (var i = 0; i < l; i += 1) {\n\t\t\tif (!(i in a)) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\telse if (!(i in b)) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\telse if (a[i].toUpperCase() > b[i].toUpperCase()) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\telse if (a[i].toUpperCase() < b[i].toUpperCase()) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t\tif (a.length < b.length) {\n\t\t\treturn -1;\n\t\t}\n\t\telse if (a.length > b.length) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tstatic getUniqueId() {\n\t\treturn Math.random().toString(36).substr(2, 9);\n\t}\n\n\tstatic formatIdOrTitle(value) {\n\t\tif (typeof value !== 'string') {\n\t\t\treturn value;\n\t\t}\n\t\telse if (value.startsWith('#')) {\n\t\t\treturn `${value}`;\n\t}\n\t\telse if (value === 'Unnamed') {\n\t\t\treturn `${value}`;\n\t\t}\n\t\telse {\n\t\t\treturn value;\n\t\t}\n\t}\n\n\tstatic getResourceTitle(obj, showType = false) {\n\t\tlet title;\n\t\tlet isObj = Utils.isObject(obj);\n\t\tif (typeof obj === 'string') {\n\t\t\ttitle = obj;\n\t\t}\n\t\telse if (obj instanceof UserProcess) {\n\t\t\ttitle = obj.id;\n\t\t}\n\t\telse if (obj instanceof UserFile) {\n\t\t\ttitle = obj.path;\n\t\t}\n\t\telse if (isObj && typeof obj.stac_version === 'string') {\n\t\t\ttitle = obj.id;\n\t\t}\n\t\telse if (isObj && obj.title) {\n\t\t\ttitle = obj.title;\n\t\t}\n\t\telse if (isObj && obj.id) {\n\t\t\tlet id = new String(obj.id);\n\t\t\tif (id.length > 10) {\n\t\t\t\ttitle = obj.id.substr(0, 5) + '…' + obj.id.substr(-5);\n\t\t\t}\n\t\t\telse {\n\t\t\t\ttitle = obj.id\n\t\t\t}\n\t\t\ttitle = '#' + title;\n\t\t}\n\t\telse {\n\t\t\ttitle = 'Unnamed';\n\t\t}\n\t\tif (showType) {\n\t\t\tlet type;\n\t\t\tif (typeof showType === 'string') {\n\t\t\t\ttype = showType;\n\t\t\t}\n\t\t\telse if (obj instanceof Job) {\n\t\t\t\ttype = 'Job';\n\t\t\t}\n\t\t\telse if (obj instanceof Service) {\n\t\t\t\ttype = 'Service';\n\t\t\t}\n\t\t\telse if (obj instanceof UserProcess) {\n\t\t\t\ttype = 'Process';\n\t\t\t}\n\t\t\telse if (obj instanceof UserFile) {\n\t\t\t\ttype = 'File';\n\t\t\t}\n\t\t\telse if (isObj && typeof obj.stac_version === 'string' && obj.type === 'Collection') {\n\t\t\t\ttype = obj.type;\n\t\t\t}\n\n\t\t\tif (type) {\n\t\t\t\ttitle = `${title} (${type})`;\n\t\t\t}\n\t\t}\n\t\treturn title;\n\t}\n\n\tstatic resolveJsonRefs(schema) {\n\t\tvar resolver = obj => {\n\t\t\tif (!obj || typeof obj !== 'object') {\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t\tfor(var key in obj) {\n\t\t\t\tvar value = obj[key];\n\t\t\t\tif (Utils.isObject(value) && typeof value.$ref === 'string' && value.$ref.match(/^#(\\/[^\\/]+)+$/i)) {\n\t\t\t\t\tvar parts = value.$ref.split('/').slice(1);\n\t\t\t\t\tvar result = schema;\n\t\t\t\t\twhile (parts.length) {\n\t\t\t\t\t\tlet propertyName = parts.shift();\n\t\t\t\t\t\tresult = result[propertyName];\n\t\t\t\t\t\tif (typeof result === 'undefined') {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tobj[key] = result;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tobj[key] = resolver(value);\n\t\t\t}\n\t\t\treturn obj;\n\t\t};\n\t\treturn resolver(schema);\n\t}\n\tstatic extractUDPParams(process) {\n\t\tconst pos = process.indexOf('@');\n\t\tif (pos < 0) {\n\t\t\treturn [process, undefined];\n\t\t}\n\t\telse {\n\t\t\tconst id = process.substring(0, pos);\n\t\t\tconst namespace = process.substring(pos + 1);\n\t\t\treturn [id, namespace];\n\t\t}\n\t}\n\tstatic getProcessingExpression(stac) {\n\t\tlet key = 'processing:expression';\n\t\tif (!Utils.isObject(stac) || !stac[key]) {\n\t\t\treturn null;\n\t\t}\n\t\tlet obj = stac[key];\n\t\tif (Array.isArray(obj)) {\n\t\t\tif (obj.length > 0) {\n\t\t\t\tobj = obj[0];\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\tif (Utils.isObject(obj) && obj.format === 'openeo' && Utils.isObject(obj.expression)) {\n\t\t\treturn obj.expression;\n\t\t}\n\t\telse {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconfirmOpenAll(files) {\n\t\treturn confirm(`You are about to open ${files.length} individual files / tabs, which could slow down the web browser. Are you sure you want to open all of them?`);\n\t}\n\n};\n\nUtils.mapState = mapState;\nUtils.mapGetters = mapGetters;\nUtils.mapMutations = mapMutations;\nUtils.mapActions = mapActions;\n\nexport default Utils;\n","if(typeof L === 'undefined') { var e = new Error(\"Cannot find module 'L'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = L;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"156\":\"65c3b8e1\",\"424\":\"e40e9e21\",\"510\":\"2f326241\",\"816\":\"1311ffcb\",\"847\":\"5d3cc4f6\",\"887\":\"9597d4af\",\"925\":\"38adbe62\",\"1026\":\"94414473\",\"1030\":\"2845a7b6\",\"1160\":\"6e0da912\",\"1189\":\"5331c72b\",\"1194\":\"9ab45054\",\"1203\":\"0026b702\",\"1237\":\"28502c62\",\"1323\":\"f7e7e09d\",\"1426\":\"77d35bf8\",\"1533\":\"9f389652\",\"1765\":\"35203da6\",\"2053\":\"243d3baa\",\"2075\":\"810d2384\",\"2281\":\"b6069648\",\"2327\":\"7598a0f4\",\"2365\":\"47125e25\",\"2388\":\"f7a0871b\",\"2559\":\"93f8a988\",\"2604\":\"36729f65\",\"2693\":\"5792d792\",\"2722\":\"cd2fa6d8\",\"2764\":\"cc8f32fb\",\"2810\":\"c9555d45\",\"2855\":\"de626c66\",\"2919\":\"9a1636ac\",\"3043\":\"d27cd74e\",\"3165\":\"bcc84e04\",\"3166\":\"7c847567\",\"3249\":\"93de5f37\",\"3271\":\"accfab81\",\"3291\":\"6163f1de\",\"3324\":\"26d659b7\",\"3383\":\"85c0da7d\",\"3504\":\"bc1cfc39\",\"3506\":\"b3483f23\",\"3592\":\"c0f60bc4\",\"3743\":\"58b6f9a6\",\"3800\":\"e7428880\",\"3876\":\"66785549\",\"4011\":\"f159dc76\",\"4016\":\"793af482\",\"4054\":\"3e1fe5b6\",\"4120\":\"2a80b790\",\"4152\":\"8cb85ea6\",\"4279\":\"9c4a8854\",\"4285\":\"89373946\",\"4368\":\"cc37d5bf\",\"4375\":\"0db9f32b\",\"4387\":\"c290c0cd\",\"4394\":\"a1a670b6\",\"4432\":\"c720e2a1\",\"4475\":\"d3c27d4d\",\"4477\":\"a0cdaafc\",\"4625\":\"3f873e18\",\"4638\":\"5c4d422b\",\"4737\":\"18ac3fa2\",\"4741\":\"0e25840f\",\"4818\":\"f8169beb\",\"4824\":\"210a1e92\",\"5121\":\"5c8abae2\",\"5237\":\"392dd9a5\",\"5262\":\"ebdfdfe6\",\"5363\":\"202a8225\",\"5457\":\"4f6eaddc\",\"5624\":\"f9a9baa2\",\"5640\":\"25cf50ed\",\"5677\":\"2f86dd7b\",\"5771\":\"80073e41\",\"5839\":\"13e0bb10\",\"5865\":\"128b2a3a\",\"5981\":\"3ac1b683\",\"5983\":\"c08b924c\",\"6036\":\"d73dc1a0\",\"6192\":\"a4d7c472\",\"6238\":\"231c7003\",\"6457\":\"5cc649ee\",\"6550\":\"be74866f\",\"6568\":\"d2004679\",\"6617\":\"a026f630\",\"6625\":\"966ff507\",\"6660\":\"6f548dde\",\"6689\":\"a3a72a86\",\"6885\":\"6ec2b3b7\",\"7123\":\"35486855\",\"7186\":\"9dd7e65f\",\"7213\":\"1f19366c\",\"7237\":\"330942d0\",\"7261\":\"31221b0e\",\"7336\":\"f87ea6ae\",\"7349\":\"d5b2ff6f\",\"7497\":\"2360527a\",\"7745\":\"7fc998c5\",\"7759\":\"184e6307\",\"8053\":\"7d16dfb2\",\"8080\":\"373259f9\",\"8152\":\"378da544\",\"8221\":\"fdfae280\",\"8324\":\"f5c6c5af\",\"8354\":\"226b165f\",\"8363\":\"515b39f0\",\"8396\":\"0c76bc6b\",\"8645\":\"1e6f374d\",\"8807\":\"aac1241d\",\"9047\":\"22296c89\",\"9066\":\"36d20ab5\",\"9140\":\"b53d30af\",\"9201\":\"b232ee07\",\"9237\":\"d0d6e686\",\"9238\":\"f1f47576\",\"9403\":\"b60e7ec8\",\"9409\":\"27bd9c80\",\"9546\":\"479ad770\",\"9873\":\"03e04f73\",\"9882\":\"221c4097\",\"9989\":\"d8a758e8\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"816\":\"6559def7\",\"847\":\"4603a349\",\"887\":\"8c892279\",\"925\":\"90fa6336\",\"1026\":\"ee56a981\",\"1194\":\"5e953040\",\"1203\":\"1291b8f6\",\"1533\":\"2b39b841\",\"1765\":\"575588e7\",\"2053\":\"b5c732db\",\"2075\":\"db78e22d\",\"2327\":\"43969cb2\",\"2388\":\"f3c3fe54\",\"2604\":\"68de8223\",\"2693\":\"535e25fa\",\"2722\":\"13fcb001\",\"2810\":\"bb165d6b\",\"2855\":\"9be81686\",\"3043\":\"cd129034\",\"3165\":\"cedc5992\",\"3166\":\"29fd8f89\",\"3249\":\"b1500b27\",\"3271\":\"6244371c\",\"3324\":\"e8826bcf\",\"3504\":\"bb165d6b\",\"3506\":\"f9972275\",\"3592\":\"2a21fdfd\",\"3743\":\"de23863b\",\"4016\":\"209ecd26\",\"4120\":\"1490740e\",\"4152\":\"6d1bdf91\",\"4279\":\"a22f3053\",\"4285\":\"b812a1c3\",\"4368\":\"40459339\",\"4375\":\"43969cb2\",\"4387\":\"4f91105e\",\"4475\":\"3532f099\",\"4737\":\"84e10245\",\"4741\":\"f6d430d3\",\"4818\":\"3a734344\",\"4824\":\"d62d95a4\",\"5363\":\"f3cd8e29\",\"5457\":\"bc4c0918\",\"5677\":\"2d8c8304\",\"5771\":\"f5601ccf\",\"5839\":\"8955db24\",\"5865\":\"951674bc\",\"5981\":\"1db6fac8\",\"6036\":\"84e10245\",\"6192\":\"5fb184c3\",\"6238\":\"c4731012\",\"6550\":\"61908e27\",\"6625\":\"c792bb6a\",\"6660\":\"a22f3053\",\"6689\":\"b4a63b64\",\"7123\":\"a8f318bf\",\"7186\":\"1abe4ef8\",\"7213\":\"7146ad20\",\"7336\":\"788ebcdc\",\"7759\":\"052469b3\",\"8053\":\"48f88ab7\",\"8080\":\"f6d430d3\",\"8152\":\"281aa3b1\",\"8221\":\"201e08d1\",\"8324\":\"0191acec\",\"8354\":\"8f8ad761\",\"8396\":\"a5e993af\",\"8645\":\"ee56a981\",\"8807\":\"82c899af\",\"9047\":\"13422022\",\"9066\":\"84e10245\",\"9201\":\"19b52578\",\"9403\":\"b02432d9\",\"9409\":\"dd741b46\",\"9873\":\"bb165d6b\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"@openeo/web-editor:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"816\":1,\"847\":1,\"887\":1,\"925\":1,\"1026\":1,\"1194\":1,\"1203\":1,\"1533\":1,\"1765\":1,\"2053\":1,\"2075\":1,\"2327\":1,\"2388\":1,\"2604\":1,\"2693\":1,\"2722\":1,\"2810\":1,\"2855\":1,\"3043\":1,\"3165\":1,\"3166\":1,\"3249\":1,\"3271\":1,\"3324\":1,\"3504\":1,\"3506\":1,\"3592\":1,\"3743\":1,\"4016\":1,\"4120\":1,\"4152\":1,\"4279\":1,\"4285\":1,\"4368\":1,\"4375\":1,\"4387\":1,\"4475\":1,\"4737\":1,\"4741\":1,\"4818\":1,\"4824\":1,\"5363\":1,\"5457\":1,\"5677\":1,\"5771\":1,\"5839\":1,\"5865\":1,\"5981\":1,\"6036\":1,\"6192\":1,\"6238\":1,\"6550\":1,\"6625\":1,\"6660\":1,\"6689\":1,\"7123\":1,\"7186\":1,\"7213\":1,\"7336\":1,\"7759\":1,\"8053\":1,\"8080\":1,\"8152\":1,\"8221\":1,\"8324\":1,\"8354\":1,\"8396\":1,\"8645\":1,\"8807\":1,\"9047\":1,\"9066\":1,\"9201\":1,\"9403\":1,\"9409\":1,\"9873\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(1194|2722|4741)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunk_openeo_web_editor\"] = globalThis[\"webpackChunk_openeo_web_editor\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [6905,6833,8547,2475,3277,2387,2660,4881,7900,6296,7274,1834,9456,6937,7256,6964], () => (__webpack_require__(73657)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","staticClass","$config","logo","attrs","serviceName","_e","_v","_s","appName","on","showWebEditorInfo","version","staticRenderFns","name","mixins","EventBusMixin","data","Package","methods","broadcast","component","show","submit","$event","$emit","scopedSlots","_u","key","fn","directives","rawName","value","url","expression","domProps","target","composing","format","_q","proxy","hasUrl","loading","components","Modal","computed","Utils","mapState","isUrl","mediaType","watch","hasText","URL","pathname","endsWith","error","files","response","axios","get","formatRegistry","createFilesFromSTAC","length","asset","href","type","push","createFileFromAsset","style","zIndex","backgroundClose","containerTag","ref","tag","class","smooth","preventDefault","stopPropagation","submitFunction","apply","arguments","startMove","_t","title","close","submitButtonText","props","String","default","minWidth","width","Boolean","Function","position","dragPosition","Array","isArray","left","top","immediate","handler","open","smoothResize","mapMutations","setTimeout","event","openModal","hightestModalZIndex","window","addEventListener","escCloseListener","removeEventListener","closeModal","tagName","clientX","clientY","document","move","stopMove","$refs","container","offsetLeft","offsetTop","$el","serverUrl","skipLogin","mapLocation","mapZoom","geocoder","loginMessage","snotifyDefaults","timeout","titleMaxLength","bodyMaxLength","showProgressBar","closeOnClick","pauseOnHover","supportedMapServices","supportedBatchJobSharingServices","supportedWebServiceSharingServices","supportedWizards","description","requiredProcesses","basemaps","attributions","maxZoom","importCommunityExamples","processNamespaces","oidcClientIds","showHttpWarning","dataRefreshInterval","showExperimentalByDefault","showDeprecatedByDefault","eventBusListeners","beforeDestroy","eventName","$root","$off","hasListener","listen","callback","unlisten","$on","ProjManager","Projection","_load","add","code","meta","extent","proj4","defs","register","projection","getProjection","transformExtent","setExtent","includes","basemap","console","addFromStac","stac","isObject","properties","id","crs","match","toUpperCase","substr","Number","isInteger","epsg","CSV","SupportedFormat","constructor","delim","super","parseData","array","parseCSV","trim","map","row","col","NaN","isNaN","parseFloat","str","arr","quote","c","cc","nc","Format","Object","assign","context","setContext","getContext","getUrl","canGroup","isBinary","download","filename","tempLink","createElement","display","setAttribute","makeFileName","body","appendChild","click","removeChild","loadData","connection","loaded","fetchData","getData","Error","blob","startsWith","fetch","auth","apiUrl","requestUrl","origin","promise","Promise","resolve","reject","reader","FileReader","onload","result","onerror","readAsBinaryString","readAsText","icon","events","UnsupportedFormat","GDAL_MIN","GDAL_MAX","GDAL_NAME","GeoTIFF","removableLayers","_bands","_nodata","img","convertToRGB","parseMetadata","tiff","stacHasExtent","geometry","parseNodata","bands","forEach","band","i","setBandInfo","statistics","min","minimum","max","maximum","nodata","getBlob","tiffFromBlob","tiffFromUrl","getImage","getSamplesPerPixel","dummy","getArrayForSample","isFinite","getMinForDataType","getMaxForDataType","getGDALMetadata","getGDALNoData","geoKeys","ProjectedCSTypeGeoKey","GeographicTypeGeoKey","ProjLinearUnitsGeoKey","GeogAngularUnitsGeoKey","units","unitsFromCode","bbox","getBoundingBox","toUserExtent","warn","fileDirectory","ColorMap","from","greenOffset","blueOffset","colorMap","Math","trunc","PhotometricInterpretation","_","CMYK","YCbCr","CIELab","getNoData","getBands","getExtent","getColorMap","Int8Array","Int16Array","Int32Array","Float32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","JSON_","isGeoJson","JSON","parse","log","detectGeoJson","isTable","size","values","keys","some","equals","mathProcesses","getMathProcesses","all","filter","Process","isMathProcess","isMath","process","ProcessGraph","process_graph","mathProcessIds","p","concat","Formula","operatorMapping","arrayOperatorMapping","unsupportedFuncs","find","node","process_id","BrowserImage","Image","crossOrigin","fetchPriotity","decoding","src","NativeType","TSV","FormatRegistry","resource","assets","roles","file","createFilesFromBlob","Blob","stac_version","links","createObjectURL","mime","contentType","toLowerCase","extension","split","pop","serverStorage","getDefaultState","appMode","storedServers","localStorage","getItem","discoverySearchTerm","epsgCodes","initialProcess","initialNode","openWizard","openWizardProps","collectionPreview","viewerOptions","modelDnD","namespaced","state","getters","hasProcess","getModelNodeFromDnD","rootState","rootGetters","getterFn","collectionDefaults","namespace","options","setInterval","clearInterval","actions","loadEpsgCodes","cx","res","commit","loadInitialProcess","pg","extractUDPParams","dispatch","root","loadForAppMode","resultType","resultUrl","mutations","setModelDnd","obj","setDiscoverySearchTerm","searchTerm","setInitialProcess","setInitialNode","setAppMode","expires","setAppModeData","Vue","getProcessingExpression","summaries","setViewerOptions","setOpenWizard","setCollectionPreview","collectionID","addServer","indexOf","setItem","stringify","removeServer","splice","Job","Service","UserProcess","toJSON","setProcess","reset","listFn","createFn","updateFn","deleteFn","readFn","readFnById","customizations","primaryKey","definition","supportsList","supports","supportsCreate","supportsUpdate","supportsDelete","supportsRead","getById","x","create","parameters","delete","update","updated","read","list","d","observable","upsert","index","findIndex","observableData","storeFactory","supportsQueue","supportsCancel","queue","startJob","cancel","stopJob","userProcesses","sort","sortById","use","Vuex","reverseOperatorMapping","mapping","op","activeRequests","discoveryCompleted","isAuthenticated","userInfo","connectionError","beforeLogoutListener","authProviders","fileFormats","serviceTypes","udfRuntimes","processesUpdated","collections","Config","modules","editor","jobs","services","capabilities","feature","hasFeature","currency","isConnected","isDiscovered","supportsBilling","supportsBillingPlans","listPlans","apiVersion","FileTypes","input","output","collection","spatial_extent","extentToBBox","spatial","temporal_extent","temporal","interval","processes","registry","ProcessRegistry","ProcessRegistryExtension","supportsMath","processId","has","connect","OpenEO","addNamespaceToProcess","message","providers","listAuthProviders","async","provider","discover","refresh","promises","errors","listCollections","then","catch","listProcesses","listFileTypes","listServiceTypes","listUdfRuntimes","describeAccount","describeCollection","_loaded","StacMigrate","loadProcess","describeProcess","beforeLogout","listener","logout","disconnect","off","authProvider","getAuthProvider","completed","info","updateProcesses","addProcessNamespacesToRequest","namespaces","fillCollection","setConnectionError","authenticated","keepConnection","startActiveRequest","endActiveRequest","connecting","_l","modals","modal","_g","_b","hideModal","tourType","model","$$v","showHelp","httpsUrl","initProviders","showConnectForm","submitForm","modifiers","autoConnect","$forceUpdate","allowOtherServers","showServerSelector","showLoginForm","providerSelected","tab","initDiscovery","hasPredefinedOidcClientId","userOidcClientId","oidcRedirectUrl","basicProvider","username","password","switchServer","terms","privacy","mapGetters","getLinkForRel","rel","l","Logo","Tabs","Tab","TermsOfServiceConsent","isLocalUrl","location","protocol","toString","replace","getType","defaultClient","oidcClientId","oidcProviders","newVal","w","h","t","screen","availWidth","availHeight","oidcOptions","automaticSilentRenew","popupWindowFeatures","OidcProvider","redirectUrl","created","serverFromQuery","param","prompt","uiMethod","signinCallback","exception","mounted","onpopstate","evt","historyNavigate","history","replaceState","mapActions","hostname","initConnection","pushState","makeUrl","tabs","addProviders","addTab","getTitle","getId","$nextTick","resetActiveTab","programmatically","authType","login","offlineScope","setClientId","client","detectDefaultClient","grant_types","addListener","error_description","discoveryErrors","server","params","URLSearchParams","search","set","query","ConnectForm","IDE","AddMapDataModal","CollectionModal","DataModal","DownloadAssetsModal","ErrorModal","ExportCodeModal","ExpressionModal","FileFormatModal","ImportProcessModal","JobEstimateModal","JobInfoModal","ListModal","ParameterModal","ProcessModal","ProcessParameterModal","ServerInfoModal","ServiceInfoModal","ShareModal","Tour","UdfRuntimeModal","WebEditorModal","WizardModal","paramsForPrefix","interceptors","request","config","showError","showData","showModal","showListModal","showCollection","showProcess","showProcessParameter","setTitle","where","stopTour","newTitle","subtitle","Date","now","other","listActions","parameter","Snotify","Clipboard","prototype","$snotify","singleError","lastMessage","productionTip","errorHandler","err","vm","filters","app","store","Page","$mount","reason","operatorProcesses","returns","schema","allowedTypes","ProcessSchema","nativeDataType","optional","arrayOf","datatype","ProcessDataType","items","subtype","dataType","VueUtils","getPreviewLinkFromSTAC","link","isMapServiceSupported","mapType","isActiveJobStatusCode","status","alt","buttons","text","action","toast","success","$clipboard","button","btn","typeDefaults","warning","ok","confirm","isChildOfModal","that","$parent","$options","getFileNameFromURL","substring","lastIndexOf","ext","replaceParam","paramName","paramValue","urlObj","prefix","sep","urlParams","isBboxInWebMercator","bboxes","maxBounds","south","north","hasZ","west","east","base","height","a","b","compareStringCaseInsensitive","range","start","end","newArray","defaultValue","fitArray","slice","sortByPath","getUniqueId","random","formatIdOrTitle","getResourceTitle","showType","isObj","UserFile","path","resolveJsonRefs","resolver","$ref","parts","propertyName","shift","pos","undefined","confirmOpenAll","L","e","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","call","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","r","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","mode","ns","def","current","getOwnPropertyNames","o","defineProperty","enumerable","f","chunkId","reduce","u","miniCssF","g","globalThis","prop","hasOwnProperty","inProgress","dataWebpackPrefix","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","onScriptComplete","prev","clearTimeout","doneFns","parentNode","bind","head","Symbol","toStringTag","nmd","paths","children","createStylesheet","fullhref","oldTag","linkTag","nonce","onLinkComplete","errorType","realHref","insertBefore","nextSibling","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","test","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/app.9e3967de.js","mappings":"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","sources":["webpack://@openeo/web-editor/./src/components/Logo.vue","webpack://@openeo/web-editor/src/components/Logo.vue","webpack://@openeo/web-editor/./src/components/Logo.vue?c0bc","webpack://@openeo/web-editor/./src/components/Logo.vue?0cc9","webpack://@openeo/web-editor/./src/components/modals/AddMapDataModal.vue","webpack://@openeo/web-editor/src/components/modals/AddMapDataModal.vue","webpack://@openeo/web-editor/./src/components/modals/AddMapDataModal.vue?eb69","webpack://@openeo/web-editor/./src/components/modals/AddMapDataModal.vue?8d78","webpack://@openeo/web-editor/./src/components/modals/Modal.vue","webpack://@openeo/web-editor/src/components/modals/Modal.vue","webpack://@openeo/web-editor/./src/components/modals/Modal.vue?e840","webpack://@openeo/web-editor/./src/components/modals/Modal.vue?5039","webpack://@openeo/web-editor/./config.js","webpack://@openeo/web-editor/./src/components/EventBusMixin.js","webpack://@openeo/web-editor/./src/components/maps/projManager.js","webpack://@openeo/web-editor/./src/formats/csv.js","webpack://@openeo/web-editor/./src/formats/format.js","webpack://@openeo/web-editor/./src/formats/geotiff.js","webpack://@openeo/web-editor/./src/formats/json.js","webpack://@openeo/web-editor/./src/registryExtension.js","webpack://@openeo/web-editor/./src/formats/browserImage.js","webpack://@openeo/web-editor/./src/formats/native.js","webpack://@openeo/web-editor/./src/formats/tsv.js","webpack://@openeo/web-editor/./src/formats/formatRegistry.js","webpack://@openeo/web-editor/./src/store/editor.js","webpack://@openeo/web-editor/./src/store/storeFactory.js","webpack://@openeo/web-editor/./src/store/files.js","webpack://@openeo/web-editor/./src/store/jobs.js","webpack://@openeo/web-editor/./src/store/services.js","webpack://@openeo/web-editor/./src/store/userProcesses.js","webpack://@openeo/web-editor/./src/store/index.js","webpack://@openeo/web-editor/./src/Page.vue","webpack://@openeo/web-editor/./src/components/ConnectForm.vue","webpack://@openeo/web-editor/./src/components/TermsOfServiceConsent.vue","webpack://@openeo/web-editor/src/components/TermsOfServiceConsent.vue","webpack://@openeo/web-editor/./src/components/TermsOfServiceConsent.vue?ce8c","webpack://@openeo/web-editor/./src/components/TermsOfServiceConsent.vue?4902","webpack://@openeo/web-editor/src/components/ConnectForm.vue","webpack://@openeo/web-editor/./src/components/ConnectForm.vue?e1e0","webpack://@openeo/web-editor/./src/components/ConnectForm.vue?757a","webpack://@openeo/web-editor/src/Page.vue","webpack://@openeo/web-editor/./src/Page.vue?99ee","webpack://@openeo/web-editor/./src/Page.vue?0126","webpack://@openeo/web-editor/./src/filters.js","webpack://@openeo/web-editor/./src/main.js","webpack://@openeo/web-editor/./src/process.js","webpack://@openeo/web-editor/./src/utils.js","webpack://@openeo/web-editor/external var \"L\"","webpack://@openeo/web-editor/webpack/bootstrap","webpack://@openeo/web-editor/webpack/runtime/chunk loaded","webpack://@openeo/web-editor/webpack/runtime/compat get default export","webpack://@openeo/web-editor/webpack/runtime/create fake namespace object","webpack://@openeo/web-editor/webpack/runtime/define property getters","webpack://@openeo/web-editor/webpack/runtime/ensure chunk","webpack://@openeo/web-editor/webpack/runtime/get javascript chunk filename","webpack://@openeo/web-editor/webpack/runtime/get mini-css chunk filename","webpack://@openeo/web-editor/webpack/runtime/global","webpack://@openeo/web-editor/webpack/runtime/hasOwnProperty shorthand","webpack://@openeo/web-editor/webpack/runtime/load script","webpack://@openeo/web-editor/webpack/runtime/make namespace object","webpack://@openeo/web-editor/webpack/runtime/node module decorator","webpack://@openeo/web-editor/webpack/runtime/publicPath","webpack://@openeo/web-editor/webpack/runtime/css loading","webpack://@openeo/web-editor/webpack/runtime/jsonp chunk loading","webpack://@openeo/web-editor/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"logo\"},[(_vm.$config.logo)?_c('img',{attrs:{\"src\":_vm.$config.logo,\"alt\":_vm.$config.serviceName}}):_vm._e(),_c('h2',[_vm._v(_vm._s(_vm.$config.appName)+\" \"),_c('span',{staticClass:\"version\",on:{\"click\":_vm.showWebEditorInfo}},[_vm._v(_vm._s(_vm.version))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=af3cbbb2&scoped=true\"\nimport script from \"./Logo.vue?vue&type=script&lang=js\"\nexport * from \"./Logo.vue?vue&type=script&lang=js\"\nimport style0 from \"./Logo.vue?vue&type=style&index=0&id=af3cbbb2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"af3cbbb2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Modal',{attrs:{\"show\":_vm.show,\"title\":\"Add data from external source\",\"submitFunction\":_vm.submit},on:{\"closed\":function($event){return _vm.$emit('closed')}},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('div',{staticClass:\"content\"},[_c('p',[_vm._v(\"You can add a layer with data from an external data source.\")]),_c('strong',[_vm._v(\"Internet Adress:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.url),expression:\"url\"}],staticClass:\"url\",attrs:{\"type\":\"url\",\"name\":\"url\",\"placeholder\":\"https://\"},domProps:{\"value\":(_vm.url)},on:{\"input\":function($event){if($event.target.composing)return;_vm.url=$event.target.value}}}),_c('br'),_c('br'),_c('strong',[_vm._v(\"Format:\")]),_c('ul',{staticClass:\"formats\"},[_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.format),expression:\"format\"}],attrs:{\"type\":\"radio\",\"name\":\"format\",\"value\":\"geojson\",\"id\":\"f_geojson\"},domProps:{\"checked\":_vm._q(_vm.format,\"geojson\")},on:{\"change\":function($event){_vm.format=\"geojson\"}}}),_c('label',{attrs:{\"for\":\"f_geojson\"}},[_vm._v(\"GeoJSON\")])]),_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.format),expression:\"format\"}],attrs:{\"type\":\"radio\",\"name\":\"format\",\"value\":\"geotiff\",\"id\":\"f_geotiff\"},domProps:{\"checked\":_vm._q(_vm.format,\"geotiff\")},on:{\"change\":function($event){_vm.format=\"geotiff\"}}}),_c('label',{attrs:{\"for\":\"f_geotiff\"}},[_vm._v(\"Cloud-Optimized GeoTIFF\")])]),_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.format),expression:\"format\"}],attrs:{\"type\":\"radio\",\"name\":\"format\",\"value\":\"stac\",\"id\":\"f_stac\"},domProps:{\"checked\":_vm._q(_vm.format,\"stac\")},on:{\"change\":function($event){_vm.format=\"stac\"}}}),_c('label',{attrs:{\"for\":\"f_stac\"}},[_vm._v(\"STAC Item / Collection - shows displayable assets\")])])])])]},proxy:true},{key:\"footer\",fn:function(){return [_c('div',{staticClass:\"footer\"},[_c('button',{attrs:{\"type\":\"submit\",\"disabled\":!_vm.hasUrl || !_vm.format}},[_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"fas fa-spinner fa-spin\"}),_vm._v(\" Add layer \")])])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddMapDataModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddMapDataModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AddMapDataModal.vue?vue&type=template&id=0428e96a&scoped=true\"\nimport script from \"./AddMapDataModal.vue?vue&type=script&lang=js\"\nexport * from \"./AddMapDataModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./AddMapDataModal.vue?vue&type=style&index=0&id=0428e96a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0428e96a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal\",style:({'z-index': _vm.zIndex}),on:{\"mousedown\":_vm.backgroundClose}},[_c(_vm.containerTag,{ref:\"container\",tag:\"component\",staticClass:\"modal-container\",class:{smooth: _vm.smooth},style:(_vm.style),on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.submitFunction.apply(null, arguments)}}},[_c('header',{staticClass:\"modal-header\",on:{\"mousedown\":_vm.startMove}},[_vm._t(\"header\",function(){return [_c('h2',[_vm._v(_vm._s(_vm.title))]),_c('span',{staticClass:\"close\",on:{\"click\":_vm.close}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])]})],2),_c('main',{staticClass:\"modal-content\"},[_vm._t(\"default\")],2),_c('footer',{staticClass:\"modal-footer\"},[_vm._t(\"footer\",function(){return [(_vm.submitFunction)?_c('button',{attrs:{\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.submitButtonText))]):_vm._e()]})],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=7a094955\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\nimport style0 from \"./Modal.vue?vue&type=style&index=0&id=7a094955&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\t// Set this to connect to a back-end automatically when opening the Web Editor,\n\t// so you could set this to https://example.com and then the Web Editor connects\n\t// to the corresponding back-end automatically.\n\tserverUrl: '',\n\n\t// The name of the service\n\tserviceName: 'openEO',\n\t// The name of the app\n\tappName: 'Web Editor',\n\n\t// Skip login and automatically load up the \"discovery mode\"\n\tskipLogin: false,\n\n\t// Default location for maps\n\t// Default to the center of the EU in Wuerzburg: \n\t// https://en.wikipedia.org/wiki/Geographical_midpoint_of_Europe#Geographic_centre_of_the_European_Union\n\t// The zoom level should show most of Europe\n\tmapLocation: [49.8, 9.9],\n\tmapZoom: 4,\n\n\t// OSM Nominatim compliant geocoder URL, remove to disable\n\tgeocoder: \"https://nominatim.openstreetmap.org/search\",\n\n\t// A message shown on the login page\n\tloginMessage: '',\n\n\t// The logo to show\n\tlogo: './logo.png',\n\n\t// Defaults for notifications\n\tsnotifyDefaults: {\n\t\ttimeout: 10000,\n\t\ttitleMaxLength: 30,\n\t\tbodyMaxLength: 120,\n\t\tshowProgressBar: true,\n\t\tcloseOnClick: true,\n\t\tpauseOnHover: true\n\t},\n\n\t// List of supported web map services (all lower-cased)\n\tsupportedMapServices: [\n\t\t'xyz',\n\t\t'wmts'\n\t],\n\n\t// List of supported batch job sharing services\n\tsupportedBatchJobSharingServices: [\n\t\t'ShareEditor',\n\t\t'CopyUrl',\n\t\t'TwitterShare'\n\t],\n\n\t// List of supported web service sharing services\n\tsupportedWebServiceSharingServices: [\n\t\t'ShareEditor',\n\t\t'CopyUrl',\n\t\t'TwitterShare'\n\t],\n\n\t// List of supported wizards\n\tsupportedWizards: [\n\t\t{\n\t\t\tcomponent: 'SpectralIndices',\n\t\t\ttitle: 'Compute Spectral Indices',\n\t\t\tdescription: 'A spectral index is a mathematical equation that is applied on the various spectral bands of an image per pixel. It is often used to highlight vegetation, urban areas, snow, burn, soil, or water/drought/moisture stress. Provided by Awesome Spectral Indices (https://github.com/awesome-spectral-indices/awesome-spectral-indices).',\n\t\t\trequiredProcesses: ['reduce_dimension']\n\t\t}\n\t],\n\n\t// Configure the (base)maps\n\tbasemaps: [\n\t\t{\n\t\t\t// Title for the basemap\n\t\t\ttitle: \"OpenStreetMap\",\n\t\t\t// Templated URI for the XYZ basemap.\n\t\t\turl: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png',\n\t\t\t// Attributon for the basemap. HTML is allowed.\n\t\t\tattributions: '© OpenStreetMap contributors.',\n\t\t\t// Maximum zoom level\n\t\t\tmaxZoom: 19\n\t\t}\n\t],\n\n\t// Import processes from openeo-community-examples repo\n\timportCommunityExamples: true,\n\n\t// Additional process namespaces to load by default\n\tprocessNamespaces: [],\n\n\t// Key is the OIDC provider id, value is the client ID\n\toidcClientIds: {},\n\n\t// Show a warning if HTTP is used instead of HTTPS\n\tshowHttpWarning: true,\n\n\t// refresh interval for jobs/user data/services etc. in minutes - doesn't apply to logs.\n\t// It's recommended to use a value between 1 and 5 minutes.\n\tdataRefreshInterval: 2,\n\n\t// Show or hide experimental and/or deprecated entites by default (e.g. processes, collections)\n\tshowExperimentalByDefault: false,\n\tshowDeprecatedByDefault: false,\n\t\n};","export default {\n\tdata() {\n\t\treturn {\n\t\t\teventBusListeners: {}\n\t\t};\n\t},\n\tbeforeDestroy() {\n\t\tfor (var eventName in this.eventBusListeners) {\n\t\t\tthis.$root.$off(eventName, this.eventBusListeners[eventName]);\n\t\t}\n\t},\n\tmethods: {\n\t\thasListener(eventName) {\n\t\t\treturn !!this.eventBusListeners[eventName];\n\t\t},\n\t\tlisten(eventName, callback) {\n\t\t\tthis.unlisten(eventName);\n\t\t\tthis.$root.$on(eventName, callback);\n\t\t\tthis.eventBusListeners[eventName] = callback;\n\t\t},\n\t\tunlisten(eventName) {\n\t\t\tif (this.hasListener(eventName)) {\n\t\t\t\tthis.$root.$off(eventName, this.eventBusListeners[eventName]);\n\t\t\t\tdelete this.eventBusListeners[eventName];\n\t\t\t}\n\t\t},\n\t\tbroadcast() {\n\t\t\tthis.$root.$emit(...arguments);\n\t\t}\n\t}\n}","import proj4 from 'proj4';\nimport { get as getProjection, transformExtent } from 'ol/proj';\nimport Projection from 'ol/proj/Projection';\nimport { register } from 'ol/proj/proj4';\n\nimport Utils from '../../utils';\n\nexport default class ProjManager {\n\n\tstatic async get(data) {\n\t\tif (data instanceof Projection) {\n\t\t\treturn data;\n\t\t}\n\n\t\treturn await ProjManager._load(data);\n\t}\n\n\tstatic add(code, meta, extent) {\n\t\ttry {\n\t\t\tproj4.defs(code, meta);\n\t\t\tregister(proj4);\n\t\t\tlet projection = getProjection(code);\n\t\t\tif (Array.isArray(extent)) {\n\t\t\t\textent = transformExtent(extent, 'EPSG:4326', projection);\n\t\t\t\tprojection.setExtent(extent);\n\t\t\t}\n\t\t\tif (meta.includes('+datum=WGS84')) {\n\t\t\t\tprojection.basemap = true;\n\t\t\t}\n\t\t\treturn projection;\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t// Get projection details from STAC (todo: add collection support)\n\tstatic async addFromStac(stac) {\n\t\tif (Utils.isObject(stac) && Utils.isObject(stac.properties)) {\n\t\t\tif (stac.properties['proj:code']) {\n\t\t\t\treturn await ProjManager.get(stac.properties['proj:code']);\n\t\t\t}\n\t\t\telse if (stac.properties['proj:wkt2']) {\n\t\t\t\treturn ProjManager.add(stac.id, stac.properties['proj:wkt2']);\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tstatic async _load(crs) {\n\t\tlet code, id;\n\t\tif (typeof crs === 'string' && crs.match(/^EPSG:\\d+$/i)) {\n\t\t\tcode = crs.toUpperCase();\n\t\t\tid = crs.substr(5);\n\t\t}\n\t\telse if (Number.isInteger(crs)) {\n\t\t\tcode = `EPSG:${crs}`\n\t\t\tid = String(crs);\n\t\t}\n\t\telse {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Get projection from cache\n\t\tlet projection = getProjection(code);\n\t\tif (projection) {\n\t\t\treturn projection;\n\t\t}\n\n\t\t// Get projection from database\n\t\tlet epsg = await import('../../assets/epsg-proj.json');\n\t\tif (id in epsg) {\n\t\t\treturn ProjManager.add(code, epsg[id][0], epsg[id][1]);\n\t\t}\n\n\t\t// No projection found\n\t\treturn null;\n\t}\n\n}","import { SupportedFormat } from './format';\n\nclass CSV extends SupportedFormat {\n\n\tconstructor(asset, delim = [',', ';']) {\n\t\tsuper(asset, 'TableViewer', 'fa-table');\n\t\tthis.delim = delim;\n\t}\n\n\tasync parseData(data) {\n\t\tif (typeof data === 'string') {\n\t\t\t// Parse CSV\n\t\t\tlet array = this.parseCSV(data.trim());\n\t\t\t// Convert values into numbers, if possible\n\t\t\treturn array.map(row => row.map(col => {\n\t\t\t\tcol = col.trim();\n\t\t\t\tif (col.length === 0) {\n\t\t\t\t\treturn NaN;\n\t\t\t\t}\n\t\t\t\telse if (!isNaN(col)) { // https://stackoverflow.com/a/35759874/9709414\n\t\t\t\t\treturn parseFloat(col);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn col;\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t\treturn data;\n\t}\n\n\t// From https://stackoverflow.com/questions/1293147/example-javascript-code-to-parse-csv-data\n\tparseCSV(str) {\n\t\tvar arr = [];\n\t\tvar quote = false; // 'true' means we're inside a quoted field\n\t\n\t\t// Iterate over each character, keep track of current row and column (of the returned array)\n\t\tfor (var row = 0, col = 0, c = 0; c < str.length; c++) {\n\t\t\tvar cc = str[c], nc = str[c+1]; // Current character, next character\n\t\t\tarr[row] = arr[row] || []; // Create a new row if necessary\n\t\t\tarr[row][col] = arr[row][col] || ''; // Create a new column (start with empty string) if necessary\n\t\n\t\t\t// If the current character is a quotation mark, and we're inside a\n\t\t\t// quoted field, and the next character is also a quotation mark,\n\t\t\t// add a quotation mark to the current column and skip the next character\n\t\t\tif (cc == '\"' && quote && nc == '\"') {\n\t\t\t\tarr[row][col] += cc; ++c;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// If it's just one quotation mark, begin/end quoted field\n\t\t\tif (cc == '\"') {\n\t\t\t\tquote = !quote;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// If it's a elimiter and we're not in a quoted field, move on to the next column\n\t\t\tif (this.delim.includes(cc) && !quote) {\n\t\t\t\t++col;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// If it's a newline (CRLF) and we're not in a quoted field, skip the next character\n\t\t\t// and move on to the next row and move to column 0 of that new row\n\t\t\tif (cc == '\\r' && nc == '\\n' && !quote) {\n\t\t\t\t++row; col = 0; ++c;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// If it's a newline (LF or CR) and we're not in a quoted field,\n\t\t\t// move on to the next row and move to column 0 of that new row\n\t\t\tif (cc == '\\n' && !quote) {\n\t\t\t\t++row; col = 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (cc == '\\r' && !quote) {\n\t\t\t\t++row; col = 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\t// Otherwise, append the current character to the current column\n\t\t\tarr[row][col] += cc;\n\t\t}\n\t\treturn arr;\n\t}\n\n}\n\nexport default CSV;","import Utils from '../utils.js';\n\nexport class Format {\n\n\tconstructor(asset) {\n\t\tObject.assign(this, asset);\n\t\tthis.context = null;\n\t}\n\n\tsetContext(context) {\n\t\tthis.context = context;\n\t}\n\n\tgetContext() {\n\t\treturn this.context;\n\t}\n\n\tgetUrl() {\n\t\treturn this.href;\n\t}\n\n\tcanGroup() {\n\t\treturn false;\n\t}\n\n\tisBinary() {\n\t\treturn true;\n\t}\n\n\tdownload(filename = null) {\n\t\tlet tempLink = document.createElement('a');\n\t\ttempLink.style.display = 'none';\n\t\ttempLink.href = this.getUrl();\n\t\ttempLink.setAttribute('download', filename ? filename : Utils.makeFileName(\"result\", this.type));\n\t\ttempLink.setAttribute('target', '_blank');\n\t\tdocument.body.appendChild(tempLink);\n\t\ttempLink.click();\n\t\tdocument.body.removeChild(tempLink);\n\t}\n\n\tasync loadData(connection) {\n\t\tif (!this.loaded) {\n\t\t\tthis.data = await this.fetchData(connection);\n\t\t\tthis.loaded = true;\n\t\t}\n\t}\n\n\tgetData() {\n\t\tif (!this.loaded) {\n\t\t\tthrow new Error('Data must be loaded before');\n\t\t}\n\t\treturn this.data;\n\t}\n\n\tasync fetchData(connection) {\n\t\tlet blob;\n\t\tlet url = this.getUrl();\n\t\tif (url.startsWith('blob:')) {\n\t\t\tlet response = await fetch(url);\n\t\t\tblob = await response.blob();\n\t\t}\n\t\telse {\n\t\t\tlet auth = false;\n\t\t\ttry {\n\t\t\t\tlet apiUrl = new URL(connection.getUrl());\n\t\t\t\tlet requestUrl = new URL(url);\n\t\t\t\tauth = apiUrl.origin === requestUrl.origin;\n\t\t\t} catch (error) {}\n\n\t\t\tblob = await connection.download(url, auth);\n\t\t}\n\t\tlet promise = new Promise((resolve, reject) => {\n\t\t\tlet reader = new FileReader();\n\t\t\treader.onload = event => resolve(event.target.result);\n\t\t\treader.onerror = reject;\n\t\t\tif (this.isBinary()) {\n\t\t\t\treader.readAsBinaryString(blob);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treader.readAsText(blob);\n\t\t\t}\n\t\t});\n\t\tlet data = await promise;\n\t\treturn await this.parseData(data);\n\t}\n\n\tasync parseData(data) {\n\t\treturn data;\n\t}\n\n}\n\nexport class SupportedFormat extends Format {\n\n\tconstructor(asset, component = null, icon = 'fa-database', props = {}, events = {}) {\n\t\tsuper(asset);\n\t\tthis.loaded = false;\n\t\tthis.component = component;\n\t\tthis.props = props;\n\t\tif (!this.props.data) {\n\t\t\tthis.props.data = this;\n\t\t}\n\t\tthis.icon = icon;\n\t\tthis.events = events;\n\t}\n\n\tisBinary() {\n\t\treturn false;\n\t}\n\n}\n\nexport class UnsupportedFormat extends Format {\n\n\tconstructor(asset) {\n\t\tsuper(asset);\n\t}\n\n}\n\nexport class FormatCollection extends SupportedFormat {\n\n}","import { SupportedFormat } from './format';\nimport Utils from '../utils';\nimport ProjManager from '../components/maps/projManager';\n\nimport { fromUrl as tiffFromUrl, fromBlob as tiffFromBlob, globals as _ } from 'geotiff';\n\nimport { toUserExtent } from 'ol/proj';\nimport Projection from 'ol/proj/Projection';\nimport { fromCode as unitsFromCode } from 'ol/proj/Units';\n\nconst GDAL_MIN = 'STATISTICS_MINIMUM';\nconst GDAL_MAX = 'STATISTICS_MAXIMUM';\nconst GDAL_NAME = 'DESCRIPTION';\n\nclass GeoTIFF extends SupportedFormat {\n\n\tconstructor(asset, stac) {\n\t\tsuper(asset, \"MapViewer\", 'fa-map', { removableLayers: true });\n\t\tthis._bands = [];\n\t\tthis._nodata = [];\n\t\tthis.img = null;\n\t\tthis.projection = null;\n\t\tthis.extent = null;\n\t\tthis.convertToRGB = false;\n\t\tthis.stac = stac;\n\t}\n\n\tisBinary() {\n\t\treturn true;\n\t}\n\n\tcanGroup() {\n\t\treturn true;\n\t}\n\n\tasync loadData(connection) {\n\t\tif (!this.loaded) {\n\t\t\tawait this.parseMetadata();\n\t\t\tthis.loaded = true;\n\t\t}\n\t\treturn this;\n\t}\n\n\tgetData() {\n\t\treturn this;\n\t}\n\n\tasync parseMetadata() {\n\t\tlet stacHasExtent = this.stac && (this.stac.geometry || this.stac.extent);\n\n\t\t// Get projection from STAC\n\t\tthis.projection = await ProjManager.addFromStac(this.stac);\n\n\t\t// Get nodata from STAC file:nodata\n\t\tif (Array.isArray(this['file:nodata']) && this['file:nodata'].length > 0) {\n\t\t\tthis._nodata = Utils.parseNodata(this['file:nodata']);\n\t\t}\n\n\t\t// Get min/max/nodata from STAC bands\n\t\tif (Array.isArray(this.bands) && this.bands.length > 0) {\n\t\t\tthis.bands.forEach((band, i) => {\n\t\t\t\t// Get name from band\n\t\t\t\tif (band.name) {\n\t\t\t\t\tthis.setBandInfo(i, {\n\t\t\t\t\t\tname: band.name\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Set min/max from statistics\n\t\t\t\tif (Utils.isObject(band.statistics)) {\n\t\t\t\t\tthis.setBandInfo(i, {\n\t\t\t\t\t\tmin: band.statistics.minimum,\n\t\t\t\t\t\tmax: band.statistics.maximum\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// per-band no-data values are not supported, simply read the no-data from the first occurance if not defined yet\n\t\t\t\tif (this._nodata.length === 0 && typeof band.nodata !== 'undefined') {\n\t\t\t\t\tthis._nodata.push(Utils.parseNodata(band.nodata));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Load example tiff image\n\t\tlet tiff;\n\t\tif (this.getBlob()) {\n\t\t\ttiff = await tiffFromBlob(this.getBlob());\n\t\t}\n\t\telse {\n\t\t\ttiff = await tiffFromUrl(this.getUrl());\n\t\t}\n\t\tthis.img = await tiff.getImage();\n\n\t\t// Get data for each band / sample\n\t\tfor (let i = 0; i < this.img.getSamplesPerPixel(); i++) {\n\t\t\tlet data = {};\n\n\t\t\t// Use min/max for data type (as fallback)\n\t\t\ttry {\n\t\t\t\tlet dummy = this.img.getArrayForSample(i);\n\t\t\t\tif (!Number.isFinite(this._bands[i].min)) {\n\t\t\t\t\tdata.min = this.getMinForDataType(dummy);\n\t\t\t\t}\n\t\t\t\tif (!Number.isFinite(this._bands[i].max)) {\n\t\t\t\t\tdata.max = this.getMaxForDataType(dummy);\n\t\t\t\t}\n\t\t\t} catch (error) {}\n\n\t\t\t// Set min/max/name from statistics, if available\n\t\t\tlet band = this.img.getGDALMetadata(i);\n\t\t\tif (Utils.isObject(band)) {\n\t\t\t\tif (GDAL_MIN in band) {\n\t\t\t\t\tdata.min = parseFloat(band[GDAL_MIN]);\n\t\t\t\t}\n\t\t\t\tif (GDAL_MAX in band) {\n\t\t\t\t\tdata.max = parseFloat(band[GDAL_MAX]);\n\t\t\t\t}\n\t\t\t\tif (GDAL_NAME in band) {\n\t\t\t\t\tdata.name = band[GDAL_NAME];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.setBandInfo(i, data);\n\n\t\t\t// get no-data values if needed\n\t\t\tlet nodata = this.img.getGDALNoData();\n\t\t\tif (this._nodata.length === 0 && nodata !== null) {\n\t\t\t\tthis._nodata.push(nodata);\n\t\t\t}\n\t\t}\n\n\t\t// Get projection from GeoTiff\n\t\tlet code;\n\t\tif (!this.projection && this.img.geoKeys) {\n\t\t\tlet { ProjectedCSTypeGeoKey, GeographicTypeGeoKey, ProjLinearUnitsGeoKey, GeogAngularUnitsGeoKey } = this.img.geoKeys;\n\t\t\tif (ProjectedCSTypeGeoKey) {\n\t\t\t\tcode = 'EPSG:' + ProjectedCSTypeGeoKey;\n\t\t\t\tthis.projection = await ProjManager.get(code);\n\t\t\t}\n\t\t\tif (!this.projection && GeographicTypeGeoKey) {\n\t\t\t\tcode = 'EPSG:' + GeographicTypeGeoKey;\n\t\t\t\tthis.projection = await ProjManager.get(code);\n\t\t\t}\n\n\t\t\tif (!this.projection && code) {\n\t\t\t\tconst units = (ProjLinearUnitsGeoKey && unitsFromCode(ProjLinearUnitsGeoKey)) || (GeogAngularUnitsGeoKey && unitsFromCode(GeogAngularUnitsGeoKey));\n\t\t\t\tif (units) {\n\t\t\t\t\tthis.projection = new Projection({ code, units });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Get extent from geotiff\n\t\tif (!stacHasExtent) {\n\t\t\ttry {\n\t\t\t\tlet bbox = this.img.getBoundingBox();\n\t\t\t\tthis.extent = toUserExtent(bbox, this.projection);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(error);\n\t\t\t}\n\t\t}\n\n\t\t// Store color map as RGB\n\t\tif (this.img.fileDirectory.ColorMap) {\n\t\t\tconst map = Array.from(this.img.fileDirectory.ColorMap);\n\t\t\tconst greenOffset = map.length / 3;\n\t\t\tconst blueOffset = map.length / 3 * 2;\n\t\t\tthis.colorMap = [];\n\t\t\tfor (let i = 0; i < greenOffset; i++) {\n\t\t\t\tthis.colorMap.push([\n\t\t\t\t\tMath.trunc(map[i] / 65536 * 256),\n\t\t\t\t\tMath.trunc(map[i + greenOffset] / 65536 * 256),\n\t\t\t\t\tMath.trunc(map[i + blueOffset] / 65536 * 256),\n\t\t\t\t\tthis._nodata.includes(i) ? 0 : 1\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\n\t\t// Get photometric interpretation\n\t\tswitch (this.img.fileDirectory.PhotometricInterpretation) {\n\t\t\tcase _.photometricInterpretations.CMYK:\n\t\t\tcase _.photometricInterpretations.YCbCr:\n\t\t\tcase _.photometricInterpretations.CIELab:\n\t\t\t\tthis.convertToRGB = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// RGB and (Black/White)IsZero are handled via user control\n\t\t\t\t// Palette is handled directly by our styling\n\t\t\t\tthis.convertToRGB = false;\n\t\t}\n\t}\n\n\tsetBandInfo(i, data) {\n\t\tif (this._bands[i]) {\n\t\t\tObject.assign(this._bands[i], data);\n\t\t}\n\t\telse {\n\t\t\tthis._bands.push(Object.assign({ id: i + 1 }, data));\n\t\t}\n\t}\n\n\tgetBlob() {\n\t\treturn this.blob;\n\t}\n\n\tgetNoData() {\n\t\treturn this._nodata;\n\t}\n\n\tgetContext() {\n\t\treturn this.stac;\n\t}\n\n\tgetBands() {\n\t\treturn this._bands;\n\t}\n\n\tgetProjection() {\n\t\treturn this.projection;\n\t}\n\n\tgetExtent() {\n\t\treturn this.extent;\n\t}\n\n\tgetColorMap() {\n\t\treturn this.colorMap;\n\t}\n\n\tgetMinForDataType(array) {\n\t\tif (array instanceof Int8Array) {\n\t\t\treturn -128;\n\t\t}\n\t\tif (array instanceof Int16Array) {\n\t\t\treturn -32768;\n\t\t}\n\t\tif (array instanceof Int32Array) {\n\t\t\treturn -2147483648;\n\t\t}\n\t\tif (array instanceof Float32Array) {\n\t\t\treturn 1.2e-38;\n\t\t}\n\t\treturn 0;\n\t}\n\t\n\tgetMaxForDataType(array) {\n\t\tif (array instanceof Int8Array) {\n\t\t\treturn 127;\n\t\t}\n\t\tif (array instanceof Uint8Array) {\n\t\t\treturn 255;\n\t\t}\n\t\tif (array instanceof Uint8ClampedArray) {\n\t\t\treturn 255;\n\t\t}\n\t\tif (array instanceof Int16Array) {\n\t\t\treturn 32767;\n\t\t}\n\t\tif (array instanceof Uint16Array) {\n\t\t\treturn 65535;\n\t\t}\n\t\tif (array instanceof Int32Array) {\n\t\t\treturn 2147483647;\n\t\t}\n\t\tif (array instanceof Uint32Array) {\n\t\t\treturn 4294967295;\n\t\t}\n\t\tif (array instanceof Float32Array) {\n\t\t\treturn 3.4e38;\n\t\t}\n\t\treturn 255;\n\t}\n\n}\n\nexport default GeoTIFF;","import Utils from '../utils';\nimport { SupportedFormat } from './format';\n\nclass JSON_ extends SupportedFormat {\n\n\tconstructor(asset, component = \"DataViewer\") {\n\t\tsuper(asset, component);\n\n\t\tthis.isGeoJson = false;\n\t\t// this.isCovJson = false;\n\t}\n\n\tasync parseData(data) {\n\t\tif (typeof data === 'string') {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse(data);\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t}\n\t\tif (Utils.detectGeoJson(data)) {\n\t\t\tthis.isGeoJson = true;\n\t\t\tthis.component = 'MapViewer';\n\t\t\tthis.icon = 'fa-map';\n\t\t}\n\t\telse if (this.isTable(data)) {\n\t\t\tthis.component = 'TableViewer';\n\t\t\tthis.icon = 'fa-table';\n\t\t}\n\t\treturn data;\n\t}\n\n\tisTable(data) {\n\t\tif (!data || typeof data !== 'object' || Utils.size(data) === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tlet values = Object.values(data);\n\t\tlet keys = Object.keys(values[0]);\n\t\treturn !values.some(row => !row || typeof row !== 'object' || !Utils.equals(Object.keys(row), keys));\n\t}\n}\n\nexport default JSON_;","import Utils from './utils';\nimport Process from './process';\nimport { Formula } from '@openeo/js-client';\nimport { ProcessGraph } from '@openeo/js-processgraphs';\n\nexport default {\n\tmathProcesses: null,\n\tgetMathProcesses() {\n\t\tif (!this.mathProcesses) {\n\t\t\tthis.mathProcesses = this.all().filter(Process.isMathProcess);\n\t\t}\n\t\treturn this.mathProcesses;\n\t},\n\tisMath(process) {\n\t\tif (process instanceof ProcessGraph) {\n\t\t\tprocess = process.process;\n\t\t}\n\t\tif (!Utils.isObject(process) || Utils.size(process.process_graph) === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet mathProcessIds = this.getMathProcesses().map(p => p.id)\n\t\t\t.concat(Object.values(Formula.operatorMapping))\n\t\t\t.concat(Object.keys(Formula.arrayOperatorMapping))\n\t\t\t.concat(['array_element']);\n\t\tlet unsupportedFuncs = Object.values(process.process_graph).find(node => !mathProcessIds.includes(node.process_id));\n\t\treturn (typeof unsupportedFuncs === 'undefined');\n\t}\n};","import { SupportedFormat } from './format';\n\nclass BrowserImage extends SupportedFormat {\n\n\tconstructor(asset) {\n\t\tsuper(asset, 'ImageViewer', 'fa-image');\n\t}\n\n\tisBinary() {\n\t\treturn true;\n\t}\n\n\tasync fetchData() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet img = new Image();\n\t\t\timg.crossOrigin = 'anonymous';\n\t\t\timg.onerror = () => reject(new Error('Failed to load the image'));\n\t\t\timg.onload = () => resolve(img);\n\t\t\timg.fetchPriotity = 'high';\n\t\t\timg.decoding = 'sync';\n\t\t\timg.src = this.getUrl();\n\t\t});\n\t}\n\n}\n\nexport default BrowserImage;","import { SupportedFormat } from './format';\n\nclass NativeType extends SupportedFormat {\n\n\tconstructor(asset) {\n\t\tsuper(asset, \"DataViewer\");\n\t}\n\n}\n\nexport default NativeType;","import CSV from './csv';\n\nclass TSV extends CSV {\n\n\tconstructor(asset) {\n\t\tsuper(asset, [\"\\t\"]);\n\t}\n\n}\n\nexport default TSV;","import contentType from 'content-type';\n\nimport BrowserImage from '../formats/browserImage';\nimport CSV from '../formats/csv';\nimport GeoTIFF from '../formats/geotiff';\nimport JSON_ from '../formats/json';\nimport NativeType from './native';\nimport TSV from '../formats/tsv';\nimport { UnsupportedFormat } from './format';\n\nexport default class FormatRegistry {\n\n\tconstructor() {\n\t}\n\n\tcreateFilesFromSTAC(stac, resource = null) {\n\t\tlet files = Object.values(stac.assets)\n\t\t\t.filter(asset => !Array.isArray(asset.roles) || !asset.roles.includes(\"metadata\"))\n\t\t\t.map(asset => this.createFileFromAsset(asset, stac));\n\t\tif (resource) {\n\t\t\tfiles.forEach(file => file.setContext(resource));\n\t\t}\n\t\treturn files;\n\t}\n\n\tcreateFilesFromBlob(data) {\n\t\tif (!(data instanceof Blob)) {\n\t\t\tthrow new Error(\"Given data is not a valid Blob\");\n\t\t}\n\t\treturn this.createFilesFromSTAC({\n\t\t\tstac_version: \"1.0.0\",\n\t\t\ttype: \"Feature\",\n\t\t\tgeometry: null,\n\t\t\tproperties: {},\n\t\t\tlinks: [],\n\t\t\tassets: {\n\t\t\t\tresult: {\n\t\t\t\t\thref: URL.createObjectURL(data),\n\t\t\t\t\tblob: data,\n\t\t\t\t\ttype: data.type\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tcreateFileFromAsset(asset, stac) {\n\t\ttry {\n\t\t\t// Detect by media type\n\t\t\tif (typeof asset.type === 'string') {\n\t\t\t\tlet mime = contentType.parse(asset.type.toLowerCase());\n\t\t\t\tswitch(mime.type) {\n\t\t\t\t\tcase 'image/png':\n\t\t\t\t\tcase 'image/jpg':\n\t\t\t\t\tcase 'image/jpeg':\n\t\t\t\t\tcase 'image/gif':\n\t\t\t\t\tcase 'image/webp':\n\t\t\t\t\t\treturn new BrowserImage(asset);\n\t\t\t\t\tcase 'application/json':\n\t\t\t\t\tcase 'text/json':\n\t\t\t\t\tcase 'application/geo+json':\n\t\t\t\t\t\treturn new JSON_(asset);\n\t\t\t\t\tcase 'text/plain':\n\t\t\t\t\t\treturn new NativeType(asset);\n\t\t\t\t\tcase 'text/csv':\n\t\t\t\t\t\treturn new CSV(asset);\n\t\t\t\t\tcase 'text/tab-separated-values':\n\t\t\t\t\t\treturn new TSV(asset);\n\t\t\t\t\tcase 'image/tiff':\n\t\t\t\t\t\treturn new GeoTIFF(asset, stac);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Fallback: Detect by file extension\n\t\t\tif (typeof asset.href === 'string') {\n\t\t\t\tlet extension = asset.href.split(/[#?]/)[0].split('.').pop().trim().toLowerCase();\n\t\t\t\tswitch(extension) {\n\t\t\t\t\tcase 'png':\n\t\t\t\t\tcase 'jpg':\n\t\t\t\t\tcase 'jpeg':\n\t\t\t\t\tcase 'gif':\n\t\t\t\t\tcase 'webp':\n\t\t\t\t\t\treturn new BrowserImage(asset);\n\t\t\t\t\tcase 'json':\n\t\t\t\t\tcase 'geojson':\n\t\t\t\t\t\treturn new JSON_(asset);\n\t\t\t\t\tcase 'txt':\n\t\t\t\t\t\treturn new NativeType(asset);\n\t\t\t\t\tcase 'csv':\n\t\t\t\t\t\treturn new CSV(asset);\n\t\t\t\t\tcase 'tsv':\n\t\t\t\t\t\treturn new TSV(asset);\n\t\t\t\t\tcase 'tif':\n\t\t\t\t\tcase 'tiff':\n\t\t\t\t\t\treturn new GeoTIFF(asset, stac);\n\t\t\t\t}\n\t\t\t}\n\n\t\t} catch (error) {\n\t\t\tconsole.log(error);\n\t\t}\n\n\t\treturn new UnsupportedFormat(asset);\n\t}\n\n}","import Vue from 'vue';\nimport Utils from '../utils';\nimport { Job, Service, UserProcess } from '@openeo/js-client';\nimport { ProcessGraph } from '@openeo/js-processgraphs';\nimport FormatRegistry from '../formats/formatRegistry.js';\n\nconst serverStorage = \"serverUrls\";\n\nconst getDefaultState = () => {\n\treturn {\n\t\tappMode: null,\n\t\tstoredServers: JSON.parse(localStorage.getItem(serverStorage) || \"[]\"),\n\t\tcontext: null,\n\t\tprocess: null,\n\t\tdiscoverySearchTerm: '',\n\t\thightestModalZIndex: 1000,\n\t\tepsgCodes: [],\n\t\tinitialProcess: null,\n\t\tinitialNode: null,\n\t\topenWizard: null,\n\t\topenWizardProps: {},\n\t\tcollectionPreview: null,\n\t\tviewerOptions: {},\n\t\tmodelDnD: null,\n\t\tformatRegistry: new FormatRegistry(),\n\t};\n};\n\nexport default {\n\tnamespaced: true,\n\tstate: getDefaultState(),\n\tgetters: {\n\t\thasProcess: state => Utils.isObject(state.process) && Utils.size(state.process) > 0 && Utils.size(state.process.process_graph),\n\t\tgetModelNodeFromDnD: (state, getters, rootState, rootGetters) => () => {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tif (!state.modelDnD) {\n\t\t\t\t\tresolve(null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst getterFn = () => {\n\t\t\t\t\tswitch(state.modelDnD.type) {\n\t\t\t\t\t\tcase 'collection':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tprocess_id: 'load_collection',\n\t\t\t\t\t\t\t\targuments: rootGetters.collectionDefaults(state.modelDnD.data.id)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'process':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tprocess_id: state.modelDnD.data.id,\n\t\t\t\t\t\t\t\tnamespace: state.modelDnD.data.namespace,\n\t\t\t\t\t\t\t\targuments: {}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'udf':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tprocess_id: 'run_udf',\n\t\t\t\t\t\t\t\targuments: state.modelDnD.data\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'fileformat':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tprocess_id: 'save_result',\n\t\t\t\t\t\t\t\targuments: {format: state.modelDnD.data.name, options: {}}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tif (state.modelDnD.loading) {\n\t\t\t\t\tlet id = setInterval(() => {\n\t\t\t\t\t\tif (!state.modelDnD || state.modelDnD.loading) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclearInterval(id);\n\t\t\t\t\t\tresolve(getterFn());\n\t\t\t\t\t}, 50);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresolve(getterFn());\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tactions: {\n\t\tasync loadEpsgCodes(cx) {\n\t\t\tif (cx.state.epsgCodes.length === 0) {\n\t\t\t\tlet res = await import('../assets/epsg-names.json');\n\t\t\t\tcx.commit('epsgCodes', res.default);\n\t\t\t}\n\t\t},\n\t\tasync loadInitialProcess(cx) {\n\t\t\tif (cx.state.process) {\n\t\t\t\treturn; // Process already loaded (usually during a later login)\n\t\t\t}\n\t\t\tif (Utils.isUrl(cx.state.initialProcess)) {\n\t\t\t\tlet response = await axios(cx.state.initialProcess);\n\t\t\t\tif (Utils.isObject(response.data)) {\n\t\t\t\t\tvar pg = new ProcessGraph(response.data);\n\t\t\t\t\tpg.parse();\n\t\t\t\t\tcx.commit('setProcess', response.data);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (typeof cx.state.initialProcess === 'string' && cx.state.initialProcess.length > 0) {\n\t\t\t\tlet [id, namespace] = Utils.extractUDPParams(cx.state.initialProcess);\n\t\t\t\ttry {\n\t\t\t\t\tawait cx.dispatch('loadProcess', {id, namespace}, {root: true});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.warn(error);\n\t\t\t\t}\n\t\t\t\tcx.commit('setProcess', {\n\t\t\t\t\tprocess_graph: {\n\t\t\t\t\t\t[id]: {\n\t\t\t\t\t\t\tprocess_id: id,\n\t\t\t\t\t\t\tnamespace,\n\t\t\t\t\t\t\targuments: {},\n\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tasync loadForAppMode(cx) {\n\t\t\tif (!cx.state.appMode) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (cx.state.appMode.resultType !== 'service') {\n\t\t\t\ttry {\n\t\t\t\t\tlet response = await axios(cx.state.appMode.resultUrl);\n\t\t\t\t\tif (Utils.isObject(response.data)) {\n\t\t\t\t\t\tcx.commit('setAppModeData', response.data);\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t\tthrow new Error(\"Sorry, the shared data is not available anymore!\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tmutations: {\n\t\tsetModelDnd(state, obj = null) {\n\t\t\tstate.modelDnD = obj;\n\t\t},\n\t\tsetDiscoverySearchTerm(state, searchTerm) {\n\t\t\tstate.discoverySearchTerm = typeof searchTerm === 'string' ? searchTerm : '';\n\t\t},\n\t\tsetInitialProcess(state, process) {\n\t\t\tstate.initialProcess = process;\n\t\t},\n\t\tsetInitialNode(state, node) {\n\t\t\tstate.initialNode = node;\n\t\t},\n\t\tsetAppMode(state, appMode) {\n\t\t\tstate.appMode = {\n\t\t\t\t...appMode,\n\t\t\t\ttitle: 'Results',\n\t\t\t\tdata: null,\n\t\t\t\texpires: null\n\t\t\t};\n\t\t},\n\t\tsetAppModeData(state, data) {\n\t\t\tVue.set(state.appMode, 'data', data);\n\n\t\t\tlet process, title, expires;\n\t\t\tif (data.type === 'Collection') {\n\t\t\t\tprocess = Utils.getProcessingExpression(data) || Utils.getProcessingExpression(data.summaries);\n\t\t\t\ttitle = data.title;\n\t\t\t\texpires = data.expires;\n\t\t\t}\n\t\t\telse if (data.type === 'Feature') {\n\t\t\t\tprocess = Utils.getProcessingExpression(data.properties);\n\t\t\t\ttitle = data.properties?.title;\n\t\t\t\texpires = data.properties?.expires;\n\t\t\t}\n\t\t\tif (process) {\n\t\t\t\tstate.process = process;\n\t\t\t}\n\t\t\tif (title) {\n\t\t\t\tVue.set(state.appMode, 'title', title);\n\t\t\t\tVue.set(state.appMode, 'expires', expires);\n\t\t\t\tstate.context = title;\n\t\t\t}\n\t\t},\n\t\tsetViewerOptions(state, options) {\n\t\t\tstate.viewerOptions = options || {};\n\t\t},\n\t\tsetOpenWizard(state, {component, options}) {\n\t\t\tstate.openWizard = component;\n\t\t\tif (component) {\n\t\t\t\tstate.openWizardProps = options;\n\t\t\t}\n\t\t},\n\t\tsetCollectionPreview(state, collectionID) {\n\t\t\tstate.collectionPreview = collectionID;\n\t\t\tif (!state.discoverySearchTerm) {\n\t\t\t\tstate.discoverySearchTerm = typeof collectionID === 'string' ? collectionID : '';\n\t\t\t}\n\t\t},\n\t\topenModal(state) {\n\t\t\tstate.hightestModalZIndex = state.hightestModalZIndex + 1;\n\t\t},\n\t\tcloseModal(state) {\n\t\t\tstate.hightestModalZIndex = state.hightestModalZIndex - 1;\n\t\t},\n\t\taddServer(state, url) {\n\t\t\tif (state.storedServers.indexOf(url) === -1) {\n\t\t\t\tstate.storedServers.push(url);\n\t\t\t}\n\t\t\tlocalStorage.setItem(serverStorage, JSON.stringify(state.storedServers));\n\t\t},\n\t\tremoveServer(state, url) {\n\t\t\tstate.storedServers.splice(state.storedServers.indexOf(url), 1);\n\t\t\tlocalStorage.setItem(serverStorage, JSON.stringify(state.storedServers));\n\t\t},\n\t\tsetContext(state, obj) {\n\t\t\tstate.context = obj;\n\t\t\tif (obj instanceof Job || obj instanceof Service) {\n\t\t\t\tstate.process = obj.process;\n\t\t\t}\n\t\t\telse if (obj instanceof UserProcess) {\n\t\t\t\tstate.process = obj.toJSON();\n\t\t\t}\n\t\t\telse if (Utils.isObject(obj) && obj.process) {\n\t\t\t\tstate.process = obj.process;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tstate.process = obj;\n\t\t\t}\n\t\t},\n\t\tsetProcess(state, process) {\n\t\t\tstate.process = process;\n\t\t},\n\t\tepsgCodes(state, epsgCodes) {\n\t\t\tstate.epsgCodes = epsgCodes;\n\t\t},\n\t\treset(state) {\n\t\t\tObject.assign(state, getDefaultState());\n\t\t}\n\t}\n};\n","import { UserProcess } from '@openeo/js-client';\nimport { Utils } from '@openeo/js-commons';\nimport Vue from 'vue';\n\nexport default ({namespace, listFn, createFn, updateFn, deleteFn, readFn, readFnById, customizations, primaryKey}) => {\n\tif (!primaryKey) {\n\t\tprimaryKey = 'id';\n\t}\n\tconst getDefaultState = () => {\n\t\tlet data = {};\n\t\tdata[namespace] = [];\n\t\treturn data;\n\t};\n\tlet definition = {\n\t\tnamespaced: true,\n\t\tstate: getDefaultState(),\n\t\tgetters: {\n\t\t\tsupportsList: (state, getters, rootState, rootGetters) => rootGetters.supports(listFn),\n\t\t\tsupportsCreate: (state, getters, rootState, rootGetters) => rootGetters.supports(createFn),\n\t\t\tsupportsUpdate: (state, getters, rootState, rootGetters) => rootGetters.supports(updateFn),\n\t\t\tsupportsDelete: (state, getters, rootState, rootGetters) => rootGetters.supports(deleteFn),\n\t\t\tsupportsRead: (state, getters, rootState, rootGetters) => rootGetters.supports(readFn),\n\t\t\tgetById: (state) => (id) => {\n\t\t\t\tlet data = state[namespace].find(x => x[primaryKey] === id);\n\t\t\t\treturn typeof data !== 'undefined' ? data : null;\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\tasync create(cx, parameters) {\n\t\t\t\tif (cx.getters.supportsCreate) {\n\t\t\t\t\tlet connection = cx.rootState.connection;\n\t\t\t\t\tlet data = await connection[createFn].apply(connection, parameters);\n\t\t\t\t\tcx.commit('upsert', data);\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Adding is not supported by the server.\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync delete(cx, {data}) {\n\t\t\t\tif (cx.getters.supportsDelete) {\n\t\t\t\t\tawait data[deleteFn]();\n\t\t\t\t\tcx.commit('delete', data);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Deleting is not supported by the server.\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync update(cx, {data, parameters}) {\n\t\t\t\tif (cx.getters.supportsUpdate) {\n\t\t\t\t\tlet updated = await data[updateFn](parameters);\n\t\t\t\t\tcx.commit('upsert', updated);\n\t\t\t\t\treturn updated;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Updating is not supported by the server.\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync read(cx, {data}) {\n\t\t\t\tlet updated = null;\n\t\t\t\tif (!(data instanceof UserProcess)) {\n\t\t\t\t\tlet id = Utils.isObject(data) ? data[primaryKey] : data;\n\t\t\t\t\t// Try to get UserProcess from store\n\t\t\t\t\tdata = cx.getters.getById(id);\n\t\t\t\t\tif (!data) {\n\t\t\t\t\t\t// Try to load UserProcess from Connection\n\t\t\t\t\t\tupdated = await cx.rootState.connection[readFnById](data);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!updated) {\n\t\t\t\t\t// Try to update UserProcess\n\t\t\t\t\tupdated = await data[readFn]();\n\t\t\t\t}\n\t\t\t\t// Update or insert, depending on previous state\n\t\t\t\tcx.commit('upsert', updated);\n\t\t\t\treturn updated;\n\t\t\t},\n\t\t\tasync list(cx) {\n\t\t\t\tvar data = [];\n\t\t\t\tif (cx.getters.supportsList) {\n\t\t\t\t\t// Pass over existing data so that it can be updated (for all complete entities, only update fields that exist in the new object)\n\t\t\t\t\t// instead of getting replaced, see https://github.com/Open-EO/openeo-web-editor/issues/234\n\t\t\t\t\tdata = await cx.rootState.connection[listFn](cx.state[namespace]);\n\t\t\t\t}\n\t\t\t\tcx.commit('data', data);\n\t\t\t\treturn data;\n\t\t\t}\n\t\t},\n\t\tmutations: {\n\t\t\tdata(state, data) {\n\t\t\t\tstate[namespace] = data.map(d => Vue.observable(d));\n\t\t\t},\n\t\t\tupsert(state, data) {\n\t\t\t\tlet id = data[primaryKey];\n\t\t\t\tlet index = state[namespace].findIndex(x => x[primaryKey] === id);\n\t\t\t\tlet observableData = Vue.observable(data);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\tVue.set(state[namespace], index, observableData);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tstate[namespace].push(observableData);\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelete(state, data) {\n\t\t\t\tlet id = data[primaryKey];\n\t\t\t\tlet index = state[namespace].findIndex(x => x[primaryKey] === id);\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\tVue.delete(state[namespace], index);\n\t\t\t\t}\n\t\t\t},\n\t\t\treset(state) {\n\t\t\t\tObject.assign(state, getDefaultState());\n\t\t\t}\n\t\t}\n\t};\n\t// Override with custom definitions\n\tfor(let key in customizations) {\n\t\tObject.assign(definition[key], customizations[key]);\n\t}\n\treturn definition;\n};","import storeFactory from './storeFactory';\n\nexport default storeFactory({\n\tnamespace: 'files',\n\tlistFn: 'listFiles',\n\tcreateFn: 'uploadFile',\n\tupdateFn: 'uploadFile',\n\tdeleteFn: 'deleteFile',\n\treadFn: 'downloadFile',\n\treadFnById: 'getFile',\n\tprimaryKey: 'path',\n\tcustomizations: {\n\t\tgetters: {\n\t\t},\n\t\tactions: {\n\t\t},\n\t\tmutations: {\n\t\t}\n\t}\n});","import storeFactory from './storeFactory';\n\nexport default storeFactory({\n\tnamespace: 'jobs',\n\tlistFn: 'listJobs',\n\tcreateFn: 'createJob',\n\tupdateFn: 'updateJob',\n\tdeleteFn: 'deleteJob',\n\treadFn: 'describeJob',\n\treadFnById: 'getJob',\n\tcustomizations: {\n\t\tgetters: {\n\t\t\tsupportsQueue: (state, getters, rootState, rootGetters) => rootGetters.supports('startJob'),\n\t\t\tsupportsCancel: (state, getters, rootState, rootGetters) => rootGetters.supports('stopJob')\n\t\t},\n\t\tactions: {\n\t\t\tasync queue(cx, {data}) {\n\t\t\t\tif (cx.getters.supportsQueue) {\n\t\t\t\t\tlet updated = await data.startJob();\n\t\t\t\t\tcx.commit('upsert', updated);\n\t\t\t\t\treturn updated;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Queueing a batch job is not supported by the server.\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync cancel(cx, {data}) {\n\t\t\t\tif (cx.getters.supportsCancel) {\n\t\t\t\t\tlet updated = await data.stopJob();\n\t\t\t\t\tcx.commit('upsert', updated);\n\t\t\t\t\treturn updated;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error(\"Canceling a batch job is not supported by the server.\");\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmutations: {\n\t\t}\n\t}\n});","import storeFactory from './storeFactory';\n\nexport default storeFactory({\n\tnamespace: 'services',\n\tlistFn: 'listServices',\n\tcreateFn: 'createService',\n\tupdateFn: 'updateService',\n\tdeleteFn: 'deleteService',\n\treadFn: 'describeService',\n\treadFnById: 'getService',\n\tcustomizations: {\n\t\tgetters: {\n\t\t},\n\t\tactions: {\n\t\t},\n\t\tmutations: {\n\t\t}\n\t}\n});","import storeFactory from './storeFactory';\nimport Utils from '../utils';\n\nexport default storeFactory({\n\tnamespace: 'userProcesses',\n\tlistFn: 'listUserProcesses',\n\tcreateFn: 'setUserProcess',\n\tupdateFn: 'replaceUserProcess',\n\tdeleteFn: 'deleteUserProcess',\n\treadFn: 'describeUserProcess',\n\treadFnById: 'getUserProcess',\n\tcustomizations: {\n\t\tgetters: {\n\t\t},\n\t\tactions: {\n\t\t},\n\t\tmutations: {\n\t\t\tdata(state, data) {\n\t\t\t\tstate.userProcesses = data\n\t\t\t\t\t.map(p => Object.assign(p, {namespace: 'user'}))\n\t\t\t\t\t.filter(p => (typeof p.id === 'string'))\n\t\t\t\t\t.sort(Utils.sortById);\n\t\t\t}\n\t\t}\n\t}\n});","import Vue from 'vue';\nimport Vuex from 'vuex';\n\nimport { OpenEO, FileTypes, Formula } from '@openeo/js-client';\nimport { ProcessRegistry } from '@openeo/js-commons';\nimport StacMigrate from '@radiantearth/stac-migrate';\nimport Utils from '../utils.js';\nimport ProcessRegistryExtension from '../registryExtension.js';\nimport Config from '../../config';\n// Sub-modules\nimport editor from './editor';\nimport files from './files';\nimport jobs from './jobs';\nimport services from './services';\nimport userProcesses from './userProcesses';\n\nVue.use(Vuex);\n\nFormula.arrayOperatorMapping = {\n\t'product': '*',\n\t'sum': '+'\n};\nFormula.reverseOperatorMapping = (() => {\n\tlet mapping = {};\n\tfor(var op in Formula.operatorMapping) {\n\t\tmapping[Formula.operatorMapping[op]] = op;\n\t}\n\treturn Object.assign(mapping, Formula.arrayOperatorMapping);\n})();\n\nconst getDefaultState = () => {\n\treturn {\n\t\tconnection: null,\n\t\tactiveRequests: 0,\n\t\tdiscoveryCompleted: false,\n\t\tisAuthenticated: false,\n\t\tuserInfo: {},\n\t\tconnectionError: null,\n\t\tbeforeLogoutListener: {},\n\t\tauthProviders: [],\n\t\tfileFormats: {},\n\t\tserviceTypes: {},\n\t\tudfRuntimes: {},\n\t\tprocessesUpdated: 0,\n\t\tcollections: [],\n\t\tprocessNamespaces: Config.processNamespaces || [],\n\t};\n};\n\nexport default new Vuex.Store({\n//\tstrict: true, // Can't enable, js-client gets mutated externally\n\tmodules: {\n\t\teditor,\n\t\tfiles,\n\t\tjobs,\n\t\tservices,\n\t\tuserProcesses\n\t},\n\tstate: getDefaultState(),\n\tgetters: {\n\t\ttitle: (state) => {\n\t\t\tif (state.connection !== null && state.connection.capabilities() !== null) {\n\t\t\t\tvar title = state.connection.capabilities().title();\n\t\t\t\treturn title ? title : state.connection.getUrl();\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tcapabilities: (state) => state.connection !== null ? state.connection.capabilities() : null,\n\t\tsupports: (state) => (feature) => state.connection !== null && state.connection.capabilities() !== null && state.connection.capabilities().hasFeature(feature),\n\t\tcurrency: (state) => {\n\t\t\tvar currency = '';\n\t\t\tif (state.connection && state.connection.capabilities().currency() !== null) {\n\t\t\t\tcurrency = state.connection.capabilities().currency();\n\t\t\t}\n\t\t\treturn currency;\n\t\t},\n\t\tisConnected: (state) => state.connection !== null && state.connection.capabilities() !== null,\n\t\tisDiscovered: (state) => state.connection !== null && state.discoveryCompleted,\n\t\tsupportsBilling: (state) => state.connection !== null && state.connection.capabilities().currency() !== null,\n\t\tsupportsBillingPlans: (state) => state.connection !== null && state.connection.capabilities().currency() !== null && state.connection.capabilities().listPlans().length > 0,\n\t\tapiVersion: (state) => state.connection !== null ? state.connection.capabilities().apiVersion() : null,\n\t\tfileFormats: (state) => state.fileFormats instanceof FileTypes ? state.fileFormats.toJSON() : {input: {}, output: {}},\n\t\tcollectionDefaults: (state) => (id) => {\n\t\t\tvar collection = state.collections.find(c => c.id === id);\n\t\t\tif (!Utils.isObject(collection)) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tvar spatial_extent = null;\n\t\t\ttry {\n\t\t\t\tspatial_extent = Utils.extentToBBox(collection.extent.spatial.bbox[0]);\n\t\t\t} catch (error) {}\n\n\t\t\tvar temporal_extent = null;\n\t\t\ttry {\n\t\t\t\ttemporal_extent = collection.extent.temporal.interval[0];\n\t\t\t\tif (temporal_extent[0] === null && temporal_extent[1] === null) {\n\t\t\t\t\ttemporal_extent = null;\n\t\t\t\t}\n\t\t\t\telse if (temporal_extent[0] == temporal_extent[1]) {\n\t\t\t\t\ttemporal_extent[1] = null;\n\t\t\t\t}\n\t\t\t} catch (error) {}\n\t\n\t\t\tvar bands = null;\n\t\t\treturn {id, spatial_extent, temporal_extent, bands};\n\t\t},\n\t\tprocesses: (state) => {\n\t\t\tlet registry\n\t\t\tif (state.processesUpdated && state.connection !== null) {\n\t\t\t\tregistry = state.connection.processes;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tregistry = new ProcessRegistry();\n\t\t\t}\n\t\t\treturn Object.assign(registry, ProcessRegistryExtension);\n\t\t},\n\t\tsupportsMath: (state, getters) => {\n\t\t\tif (!state.processesUpdated) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfor(let i in Formula.operatorMapping) {\n\t\t\t\tlet processId = Formula.operatorMapping[i];\n\t\t\t\tif (!getters.processes.has(processId)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t},\n\tactions: {\n\t\tasync connect(cx, url) {\n\t\t\tawait cx.dispatch('logout');\n\n\t\t\t// Connect and request capabilities\n\t\t\tvar connection = null;\n\t\t\ttry {\n\t\t\t\tconnection = await OpenEO.connect(url, {addNamespaceToProcess: true});\n\t\t\t} catch (error) {\n\t\t\t\tif(error.message == 'Network Error' || error.name == 'NetworkError') {\n\t\t\t\t\terror = new Error(\"Server is not available.\");\n\t\t\t\t}\n\t\t\t\tcx.commit('setConnectionError', error);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Request auth provider list\n\t\t\ttry {\n\t\t\t\tvar providers = await connection.listAuthProviders();\n\t\t\t\tcx.commit('authProviders', providers);\n\t\t\t} catch (error) {\n\t\t\t\tcx.commit('setConnectionError', error);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconnection.on('authProviderChanged', async (provider) => {\n\t\t\t\tcx.commit('authenticated', provider !== null);\n\t\t\t\tif (cx.state.discoveryCompleted) {\n\t\t\t\t\tawait cx.dispatch('discover', true);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconnection.on('processesChanged', () => cx.commit('updateProcesses'));\n\n\t\t\t// Only commit the connection change after requesting the auth providers\n\t\t\t// as this indicates that the connection procedure has finished.\n\t\t\tcx.commit('connection', connection);\n\n\t\t\treturn true;\n\t\t},\n\n\t\tasync discover(cx, refresh = false) {\n\t\t\tlet promises = [];\n\t\t\tlet errors = [];\n\t\t\tlet capabilities = cx.state.connection.capabilities();\n\n\t\t\t// Request collections\n\t\t\tif (capabilities.hasFeature('listCollections')) {\n\t\t\t\tpromises.push(cx.state.connection.listCollections()\n\t\t\t\t\t.then(response => cx.commit('collections', response))\n\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t}\n\t\t\telse {\n\t\t\t\terrors.push(new Error(\"Collections not supported by the server.\"));\n\t\t\t}\n\n\t\t\tif (!refresh) { // Only load on first discovery, otherwise the JS client already refreshes the data\n\t\t\t\t// Request processes\n\t\t\t\tif (capabilities.hasFeature('listProcesses')) {\n\t\t\t\t\tpromises.push(cx.state.connection.listProcesses()\n\t\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\terrors.push(new Error(\"Pre-defined processes not supported by the server.\"));\n\t\t\t\t}\n\n\t\t\t\t// Request processes from namespaces\n\t\t\t\tif (cx.state.processNamespaces.length > 0) {\n\t\t\t\t\tfor(let namespace of cx.state.processNamespaces) {\n\t\t\t\t\t\tpromises.push(cx.state.connection.listProcesses(namespace)\n\t\t\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Request custom processes\n\t\t\t\tif (capabilities.hasFeature('listUserProcesses') && cx.state.connection.isAuthenticated()) {\n\t\t\t\t\tpromises.push(cx.dispatch('userProcesses/list')\n\t\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Request supported output formats\n\t\t\tif (capabilities.hasFeature('listFileTypes')) {\n\t\t\t\tpromises.push(cx.state.connection.listFileTypes()\n\t\t\t\t\t.then(response => cx.commit('fileFormats', response))\n\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t}\n\n\t\t\t// Request supported service types\n\t\t\tif (capabilities.hasFeature('listServiceTypes')) {\n\t\t\t\tpromises.push(cx.state.connection.listServiceTypes()\n\t\t\t\t\t.then(response => cx.commit('serviceTypes', response))\n\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t}\n\n\t\t\t// Request supported UDF runtimes\n\t\t\tif (capabilities.hasFeature('listUdfRuntimes')) {\n\t\t\t\tpromises.push(cx.state.connection.listUdfRuntimes()\n\t\t\t\t\t.then(response => cx.commit('udfRuntimes', response))\n\t\t\t\t\t.catch(error => errors.push(error)));\n\t\t\t}\n\n\t\t\t// Request user account information\n\t\t\tvar promise = cx.dispatch('describeAccount')\n\t\t\t\t.catch(error => errors.push(error));\n\t\t\tpromises.push(promise);\n\n\t\t\tawait Promise.all(promises);\n\n\t\t\t// Request initial process\n\t\t\tif (!refresh) {\n\t\t\t\ttry {\n\t\t\t\t\tawait cx.dispatch('editor/loadInitialProcess');\n\t\t\t\t} catch (error) {\n\t\t\t\t\terrors.push(error);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Request results for app mode\n\t\t\tif (!refresh) {\n\t\t\t\ttry {\n\t\t\t\t\tawait cx.dispatch('editor/loadForAppMode');\n\t\t\t\t} catch (error) {\n\t\t\t\t\terrors.push(error);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcx.commit('discoveryCompleted');\n\t\t\treturn errors;\n\t\t},\n\n\t\t// Request user account info\n\t\tasync describeAccount(cx) {\n\t\t\tif (cx.getters.supports('describeAccount') && cx.state.isAuthenticated) {\n\t\t\t\tvar response = await cx.state.connection.describeAccount();\n\t\t\t\tcx.commit('userInfo', response);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcx.commit('userInfo');\n\t\t\t}\n\t\t},\n\n\t\tasync describeCollection(cx, id) {\n\t\t\tlet collection = cx.state.collections.find(c => c.id === id);\n\t\t\tif (!collection || !collection._loaded) {\n\t\t\t\tcollection = await cx.state.connection.describeCollection(id);\n\t\t\t\tcollection = StacMigrate.collection(collection, false);\n\t\t\t\tcx.commit('fillCollection', collection);\n\t\t\t}\n\t\t\treturn collection;\n\t\t},\n\n\t\tasync loadProcess(cx, {id, namespace}) {\n\t\t\tprocess = cx.getters.processes.get(id, namespace);\n\t\t\tif (!Utils.isObject(process)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (process.namespace !== 'backend') {\n\t\t\t\tif (process.namespace === 'user') {\n\t\t\t\t\tawait cx.dispatch('userProcesses/read', {data: process});\n\t\t\t\t}\n\t\t\t\telse if (process.namespace && namespace !== 'backend') {\n\t\t\t\t\tawait cx.state.connection.describeProcess(id, process.namespace);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn cx.getters.processes.get(id, namespace);\n\t\t},\n\n\t\tasync beforeLogout(cx) {\n\t\t\tawait Promise.all(Object.values(cx.state.beforeLogoutListener).map(listener => listener()));\n\t\t},\n\n\t\tasync logout(cx, disconnect = false) {\n\t\t\tawait cx.dispatch('beforeLogout');\n\n\t\t\tif (disconnect) {\n\t\t\t\t// Remove listeners, we don't need them anymore if we connect anyway\n\t\t\t\tcx.state.connection.off('authProviderChanged');\n\t\t\t\tcx.state.connection.off('processesChanged');\n\t\t\t}\n\n\t\t\tif (cx.state.isAuthenticated) {\n\t\t\t\t// Logout (mostly for OIDC)\n\t\t\t\tvar authProvider = cx.state.connection.getAuthProvider();\n\t\t\t\tif (authProvider !== null) {\n\t\t\t\t\tawait authProvider.logout();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (disconnect) {\n\t\t\t\t// Reset values\n\t\t\t\tcx.commit('reset', this.isAuthenticated);\n\t\t\t\tcx.commit('jobs/reset');\n\t\t\t\tcx.commit('files/reset');\n\t\t\t\tcx.commit('services/reset');\n\t\t\t\tcx.commit('userProcesses/reset');\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcx.commit('authenticated', false);\n\t\t\t}\n\t\t}\n\t},\n\tmutations: {\n\t\tdiscoveryCompleted(state, completed = true) {\n\t\t\tstate.discoveryCompleted = completed;\n\t\t},\n\t\tconnection(state, connection) {\n\t\t\tstate.connection = connection;\n\t\t},\n\t\tauthProviders(state, authProviders) {\n\t\t\tstate.authProviders = authProviders;\n\t\t},\n\t\tuserInfo(state, info) {\n\t\t\tstate.userInfo = Utils.isObject(info) ? info : {};\n\t\t},\n\t\tfileFormats(state, fileFormats) {\n\t\t\tstate.fileFormats = fileFormats;\n\t\t},\n\t\tserviceTypes(state, serviceTypes) {\n\t\t\t// Make keys uppercase for simplicity\n\t\t\tif (Utils.isObject(serviceTypes)) {\n\t\t\t\tvar obj = {};\n\t\t\t\tfor(var key in serviceTypes) {\n\t\t\t\t\tobj[key.toUpperCase()] = serviceTypes[key];\n\t\t\t\t}\n\t\t\t\tstate.serviceTypes = obj;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tstate.serviceTypes = serviceTypes;\n\t\t\t}\n\t\t},\n\t\tudfRuntimes(state, udfRuntimes) {\n\t\t\tstate.udfRuntimes = udfRuntimes;\n\t\t},\n\t\tupdateProcesses(state) {\n\t\t\tstate.processesUpdated++;\n\t\t},\n\t\taddProcessNamespacesToRequest(state, namespaces) {\n\t\t\tif (typeof namespaces === 'string') {\n\t\t\t\tnamespaces = namespaces.split(',');\n\t\t\t}\n\t\t\tif (!Array.isArray(namespaces)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor(let namespace of namespaces) {\n\t\t\t\tif (namespace && !state.processNamespaces.includes(namespace)) {\n\t\t\t\t\tstate.processNamespaces.push(namespace);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfillCollection(state, data) {\n\t\t\tlet index = state.collections.findIndex(c => c.id === data.id);\n\t\t\tif (index !== -1) {\n\t\t\t\tdata._loaded = true;\n\t\t\t\tVue.set(state.collections, index, data);\n\t\t\t}\n\t\t},\n\t\tcollections(state, data) {\n\t\t\tstate.collections = data.collections\n\t\t\t\t.map(c => StacMigrate.collection(c, false))\n\t\t\t\t.filter(c => (typeof c.id === 'string'))\n\t\t\t\t.sort(Utils.sortById);\n\t\t},\n\t\tsetConnectionError(state, error) {\n\t\t\tstate.connectionError = error;\n\t\t},\n\t\tauthenticated(state, isAuthenticated) {\n\t\t\tstate.isAuthenticated = isAuthenticated;\n\t\t\tif (!isAuthenticated) {\n\t\t\t\tstate.userInfo = {};\n\t\t\t}\n\t\t},\n\t\treset(state, keepConnection = false) {\n\t\t\tObject.assign(state, getDefaultState(), {\n\t\t\t\tconnection: keepConnection ? state.connection : null\n\t\t\t});\n\t\t},\n\t\tstartActiveRequest(state) {\n\t\t\tstate.activeRequests += 1;\n\t\t},\n\t\tendActiveRequest(state) {\n\t\t\tstate.activeRequests -= 1;\n\t\t},\n\t\tbeforeLogoutListener(state, {key, listener}) {\n\t\t\tif (typeof listener === 'function') {\n\t\t\t\tstate.beforeLogoutListener[key] = listener;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tVue.delete(state.beforeLogoutListener, key);\n\t\t\t}\n\t\t}\n\t}\n});","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container\",class:{connecting: !_vm.isDiscovered}},[_c('transition',{attrs:{\"name\":\"connect-fade\",\"mode\":\"out-in\"}},[(!_vm.isDiscovered)?_c('ConnectForm',{key:\"1\",attrs:{\"skipLogin\":_vm.skipLogin}}):_c('IDE',{key:\"2\"})],1),_vm._l((_vm.modals),function(modal){return [_c(modal.component,_vm._g(_vm._b({key:modal.id,tag:\"component\",on:{\"closed\":function($event){return _vm.hideModal(modal)}}},'component',modal.props,false),modal.events))]}),_c('vue-snotify'),(_vm.tourType)?_c('Tour',{model:{value:(_vm.tourType),callback:function ($$v) {_vm.tourType=$$v},expression:\"tourType\"}}):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeRequests > 0),expression:\"activeRequests > 0\"}],attrs:{\"id\":\"activeRequests\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-2x\"})])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"connectPage\"},[_c('Logo'),_c('div',{staticClass:\"connectContainer\"},[_c('div',{staticClass:\"helpBtn\",attrs:{\"title\":\"Show help\"},on:{\"click\":_vm.showHelp}},[_c('i',{staticClass:\"fas fa-question fa-fw\"}),_vm._v(\" Help\")]),(_vm.httpsUrl)?_c('div',{staticClass:\"message error\"},[_c('i',{staticClass:\"fas fa-shield-alt\"}),_c('span',[_vm._v(\"You are using an \"),_c('strong',[_vm._v(\"insecure\")]),_vm._v(\" HTTP connection, which is not encrypted. Please use HTTPS if possible.\"),_c('br'),_c('a',{attrs:{\"href\":_vm.httpsUrl}},[_vm._v(\"Click here to switch to a secured HTTPS connection.\")])])]):_vm._e(),(_vm.message)?_c('div',{staticClass:\"message warning\"},[_c('i',{staticClass:\"fas fa-bullhorn\"}),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.message)}})]):_vm._e(),_c('transition',{attrs:{\"name\":\"connect-fade\",\"mode\":\"out-in\"},on:{\"before-enter\":_vm.initProviders}},[(_vm.showConnectForm)?_c('form',{staticClass:\"connect\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm.apply(null, arguments)}}},[_c('h3',[_vm._v(\"Connect to server\")]),_c('div',{staticClass:\"row\"},[_c('label',{attrs:{\"for\":\"serverUrl\"}},[_vm._v(\"URL:\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy.trim\",value:(_vm.serverUrl),expression:\"serverUrl\",modifiers:{\"lazy\":true,\"trim\":true}}],staticClass:\"tour-connect-url\",attrs:{\"type\":\"text\",\"id\":\"serverUrl\",\"disabled\":_vm.autoConnect},domProps:{\"value\":(_vm.serverUrl)},on:{\"change\":function($event){_vm.serverUrl=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),(_vm.allowOtherServers)?_c('button',{staticClass:\"tour-connect-history\",attrs:{\"type\":\"button\",\"title\":\"Select previously used server\"},on:{\"click\":_vm.showServerSelector}},[_c('i',{staticClass:\"fas fa-book\"})]):_vm._e()])]),_c('div',{staticClass:\"row\"},[_c('button',{staticClass:\"connectBtn tour-connect-retry\",class:{loading: _vm.loading},attrs:{\"type\":\"submit\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_vm._v(\" Connect\")])])]):(_vm.showLoginForm)?_c('div',{staticClass:\"login\"},[_c('h3',[_vm._v(\"Log in to \"+_vm._s(_vm.title))]),_c('Tabs',{ref:\"providers\",attrs:{\"id\":\"credentials\",\"pills\":true,\"pillsMultiline\":true},on:{\"selected\":_vm.providerSelected},scopedSlots:_vm._u([{key:\"dynamic\",fn:function({ tab }){return [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.initDiscovery(tab.data)}}},[(tab.data.description)?_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-info-circle\"}),_c('span',[_vm._v(_vm._s(tab.data.description))])]):_vm._e(),(!_vm.hasPredefinedOidcClientId)?[_c('div',{staticClass:\"row\"},[_c('label',{attrs:{\"for\":\"password\"}},[_vm._v(\"Client ID:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.userOidcClientId),expression:\"userOidcClientId\",modifiers:{\"trim\":true}}],staticClass:\"input\",attrs:{\"type\":\"text\",\"required\":\"required\"},domProps:{\"value\":(_vm.userOidcClientId)},on:{\"input\":function($event){if($event.target.composing)return;_vm.userOidcClientId=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-exclamation-circle\"}),_c('span',[_vm._v(\"You need to specify the \"),_c('em',[_vm._v(\"Client ID\")]),_vm._v(\" provided to you by the provider. You need to allow the \"),_c('a',{attrs:{\"href\":_vm.oidcRedirectUrl,\"target\":\"_blank\",\"title\":_vm.oidcRedirectUrl}},[_vm._v(\"URL of this service\")]),_vm._v(\" as redirect URL with the authentication service.\")])])]:_vm._e(),_c('div',{staticClass:\"row bottom\"},[_c('TermsOfServiceConsent'),_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-window-restore\"}),_c('span',[_vm._v(\"Clicking the button below may open a new window for login.\")])]),_c('button',{staticClass:\"connectBtn\",class:{loading: _vm.loading},attrs:{\"type\":\"submit\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_c('i',{staticClass:\"fab fa-openid\"}),_vm._v(\" Log in with \"+_vm._s(tab.name))])],1)],2)]}},(_vm.basicProvider)?{key:\"basic\",fn:function({ tab }){return [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.initDiscovery(tab.data)}}},[_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-info-circle\"}),_c('span',[_vm._v(\"The \"),_c('tt',[_vm._v(\"HTTP Basic\")]),_vm._v(\" authentication method is mostly used for development and testing purposes.\")],1)]),_c('div',{staticClass:\"row\"},[_c('label',{attrs:{\"for\":\"username\"}},[_vm._v(\"Username:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.username),expression:\"username\",modifiers:{\"trim\":true}}],staticClass:\"input\",attrs:{\"id\":\"username\",\"type\":\"text\",\"required\":\"required\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing)return;_vm.username=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"row\"},[_c('label',{attrs:{\"for\":\"password\"}},[_vm._v(\"Password:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.password),expression:\"password\",modifiers:{\"trim\":true}}],staticClass:\"input\",attrs:{\"id\":\"password\",\"type\":\"password\",\"required\":\"required\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing)return;_vm.password=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"row bottom\"},[_c('TermsOfServiceConsent'),_c('button',{staticClass:\"connectBtn\",class:{loading: _vm.loading},attrs:{\"type\":\"submit\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_vm._v(\" Log in\")])],1)])]}}:null,{key:\"noauth\",fn:function(){return [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.initDiscovery()}}},[_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-info-circle\"}),_c('span',[_vm._v(\"Choose this if you don't have credentials for the service provider and just want to explore the service with its available data and processes. You may not be able to process any data.\")])]),_c('div',{staticClass:\"row bottom\"},[_c('TermsOfServiceConsent'),_c('button',{staticClass:\"connectBtn\",class:{loading: _vm.loading},attrs:{\"type\":\"submit\"}},[_c('i',{staticClass:\"fas fa-spinner fa-spin fa-lg\"}),_c('i',{staticClass:\"fas fa-user-slash\"}),_vm._v(\" Proceed without logging in\")])],1)])]},proxy:true}],null,true)}),(_vm.allowOtherServers)?_c('div',{staticClass:\"switch tour-login-switch\"},[_c('a',{on:{\"click\":function($event){return _vm.switchServer()}}},[_vm._v(\"Switch server\")])]):_vm._e()],1):_vm._e()])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.show)?_c('div',{staticClass:\"row help\"},[_c('i',{staticClass:\"fas fa-check-circle\"}),(_vm.terms && _vm.privacy)?_c('span',[_vm._v(\"By clicking the button below, you agree to our \"),_c('a',{attrs:{\"href\":_vm.terms.href,\"title\":_vm.terms.title,\"target\":\"_blank\"}},[_vm._v(\"Terms of Service\")]),_vm._v(\" and that you have read our \"),_c('a',{attrs:{\"href\":_vm.privacy.href,\"title\":_vm.privacy.title,\"target\":\"_blank\"}},[_vm._v(\"Privacy Policy\")]),_vm._v(\".\")]):(_vm.terms)?_c('span',[_vm._v(\"By clicking the button below, you agree to our \"),_c('a',{attrs:{\"href\":_vm.terms.href,\"title\":_vm.terms.title,\"target\":\"_blank\"}},[_vm._v(\"Terms of Service\")]),_vm._v(\".\")]):(_vm.privacy)?_c('span',[_vm._v(\"By clicking the button below, you agree that you have read our \"),_c('a',{attrs:{\"href\":_vm.privacy.href,\"title\":_vm.privacy.title,\"target\":\"_blank\"}},[_vm._v(\"Privacy Policy\")]),_vm._v(\".\")]):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TermsOfServiceConsent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TermsOfServiceConsent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TermsOfServiceConsent.vue?vue&type=template&id=52726e94\"\nimport script from \"./TermsOfServiceConsent.vue?vue&type=script&lang=js\"\nexport * from \"./TermsOfServiceConsent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ConnectForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ConnectForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ConnectForm.vue?vue&type=template&id=714226be&scoped=true\"\nimport script from \"./ConnectForm.vue?vue&type=script&lang=js\"\nexport * from \"./ConnectForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./ConnectForm.vue?vue&type=style&index=0&id=714226be&prod&lang=scss&scoped=true\"\nimport style1 from \"./ConnectForm.vue?vue&type=style&index=1&id=714226be&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"714226be\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Page.vue?vue&type=template&id=572322d0\"\nimport script from \"./Page.vue?vue&type=script&lang=js\"\nexport * from \"./Page.vue?vue&type=script&lang=js\"\nimport style0 from \"./Page.vue?vue&type=style&index=0&id=572322d0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\n}","import Vue from 'vue';\nimport Snotify from 'vue-snotify';\nimport 'vue-snotify/styles/simple.css';\nimport store from './store/index';\nimport Config from '../config';\nimport Page from './Page.vue';\nimport filters from './filters';\nimport Clipboard from 'v-clipboard';\n\nVue.use(Snotify);\nVue.use(Clipboard);\n\n// Don't show too many repetitive error messages\nVue.prototype.$snotify.singleError = function () {\n\tlet message = arguments[0];\n\tif (message !== this.lastMessage) {\n\t\tthis.lastMessage = message;\n\t\tthis.error(...arguments);\n\t\tsetTimeout(() => this.lastMessage = null, 1000);\n\t}\n};\n\nVue.config.productionTip = false;\nVue.config.errorHandler = function (err, vm, info) {\n\tconsole.error(err, info);\n\tif (!vm || !vm.$snotify) {\n\t\treturn;\n\t}\n\n\tlet message;\n\tif (err instanceof Error) {\n\t\tmessage = err.message;\n\t}\n\telse if (typeof err === 'string') {\n\t\tmessage = err;\n\t}\n\n\tif (message) {\n\t\tvm.$snotify.singleError(message, 'Error', Config.snotifyDefaults);\n\t}\n};\nVue.prototype.$config = Config;\n\nfor(var name in filters) {\n\tVue.filter(name, filters[name]);\n}\n\nconst app = new Vue({\n\tstore,\n\trender: h => h(Page)\n}).$mount('#app');\n\nwindow.addEventListener(\"unhandledrejection\", function(event) {\n\tconsole.warn(event);\n\tif (typeof event.reason === 'String' || event.reason instanceof Error) {\n\t\tapp.$snotify.singleError(event.reason, 'Error', Config.snotifyDefaults);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n});\n","import Utils from './utils';\nimport { ProcessSchema, ProcessDataType } from '@openeo/js-commons';\n\nexport default class Process {\n\n\tstatic isMathProcess(p, operatorMapping = {}) {\n\t\t// Skip processes handled by operators, if given\n\t\tlet operatorProcesses = Object.values(operatorMapping);\n\t\tif (operatorProcesses.includes(p.id)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Process must return a numerical value\n\t\tif (!Utils.isObject(p.returns) || !p.returns.schema) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet allowedTypes = ['number', 'integer', 'any'];\n\t\tlet returns = new ProcessSchema(p.returns.schema);\n\t\tif (!allowedTypes.includes(returns.nativeDataType())) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Required Process parameters must accept numerical values\n\t\tif (Array.isArray(p.parameters)) {\n\t\t\tfor(var i in p.parameters) {\n\t\t\t\tlet param = p.parameters[i];\n\t\t\t\tif (param.optional) {\n\t\t\t\t\tcontinue; // Skip optional parameters\n\t\t\t\t}\n\t\t\t\tif (!param.schema) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tlet schema = new ProcessSchema(param.schema);\n\t\t\t\tif (!allowedTypes.includes(schema.nativeDataType())) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t// ToDo: Parameters with a dash (and other operators) in them are a problem\n\n\t\treturn true;\n\t}\n\n\tstatic arrayOf(datatype) {\n\t\tif (!(datatype instanceof ProcessDataType)) {\n\t\t\tdatatype = new ProcessDataType(datatype);\n\t\t}\n\t\tif (datatype.nativeDataType() === 'array' && Utils.isObject(datatype.schema.items)) {\n\t\t\tlet subtype = new ProcessDataType(datatype.schema.items);\n\t\t\treturn subtype.dataType();\n\t\t}\n\t\treturn undefined;\n\t}\n}","import VueUtils from '@openeo/vue-components/utils';\nimport { Job, Service, UserFile, UserProcess } from '@openeo/js-client';\nimport { mapState, mapActions, mapMutations, mapGetters } from 'vuex';\nimport contentType from 'content-type';\nimport Config from '../config';\n\nclass Utils extends VueUtils {\n\n\tstatic getPreviewLinkFromSTAC(stac) {\n\t\tif (Utils.isObject(stac) && Array.isArray(stac.links)) {\n\t\t\tlet link = stac.links.find(link => Utils.isObject(link) && typeof link.rel === 'string' && Config.supportedMapServices.includes(link.rel.toLowerCase()));\n\t\t\tif (link) {\n\t\t\t\treturn link;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tstatic isMapServiceSupported(mapType) {\n\t\tif (typeof mapType !== 'string') {\n\t\t\treturn false;\n\t\t}\n\t\treturn Config.supportedMapServices.includes(mapType.toLowerCase());\n\t}\n\n\tstatic parseNodata(value) {\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value.map(nodata => Utils.parseNodata(nodata));\n\t\t}\n\t\telse {\n\t\t\treturn typeof value === \"string\" && value.toLowerCase() === \"nan\" ? Number.NaN : value;\n\t\t}\n\t}\n\n\tstatic isActiveJobStatusCode(status) {\n\t\tif (typeof status !== 'string') {\n\t\t\treturn null;\n\t\t}\n\t\tswitch (status.toLowerCase()) {\n\t\t\tcase 'running':\n\t\t\tcase 'queued':\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\n\tstatic exception(vm, error, alt) {\n\t\tconsole.error(error);\n\t\tvar buttons = [];\n\t\tvar title = null; \n\t\tvar message = alt;\n\t\tif (Utils.isObject(error) && typeof error.message === 'string') {\n\t\t\tif (error.code > 0) {\n\t\t\t\ttitle = \"Error #\" + error.code; \n\t\t\t}\n\t\t\telse {\n\t\t\t\ttitle = alt; \n\t\t\t}\n\t\t\tmessage = error.message;\n\n\t\t\tbuttons.push({\n\t\t\t\ttext: 'Show Details',\n\t\t\t\taction: () => vm.$root.$emit('showError', error)\n\t\t\t});\n\t\t}\n\t\telse if (typeof error === 'string') {\n\t\t\tmessage = error; \n\t\t\ttitle = alt; \n\t\t}\n\t\tbuttons.push({\n\t\t\ttext: 'Copy',\n\t\t\taction: toast => {\n\t\t\t\tlet success = vm.$clipboard(message);\n\t\t\t\tlet button = toast.config.buttons.find(btn => btn.text === 'Copy');\n\t\t\t\tif (button) {\n\t\t\t\t\tbutton.text = success ? \"✔️ Copied\" : \"❌ Failed\";\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tvar typeDefaults = {\n\t\t\tbuttons\n\t\t}; \n\t\tvm.$snotify.singleError(message, title, Object.assign({}, vm.$config.snotifyDefaults, typeDefaults)); \n\t} \n\tstatic error(vm, message, title = null) {\n\t\tvm.$snotify.singleError(message, title, vm.$config.snotifyDefaults); \n\t}\n\tstatic warn(vm, message, title = null) {\n\t\tvm.$snotify.warning(message, title, vm.$config.snotifyDefaults);\n\t}\n\tstatic info(vm, message, title = null) {\n\t\tvm.$snotify.info(message, title, vm.$config.snotifyDefaults); \n\t}\n\tstatic ok(vm, message, title = null) {\n\t\tvm.$snotify.success(message, title, vm.$config.snotifyDefaults); \n\t}\n\tstatic confirm(vm, message, buttons = []) {\n\t\tvar typeDefaults = {\n\t\t\tbuttons: buttons\n\t\t}; \n\t\tvm.$snotify.confirm(message, null, Object.assign({}, vm.$config.snotifyDefaults, typeDefaults)); \n\t}\n\t\n\tstatic isChildOfModal(that) {\n\t\treturn that.$parent && that.$parent.$options.name == 'Modal'; \n\t}\n\n\tstatic getFileNameFromURL(url) {\n\t\t//this removes the anchor at the end, if there is one\n\t\turl = url.substring(0, (url.indexOf(\"#\") == -1)?url.length:url.indexOf(\"#\")); \n\t\t//this removes the query after the file name, if there is one\n\t\turl = url.substring(0, (url.indexOf(\"?\") == -1)?url.length:url.indexOf(\"?\")); \n\t\t//this removes everything before the last slash in the path\n\t\turl = url.substring(url.lastIndexOf(\"/\") + 1, url.length); \n\t\treturn url; \n\t}\n\n\tstatic makeFileName(filename, type) {\n\t\tif (filename.includes('.') || typeof type !== 'string') {\n\t\t\treturn filename;\n\t\t}\n\t\tif (!type.includes('/')) {\n\t\t\treturn filename + '.' + type;\n\t\t}\n\n\t\tlet ext = null;\n\t\ttry {\n\t\t\tlet mime = contentType.parse(type);\n\t\t\tswitch(mime.type.toLowerCase()) {\n\t\t\t\tcase 'application/json':\n\t\t\t\tcase 'application/zip':\n\t\t\t\tcase 'image/png':\n\t\t\t\tcase 'image/jpg':\n\t\t\t\tcase 'image/jpeg':\n\t\t\t\tcase 'image/gif':\n\t\t\t\tcase 'image/tiff':\n\t\t\t\tcase 'text/csv':\n\t\t\t\tcase 'text/html':\n\t\t\t\t\text = type.split('/')[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'text/plain':\n\t\t\t\t\text = 'txt';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'application/netcdf':\n\t\t\t\tcase 'application/x-netcdf':\n\t\t\t\t\text = 'nc'\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} catch (error) {}\n\n\t\tif (ext !== null) {\n\t\t\treturn filename + '.' + ext;\n\t\t}\n\t\telse {\n\t\t\treturn filename;\n\t\t}\n\t}\n\n\tstatic replaceParam(url, paramName, paramValue) {\n\t\tvar urlObj = new URL(url);\n\t\tvar query = new URLSearchParams(urlObj.search); \n\t\tquery.set(paramName, paramValue);\n\t\turlObj.search = query.toString();\n\t\treturn urlObj.toString();\n\t}\n\n\tstatic paramsForPrefix(prefix, sep = '~') {\n\t\tprefix += sep;\n\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\tlet params = {};\n\t\tfor(let [key, value] of urlParams) {\n\t\t\tif (key.startsWith(prefix)) {\n\t\t\t\tparams[key.substring(prefix.length)] = value;\n\t\t\t}\n\t\t}\n\t\treturn params; \n\t}\n\n\tstatic param(name) {\n\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\tif (urlParams.has(name)) {\n\t\t\treturn urlParams.get(name);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tstatic isBboxInWebMercator(bboxes) {\n\t\tif (!bboxes) {\n\t\t\treturn null;\n\t\t}\n\t\tif (!Array.isArray(bboxes)) {\n\t\t\tbboxes = [bboxes];\n\t\t}\n\t\tlet maxBounds = {south: -85.06, north: 85.06}; // Max. south/north bounds for Web Mercator\n\t\treturn !bboxes.find(bbox => bbox.south < maxBounds.south || bbox.north > maxBounds.north);\n\t}\n\tstatic extentToBBox(extent) {\n\t\tif (!Array.isArray(extent)) {\n\t\t\treturn null;\n\t\t}\n\t\tvar hasZ = extent.length >= 6;\n let obj = {\n\t\t\twest: extent[0],\n\t\t\teast: extent[hasZ ? 3 : 2],\n\t\t\tsouth: extent[1],\n\t\t\tnorth: extent[hasZ ? 4 : 3]\n\t\t};\n\t\tif (hasZ) {\n\t\t\tobj.base = extent[2];\n\t\t\tobj.height = extent[5];\n\t\t}\n\t\treturn obj;\n\t}\n\tstatic sortById(a, b) {\n\t\treturn VueUtils.compareStringCaseInsensitive(a.id, b.id);\n\t}\n\n\tstatic range(start, end) {\n\t\tif (end < start) {\n\t\t\treturn [];\n\t\t}\n\t\treturn Array.from({length: 1 + end - start}, (_, i) => start + i);\n\t}\n\n\tstatic newArray(length, defaultValue = 0) {\n\t\tif (length < 1) {\n\t\t\treturn [];\n\t\t}\n\t\treturn Array.from({length}, () => defaultValue);\n\t}\n\n\tstatic fitArray(arr, length, defaultValue = 0) {\n\t\tif (length < 1) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (length > arr.length) {\n\t\t\treturn arr.concat(Utils.newArray(length - arr.length, defaultValue));\n\t\t}\n\t\telse if (length < arr.length) {\n\t\t\treturn arr.slice(0, length);\n\t\t}\n\t\telse {\n\t\t\treturn arr;\n\t\t}\n\t}\n\n\t// Based on https://github.com/hughsk/path-sort\n\tstatic sortByPath(a, b) {\n\t\ta = a.split('/');\n\t\tb = b.split('/');\n\t\tvar l = Math.max(a.length, b.length);\n\t\tfor (var i = 0; i < l; i += 1) {\n\t\t\tif (!(i in a)) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\telse if (!(i in b)) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\telse if (a[i].toUpperCase() > b[i].toUpperCase()) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\telse if (a[i].toUpperCase() < b[i].toUpperCase()) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t\tif (a.length < b.length) {\n\t\t\treturn -1;\n\t\t}\n\t\telse if (a.length > b.length) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tstatic getUniqueId() {\n\t\treturn Math.random().toString(36).substr(2, 9);\n\t}\n\n\tstatic formatIdOrTitle(value) {\n\t\tif (typeof value !== 'string') {\n\t\t\treturn value;\n\t\t}\n\t\telse if (value.startsWith('#')) {\n\t\t\treturn `${value}`;\n\t}\n\t\telse if (value === 'Unnamed') {\n\t\t\treturn `${value}`;\n\t\t}\n\t\telse {\n\t\t\treturn value;\n\t\t}\n\t}\n\n\tstatic getResourceTitle(obj, showType = false) {\n\t\tlet title;\n\t\tlet isObj = Utils.isObject(obj);\n\t\tif (typeof obj === 'string') {\n\t\t\ttitle = obj;\n\t\t}\n\t\telse if (obj instanceof UserProcess) {\n\t\t\ttitle = obj.id;\n\t\t}\n\t\telse if (obj instanceof UserFile) {\n\t\t\ttitle = obj.path;\n\t\t}\n\t\telse if (isObj && typeof obj.stac_version === 'string') {\n\t\t\ttitle = obj.id;\n\t\t}\n\t\telse if (isObj && obj.title) {\n\t\t\ttitle = obj.title;\n\t\t}\n\t\telse if (isObj && obj.id) {\n\t\t\tlet id = new String(obj.id);\n\t\t\tif (id.length > 10) {\n\t\t\t\ttitle = obj.id.substr(0, 5) + '…' + obj.id.substr(-5);\n\t\t\t}\n\t\t\telse {\n\t\t\t\ttitle = obj.id\n\t\t\t}\n\t\t\ttitle = '#' + title;\n\t\t}\n\t\telse {\n\t\t\ttitle = 'Unnamed';\n\t\t}\n\t\tif (showType) {\n\t\t\tlet type;\n\t\t\tif (typeof showType === 'string') {\n\t\t\t\ttype = showType;\n\t\t\t}\n\t\t\telse if (obj instanceof Job) {\n\t\t\t\ttype = 'Job';\n\t\t\t}\n\t\t\telse if (obj instanceof Service) {\n\t\t\t\ttype = 'Service';\n\t\t\t}\n\t\t\telse if (obj instanceof UserProcess) {\n\t\t\t\ttype = 'Process';\n\t\t\t}\n\t\t\telse if (obj instanceof UserFile) {\n\t\t\t\ttype = 'File';\n\t\t\t}\n\t\t\telse if (isObj && typeof obj.stac_version === 'string' && obj.type === 'Collection') {\n\t\t\t\ttype = obj.type;\n\t\t\t}\n\n\t\t\tif (type) {\n\t\t\t\ttitle = `${title} (${type})`;\n\t\t\t}\n\t\t}\n\t\treturn title;\n\t}\n\n\tstatic resolveJsonRefs(schema) {\n\t\tvar resolver = obj => {\n\t\t\tif (!obj || typeof obj !== 'object') {\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t\tfor(var key in obj) {\n\t\t\t\tvar value = obj[key];\n\t\t\t\tif (Utils.isObject(value) && typeof value.$ref === 'string' && value.$ref.match(/^#(\\/[^\\/]+)+$/i)) {\n\t\t\t\t\tvar parts = value.$ref.split('/').slice(1);\n\t\t\t\t\tvar result = schema;\n\t\t\t\t\twhile (parts.length) {\n\t\t\t\t\t\tlet propertyName = parts.shift();\n\t\t\t\t\t\tresult = result[propertyName];\n\t\t\t\t\t\tif (typeof result === 'undefined') {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tobj[key] = result;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tobj[key] = resolver(value);\n\t\t\t}\n\t\t\treturn obj;\n\t\t};\n\t\treturn resolver(schema);\n\t}\n\tstatic extractUDPParams(process) {\n\t\tconst pos = process.indexOf('@');\n\t\tif (pos < 0) {\n\t\t\treturn [process, undefined];\n\t\t}\n\t\telse {\n\t\t\tconst id = process.substring(0, pos);\n\t\t\tconst namespace = process.substring(pos + 1);\n\t\t\treturn [id, namespace];\n\t\t}\n\t}\n\tstatic getProcessingExpression(stac) {\n\t\tlet key = 'processing:expression';\n\t\tif (!Utils.isObject(stac) || !stac[key]) {\n\t\t\treturn null;\n\t\t}\n\t\tlet obj = stac[key];\n\t\tif (Array.isArray(obj)) {\n\t\t\tif (obj.length > 0) {\n\t\t\t\tobj = obj[0];\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\tif (Utils.isObject(obj) && obj.format === 'openeo' && Utils.isObject(obj.expression)) {\n\t\t\treturn obj.expression;\n\t\t}\n\t\telse {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconfirmOpenAll(files) {\n\t\treturn confirm(`You are about to open ${files.length} individual files / tabs, which could slow down the web browser. Are you sure you want to open all of them?`);\n\t}\n\n};\n\nUtils.mapState = mapState;\nUtils.mapGetters = mapGetters;\nUtils.mapMutations = mapMutations;\nUtils.mapActions = mapActions;\n\nexport default Utils;\n","if(typeof L === 'undefined') { var e = new Error(\"Cannot find module 'L'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = L;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"156\":\"65c3b8e1\",\"424\":\"e40e9e21\",\"510\":\"2f326241\",\"816\":\"1311ffcb\",\"847\":\"5d3cc4f6\",\"887\":\"6647e815\",\"925\":\"38adbe62\",\"1026\":\"94414473\",\"1030\":\"2845a7b6\",\"1160\":\"6e0da912\",\"1189\":\"5331c72b\",\"1194\":\"9ab45054\",\"1203\":\"0026b702\",\"1237\":\"85c772b7\",\"1323\":\"f7e7e09d\",\"1426\":\"77d35bf8\",\"1533\":\"9f389652\",\"1765\":\"8c0299d7\",\"2053\":\"243d3baa\",\"2075\":\"810d2384\",\"2281\":\"b6069648\",\"2327\":\"7598a0f4\",\"2365\":\"47125e25\",\"2388\":\"8b1d748f\",\"2559\":\"93f8a988\",\"2604\":\"36729f65\",\"2693\":\"5792d792\",\"2722\":\"cd2fa6d8\",\"2764\":\"cc8f32fb\",\"2810\":\"c9555d45\",\"2855\":\"de626c66\",\"2919\":\"9a1636ac\",\"3043\":\"d27cd74e\",\"3165\":\"bcc84e04\",\"3166\":\"7c847567\",\"3249\":\"93de5f37\",\"3271\":\"accfab81\",\"3291\":\"6163f1de\",\"3324\":\"bcef36de\",\"3383\":\"85c0da7d\",\"3504\":\"bc1cfc39\",\"3506\":\"b3483f23\",\"3592\":\"2cfdaec3\",\"3743\":\"58b6f9a6\",\"3800\":\"e7428880\",\"3876\":\"66785549\",\"4011\":\"f159dc76\",\"4016\":\"793af482\",\"4054\":\"3e1fe5b6\",\"4120\":\"2a80b790\",\"4152\":\"8cb85ea6\",\"4279\":\"9c4a8854\",\"4285\":\"54ff3b9e\",\"4368\":\"a38c89d2\",\"4375\":\"0db9f32b\",\"4387\":\"c290c0cd\",\"4394\":\"a1a670b6\",\"4432\":\"c720e2a1\",\"4475\":\"8df38147\",\"4477\":\"9ea74349\",\"4625\":\"3f873e18\",\"4638\":\"5c4d422b\",\"4737\":\"18ac3fa2\",\"4741\":\"0e25840f\",\"4818\":\"f8169beb\",\"4824\":\"e45c7fb2\",\"5121\":\"5c8abae2\",\"5237\":\"392dd9a5\",\"5262\":\"ebdfdfe6\",\"5363\":\"202a8225\",\"5457\":\"8a1b428a\",\"5624\":\"f9a9baa2\",\"5640\":\"25cf50ed\",\"5677\":\"2f86dd7b\",\"5771\":\"80073e41\",\"5839\":\"827b7af7\",\"5865\":\"128b2a3a\",\"5981\":\"3ac1b683\",\"5983\":\"c08b924c\",\"6036\":\"51b11294\",\"6192\":\"a4d7c472\",\"6238\":\"231c7003\",\"6457\":\"5cc649ee\",\"6550\":\"be74866f\",\"6568\":\"d2004679\",\"6617\":\"a026f630\",\"6625\":\"966ff507\",\"6660\":\"6f548dde\",\"6689\":\"a3a72a86\",\"6885\":\"6ec2b3b7\",\"7123\":\"35486855\",\"7186\":\"7ddfb742\",\"7213\":\"456d73fc\",\"7237\":\"330942d0\",\"7261\":\"31221b0e\",\"7336\":\"60fc4911\",\"7349\":\"d5b2ff6f\",\"7497\":\"52e15be2\",\"7745\":\"7fc998c5\",\"7759\":\"184e6307\",\"8053\":\"7d16dfb2\",\"8080\":\"629bdb1c\",\"8152\":\"378da544\",\"8221\":\"fdfae280\",\"8324\":\"f5c6c5af\",\"8354\":\"226b165f\",\"8363\":\"515b39f0\",\"8396\":\"e1b55b48\",\"8645\":\"1e6f374d\",\"8807\":\"e41e9690\",\"9047\":\"22296c89\",\"9066\":\"915e8a72\",\"9140\":\"b53d30af\",\"9201\":\"75f560cb\",\"9237\":\"d0d6e686\",\"9238\":\"f1f47576\",\"9403\":\"a9158bcb\",\"9409\":\"27bd9c80\",\"9546\":\"479ad770\",\"9873\":\"03e04f73\",\"9882\":\"6fcac763\",\"9989\":\"d8a758e8\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"816\":\"6559def7\",\"847\":\"4603a349\",\"887\":\"8c892279\",\"925\":\"90fa6336\",\"1026\":\"ee56a981\",\"1194\":\"5e953040\",\"1203\":\"1291b8f6\",\"1533\":\"2b39b841\",\"1765\":\"575588e7\",\"2053\":\"b5c732db\",\"2075\":\"db78e22d\",\"2327\":\"43969cb2\",\"2388\":\"f3c3fe54\",\"2604\":\"68de8223\",\"2693\":\"535e25fa\",\"2722\":\"13fcb001\",\"2810\":\"bb165d6b\",\"2855\":\"9be81686\",\"3043\":\"cd129034\",\"3165\":\"cedc5992\",\"3166\":\"29fd8f89\",\"3249\":\"b1500b27\",\"3271\":\"6244371c\",\"3324\":\"e8826bcf\",\"3504\":\"bb165d6b\",\"3506\":\"f9972275\",\"3592\":\"2a21fdfd\",\"3743\":\"de23863b\",\"4016\":\"209ecd26\",\"4120\":\"1490740e\",\"4152\":\"6d1bdf91\",\"4279\":\"a22f3053\",\"4285\":\"b812a1c3\",\"4368\":\"40459339\",\"4375\":\"43969cb2\",\"4387\":\"4f91105e\",\"4475\":\"3532f099\",\"4737\":\"84e10245\",\"4741\":\"f6d430d3\",\"4818\":\"3a734344\",\"4824\":\"d62d95a4\",\"5363\":\"f3cd8e29\",\"5457\":\"bc4c0918\",\"5677\":\"2d8c8304\",\"5771\":\"f5601ccf\",\"5839\":\"8955db24\",\"5865\":\"951674bc\",\"5981\":\"1db6fac8\",\"6036\":\"84e10245\",\"6192\":\"5fb184c3\",\"6238\":\"c4731012\",\"6550\":\"61908e27\",\"6625\":\"c792bb6a\",\"6660\":\"a22f3053\",\"6689\":\"b4a63b64\",\"7123\":\"a8f318bf\",\"7186\":\"1abe4ef8\",\"7213\":\"7146ad20\",\"7336\":\"788ebcdc\",\"7759\":\"052469b3\",\"8053\":\"48f88ab7\",\"8080\":\"f6d430d3\",\"8152\":\"281aa3b1\",\"8221\":\"201e08d1\",\"8324\":\"0191acec\",\"8354\":\"8f8ad761\",\"8396\":\"a5e993af\",\"8645\":\"ee56a981\",\"8807\":\"82c899af\",\"9047\":\"13422022\",\"9066\":\"84e10245\",\"9201\":\"19b52578\",\"9403\":\"b02432d9\",\"9409\":\"dd741b46\",\"9873\":\"bb165d6b\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"@openeo/web-editor:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"816\":1,\"847\":1,\"887\":1,\"925\":1,\"1026\":1,\"1194\":1,\"1203\":1,\"1533\":1,\"1765\":1,\"2053\":1,\"2075\":1,\"2327\":1,\"2388\":1,\"2604\":1,\"2693\":1,\"2722\":1,\"2810\":1,\"2855\":1,\"3043\":1,\"3165\":1,\"3166\":1,\"3249\":1,\"3271\":1,\"3324\":1,\"3504\":1,\"3506\":1,\"3592\":1,\"3743\":1,\"4016\":1,\"4120\":1,\"4152\":1,\"4279\":1,\"4285\":1,\"4368\":1,\"4375\":1,\"4387\":1,\"4475\":1,\"4737\":1,\"4741\":1,\"4818\":1,\"4824\":1,\"5363\":1,\"5457\":1,\"5677\":1,\"5771\":1,\"5839\":1,\"5865\":1,\"5981\":1,\"6036\":1,\"6192\":1,\"6238\":1,\"6550\":1,\"6625\":1,\"6660\":1,\"6689\":1,\"7123\":1,\"7186\":1,\"7213\":1,\"7336\":1,\"7759\":1,\"8053\":1,\"8080\":1,\"8152\":1,\"8221\":1,\"8324\":1,\"8354\":1,\"8396\":1,\"8645\":1,\"8807\":1,\"9047\":1,\"9066\":1,\"9201\":1,\"9403\":1,\"9409\":1,\"9873\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(1194|2722|4741)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunk_openeo_web_editor\"] = globalThis[\"webpackChunk_openeo_web_editor\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [6905,6833,8547,2475,3277,2387,2660,4881,7900,6296,7274,1834,9456,6937,7256,6964], () => (__webpack_require__(73657)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","staticClass","$config","logo","attrs","serviceName","_e","_v","_s","appName","on","showWebEditorInfo","version","staticRenderFns","name","mixins","EventBusMixin","data","Package","methods","broadcast","component","show","submit","$event","$emit","scopedSlots","_u","key","fn","directives","rawName","value","url","expression","domProps","target","composing","format","_q","proxy","hasUrl","loading","components","Modal","computed","Utils","mapState","isUrl","mediaType","watch","hasText","URL","pathname","endsWith","error","files","response","axios","get","formatRegistry","createFilesFromSTAC","length","asset","href","type","push","createFileFromAsset","style","zIndex","backgroundClose","containerTag","ref","tag","class","smooth","preventDefault","stopPropagation","submitFunction","apply","arguments","startMove","_t","title","close","submitButtonText","props","String","default","minWidth","width","Boolean","Function","position","dragPosition","Array","isArray","left","top","immediate","handler","open","smoothResize","mapMutations","setTimeout","event","openModal","hightestModalZIndex","window","addEventListener","escCloseListener","removeEventListener","closeModal","tagName","clientX","clientY","document","move","stopMove","$refs","container","offsetLeft","offsetTop","$el","serverUrl","skipLogin","mapLocation","mapZoom","geocoder","loginMessage","snotifyDefaults","timeout","titleMaxLength","bodyMaxLength","showProgressBar","closeOnClick","pauseOnHover","supportedMapServices","supportedBatchJobSharingServices","supportedWebServiceSharingServices","supportedWizards","description","requiredProcesses","basemaps","attributions","maxZoom","importCommunityExamples","processNamespaces","oidcClientIds","showHttpWarning","dataRefreshInterval","showExperimentalByDefault","showDeprecatedByDefault","eventBusListeners","beforeDestroy","eventName","$root","$off","hasListener","listen","callback","unlisten","$on","ProjManager","Projection","_load","add","code","meta","extent","proj4","defs","register","projection","getProjection","transformExtent","setExtent","includes","basemap","console","addFromStac","stac","isObject","properties","id","crs","match","toUpperCase","substr","Number","isInteger","epsg","CSV","SupportedFormat","constructor","delim","super","parseData","array","parseCSV","trim","map","row","col","NaN","isNaN","parseFloat","str","arr","quote","c","cc","nc","Format","Object","assign","context","setContext","getContext","getUrl","canGroup","isBinary","download","filename","tempLink","createElement","display","setAttribute","makeFileName","body","appendChild","click","removeChild","loadData","connection","loaded","fetchData","getData","Error","blob","startsWith","fetch","auth","apiUrl","requestUrl","origin","promise","Promise","resolve","reject","reader","FileReader","onload","result","onerror","readAsBinaryString","readAsText","icon","events","UnsupportedFormat","GDAL_MIN","GDAL_MAX","GDAL_NAME","GeoTIFF","removableLayers","_bands","_nodata","img","convertToRGB","parseMetadata","tiff","stacHasExtent","geometry","parseNodata","bands","forEach","band","i","setBandInfo","statistics","min","minimum","max","maximum","nodata","getBlob","tiffFromBlob","tiffFromUrl","getImage","getSamplesPerPixel","dummy","getArrayForSample","isFinite","getMinForDataType","getMaxForDataType","getGDALMetadata","getGDALNoData","geoKeys","ProjectedCSTypeGeoKey","GeographicTypeGeoKey","ProjLinearUnitsGeoKey","GeogAngularUnitsGeoKey","units","unitsFromCode","bbox","getBoundingBox","toUserExtent","warn","fileDirectory","ColorMap","from","greenOffset","blueOffset","colorMap","Math","trunc","PhotometricInterpretation","_","CMYK","YCbCr","CIELab","getNoData","getBands","getExtent","getColorMap","Int8Array","Int16Array","Int32Array","Float32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","JSON_","isGeoJson","JSON","parse","log","detectGeoJson","isTable","size","values","keys","some","equals","mathProcesses","getMathProcesses","all","filter","Process","isMathProcess","isMath","process","ProcessGraph","process_graph","mathProcessIds","p","concat","Formula","operatorMapping","arrayOperatorMapping","unsupportedFuncs","find","node","process_id","BrowserImage","Image","crossOrigin","fetchPriotity","decoding","src","NativeType","TSV","FormatRegistry","resource","assets","roles","file","createFilesFromBlob","Blob","stac_version","links","createObjectURL","mime","contentType","toLowerCase","extension","split","pop","serverStorage","getDefaultState","appMode","storedServers","localStorage","getItem","discoverySearchTerm","epsgCodes","initialProcess","initialNode","openWizard","openWizardProps","collectionPreview","viewerOptions","modelDnD","namespaced","state","getters","hasProcess","getModelNodeFromDnD","rootState","rootGetters","getterFn","collectionDefaults","namespace","options","setInterval","clearInterval","actions","loadEpsgCodes","cx","res","commit","loadInitialProcess","pg","extractUDPParams","dispatch","root","loadForAppMode","resultType","resultUrl","mutations","setModelDnd","obj","setDiscoverySearchTerm","searchTerm","setInitialProcess","setInitialNode","setAppMode","expires","setAppModeData","Vue","getProcessingExpression","summaries","setViewerOptions","setOpenWizard","setCollectionPreview","collectionID","addServer","indexOf","setItem","stringify","removeServer","splice","Job","Service","UserProcess","toJSON","setProcess","reset","listFn","createFn","updateFn","deleteFn","readFn","readFnById","customizations","primaryKey","definition","supportsList","supports","supportsCreate","supportsUpdate","supportsDelete","supportsRead","getById","x","create","parameters","delete","update","updated","read","list","d","observable","upsert","index","findIndex","observableData","storeFactory","supportsQueue","supportsCancel","queue","startJob","cancel","stopJob","userProcesses","sort","sortById","use","Vuex","reverseOperatorMapping","mapping","op","activeRequests","discoveryCompleted","isAuthenticated","userInfo","connectionError","beforeLogoutListener","authProviders","fileFormats","serviceTypes","udfRuntimes","processesUpdated","collections","Config","modules","editor","jobs","services","capabilities","feature","hasFeature","currency","isConnected","isDiscovered","supportsBilling","supportsBillingPlans","listPlans","apiVersion","FileTypes","input","output","collection","spatial_extent","extentToBBox","spatial","temporal_extent","temporal","interval","processes","registry","ProcessRegistry","ProcessRegistryExtension","supportsMath","processId","has","connect","OpenEO","addNamespaceToProcess","message","providers","listAuthProviders","async","provider","discover","refresh","promises","errors","listCollections","then","catch","listProcesses","listFileTypes","listServiceTypes","listUdfRuntimes","describeAccount","describeCollection","_loaded","StacMigrate","loadProcess","describeProcess","beforeLogout","listener","logout","disconnect","off","authProvider","getAuthProvider","completed","info","updateProcesses","addProcessNamespacesToRequest","namespaces","fillCollection","setConnectionError","authenticated","keepConnection","startActiveRequest","endActiveRequest","connecting","_l","modals","modal","_g","_b","hideModal","tourType","model","$$v","showHelp","httpsUrl","initProviders","showConnectForm","submitForm","modifiers","autoConnect","$forceUpdate","allowOtherServers","showServerSelector","showLoginForm","providerSelected","tab","initDiscovery","hasPredefinedOidcClientId","userOidcClientId","oidcRedirectUrl","basicProvider","username","password","switchServer","terms","privacy","mapGetters","getLinkForRel","rel","l","Logo","Tabs","Tab","TermsOfServiceConsent","isLocalUrl","location","protocol","toString","replace","getType","defaultClient","oidcClientId","oidcProviders","newVal","w","h","t","screen","availWidth","availHeight","oidcOptions","automaticSilentRenew","popupWindowFeatures","OidcProvider","redirectUrl","created","serverFromQuery","param","prompt","uiMethod","signinCallback","exception","mounted","onpopstate","evt","historyNavigate","history","replaceState","mapActions","hostname","initConnection","pushState","makeUrl","tabs","addProviders","addTab","getTitle","getId","$nextTick","resetActiveTab","programmatically","authType","login","offlineScope","setClientId","client","detectDefaultClient","grant_types","addListener","error_description","discoveryErrors","server","params","URLSearchParams","search","set","query","ConnectForm","IDE","AddMapDataModal","CollectionModal","DataModal","DownloadAssetsModal","ErrorModal","ExportCodeModal","ExpressionModal","FileFormatModal","ImportProcessModal","JobEstimateModal","JobInfoModal","ListModal","ParameterModal","ProcessModal","ProcessParameterModal","ServerInfoModal","ServiceInfoModal","ShareModal","Tour","UdfRuntimeModal","WebEditorModal","WizardModal","paramsForPrefix","interceptors","request","config","showError","showData","showModal","showListModal","showCollection","showProcess","showProcessParameter","setTitle","where","stopTour","newTitle","subtitle","Date","now","other","listActions","parameter","Snotify","Clipboard","prototype","$snotify","singleError","lastMessage","productionTip","errorHandler","err","vm","filters","app","store","Page","$mount","reason","operatorProcesses","returns","schema","allowedTypes","ProcessSchema","nativeDataType","optional","arrayOf","datatype","ProcessDataType","items","subtype","dataType","VueUtils","getPreviewLinkFromSTAC","link","isMapServiceSupported","mapType","isActiveJobStatusCode","status","alt","buttons","text","action","toast","success","$clipboard","button","btn","typeDefaults","warning","ok","confirm","isChildOfModal","that","$parent","$options","getFileNameFromURL","substring","lastIndexOf","ext","replaceParam","paramName","paramValue","urlObj","prefix","sep","urlParams","isBboxInWebMercator","bboxes","maxBounds","south","north","hasZ","west","east","base","height","a","b","compareStringCaseInsensitive","range","start","end","newArray","defaultValue","fitArray","slice","sortByPath","getUniqueId","random","formatIdOrTitle","getResourceTitle","showType","isObj","UserFile","path","resolveJsonRefs","resolver","$ref","parts","propertyName","shift","pos","undefined","confirmOpenAll","L","e","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","call","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","r","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","mode","ns","def","current","getOwnPropertyNames","o","defineProperty","enumerable","f","chunkId","reduce","u","miniCssF","g","globalThis","prop","hasOwnProperty","inProgress","dataWebpackPrefix","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","onScriptComplete","prev","clearTimeout","doneFns","parentNode","bind","head","Symbol","toStringTag","nmd","paths","children","createStylesheet","fullhref","oldTag","linkTag","nonce","onLinkComplete","errorType","realHref","insertBefore","nextSibling","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","test","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-vendors-6766e1df.391666e6.js b/js/chunk-vendors-6766e1df.391666e6.js new file mode 100644 index 00000000..e4553c99 --- /dev/null +++ b/js/chunk-vendors-6766e1df.391666e6.js @@ -0,0 +1,2 @@ +(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[7900],{273:(e,t,s)=>{var r=s(28398);const i="1.0.0",a={classification:"https://stac-extensions.github.io/classification/v1.1.0/schema.json",datacube:"https://stac-extensions.github.io/datacube/v2.1.0/schema.json",eo:"https://stac-extensions.github.io/eo/v1.0.0/schema.json",file:"https://stac-extensions.github.io/file/v1.0.0/schema.json","item-assets":"https://stac-extensions.github.io/item-assets/v1.0.0/schema.json",label:"https://stac-extensions.github.io/label/v1.0.1/schema.json",pointcloud:"https://stac-extensions.github.io/pointcloud/v1.0.0/schema.json",processing:"https://stac-extensions.github.io/processing/v1.1.0/schema.json",projection:"https://stac-extensions.github.io/projection/v1.0.0/schema.json",raster:"https://stac-extensions.github.io/raster/v1.1.0/schema.json",sar:"https://stac-extensions.github.io/sar/v1.0.0/schema.json",sat:"https://stac-extensions.github.io/sat/v1.0.0/schema.json",scientific:"https://stac-extensions.github.io/scientific/v1.0.0/schema.json",table:"https://stac-extensions.github.io/table/v1.2.0/schema.json",timestamps:"https://stac-extensions.github.io/timestamps/v1.0.0/schema.json",version:"https://stac-extensions.github.io/version/v1.0.0/schema.json",view:"https://stac-extensions.github.io/view/v1.0.0/schema.json"},n={itemAndCollection:{"cube:":a.datacube,"eo:":a.eo,"file:":a.file,"label:":a.label,"pc:":a.pointcloud,"processing:":a.processing,"proj:":a.projection,"raster:":a.raster,"sar:":a.sar,"sat:":a.sat,"sci:":a.scientific,"view:":a.view,version:a.version,deprecated:a.version,published:a.timestamps,expires:a.timestamps,unpublished:a.timestamps},catalog:{},collection:{item_assets:a["item-assets"]},item:{}};n.collection=Object.assign(n.collection,n.itemAndCollection),n.item=Object.assign(n.item,n.itemAndCollection);var o={parseUrl(e){let t=e.match(/^https?:\/\/stac-extensions.github.io\/([^\/]+)\/v([^\/]+)\/[^.]+.json$/i);if(t)return{id:t[1],version:t[2]}}},l={version:i,extensions:{},set(e){if("string"!==typeof e.stac_version?l.version="0.6.0":l.version=e.stac_version,Array.isArray(e.stac_extensions))for(let t of e.stac_extensions){let e=o.parseUrl(t);e&&(l.extensions[e.id]=e.version)}},before(e,t=null){let s=t?l.extensions[t]:l.version;return"undefined"!==typeof s&&r.compare(s,e,"<")}},c={type(e){let t=typeof e;if("object"===t){if(null===e)return"null";if(Array.isArray(e))return"array"}return t},is(e,t){return c.type(e)===t},isDefined(e){return"undefined"!==typeof e},isObject(e){return"object"===typeof e&&e===Object(e)&&!Array.isArray(e)},rename(e,t,s){return"undefined"!==typeof e[t]&&"undefined"===typeof e[s]&&(e[s]=e[t],delete e[t],!0)},forAll(e,t,s){if(e[t]&&"object"===typeof e[t])for(let r in e[t])s(e[t][r])},toArray(e,t){return"undefined"!==typeof e[t]&&!Array.isArray(e[t])&&(e[t]=[e[t]],!0)},flattenArray(e,t,s,r=!1){if(Array.isArray(e[t])){for(let i in e[t])if("string"===typeof s[i]){let a=e[t][i];e[s[i]]=r?[a]:a}return delete e[t],!0}return!1},flattenOneElementArray(e,t,s=!1){return!(!s&&Array.isArray(e[t]))||1===e[t].length&&(e[t]=e[t][0],!0)},removeFromArray(e,t,s){if(Array.isArray(e[t])){let r=e[t].indexOf(s);return r>-1&&e[t].splice(r,1),!0}return!1},ensure(e,t,s){return c.type(s)!==c.type(e[t])&&(e[t]=s),!0},upgradeExtension(e,t){let{id:s,version:i}=o.parseUrl(t),a=e.stac_extensions.findIndex((e=>{let t=o.parseUrl(e);return t&&t.id===s&&r.compare(t.version,i,"<")}));return-1!==a&&(e.stac_extensions[a]=t,!0)},addExtension(e,t){let{id:s,version:i}=o.parseUrl(t),a=e.stac_extensions.findIndex((e=>{if(e===t)return!0;let a=o.parseUrl(e);return!(!a||a.id!==s||!r.compare(a.version,i,"<"))}));return-1===a?e.stac_extensions.push(t):e.stac_extensions[a]=t,e.stac_extensions.sort(),!0},removeExtension(e,t){return c.removeFromArray(e,"stac_extensions",t)},migrateExtensionShortnames(e){let t=Object.keys(a),s=Object.values(a);return c.mapValues(e,"stac_extensions",t,s)},populateExtensions(e,t){let s=[];"catalog"!=t&&"collection"!=t||s.push(e),"item"!=t&&"collection"!=t||!c.isObject(e.assets)||(s=s.concat(Object.values(e.assets))),"collection"==t&&c.isObject(e.item_assets)&&(s=s.concat(Object.values(e.item_assets))),"collection"==t&&c.isObject(e.summaries)&&s.push(e.summaries),"item"==t&&c.isObject(e.properties)&&s.push(e.properties);for(let r of s)Object.keys(r).forEach((s=>{let r=s.match(/^(\w+:|[^:]+$)/i);if(Array.isArray(r)){let s=n[t][r[0]];c.is(s,"string")&&c.addExtension(e,s)}}))},mapValues(e,t,s,r){let i=e=>{let t=s.indexOf(e);return t>=0?r[t]:e};return Array.isArray(e[t])?e[t]=e[t].map(i):"undefined"!==typeof e[t]&&(e[t]=i(e[t])),!0},mapObject(e,t){for(let s in e)e[s]=t(e[s],s)},moveTo(e,t,s,r=!1,i=!1){let a;return a=r?i?e=>Array.isArray(e):e=>Array.isArray(e)&&1===e.length:c.isDefined,!!a(e[t])&&(s[t]=r&&!i?e[t][0]:e[t],delete e[t],!0)},runAll(e,t,s,r){for(let i in e)i.startsWith("migrate")||e[i](t,s,r)},toUTC(e,t){if("string"===typeof e[t])try{return e[t]=this.toISOString(e[t]),!0}catch(s){}return delete e[t],!1},toISOString(e){return e instanceof Date||(e=new Date(e)),e.toISOString().replace(".000","")}},p={multihash:null,hexToUint8(e){if(0===e.length||e.length%2!==0)throw new Error(`The string "${e}" is not valid hex.`);return new Uint8Array(e.match(/.{1,2}/g).map((e=>parseInt(e,16))))},uint8ToHex(e){return e.reduce(((e,t)=>e+t.toString(16).padStart(2,"0")),"")},toMultihash(e,t,s){if(!p.multihash||!c.is(e[t],"string"))return!1;try{const r=p.multihash.encode(p.hexToUint8(e[t]),s);return e[t]=p.uint8ToHex(r),!0}catch(r){return console.warn(r),!1}}},u={migrate(e,t=!0){return l.set(e),t&&(e.stac_version=i),e.type="Catalog",c.ensure(e,"stac_extensions",[]),l.before("1.0.0-rc.1")&&c.migrateExtensionShortnames(e),c.ensure(e,"id",""),c.ensure(e,"description",""),c.ensure(e,"links",[]),c.runAll(u,e,e),l.before("0.8.0")&&c.populateExtensions(e,"catalog"),e}},d={migrate(e,t=!0){return u.migrate(e,t),e.type="Collection",l.before("1.0.0-rc.1")&&c.migrateExtensionShortnames(e),c.ensure(e,"license","proprietary"),c.ensure(e,"extent",{spatial:{bbox:[]},temporal:{interval:[]}}),c.runAll(d,e,e),c.isObject(e.properties)&&(c.removeFromArray(e,"stac_extensions","commons"),delete e.properties),l.before("0.8.0")&&c.populateExtensions(e,"collection"),l.before("1.0.0-beta.1")&&c.mapValues(e,"stac_extensions",["assets"],["item-assets"]),e},extent(e){if(c.ensure(e,"extent",{}),l.before("0.8.0")&&(Array.isArray(e.extent.spatial)&&(e.extent.spatial={bbox:[e.extent.spatial]}),Array.isArray(e.extent.temporal)&&(e.extent.temporal={interval:[e.extent.temporal]})),c.ensure(e.extent,"spatial",{}),c.ensure(e.extent.spatial,"bbox",[]),c.ensure(e.extent,"temporal",{}),c.ensure(e.extent.temporal,"interval",[]),l.before("1.0.0-rc.3")){if(e.extent.temporal.interval.length>1){let s,r;for(let i of e.extent.temporal.interval){if(null===i[0])s=null;else if("string"===typeof i[0]&&null!==s)try{let e=new Date(i[0]);("undefined"===typeof s||er)&&(r=e)}catch(t){}}e.extent.temporal.interval.unshift([s?c.toISOString(s):null,r?c.toISOString(r):null])}if(e.extent.spatial.bbox.length>1){let t=e.extent.spatial.bbox.reduce(((e,t)=>Array.isArray(t)?Math.max(t.length,e):e),4);if(t>=4){let s=new Array(t).fill(null),r=t/2;for(let t of e.extent.spatial.bbox){if(!Array.isArray(t)||t.length<4)break;for(let e in t){let i=t[e];null===s[e]?s[e]=i:s[e]=enull===e))&&e.extent.spatial.bbox.unshift(s)}}}},collectionAssets(e){l.before("1.0.0-rc.1")&&c.removeExtension(e,"collection-assets"),g.migrateAll(e)},itemAsset(e){l.before("1.0.0-beta.2")&&c.rename(e,"item_assets","assets"),g.migrateAll(e,"item_assets")},summaries(e){if(c.ensure(e,"summaries",{}),l.before("0.8.0")&&c.isObject(e.other_properties)){for(let t in e.other_properties){let s=e.other_properties[t];Array.isArray(s.extent)&&2===s.extent.length?e.summaries[t]={minimum:s.extent[0],maximum:s.extent[1]}:Array.isArray(s.values)&&(s.values.filter((e=>Array.isArray(e))).length===s.values.length?e.summaries[t]=s.values.reduce(((e,t)=>e.concat(t)),[]):e.summaries[t]=s.values)}delete e.other_properties}if(l.before("1.0.0-beta.1")&&c.isObject(e.properties)&&!e.links.find((e=>["child","item"].includes(e.rel))))for(let t in e.properties){let s=e.properties[t];Array.isArray(s)||(s=[s]),e.summaries[t]=s}l.before("1.0.0-rc.1")&&c.mapObject(e.summaries,(e=>(c.rename(e,"min","minimum"),c.rename(e,"max","maximum"),e))),y.migrate(e.summaries,e,!0),c.moveTo(e.summaries,"sci:doi",e,!0)&&c.addExtension(e,a.scientific),c.moveTo(e.summaries,"sci:publications",e,!0,!0)&&c.addExtension(e,a.scientific),c.moveTo(e.summaries,"sci:citation",e,!0)&&c.addExtension(e,a.scientific),c.moveTo(e.summaries,"cube:dimensions",e,!0)&&c.addExtension(e,a.datacube),0===Object.keys(e.summaries).length&&delete e.summaries}},h={migrate(e,t=null,s=!0){l.set(e),s&&(e.stac_version=i),c.ensure(e,"stac_extensions",[]),l.before("1.0.0-rc.1")&&c.migrateExtensionShortnames(e),c.ensure(e,"id",""),c.ensure(e,"type","Feature"),c.isObject(e.geometry)||(e.geometry=null),null!==e.geometry&&c.ensure(e,"bbox",[]),c.ensure(e,"properties",{}),c.ensure(e,"links",[]),c.ensure(e,"assets",{});let r=!1;return c.isObject(t)&&c.isObject(t.properties)&&(c.removeFromArray(e,"stac_extensions","commons"),e.properties=Object.assign({},t.properties,e.properties),r=!0),c.runAll(h,e,e),y.migrate(e.properties,e),g.migrateAll(e),(l.before("0.8.0")||r)&&c.populateExtensions(e,"item"),e}},f={migrate(e,t=!0){return c.ensure(e,"collections",[]),c.ensure(e,"links",[]),c.runAll(f,e,e),e.collections=e.collections.map((e=>d.migrate(e,t))),e}},m={migrate(e,t=!0){return c.ensure(e,"type","FeatureCollection"),c.ensure(e,"features",[]),c.ensure(e,"links",[]),c.runAll(m,e,e),e.features=e.features.map((e=>h.migrate(e,null,t))),e}},g={migrateAll(e,t="assets"){for(let s in e[t])g.migrate(e[t][s],e)},migrate(e,t){return c.runAll(g,e,t),y.migrate(e,t),e},mediaTypes(e){c.is(e.type,"string")&&c.mapValues(e,"type",["image/vnd.stac.geotiff","image/vnd.stac.geotiff; cloud-optimized=true"],["image/tiff; application=geotiff","image/tiff; application=geotiff; profile=cloud-optimized"])},eo(e,t){let s=c.isObject(t.properties)&&Array.isArray(t.properties["eo:bands"])?t.properties["eo:bands"]:[];if(Array.isArray(e["eo:bands"]))for(let r in e["eo:bands"]){let t=e["eo:bands"][r];c.is(t,"number")&&c.isObject(s[t])?t=s[t]:c.isObject(t)||(t={}),e["eo:bands"][r]=t}}},y={migrate(e,t,s=!1){return c.runAll(y,e,t,s),e},_commonMetadata(e){l.before("1.0.0-rc.3")&&(c.toUTC(e,"created"),c.toUTC(e,"updated"))},_timestamps(e,t){c.toUTC(e,"published"),c.toUTC(e,"expires"),c.toUTC(e,"unpublished"),c.upgradeExtension(t,a.timestamps)},_versioningIndicator(e,t){c.upgradeExtension(t,a.version)},checksum(e,t){l.before("0.9.0")&&p.multihash&&(c.rename(e,"checksum:md5","checksum:multihash")&&p.toMultihash(e,"checksum:multihash","md5"),c.rename(e,"checksum:sha1","checksum:multihash")&&p.toMultihash(e,"checksum:multihash","sha1"),c.rename(e,"checksum:sha2","checksum:multihash")&&p.toMultihash(e,"checksum:multihash","sha2-256"),c.rename(e,"checksum:sha3","checksum:multihash")&&p.toMultihash(e,"checksum:multihash","sha3-256")),l.before("1.0.0-rc.1")&&c.rename(e,"checksum:multihash","file:checksum")&&c.addExtension(t,a.file),c.removeExtension(t,"checksum")},classification(e,t){l.before("1.1.0","classification")&&c.forAll(e,"classification:classes",(e=>c.rename(e,"color-hint","color_hint"))),c.upgradeExtension(t,a.classification)},cube(e,t){c.upgradeExtension(t,a.datacube)},dtr(e,t){l.before("0.9.0")&&(c.rename(e,"dtr:start_datetime","start_datetime"),c.rename(e,"dtr:end_datetime","end_datetime"),c.removeExtension(t,"datetime-range"))},eo(e,t){l.before("0.9.0")&&(c.rename(e,"eo:epsg","proj:epsg")&&c.addExtension(t,a.projection),c.rename(e,"eo:platform","platform"),c.rename(e,"eo:instrument","instruments")&&c.toArray(e,"instruments"),c.rename(e,"eo:constellation","constellation"),c.rename(e,"eo:off_nadir","view:off_nadir")&&c.addExtension(t,a.view),c.rename(e,"eo:azimuth","view:azimuth")&&c.addExtension(t,a.view),c.rename(e,"eo:incidence_angle","view:incidence_angle")&&c.addExtension(t,a.view),c.rename(e,"eo:sun_azimuth","view:sun_azimuth")&&c.addExtension(t,a.view),c.rename(e,"eo:sun_elevation","view:sun_elevation")&&c.addExtension(t,a.view)),l.before("1.0.0-beta.1")&&c.rename(e,"eo:gsd","gsd"),c.upgradeExtension(t,a.eo)},file(e,t){c.upgradeExtension(t,a.file)},label(e,t){l.before("0.8.0")&&(c.rename(e,"label:property","label:properties"),c.rename(e,"label:task","label:tasks"),c.rename(e,"label:overview","label:overviews")&&c.toArray(e,"label:overviews"),c.rename(e,"label:method","label:methods"),c.toArray(e,"label:classes")),c.upgradeExtension(t,a.label)},pc(e,t){l.before("0.8.0")&&c.rename(e,"pc:schema","pc:schemas"),c.upgradeExtension(t,a.pointcloud)},processing(e,t){c.upgradeExtension(t,a.processing)},proj(e,t){c.upgradeExtension(t,a.projection)},raster(e,t){c.upgradeExtension(t,a.raster)},sar(e,t,s){c.rename(e,"sar:incidence_angle","view:incidence_angle")&&c.addExtension(t,a.view),c.rename(e,"sar:pass_direction","sat:orbit_state")&&c.mapValues(e,"sat:orbit_state",[null],["geostationary"])&&c.addExtension(t,a.sat),l.before("0.7.0")&&(c.flattenArray(e,"sar:resolution",["sar:resolution_range","sar:resolution_azimuth"],s),c.flattenArray(e,"sar:pixel_spacing",["sar:pixel_spacing_range","sar:pixel_spacing_azimuth"],s),c.flattenArray(e,"sar:looks",["sar:looks_range","sar:looks_azimuth","sar:looks_equivalent_number"],s),c.rename(e,"sar:off_nadir","view:off_nadir")&&c.addExtension(t,a.view)),l.before("0.9.0")&&(c.rename(e,"sar:platform","platform"),c.rename(e,"sar:instrument","instruments")&&c.toArray(e,"instruments"),c.rename(e,"sar:constellation","constellation"),c.rename(e,"sar:type","sar:product_type"),c.rename(e,"sar:polarization","sar:polarizations"),c.flattenOneElementArray(e,"sar:absolute_orbit",s)&&c.rename(e,"sar:absolute_orbit","sat:absolute_orbit")&&c.addExtension(t,a.sat),c.flattenOneElementArray(e,"sar:relative_orbit",s)&&c.rename(e,"sar:relative_orbit","sat:relative_orbit")&&c.addExtension(t,a.sat)),c.upgradeExtension(t,a.sar)},sat(e,t){l.before("0.9.0")&&(c.rename(e,"sat:off_nadir_angle","sat:off_nadir"),c.rename(e,"sat:azimuth_angle","sat:azimuth"),c.rename(e,"sat:sun_azimuth_angle","sat:sun_azimuth"),c.rename(e,"sat:sun_elevation_angle","sat:sun_elevation")),c.upgradeExtension(t,a.sat)},sci(e,t){c.upgradeExtension(t,a.scientific)},item(e){l.before("0.8.0")&&(c.rename(e,"item:license","license"),c.rename(e,"item:providers","providers"))},table(e,t){c.upgradeExtension(t,a.table)},view(e,t){c.upgradeExtension(t,a.view)}},b={item(e,t=null,s=!0){return h.migrate(e,t,s)},catalog(e,t=!0){return u.migrate(e,t)},collection(e,t=!0){return d.migrate(e,t)},collectionCollection(e,t=!0){return f.migrate(e,t)},itemCollection(e,t=!0){return m.migrate(e,t)},stac(e,t=!0){return"Feature"===e.type?b.item(e,null,t):"FeatureCollection"===e.type?b.itemCollection(e,t):"Collection"===e.type||!e.type&&c.isDefined(e.extent)&&c.isDefined(e.license)?b.collection(e,t):!e.type&&Array.isArray(e.collections)?b.collectionCollection(e,t):b.catalog(e,t)},enableMultihash(e){p.multihash=e}};e.exports=b},28398:function(e,t){var s,r,i;(function(a,n){r=[],s=n,i="function"===typeof s?s.apply(t,r):s,void 0===i||(e.exports=i)})(0,(function(){var e=/^v?(?:\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+))?(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;function t(e,t){return-1===e.indexOf(t)?e.length:e.indexOf(t)}function s(e){var s=e.replace(/^v/,"").replace(/\+.*$/,""),r=t(s,"-"),i=s.substring(0,r).split(".");return i.push(s.substring(r+1)),i}function r(e){return isNaN(Number(e))?e:Number(e)}function i(t){if("string"!==typeof t)throw new TypeError("Invalid argument expected string");if(!e.test(t))throw new Error("Invalid argument not valid semver ('"+t+"' received)")}function a(e,t){[e,t].forEach(i);for(var a=s(e),n=s(t),o=0;oc)return 1;if(c>l)return-1}var p=a[a.length-1],u=n[n.length-1];if(p&&u){var d=p.split(".").map(r),h=u.split(".").map(r);for(o=0;oh[o])return 1;if(h[o]>d[o])return-1}}else if(p||u)return p?-1:1;return 0}var n=[">",">=","=","<","<="],o={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]};function l(e){if("string"!==typeof e)throw new TypeError("Invalid operator type, expected string but got "+typeof e);if(-1===n.indexOf(e))throw new TypeError("Invalid operator, expected one of "+n.join("|"))}return a.validate=function(t){return"string"===typeof t&&e.test(t)},a.compare=function(e,t,s){l(s);var r=a(e,t);return o[s].indexOf(r)>-1},a}))},53293:e=>{class t{constructor(e,t,s){this.id=s.id||null,this.title=s.title||"",this.description=s.description||"",this.type=e,this.connection=t,this.token=null}getId(){let e=this.getType();return this.getProviderId().length>0&&(e+="."+this.getProviderId()),e}getDisplayName(){return null}getType(){return this.type}getProviderId(){return"string"===typeof this.id?this.id:""}getTitle(){return this.title}getDescription(){return this.description}getToken(){return"string"===typeof this.token?this.getType()+"/"+this.getProviderId()+"/"+this.token:null}setToken(e){this.token=e,this.connection.emit("tokenChanged",e),null!==this.token?this.connection.setAuthProvider(this):this.connection.setAuthProvider(null)}async login(...e){throw new Error("Not implemented.",e)}async logout(){this.setToken(null)}}e.exports=t},27644:e=>{class t{constructor(e,t=[]){this.connection=e,this.apiToClientNames={},this.clientToApiNames={},this.lastRefreshTime=0,this.extra={};for(let s in t){let e,r;Array.isArray(t[s])?(e=t[s][0],r=t[s][1]):(e=t[s],r=t[s]),this.apiToClientNames[e]=r,this.clientToApiNames[r]=e}}toJSON(){let e={};for(let t in this.clientToApiNames){let s=this.clientToApiNames[t];"undefined"!==typeof this[t]&&(e[s]=this[t])}return Object.assign(e,this.extra)}setAll(e){for(let t in e)"undefined"===typeof this.apiToClientNames[t]?this.extra[t]=e[t]:this[this.apiToClientNames[t]]=e[t];return this.lastRefreshTime=Date.now(),this}getDataAge(){return(Date.now()-this.lastRefreshTime)/1e3}getAll(){let e={};for(let t in this.apiToClientNames){let s=this.apiToClientNames[t];"undefined"!==typeof this[s]&&(e[s]=this[s])}return Object.assign(e,this.extra)}get(e){return"undefined"!==typeof this.extra[e]?this.extra[e]:null}_convertToRequest(e){let t={};for(let s in e)"undefined"===typeof this.clientToApiNames[s]?t[s]=e[s]:t[this.clientToApiNames[s]]=e[s];return t}_supports(e){return this.connection.capabilities().hasFeature(e)}}e.exports=t},59388:(e,t,s)=>{const r=s(17103),i=s(60768),a=s(53293);class n extends a{constructor(e){super("basic",e,{id:null,title:"HTTP Basic",description:"Login with username and password using the method HTTP Basic."}),this.username=null}async login(e,t){let s=await this.connection._send({method:"get",responseType:"json",url:"/credentials/basic",headers:{Authorization:"Basic "+r.base64encode(e+":"+t)}});if(!i.isObject(s.data)||"string"!==typeof s.data.access_token)throw new Error("No access_token returned.");this.username=e,this.setToken(s.data.access_token)}getDisplayName(){return this.username}async logout(){this.username=null,await super.logout()}}e.exports=n},3616:e=>{class t{static getName(){return"Browser"}static getUrl(){return window.location.toString()}static setUrl(e){throw new Error("setUrl is not supported in a browser environment.")}static handleErrorResponse(e){return new Promise(((t,s)=>{let r=new FileReader;r.onerror=e=>{r.abort(),s(e.target.error)},r.onload=()=>{let e=r.result instanceof ArrayBuffer?String.fromCharCode.apply(null,new Uint16Array(r.result)):r.result,s="string"===typeof e?JSON.parse(e):e;t(s)},r.readAsText(e.response.data)}))}static getResponseType(){return"blob"}static base64encode(e){return btoa(e)}static fileNameForUpload(e){return e.name.split(/(\\|\/)/g).pop()}static dataForUpload(e){return e}static async downloadResults(e,t,s){throw new Error("downloadResults is not supported in a browser environment.")}static saveToFile(e,t){return new Promise(((s,r)=>{try{e instanceof Blob||(e=new Blob([e],{type:"application/octet-stream"}));let r=window.URL.createObjectURL(e),i=document.createElement("a");i.style.display="none",i.href=r,i.setAttribute("download",t||"download"),"undefined"===typeof i.download&&i.setAttribute("target","_blank"),document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(r),s()}catch(i){console.error(i),r(i)}}))}}e.exports=t},1675:(e,t,s)=>{const r=s(71114),i=s(1467),a=s(86425),n=s(60768),o=s(20779),l=s(73659),c=["id","summary","description","categories","parameters","returns","deprecated","experimental","exceptions","examples","links"];class p{static async fromVersion(e=null){let t="https://processes.openeo.org/processes.json";return"string"===typeof e&&(t="https://processes.openeo.org/"+e+"/processes.json"),await p.fromURL(t)}static async fromURL(e){let t=await a(e);return new p(t.data)}constructor(e,t=null,s=void 0){if(this.id=s,this.parent=t,this.parentNode=null,this.parentParameter=null,this.nodes={},this.idCounter={},this.callbackParameterCache={},this.parameters=void 0,this.processes=null,e instanceof l)this.processes=e;else if(n.isObject(e)&&Array.isArray(e.processes))this.processes=new l(e.processes);else{if(!Array.isArray(e))throw new Error("Processes are invalid; must be array or object according to the API.");this.processes=new l(e)}this.processes.all().forEach((e=>this.createFunction(e)))}createFunction(e){if("undefined"!==typeof this[e.id])throw new Error("Can't create function for process '"+e.id+"'. Already exists in Builder class.");this[e.id]=function(...t){return this.process(e.id,t)}}addProcessSpec(e,t=null){if(!n.isObject(e))throw new Error("Process '"+e.id+"' must be an object.");t||(t="backend"),this.processes.add(e,t),"backend"===t&&this.createFunction(e)}setParent(e,t){this.parentNode=e,this.parentParameter=t}createCallbackParameter(e){return this.callbackParameterCache[e]||(this.callbackParameterCache[e]=i.create(this,e)),this.callbackParameterCache[e]}getParentCallbackParameters(){let e=[];if(this.parentNode&&this.parentParameter)try{e=o.getCallbackParametersForProcess(this.parentNode.spec,this.parentParameter).map((e=>this.createCallbackParameter(e.name)))}catch(t){console.warn(t)}return e}addParameter(e,t=!0){if(void 0!==this.getParentCallbackParameters().find((t=>t.name===e.name)))return;let s=this;if(t)while(s.parent)s=s.parent;Array.isArray(s.parameters)||(s.parameters=[]);let r=s.parameters.findIndex((t=>t.name===e.name));-1!==r?Object.assign(s.parameters[r],e):s.parameters.push(e)}spec(e,t=null){return this.processes.get(e,t)}math(e){const t=s(20826);let r=new t(e);return r.setBuilder(this),r.generate(!1)}supports(e,t=null){return Boolean(this.spec(e,t))}process(e,t={},s=null){let i=null;if(e.includes("@")){let t;[e,...t]=e.split("@"),i=t.join("@")}let a=new r(this,e,t,s,i);return this.nodes[a.id]=a,a}toJSON(){let e={process_graph:n.mapObjectValues(this.nodes,(e=>e.toJSON()))};return c.forEach((t=>{"undefined"!==typeof this[t]&&(e[t]=this[t])})),e}generateId(e=""){return e=e.replace("_","").substr(0,6),this.idCounter[e]?this.idCounter[e]++:this.idCounter[e]=1,e+this.idCounter[e]}}e.exports=p},20826:(e,t,s)=>{const r=s(1224),i=s(1467),a=s(71114);class n{constructor(e){let t=new r.Parser;this.tree=t.parse(e),this.builder=null}setBuilder(e){this.builder=e}generate(e=!0){let t=this.parseTree(this.tree);if(!(t instanceof a))throw new Error("Invalid formula specified.");return e&&(t.result=!0),t}parseTree(e){let t=Object.keys(e)[0];switch(t){case"Number":return parseFloat(e.Number);case"Identifier":return this.getRef(e.Identifier);case"Expression":return this.parseTree(e.Expression);case"FunctionCall":{let t=[];for(let s in e.FunctionCall.args)t.push(this.parseTree(e.FunctionCall.args[s]));return this.builder.process(e.FunctionCall.name,t)}case"Binary":return this.addOperatorProcess(e.Binary.operator,this.parseTree(e.Binary.left),this.parseTree(e.Binary.right));case"Unary":{let t=this.parseTree(e.Unary.expression);return"-"===e.Unary.operator?"number"===typeof t?-t:this.addOperatorProcess("*",-1,t):t}default:throw new Error("Operation "+t+" not supported.")}}getRef(e){if("true"===e)return!0;if("false"===e)return!1;if("null"===e)return null;if("string"===typeof e&&e.startsWith("#")){let t=e.substring(1);if(t in this.builder.nodes)return{from_node:t}}let t=this.builder.getParentCallbackParameters();if("string"===typeof e&&t.length>0){let s=e.match(/^\$+/),r=s?s[0].length:0;if(r>0&&t.length>=r){let s=e.substring(r);return t[r-1][s]}}let s=new i(e);return this.builder.addParameter(s),s}addOperatorProcess(e,t,s){let r=n.operatorMapping[e],i=this.builder.spec(r);if(r&&i){let a={};if(!Array.isArray(i.parameters)||i.parameters.length<2)throw new Error("Process for operator "+e+" must have at least two parameters");return a[i.parameters[0].name||"x"]=t,a[i.parameters[1].name||"y"]=s,this.builder.process(r,a)}throw new Error("Operator "+e+" not supported")}}n.operatorMapping={"-":"subtract","+":"add","/":"divide","*":"multiply","^":"power"},e.exports=n},71114:(e,t,s)=>{const r=s(60768),i=s(1467);class a{constructor(e,t,s={},r=null,i=null){if(this.parent=e,this.spec=this.parent.spec(t,i),!this.spec)throw new Error("Process doesn't exist: "+t);this.id=e.generateId(t),this.namespace=i,this.arguments=Array.isArray(s)?this.namedArguments(s):s,this._description=r,this.result=!1,this.addParametersToProcess(this.arguments)}namedArguments(e){if(e.length>(this.spec.parameters||[]).length)throw new Error("More arguments specified than parameters available.");let t={};if(Array.isArray(this.spec.parameters))for(let s=0;sthis.exportArgument(e)),t):"function"===typeof e?this.exportCallback(e,t):e}createBuilder(e=null,t=null){const r=s(1675);let i=new r(this.parent.processes,this.parent);return null!==e&&null!==t&&i.setParent(e,t),i}exportCallback(e,t){let s=this.createBuilder(this,t),i=s.getParentCallbackParameters(),n=e.bind(s)(...i,s);if(Array.isArray(n)&&s.supports("array_create")?n=s.array_create(n):!r.isObject(n)&&s.supports("constant")&&(n=s.constant(n)),n instanceof a)return n.result=!0,s.toJSON();throw new Error("Callback must return BuilderNode")}toJSON(){let e={process_id:this.spec.id,arguments:{}};this.namespace&&(e.namespace=this.namespace);for(let t in this.arguments)"undefined"!==typeof this.arguments[t]&&(e.arguments[t]=this.exportArgument(this.arguments[t],t));return"function"!==typeof this.description?e.description=this.description:"string"===typeof this._description&&(e.description=this._description),this.result&&(e.result=!0),e}ref(){return{from_node:this.id}}}e.exports=a},1467:e=>{"use strict";class t{static create(e,s){let r=new t(s,null);if("undefined"!==typeof Proxy)return new Proxy(r,{nodeCache:{},get(t,s,i){if(!Reflect.has(t,s)){if(!this.nodeCache[s]){let t={data:r};"string"===typeof s&&s.match(/^(0|[1-9]\d*)$/)?t.index=parseInt(s,10):t.label=s,this.nodeCache[s]=e.process("array_element",t)}return this.nodeCache[s]}return Reflect.get(t,s,i)},set(e,t,s,r){if(!Reflect.has(e,t))throw new Error("Simplified array access is read-only");return Reflect.set(e,t,s,r)}});throw new Error("Simplified array access not supported, use array_element directly")}constructor(e,t={},s="",r=void 0){this.name=e,this.spec={name:e,schema:"string"===typeof t?{type:t}:t,description:s},"undefined"!==typeof r&&(this.spec.optional=!0,this.spec.default=r)}toJSON(){return this.spec}ref(){return{from_parameter:this.name}}}e.exports=t},1224:e=>{let t={Token:{Operator:"Operator",Identifier:"Identifier",Number:"Number"}};const s={"⁰":0,"¹":1,"²":2,"³":3,"⁴":4,"⁵":5,"⁶":6,"⁷":7,"⁸":8,"⁹":9},r=Object.keys(s).join("");t.Lexer=function(){let e="",s=0,i=0,a=0,n=t.Token;function o(){let t=i;return t="a"&&e<="z"||e>="A"&&e<="Z"}function u(e){return e>="0"&&e<="9"}function d(e,t){return{type:e,value:t,start:a,end:i-1}}function h(){let e;while(i=0)return d(n.Operator,l())}function m(e){return"_"===e||"#"===e||"$"===e||p(e)}function g(e){return"-"===e||"."===e||"~"===e||"@"===e}function y(e,t=!1){return"_"===e||p(e)||u(e)||t&&g(e)}function b(){let e=o();if(!m(e))return;let t=l(),s=!1;while(1){let r=o();if("$"===e)"$"!==r&&(e="");else if("@"===r)s=!0;else if(!y(r,s))break;t+=l()}return d(n.Identifier,t)}function v(){let e,t;if(e=o(),u(e)||"."===e){if(t="","."!==e){t=l();while(1){if(e=o(),!u(e))break;t+=l()}}if("."===e){t+=l();while(1){if(e=o(),!u(e))break;t+=l()}}if("e"===e||"E"===e){if(t+=l(),e=o(),"+"!==e&&"-"!==e&&!u(e))throw e="character "+e,i>=s&&(e=""),new SyntaxError("Unexpected "+e+" after the exponent sign");t+=l();while(1){if(e=o(),!u(e))break;t+=l()}}if("."===t)throw new SyntaxError("Expecting decimal digits after the dot sign");return d(n.Number,t)}}function w(t){e=t,s=t.length,i=0}function A(){let e;if(h(),!(i>=s)){if(a=i,e=v(),"undefined"!==typeof e)return e;if(e=f(),"undefined"!==typeof e)return e;if(e=b(),"undefined"!==typeof e)return e;throw new SyntaxError("Unknown token from character "+o())}}function _(){let e,t=i;try{e=A(),delete e.start,delete e.end}catch(s){e=void 0}return i=t,e}return{reset:w,next:A,peek:_}},t.Parser=function(){let e=new t.Lexer,i=t.Token;function a(e,t){return"undefined"!==typeof e&&e.type===i.Operator&&t.includes(e.value)}function n(){let t,s,r=[];while(1){if(s=f(),"undefined"===typeof s)break;if(r.push(s),t=e.peek(),!a(t,","))break;e.next()}return r}function o(t){let s=[],r=e.next();if(!a(r,"("))throw new SyntaxError('Expecting ( in a function call "'+t+'"');if(r=e.peek(),a(r,")")||(s=n()),r=e.next(),!a(r,")"))throw new SyntaxError('Expecting ) in a function call "'+t+'"');return{FunctionCall:{name:t,args:s}}}function l(){let t,s=e.peek();if("undefined"===typeof s)throw new SyntaxError("Unexpected termination of expression");if(s.type===i.Identifier)return s=e.next(),a(e.peek(),"(")?o(s.value):{Identifier:s.value};if(s.type===i.Number)return s=e.next(),{Number:s.value};if(a(s,"(")){if(e.next(),t=f(),s=e.next(),!a(s,")"))throw new SyntaxError("Expecting )");return{Expression:t}}throw new SyntaxError("Parse error, can not process token "+s.value)}function c(){let t,s=e.peek();return a(s,"-+")?(s=e.next(),t=c(),{Unary:{operator:s.value,expression:t}}):l()}function p(e){return"number"===typeof s[e]?{Number:s[e]}:null}function u(){let t=c(),s=e.peek();while(a(s,"^"+r))s=e.next(),t={Binary:{operator:"^",left:t,right:"^"!==s.value?p(s.value):c()}},s=e.peek();return t}function d(){let t=u(),s=e.peek();while(a(s,"*/"))s=e.next(),t={Binary:{operator:s.value,left:t,right:u()}},s=e.peek();return t}function h(){let t=d(),s=e.peek();while(a(s,"+-"))s=e.next(),t={Binary:{operator:s.value,left:t,right:d()}},s=e.peek();return t}function f(){return h()}function m(t){e.reset(t);let s=f(),r=e.next();if("undefined"!==typeof r)throw new SyntaxError("Unexpected token "+r.value);return{Expression:s}}return{parse:m}},e.exports=t},26352:(e,t,s)=>{const r=s(60768),i={capabilities:!0,listFileTypes:"get /file_formats",listServiceTypes:"get /service_types",listUdfRuntimes:"get /udf_runtimes",listCollections:"get /collections",describeCollection:"get /collections/{}",listCollectionItems:"get /collections/{}/items",describeCollectionItem:"get /collections/{}/items/{}",describeCollectionQueryables:"get /collections/{}/queryables",listProcesses:"get /processes",describeProcess:"get /processes",listAuthProviders:!0,authenticateOIDC:"get /credentials/oidc",authenticateBasic:"get /credentials/basic",describeAccount:"get /me",listFiles:"get /files",getFile:"get /files",uploadFile:"put /files/{}",downloadFile:"get /files/{}",deleteFile:"delete /files/{}",validateProcess:"post /validation",listUserProcesses:"get /process_graphs",describeUserProcess:"get /process_graphs/{}",getUserProcess:"get /process_graphs/{}",setUserProcess:"put /process_graphs/{}",replaceUserProcess:"put /process_graphs/{}",deleteUserProcess:"delete /process_graphs/{}",computeResult:"post /result",listJobs:"get /jobs",createJob:"post /jobs",listServices:"get /services",createService:"post /services",getJob:"get /jobs/{}",describeJob:"get /jobs/{}",updateJob:"patch /jobs/{}",deleteJob:"delete /jobs/{}",estimateJob:"get /jobs/{}/estimate",debugJob:"get /jobs/{}/logs",startJob:"post /jobs/{}/results",stopJob:"delete /jobs/{}/results",listResults:"get /jobs/{}/results",downloadResults:"get /jobs/{}/results",describeService:"get /services/{}",getService:"get /services/{}",updateService:"patch /services/{}",deleteService:"delete /services/{}",debugService:"get /services/{}/logs"};class a{constructor(e){this.data=e,this.featureMap=i,this.features=[],this.validate(),this.init()}validate(){if(!r.isObject(this.data))throw new Error("No capabilities retrieved.");if(!this.data.api_version)throw new Error("Invalid capabilities: No API version retrieved");if(!Array.isArray(this.data.endpoints))throw new Error("Invalid capabilities: No endpoints retrieved")}init(){this.features=this.data.endpoints.map((e=>e.methods.map((t=>{const s=e.path.replace(/\{[^}]+\}/g,"{}");return`${t} ${s}`.toLowerCase()})))).reduce(((e,t)=>e.concat(t)),[])}toJSON(){return this.data}apiVersion(){return this.data.api_version}backendVersion(){return this.data.backend_version}title(){return"string"===typeof this.data.title?this.data.title:""}description(){return"string"===typeof this.data.description?this.data.description:""}isStable(){return!0===this.data.production}links(){return Array.isArray(this.data.links)?this.data.links:[]}listFeatures(){let e=[];for(let t in this.featureMap)(!0===this.featureMap[t]||this.features.includes(this.featureMap[t]))&&e.push(t);return e.sort()}hasFeature(e){let t=this.featureMap[e];return"string"===typeof t&&(t=t.toLowerCase()),!0===t||this.features.some((e=>e===t))}currency(){return r.isObject(this.data.billing)&&"string"===typeof this.data.billing.currency?this.data.billing.currency:null}listPlans(){if(r.isObject(this.data.billing)&&Array.isArray(this.data.billing.plans)){let e="string"===typeof this.data.billing.default_plan?this.data.billing.default_plan.toLowerCase():null;return this.data.billing.plans.map((t=>{let s={default:e===t.name.toLowerCase()};return Object.assign({},t,s)}))}return[]}migrate(e){return e}}e.exports=a},32454:(e,t,s)=>{const r=s(17103),i=s(60768),a=s(73659),n=s(86425),o=s(273),l=s(53293),c=s(59388),p=s(7698),u=s(26352),d=s(99387),h=s(30895),f=s(88519),m=s(97616),g=s(99167),y=s(1675),b=s(71114),v=["conformance","http://www.opengis.net/def/rel/ogc/1.0/conformance"];class w{constructor(e,t={},s=null){this.url=s,this.baseUrl=i.normalizeUrl(e),this.authProviderList=null,this.authProvider=null,this.capabilitiesObject=null,this.listeners={},this.options=t,this.processes=new a([],Boolean(t.addNamespaceToProcess)),this.processes.listeners.push(((...e)=>this.emit("processesChanged",...e)))}async init(){let e=await this._get("/"),t=Object.assign({},e.data);if(t.links=this.makeLinksAbsolute(t.links,e),!Array.isArray(t.conformsTo)&&Array.isArray(t.links)){let e=this._getLinkHref(t.links,v);if(e){let s=await this._get(e);i.isObject(s.data)&&Array.isArray(s.data.conformsTo)&&(t.conformsTo=s.data.conformsTo)}}return this.capabilitiesObject=new u(t),this.capabilitiesObject}async refreshProcessCache(){if(0===this.processes.count())return;let e=this.processes.namespaces().map((e=>{let t=()=>Promise.resolve();if("user"===e){let e=this.processes.namespace("user");this.isAuthenticated()?this.capabilities().hasFeature("listUserProcesses")&&(t=()=>this.listUserProcesses(e)):t=()=>this.processes.remove(null,"user")?Promise.resolve():Promise.reject(new Error("Can't clear user processes"))}else this.capabilities().hasFeature("listProcesses")&&(t=()=>this.listProcesses(e));return t().catch((t=>console.warn(`Could not update processes for namespace '${e}' due to an error: ${t.message}`)))}));return await Promise.all(e)}getBaseUrl(){return this.baseUrl}getUrl(){return this.url||this.baseUrl}capabilities(){return this.capabilitiesObject}async listFileTypes(){let e=await this._get("/file_formats");return new d(e.data)}async listServiceTypes(){let e=await this._get("/service_types");return e.data}async listUdfRuntimes(){let e=await this._get("/udf_runtimes");return e.data}async listCollections(){let e=await this._get("/collections");return i.isObject(e.data)&&Array.isArray(e.data.collections)&&(e.data.collections=e.data.collections.map((e=>e.stac_version?o.collection(e):e))),e.data}async describeCollection(e){let t=await this._get("/collections/"+e);return t.data.stac_version?o.collection(t.data):t.data}async*listCollectionItems(e,t=null,s=null,r=null){let a=1,n="/collections/"+e+"/items";while(n){let e={};1===a&&(Array.isArray(t)&&(e.bbox=t.join(",")),Array.isArray(s)&&(e.datetime=s.map((e=>e instanceof Date?e.toISOString():"string"===typeof e?e:"..")).join("/")),r>0&&(e.limit=r));let l=await this._get(n,e);i.isObject(l.data)&&Array.isArray(l.data.features)&&(l.data.features=l.data.features.map((e=>e.stac_version?o.item(e):e))),yield l.data,a++;let c=this.makeLinksAbsolute(l.data.links);n=this._getLinkHref(c,"next")}}normalizeNamespace(e){const t=e.match(/^https?:\/\/.*\/processes\/(@?[\w\-.~:]+)\/?/i);return t&&t.length>1?t[1]:e}async listProcesses(e=null){e||(e="backend");let t="backend"===e?"/processes":`/processes/${this.normalizeNamespace(e)}`,s=await this._get(t);if(!i.isObject(s.data)||!Array.isArray(s.data.processes))throw new Error("Invalid response received for processes");return this.processes.remove(null,e),this.processes.addAll(s.data.processes,e),Object.assign(s.data,{processes:this.processes.namespace(e)})}async describeProcess(e,t=null){if(t||(t="backend"),"backend"===t)await this.listProcesses();else{let s=await this._get(`/processes/${this.normalizeNamespace(t)}/${e}`);if(!i.isObject(s.data)||"string"!==typeof s.data.id)throw new Error("Invalid response received for process");this.processes.add(s.data,t)}return this.processes.get(e,t)}async buildProcess(e){return await this.listProcesses(),new y(this.processes,null,e)}async listAuthProviders(){if(null!==this.authProviderList)return this.authProviderList;this.authProviderList=[];let e=this.capabilities();if(e.hasFeature("authenticateOIDC")){let e=await this._get("/credentials/oidc"),t=this.getOidcProviderFactory();if(i.isObject(e.data)&&Array.isArray(e.data.providers)&&"function"===typeof t)for(let s in e.data.providers){let r=t(e.data.providers[s]);r instanceof l&&this.authProviderList.push(r)}}return e.hasFeature("authenticateBasic")&&this.authProviderList.push(new c(this)),this.authProviderList}setOidcProviderFactory(e){this.oidcProviderFactory=e}getOidcProviderFactory(){return"function"===typeof this.oidcProviderFactory?this.oidcProviderFactory:p.isSupported()?e=>new p(this,e):null}async authenticateBasic(e,t){let s=new c(this);await s.login(e,t)}isAuthenticated(){return null!==this.authProvider}emit(e,...t){"function"===typeof this.listeners[e]&&this.listeners[e](...t)}on(e,t){this.listeners[e]=t}off(e){delete this.listeners[e]}getAuthProvider(){return this.authProvider}setAuthProvider(e){e!==this.authProvider&&(this.authProvider=e instanceof l?e:null,this.emit("authProviderChanged",this.authProvider),this.refreshProcessCache())}setAuthToken(e,t,s){let r=new l(e,this,{id:t,title:"Custom",description:""});return r.setToken(s),this.setAuthProvider(r),r}async describeAccount(){let e=await this._get("/me");return e.data}async listFiles(){let e=await this._get("/files"),t=e.data.files.map((e=>new h(this,e.path).setAll(e)));return this._toResponseArray(t,e.data)}async uploadFile(e,t=null,s=null,i=null){null===t&&(t=r.fileNameForUpload(e));let a=await this.getFile(t);return await a.uploadFile(e,s,i)}async getFile(e){return new h(this,e)}_normalizeUserProcess(e,t={}){return e instanceof m?e=e.toJSON():e instanceof b?(e.result=!0,e=e.parent.toJSON()):i.isObject(e)&&!i.isObject(e.process_graph)&&(e={process_graph:e}),Object.assign({},t,{process:e})}async validateProcess(e){let t=await this._post("/validation",this._normalizeUserProcess(e).process);if(Array.isArray(t.data.errors))return t.data.errors;throw new Error("Invalid validation response received.")}async listUserProcesses(e=[]){let t=await this._get("/process_graphs");if(!i.isObject(t.data)||!Array.isArray(t.data.processes))throw new Error("Invalid response received for processes");this.processes.remove(null,"user");let s=t.data.processes.map((t=>{let s=e.find((e=>e.id===t.id));return s||(s=new m(this,t.id)),s.setAll(t)})),r=e.length>0?s.map((e=>e.toJSON())):t.data.processes;return this.processes.addAll(r,"user"),this._toResponseArray(s,t.data)}async setUserProcess(e,t){let s=new m(this,e);return await s.replaceUserProcess(t)}async getUserProcess(e){let t=new m(this,e);return await t.describeUserProcess()}async computeResult(e,t=null,s=null,a=null,n={}){let o=this._normalizeUserProcess(e,Object.assign({},n,{plan:t,budget:s})),l=await this._post("/result",o,r.getResponseType(),a),c={data:l.data,costs:null,type:null,logs:[]};"number"===typeof l.headers["openeo-costs"]&&(c.costs=l.headers["openeo-costs"]),"string"===typeof l.headers["content-type"]&&(c.type=l.headers["content-type"]);let p=Array.isArray(l.headers.link)?l.headers.link:[l.headers.link];for(let r of p){if("string"!==typeof r)continue;let e=r.match(/^<([^>]+)>;\s?rel="monitor"/i);if(Array.isArray(e)&&e.length>1)try{let t=await this._get(e[1]);i.isObject(t.data)&&Array.isArray(t.data.logs)&&(c.logs=t.data.logs)}catch(u){console.warn(u)}}return c}async downloadResult(e,t,s=null,i=null,a=null){let n=await this.computeResult(e,s,i,a);await r.saveToFile(n.data,t)}async listJobs(e=[]){let t=await this._get("/jobs"),s=t.data.jobs.map((t=>{let s=e.find((e=>e.id===t.id));return s||(s=new f(this,t.id)),s.setAll(t)}));return this._toResponseArray(s,t.data)}async createJob(e,t=null,s=null,r=null,i=null,a={}){a=Object.assign({},a,{title:t,description:s,plan:r,budget:i});let n=this._normalizeUserProcess(e,a),o=await this._post("/jobs",n);if("string"!==typeof o.headers["openeo-identifier"])throw new Error("Response did not contain a Job ID. Job has likely been created, but may not show up yet.");let l=new f(this,o.headers["openeo-identifier"]).setAll(n);return this.capabilities().hasFeature("describeJob")?await l.describeJob():l}async getJob(e){let t=new f(this,e);return await t.describeJob()}async listServices(e=[]){let t=await this._get("/services"),s=t.data.services.map((t=>{let s=e.find((e=>e.id===t.id));return s||(s=new g(this,t.id)),s.setAll(t)}));return this._toResponseArray(s,t.data)}async createService(e,t,s=null,r=null,i=!0,a={},n=null,o=null,l={}){let c=this._normalizeUserProcess(e,Object.assign({title:s,description:r,type:t,enabled:i,configuration:a,plan:n,budget:o},l)),p=await this._post("/services",c);if("string"!==typeof p.headers["openeo-identifier"])throw new Error("Response did not contain a Service ID. Service has likely been created, but may not show up yet.");let u=new g(this,p.headers["openeo-identifier"]).setAll(c);return this.capabilities().hasFeature("describeService")?u.describeService():u}async getService(e){let t=new g(this,e);return await t.describeService()}_toResponseArray(e,t){return e.links=Array.isArray(t.links)?t.links:[],e["federation:missing"]=Array.isArray(t["federation:missing"])?t["federation:missing"]:[],e}_getLinkHref(e,t){if(Array.isArray(t)||(t=[t]),Array.isArray(e)){let s=e.find((e=>i.isObject(e)&&t.includes(e.rel)&&"string"===typeof e.href));if(s)return s.href}return null}makeLinksAbsolute(e,t=null){if(!Array.isArray(e))return e;let s=null;return s=i.isObject(t)&&t.headers&&t.config&&t.request?t.config.baseURL+t.config.url:"string"!==typeof t?this._getLinkHref(e,"self"):t,s?e.map((e=>{if(!i.isObject(e)||"string"!==typeof e.href)return e;try{let t=new URL(e.href,s);return Object.assign({},e,{href:t.toString()})}catch(t){return e}})):e}async _get(e,t,s,r=null){return await this._send({method:"get",responseType:s,url:e,timeout:"/"===e?5e3:0,params:t},r)}async _post(e,t,s,r=null){let i={method:"post",responseType:s,url:e,data:t};return await this._send(i,r)}async _put(e,t){return await this._send({method:"put",url:e,data:t})}async _patch(e,t){return await this._send({method:"patch",url:e,data:t})}async _delete(e){return await this._send({method:"delete",url:e})}async download(e,t){let s=await this._send({method:"get",responseType:r.getResponseType(),url:e,authorization:t});return s.data}_getAuthHeaders(){const e={};return this.isAuthenticated()&&(e.Authorization="Bearer "+this.authProvider.getToken()),e}async _send(e,t=null){e.baseURL=this.baseUrl,"undefined"!==typeof e.authorization&&!0!==e.authorization||(e.headers||(e.headers={}),Object.assign(e.headers,this._getAuthHeaders())),e.responseType||(e.responseType="json"),t&&(e.signal=t.signal);try{let t=await n(e),s=this.capabilities();return s&&(t=s.migrate(t)),t}catch(s){if(n.isCancel(s))throw s;const t=e=>"string"===typeof e&&-1!==e.indexOf("/json"),o=(e,t)=>("string"===typeof t.message&&(e.message=t.message),e.code="string"===typeof t.code?t.code:"",e.id=t.id,e.links=Array.isArray(t.links)?t.links:[],e);if(i.isObject(s.response)&&i.isObject(s.response.data)&&(t(s.response.data.type)||i.isObject(s.response.headers)&&t(s.response.headers["content-type"]))){if(e.responseType!==r.getResponseType())throw o(s,s.response.data);try{let e=await r.handleErrorResponse(s);throw o(s,e)}catch(a){console.error(a)}}throw s}}}e.exports=w},17103:(e,t,s)=>{"undefined"===typeof window?e.exports=s(16578):e.exports=s(3616)},99387:(e,t,s)=>{const r=s(60768);class i{constructor(e){if(this.data={input:{},output:{}},r.isObject(e)){for(let t of["input","output"])for(let s in e[t])r.isObject(e[t])&&(this.data[t][s.toUpperCase()]=e[t][s]);this["federation:missing"]=e["federation:missing"]}}toJSON(){return this.data}getInputTypes(){return this.data.input}getOutputTypes(){return this.data.output}getInputType(e){return this._findType(e,"input")}getOutputType(e){return this._findType(e,"output")}_findType(e,t){return e=e.toUpperCase(),e in this.data[t]?this.data[t][e]:null}}e.exports=i},88519:(e,t,s)=>{const r=s(17103),i=s(27644),a=s(25477),n=s(60768),o=s(273),l=["finished","canceled","error"];class c extends i{constructor(e,t){super(e,["id","title","description","process","status","progress","created","updated","plan","costs","budget","usage",["log_level","logLevel"],"links"]),this.id=t,this.title=void 0,this.description=void 0,this.process=void 0,this.status=void 0,this.progress=void 0,this.created=void 0,this.updated=void 0,this.plan=void 0,this.costs=void 0,this.budget=void 0}async describeJob(){let e=await this.connection._get("/jobs/"+this.id);return this.setAll(e.data)}async updateJob(e){return await this.connection._patch("/jobs/"+this.id,this._convertToRequest(e)),this._supports("describeJob")?await this.describeJob():this.setAll(e)}async deleteJob(){await this.connection._delete("/jobs/"+this.id)}async estimateJob(){let e=await this.connection._get("/jobs/"+this.id+"/estimate");return e.data}debugJob(e=null){return new a(this.connection,"/jobs/"+this.id+"/logs",e)}monitorJob(e,t=60,s=!0){if("function"!==typeof e||t<1)return;let r=this.connection.capabilities();if(!r.hasFeature("describeJob"))throw new Error("Monitoring Jobs not supported by the back-end.");let i=this.status,a=null,n=null;r.hasFeature("debugJob")&&s&&(n=this.debugJob());let o=async()=>{this.getDataAge()>1&&await this.describeJob();let t=n?await n.nextLogs():[];(i!==this.status||t.length>0)&&e(this,t),i=this.status,l.includes(this.status)&&c()};setTimeout(o,0),a=setInterval(o,1e3*t);let c=()=>{a&&(clearInterval(a),a=null)};return c}async startJob(){return await this.connection._post("/jobs/"+this.id+"/results",{}),this._supports("describeJob")?await this.describeJob():this}async stopJob(){return await this.connection._delete("/jobs/"+this.id+"/results"),this._supports("describeJob")?await this.describeJob():this}async getResultsAsStac(){let e=await this.connection._get("/jobs/"+this.id+"/results");if(!n.isObject(e)||!n.isObject(e.data))throw new Error("Results received from the back-end are invalid");let t=o.stac(e.data);return n.isObject(t.assets)||(t.assets={}),"Feature"===t.type?"number"===typeof e.headers["openeo-costs"]&&(t.properties.costs=e.headers["openeo-costs"]):"number"===typeof e.headers["openeo-costs"]&&(t.costs=e.headers["openeo-costs"]),t}async listResults(){let e=await this.getResultsAsStac();return n.isObject(e.assets)?Object.values(e.assets):[]}async downloadResults(e){let t=await this.listResults();return await r.downloadResults(this.connection,t,e)}}e.exports=c},25477:(e,t,s)=>{const r=s(60768);class i{constructor(e,t,s=null){this.connection=e,this.endpoint=t,this.lastId="",this.level=s}async nextLogs(e=null){let t=await this.next(e);return Array.isArray(t.logs)?t.logs:[]}async next(e=null){let t={offset:this.lastId};e>0&&(t.limit=e),this.level&&(t.level=this.level);let s=await this.connection._get(this.endpoint,t);return Array.isArray(s.data.logs)&&s.data.logs.length>0?(s.data.logs=s.data.logs.filter((e=>r.isObject(e)&&"string"===typeof e.id)),this.lastId=s.data.logs[s.data.logs.length-1].id):s.data.logs=[],s.data.links=Array.isArray(s.data.links)?s.data.links:[],s.data}}e.exports=i},16578:(e,t,s)=>{var r=s(48287)["Buffer"];const i=s(65123),a=s(88835),n=s(57975),o=s(88310);class l{static getName(){return"Node"}static getUrl(){return l.url}static setUrl(e){l.url=e}static handleErrorResponse(e){return new Promise(((t,s)=>{let i=[];e.response.data.on("data",(e=>i.push(e))),e.response.data.on("error",(e=>s(e))),e.response.data.on("end",(()=>t(JSON.parse(r.concat(i).toString()))))}))}static getResponseType(){return"stream"}static base64encode(e){let t;return t=e instanceof r?e:r.from(e.toString(),"binary"),t.toString("base64")}static fileNameForUpload(e){return n.basename(e)}static dataForUpload(e){return i.createReadStream(e)}static async downloadResults(e,t,s){let r=[];const i=t.map((async t=>{let i=a.parse(t.href),c=n.join(s,n.basename(i.pathname)),p=await e.download(t.href,!1);if(!(p instanceof o.Readable))throw new Error("Data retrieved is not a Stream");await l.saveToFile(p,c),r.push(c)}));return await Promise.all(i),r}static saveToFile(e,t){return new Promise(((s,r)=>{let a=i.createWriteStream(t);a.on("close",(e=>{if(e)return r(e);s()})),e.pipe(a)}))}}l.url="",e.exports=l},7698:(e,t,s)=>{const r=s(60768),i=s(53293),a=s(17103),n=s(76405);class o extends i{static isSupported(){return r.isObject(n)&&Boolean(n.UserManager)}static async signinCallback(e=null,t={}){let s=a.getUrl();e||(e=new o(null,{}),e.setGrant(s.includes("?")?"authorization_code+pkce":"implicit"));let r=e.getOptions(t),i=new n.UserManager(r);return await i.signinCallback(s)}constructor(e,t){super("oidc",e,t),this.manager=null,this.listeners={},this.user=null,this.clientId=null,this.grant="authorization_code+pkce",this.issuer=t.issuer||"",this.scopes=Array.isArray(t.scopes)&&t.scopes.length>0?t.scopes:["openid"],this.refreshTokenScope="offline_access",this.links=Array.isArray(t.links)?t.links:[],this.defaultClients=Array.isArray(t.default_clients)?t.default_clients:[],this.defaultClient=this.detectDefaultClient()}addListener(e,t,s="default"){this.manager.events[`add${e}`](t),this.listeners[`${s}:${e}`]=t}removeListener(e,t="default"){this.manager.events[`remove${e}`](this.listeners[e]),delete this.listeners[`${t}:${e}`]}async login(e={},t=!1){if(!this.issuer||"string"!==typeof this.issuer)throw new Error("No Issuer URL available for OpenID Connect");this.manager=new n.UserManager(this.getOptions(e,t)),this.addListener("UserLoaded",(async()=>this.setUser(await this.manager.getUser())),"js-client"),this.addListener("AccessTokenExpired",(()=>this.setUser(null)),"js-client"),"popup"===o.uiMethod?await this.manager.signinPopup():await this.manager.signinRedirect()}async logout(){if(null!==this.manager){try{"popup"===o.uiMethod?await this.manager.signoutPopup():await this.manager.signoutRedirect({post_logout_redirect_uri:a.getUrl()})}catch(e){console.warn(e)}super.logout(),this.removeListener("UserLoaded","js-client"),this.removeListener("AccessTokenExpired","js-client"),this.manager=null,this.setUser(null)}}getOptions(e={},t=!1){let s=this.getResponseType(),r=this.scopes.slice(0);return t&&!r.includes(this.refreshTokenScope)&&r.push(this.refreshTokenScope),Object.assign({client_id:this.clientId,redirect_uri:o.redirectUrl,authority:this.issuer.replace("/.well-known/openid-configuration",""),scope:r.join(" "),validateSubOnSilentRenew:!0,response_type:s,response_mode:s.includes("code")?"query":"fragment"},e)}getResponseType(){switch(this.grant){case"authorization_code+pkce":return"code";case"implicit":return"token id_token";default:throw new Error("Grant Type not supported")}}setGrant(e){switch(e){case"authorization_code+pkce":case"implicit":this.grant=e;break;default:throw new Error("Grant Type not supported")}}setClientId(e){this.clientId=e}setUser(e){e?(this.user=e,this.setToken(e.access_token)):(this.user=null,this.setToken(null))}getDisplayName(){return this.user&&r.isObject(this.user.profile)&&(this.user.profile.name||this.user.profile.preferred_username||this.user.profile.email)||null}detectDefaultClient(){for(let e of o.grants){let t=this.defaultClients.find((t=>Boolean(t.grant_types.includes(e)&&Array.isArray(t.redirect_urls)&&t.redirect_urls.find((e=>e.startsWith(o.redirectUrl))))));if(t)return this.setGrant(e),this.setClientId(t.id),this.defaultClient=t,t}return null}}o.uiMethod="redirect",o.redirectUrl=a.getUrl().split("#")[0].split("?")[0].replace(/\/$/,""),o.grants=["authorization_code+pkce","implicit"],e.exports=o},73902:(e,t,s)=>{const r=s(86425),i=s(60768),a=s(53304),n=s(32454),o=s(88519),l=s(25477),c=s(30895),p=s(97616),u=s(99167),d=s(53293),h=s(59388),f=s(7698),m=s(26352),g=s(99387),y=s(1675),b=s(71114),v=s(1467),w=s(20826),A="1.0.0-rc.2",_="1.x.x";class x{static async connect(e,t={}){let s=i.normalizeUrl(e,"/.well-known/openeo"),n=e,o=null;try{if(o=await r.get(s,{timeout:5e3}),!i.isObject(o.data)||!Array.isArray(o.data.versions))throw new Error("Well-Known Document doesn't list any versions.")}catch(c){console.warn("Can't read well-known document, connecting directly to the specified URL as fallback mechanism. Reason: "+c.message)}if(i.isObject(o)){let e=a.findLatest(o.data.versions,!0,A,_);if(null===e)throw new Error("Server not supported. Client only supports the API versions between "+A+" and "+_);n=e.url}let l=await x.connectDirect(n,t);return l.url=e,l}static async connectDirect(e,t={}){let s=new n(e,t),r=await s.init();if(a.compare(r.apiVersion(),A,"<")||a.compare(r.apiVersion(),_,">"))throw new Error("Client only supports the API versions between "+A+" and "+_);return s}static clientVersion(){return"2.6.0"}}x.Environment=s(17103),e.exports={AbortController,AuthProvider:d,BasicProvider:h,Capabilities:m,Connection:n,FileTypes:g,Job:o,Logs:l,OidcProvider:f,OpenEO:x,Service:u,UserFile:c,UserProcess:p,Builder:y,BuilderNode:b,Parameter:v,Formula:w}},99167:(e,t,s)=>{const r=s(27644),i=s(25477);class a extends r{constructor(e,t){super(e,["id","title","description","process","url","type","enabled","configuration","attributes","created","plan","costs","budget","usage",["log_level","logLevel"],"links"]),this.id=t,this.title=void 0,this.description=void 0,this.process=void 0,this.url=void 0,this.type=void 0,this.enabled=void 0,this.configuration=void 0,this.attributes=void 0,this.created=void 0,this.plan=void 0,this.costs=void 0,this.budget=void 0}async describeService(){let e=await this.connection._get("/services/"+this.id);return this.setAll(e.data)}async updateService(e){return await this.connection._patch("/services/"+this.id,this._convertToRequest(e)),this._supports("describeService")?await this.describeService():this.setAll(e)}async deleteService(){await this.connection._delete("/services/"+this.id)}debugService(e=null){return new i(this.connection,"/services/"+this.id+"/logs",e)}monitorService(e,t=60,s=!0){if("function"!==typeof e||t<1)return;let r=this.connection.capabilities();if(!r.hasFeature("describeService"))throw new Error("Monitoring Services not supported by the back-end.");let i=this.enabled,a=null,n=null;r.hasFeature("debugService")&&s&&(n=this.debugService());let o=async()=>{this.getDataAge()>1&&await this.describeService();let t=n?await n.nextLogs():[];(i!==this.enabled||t.length>0)&&e(this,t),i=this.enabled};setTimeout(o,0),a=setInterval(o,1e3*t);let l=()=>{a&&(clearInterval(a),a=null)};return l}}e.exports=a},30895:(e,t,s)=>{const r=s(17103),i=s(27644);class a extends i{constructor(e,t){super(e,["path","size","modified"]),this.path=t,this.size=void 0,this.modified=void 0}async retrieveFile(){return await this.connection.download("/files/"+this.path,!0)}async downloadFile(e){let t=await this.connection.download("/files/"+this.path,!0);return await r.saveToFile(t,e)}async uploadFile(e,t=null,s=null){let i={method:"put",url:"/files/"+this.path,data:r.dataForUpload(e),headers:{"Content-Type":"application/octet-stream"}};"function"===typeof t&&(i.onUploadProgress=e=>{let s=Math.round(100*e.loaded/e.total);t(s,this)});let a=await this.connection._send(i,s);return this.setAll(a.data)}async deleteFile(){await this.connection._delete("/files/"+this.path)}}e.exports=a},97616:(e,t,s)=>{const r=s(27644),i=s(60768);class a extends r{constructor(e,t){super(e,["id","summary","description","categories","parameters","returns","deprecated","experimental","exceptions","examples","links",["process_graph","processGraph"]]),this.id=t,this.summary=void 0,this.description=void 0,this.categories=void 0,this.parameters=void 0,this.returns=void 0,this.deprecated=void 0,this.experimental=void 0,this.exceptions=void 0,this.examples=void 0,this.links=void 0,this.processGraph=void 0}async describeUserProcess(){let e=await this.connection._get("/process_graphs/"+this.id);if(!i.isObject(e.data)||"string"!==typeof e.data.id)throw new Error("Invalid response received for user process");return this.connection.processes.add(e.data,"user"),this.setAll(e.data)}async replaceUserProcess(e){if(await this.connection._put("/process_graphs/"+this.id,this._convertToRequest(e)),this._supports("describeUserProcess"))return this.describeUserProcess();{let t=this.setAll(e);return this.connection.processes.add(t.toJSON(),"user"),t}}async deleteUserProcess(){await this.connection._delete("/process_graphs/"+this.id),this.connection.processes.remove(this.id,"user")}}e.exports=a},31572:(e,t,s)=>{const r=s(98857),i=s(66862),a=s(68394),n=s(72288),o=s(47421),l=s(86051),c=s(20779),p=s(73659),u=s(53304),d=s(60768);e.exports={MigrateCapabilities:r,MigrateCollections:i,MigrateProcesses:a,ProcessDataType:n,ProcessParameter:o,ProcessSchema:l,ProcessUtils:c,ProcessRegistry:p,Versions:u,Utils:d}},98857:(e,t,s)=>{const r=s(60768),i=s(53304),a=s(33305),n="0.0.0";class o{static guessApiVersion(e){if(!r.isObject(e))return n;if(i.validate(e.api_version))return e.api_version;if(i.validate(e.version))return e.version;if(Array.isArray(e.endpoints)){if(e.endpoints.find((e=>"/file_formats"===e.path||"/conformance"===e.path||"/files"===e.path)))return"1.0.0";if(e.endpoints.find((e=>"/output_formats"===e.path||"/files/{user_id}"===e.path)))return"0.4.2";if(!e.backend_version&&!e.title&&!e.description&&!e.links)return"0.3.1"}return n}static convertCapabilitiesToLatestSpec(e,t=null,s=!0,o=!0,l="unknown",c="Unknown",p="0.0.0"){if(null===t&&(t=this.guessApiVersion(e)),t===n)return{};if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";let u=r.deepClone(e);return u.api_version=s?"1.0.0":t,r.isObject(u.billing)?u.billing=this.convertBillingToLatestSpec(u.billing,t):delete u.billing,u.endpoints=this.convertEndpointsToLatestSpec(u.endpoints,t,o),!s&&i.compare(t,"0.4.x","=")?u.stac_version="0.6.2":(s||"string"!==typeof u.stac_version)&&(u.stac_version="0.9.0"),"boolean"!==typeof u.production&&(u.production=!(!i.compare(t,"1.0.0-rc.1","=")&&!i.compare(t,"1.0.0-rc.2","="))),"string"!==typeof u.backend_version&&(u.backend_version=p),"string"!==typeof u.id&&(u.id=l),"string"!==typeof u.title&&(u.title=c),"string"!==typeof u.description&&(u.description=""),u.links=a.migrateLinks(u.links,t),u}static convertBillingToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";return e=r.isObject(e)?r.deepClone(e):{},"string"!==typeof e.currency&&(e.currency=null),e}static convertEndpointsToLatestSpec(e,t,s=!1){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";if(!Array.isArray(e))return[];if(e=r.deepClone(e),s){let s=i.compare(t,"0.4.x","="),r=i.compare(t,"1.0.0-rc.2","<"),n=function(e){let t="/process_graphs/{process_graph_id}",s=e.findIndex((e=>e.path===t));return s>=0?-1===e[s].methods.indexOf("PUT")&&e[s].methods.push("PUT"):e.push({path:t,methods:["PUT"]}),e};for(var a in e){let t=e[a];if(s)switch(t.path){case"/output_formats":t.path="/file_formats";break;case"/files/{user_id}":t.path="/files";break;case"/files/{user_id}/{path}":t.path="/files/{path}";break}if(r)switch(t.path){case"/process_graphs":let s=t.methods.indexOf("POST");s>=0&&(t.methods.splice(s,1),n(e));break;case"/process_graphs/{process_graph_id}":let r=t.methods.indexOf("PATCH");r>=0&&(t.methods.splice(r,1),n(e));break}}}return e}static convertOutputFormatsToLatestSpec(e,t){return this.convertFileFormatsToLatestSpec(e,t)}static convertFileFormatsToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";return e=r.isObject(e)?r.deepClone(e):{},i.compare(t,"0.4.x","=")&&r.isObject(e)&&(e={output:e}),e.input=c(e.input,t),e.output=c(e.output,t),e}static convertServiceTypesToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";if(!r.isObject(e))return{};e=r.deepClone(e);for(let s in e)r.isObject(e[s])||(e[s]={}),i.compare(t,"0.4.x","=")&&(delete e[s].attributes,r.isObject(e[s].parameters)&&(e[s].configuration=e[s].parameters),delete e[s].parameters,Array.isArray(e[s].variables)&&(e[s].process_parameters=e[s].variables.map((e=>{let t={name:e.variable_id,description:"string"===typeof e.description?e.description:"",schema:{type:["string"===typeof e.type?e.type:"string","null"]}};return"undefined"!==typeof e.default&&(t.default=e.default),t}))),delete e[s].variables),r.isObject(e[s].configuration)?e[s].configuration=a.migrateDiscoveryParameters(e[s].configuration,t):e[s].configuration={},Array.isArray(e[s].process_parameters)||(e[s].process_parameters=[]),"undefined"!==typeof e[s].links&&(e[s].links=a.migrateLinks(e[s].links,t));return e}static convertUdfRuntimesToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";if(!r.isObject(e))return{};e=r.deepClone(e);for(let s in e){if(i.compare(t,"0.4.x","=")){if(!r.isObject(e[s])){delete e[s];continue}null===e[s].description&&(e[s].description="")}"string"!==typeof e[s].type&&("string"===typeof e[s].docker?e[s].type="docker":e[s].type="language"),"undefined"!==typeof e[s].links&&(e[s].links=a.migrateLinks(e[s].links,t))}return e}}const l=["raster","vector","table","other"];function c(e,t){r.isObject(e)||(e={});for(let s in e)r.isObject(e[s].parameters)?e[s].parameters=a.migrateDiscoveryParameters(e[s].parameters,t):e[s].parameters={},Array.isArray(e[s].gis_data_types)?e[s].gis_data_types=e[s].gis_data_types.filter((e=>l.includes(e))):e[s].gis_data_types=[],"undefined"!==typeof e[s].links&&(e[s].links=a.migrateLinks(e[s].links,t));return e}e.exports=o},66862:(e,t,s)=>{const r=s(60768),i=s(53304),a=s(33305),n={cube:"datacube",eo:"eo",label:"label",pc:"pointcloud",proj:"projection",sar:"sar",sat:"sat",sci:"scientific",view:"view"},o={"item:license":"license","item:providers":"providers","eo:instrument":"instruments","eo:platform":"platform","eo:constellation":"constellation","eo:epsg":"proj:epsg","eo:off_nadir":"view:off_nadir","eo:azimuth":"view:azimuth","eo:sun_azimuth":"view:sun_azimuth","eo:sun_elevation":"view:sun_elevation","dtr:start_datetime":"start_datetime","dtr:end_datetime":"end_datetime","pc:schema":"pc:schemas","sar:type":"sar:product_type","sar:polarization":"sar:polarizations","sar:instrument":"instruments","sar:platform":"platform","sar:constellation":"constellation","sar:off_nadir":"sat:off_nadir_angle","sar:relative_orbit":"sat:relative_orbit","sar:pass_direction":"sat:orbit_state"},l=["cube:dimensions","sci:publications","sci:doi","sci:citation"],c=["spatial","temporal","bands","other"];class p{static convertCollectionsToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";return e=r.deepClone(e),Array.isArray(e.collections)?e.collections=e.collections.map((e=>p.convertCollectionToLatestSpec(e,t))).filter((e=>"string"===typeof e.id)):e.collections=[],e.links=a.migrateLinks(e.links,t),e}static convertCollectionToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";let s=r.deepClone(e);if("string"!==typeof s.id||0===s.id.length)return{};if(i.validate(s.stac_version)&&!i.compare(s.stac_version,"0.9.0","<")||(s.stac_version="0.9.0"),r.isObject(s.extent)||(s.extent={}),i.compare(t,"0.4.x","=")){if(Array.isArray(s.extent.spatial)&&(s.extent.spatial={bbox:[s.extent.spatial]}),Array.isArray(s.extent.temporal)&&(s.extent.temporal={interval:[s.extent.temporal]}),r.isObject(s.properties)){r.isObject(s.other_properties)||(s.other_properties={});for(let e in s.properties)s.other_properties[e]={values:[s.properties[e]]}}delete s.properties;let e=r.isObject(s.other_properties)?s.other_properties:{};for(let t in e){let i=e[t];r.isObject(i)&&(Array.isArray(i.extent)||Array.isArray(i.values))?Array.isArray(i.extent)?e[t]={min:i.extent[0],max:i.extent[1]}:-1===i.values.findIndex((e=>!Array.isArray(e)))?i.values.length<=1?e[t]=i.values[0]:e[t]=i.values.reduce(((e,t)=>e.concat(t))):e[t]=i.values:("undefined"===typeof s[t]&&(s[t]=i),delete e[t])}delete s.other_properties,r.isObject(s.summaries)||(s.summaries={});for(let t in e){let r=e[t];"sar:pass_direction"===t&&(r=r.map((e=>null===e?"geostationary":e))),("sar:resolution"===t||"sar:pixel_spacing"===t||"sar:looks"===t)&&Array.isArray(r)&&r.length>=2?(s.summaries[t+"_range"]=r.slice(0,1),s.summaries[t+"_azimuth"]=r.slice(1,2),r.length>2&&(s.summaries[t+"_equivalent_number"]=r.slice(2,3))):"string"===typeof o[t]?s.summaries[o[t]]=r:l.includes(t)&&Array.isArray(r)&&1===r.length?s[t]=r[0]:s.summaries[t]=r}}if("string"!==typeof s.description&&(s.description=""),r.isObject(s.extent.spatial)||(s.extent.spatial={}),r.isObject(s.extent.temporal)||(s.extent.temporal={}),"string"!==typeof s.license&&(s.license="proprietary"),r.isObject(s.summaries)||(s.summaries={}),r.isObject(s["cube:dimensions"]))for(var p in s["cube:dimensions"])r.isObject(s["cube:dimensions"][p])&&!c.includes(s["cube:dimensions"][p].type)&&(s["cube:dimensions"][p].type="other");else s["cube:dimensions"]={};s.links=a.migrateLinks(s.links);var u=Array.isArray(s.stac_extensions)?s.stac_extensions:[];for(var d in s){let e=null,t=d.split(":",1);"deprecated"===d||"version"===d?e="version":"string"===typeof n[t]&&(e=n[t]),null===e||u.includes(e)||u.push(e)}return u.sort(),s.stac_extensions=u,s}}e.exports=p},33305:(e,t,s)=>{const r=s(60768),i=s(53304);class a{static migrateLinks(e,t,s="related"){return Array.isArray(e)?e.filter((e=>r.isObject(e)&&"string"===typeof e.href)).map((e=>("string"!==typeof e.rel&&(e.rel=s),e))):[]}static migrateDiscoveryParameters(e,t){if(i.compare(t,"1.0.0-rc.2","<="))for(var s in e){if(!r.isObject(e[s])){delete e[s];continue}let t=e[s].type;"string"===typeof t&&(e[s].type=[t,"null"]);let i=e[s].example;"undefined"!==typeof i&&(e[s].examples=[i],delete e[s].example)}return e}}e.exports=a},68394:(e,t,s)=>{const r=s(60768),i=s(53304),a=s(33305);class n{static convertProcessesToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";return e=r.deepClone(e),Array.isArray(e.processes)?e.processes=e.processes.map((e=>n.convertProcessToLatestSpec(e,t))).filter((e=>"string"===typeof e.id)):e.processes=[],e.links=a.migrateLinks(e.links,t),e}static convertProcessToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";if(e=r.deepClone(e),"string"!==typeof e.id||0===e.id.length)return{};if(i.compare(t,"0.4.x","=")){if(!Array.isArray(e.parameter_order)||0===e.parameter_order.length){e.parameter_order=[];for(let t in e.parameters)e.parameter_order.push(t)}let t=[];for(let s of e.parameter_order){let i={name:s};r.isObject(e.parameters[s])&&Object.assign(i,e.parameters[s]),i.required||(i.optional=!0),delete i.required,t.push(i)}delete e.parameter_order,e.parameters=t}if("string"!==typeof e.description&&(e.description=""),Array.isArray(e.parameters))for(var s=e.parameters.length-1;s>=0;s--){let i=e.parameters[s];r.isObject(i)?("string"!==typeof i.description&&(i.description=""),e.parameters[s]=o(i,t)):e.parameters.splice(s,1)}else e.parameters=[];return r.isObject(e.returns)||(e.returns={}),e.returns=o(e.returns,t,!1),Array.isArray(e.examples)&&(e.examples=e.examples.filter((e=>r.isObject(e)&&r.isObject(e.arguments)))),"undefined"!==typeof e.links&&(e.links=a.migrateLinks(e.links,t)),e}}function o(e,t,s=!0){var r={};if(e.schema&&"object"===typeof e.schema&&(r=e.schema),i.compare(t,"0.4.x","=")){for(let t of["anyOf","oneOf"])if(Array.isArray(r[t])){s&&"undefined"!==typeof r.default&&(e.default=r.default),r=r[t];break}let a=i.compare(t,"0.4.x")<=0&&"undefined"!==typeof e.media_type,n=Array.isArray(r)?r:[r];for(let t of n)t=l(t),s&&"undefined"!==typeof t.default&&(e.default=t.default,delete t.default),a&&(t.contentMediaType=e.media_type);a&&delete e.media_type}return i.compare(t,"0.4.x",">")&&"undefined"!==typeof e.default&&(e.optional=!0),e.schema=r,e}function l(e){if(r.isObject(e)&&"undefined"!==typeof e.type&&"string"===typeof e.format){switch(e.format){case"url":e.format="uri";break;case"proj-definition":e.deprecated=!0;break;case"callback":if(e.format="process-graph",r.isObject(e.parameters)){let t=[];for(let s in e.parameters){let r=e.parameters[s],i={name:s,description:"string"===typeof r.description?r.description:"",schema:r};t.push(i)}e.parameters=t}break}e.subtype=e.format,["date-time","time","date","uri"].includes(e.format)||delete e.format}for(let t in e)e[t]&&"object"===typeof e[t]&&(e[t]=l(e[t]));return e}e.exports=n},72288:(e,t,s)=>{const r=s(60768);class i{constructor(e,t=null,s=void 0){this.schema=e,"undefined"===typeof this.schema.default&&(this.schema.default=s),this.parent=t}toJSON(){return Object.assign({},this.schema,{default:this.default()})}isAny(){return"any"===this.dataType()}isNull(){return"null"===this.schema.type}nullable(){return this.isNull()||this.isAny()}isEditable(){return!i.NON_EDITABLE.includes(this.dataType())}dataType(e=!1){let t=this.schema.type||"any";return e?t:this.schema.subtype||t}nativeDataType(){return this.dataType(!0)}isEnum(){return Array.isArray(this.schema.enum)&&this.schema.enum.length>0}getEnumChoices(){return this.isEnum()?this.schema.enum:[]}getCallbackParameters(){return Array.isArray(this.schema.parameters)?this.schema.parameters:r.isObject(this.schema.additionalProperties)&&Array.isArray(this.schema.additionalProperties.parameters)?this.schema.additionalProperties.parameters:[]}group(){return r.hasText(this.schema.group)?this.schema.group:i.DEFAULT_GROUP}title(){return r.hasText(this.schema.title)?this.schema.title:r.prettifyString(this.dataType())}description(){return r.hasText(this.schema.description)?this.schema.description:""}default(){return"function"===typeof this.schema.default?this.schema.default():this.schema.default}}i.DEFAULT_GROUP="Other",i.NON_EDITABLE=["raster-cube","vector-cube","labeled-array","datacube"],e.exports=i},47421:(e,t,s)=>{const r=s(86051);class i extends r{constructor(e){super(e.schema,e.default),Object.assign(this,e)}}e.exports=i},73659:(e,t,s)=>{const r=s(60768);class i{constructor(e=[],t=!1){if(this.listeners=[],this.processes={},this.addNamespace=t,e instanceof i)for(let s in e.processes)this.addAll(e.processes[s]);else this.addAll(e)}onChange(e,t,s){for(let r of this.listeners)r(e,t,s)}addAll(e,t="backend"){for(var s in e)this.add(e[s],t,!1);this.onChange("addAll",e,t)}add(e,t="backend",s=!0){if(!r.isObject(e))throw new Error("Invalid process; not an object.");if("string"!==typeof e.id)throw new Error("Invalid process; no id specified.");if("string"!==typeof t)throw new Error("Invalid namespace; not a string.");this.processes[t]||(this.processes[t]={}),e=Object.assign(this.addNamespace?{namespace:t}:{},e),this.processes[t][e.id]=e,s&&this.onChange("add",e,t)}count(){return r.size(this.all())}all(){let e=[];for(let t in this.processes)e=e.concat(Object.values(this.processes[t]));return e}hasNamespace(e){return"string"===typeof e&&Boolean(this.processes[e])}namespaces(){return Object.keys(this.processes).sort()}namespace(e){if("string"!==typeof e)return[];let t=this.processes[e];return t?Object.values(t):[]}has(e,t=null){return Boolean(this.get(e,t))}get(e,t=null){return"string"!==typeof e?null:null===t?this.get(e,"user")||this.get(e,"backend"):this.processes[t]&&this.processes[t][e]||null}remove(e=null,t="user"){if("string"!==typeof t)return!1;if(this.processes[t]){if("string"!==typeof e)return delete this.processes[t],this.onChange("remove",null,t),!0;if(this.processes[t][e]){let s=this.processes[t][e];return delete this.processes[t][e],0===r.size(this.processes[t])&&delete this.processes[t],this.onChange("remove",s,t),!0}}return!1}}e.exports=i},86051:(e,t,s)=>{const r=s(20779),i=s(72288),a=s(60768);class n{constructor(e=null,t=void 0){if(a.isObject(e)||Array.isArray(e))if(this.unspecified=!1,this.schemas=r.normalizeJsonSchema(e,!0).map((e=>new i(e,this,t))),"undefined"===typeof t){let e=this.schemas.map((e=>e.default())).filter((e=>"undefined"!==typeof e));this.default=e[0]}else this.default=t;else this.unspecified=!0,this.schemas=[];this.refs=[]}toJSON(){return this.schemas.map((e=>e.toJSON()))}isEditable(){return this.unspecified||this.schemas.filter((e=>e.isEditable()&&!e.isNull())).length>0}is(e){var t=this.dataTypes();return 1===t.length&&t[0]===e}nativeDataType(){return this.dataType(!0)}dataType(e=!1){var t=this.dataTypes(!0,e),s=t.indexOf("null");return 1===t.length?t[0]:2===t.length&&-1!==s?t[0===s?1:0]:"mixed"}dataTypes(e=!1,t=!1){var s=this.schemas.map((e=>e.dataType(t))).filter(((e,t,s)=>s.indexOf(e)===t));return 0===s.length||s.includes("any")?["any"]:e?s:s.filter((e=>"null"!==e))}nullable(){return this.unspecified||this.schemas.filter((e=>e.nullable())).length>0}}e.exports=n},20779:(e,t,s)=>{const r=s(60768);class i{static normalizeJsonSchema(e,t=!1){r.isObject(e)?e=[e]:Array.isArray(e)||(e=[]);let s=[];for(let i of e)if(Array.isArray(i.allOf))s.push(Object.assign({},...i.allOf));else if(Array.isArray(i.oneOf)||Array.isArray(i.anyOf)){let e=r.omitFromObject(i,["oneOf","anyOf"]),t=i.oneOf||i.anyOf;for(let r of t)s.push(Object.assign({},e,r))}else s.push(i);if(!t)return s;e=[];for(let r of s)Array.isArray(r.type)?e=e.concat(r.type.map((e=>Object.assign({},r,{type:e})))):e.push(r);return e}static getCallbackParameters(e,t=[]){if(!r.isObject(e)||!e.schema)return[];let s,a=i.normalizeJsonSchema(e.schema);while(s=t.shift())a=a.map((e=>i.normalizeJsonSchema(i.getElementJsonSchema(e,s)))),a=a.concat(...a);let n=[];for(let i of a){let e=null;if(Array.isArray(i.parameters)?e=i.parameters:r.isObject(i.additionalProperties)&&Array.isArray(i.additionalProperties.parameters)&&(e=i.additionalProperties.parameters),Array.isArray(e)){if(n.length>0&&!r.equals(n,e))throw new Error("Multiple schemas with different callback parameters found.");n=e}}return n}static getCallbackParametersForProcess(e,t,s=[]){if(!r.isObject(e)||!Array.isArray(e.parameters))return[];let a=e.parameters.find((e=>e.name===t));return i.getCallbackParameters(a,s)}static getNativeTypesForJsonSchema(e,t=!1){if(r.isObject(e)&&Array.isArray(e.type)){let s=r.unique(e.type).filter((e=>i.JSON_SCHEMA_TYPES.includes(e)));return s.length>0&&s.length{var r=s(29252);class i{static isObject(e){return"object"===typeof e&&e===Object(e)&&!Array.isArray(e)}static hasText(e){return"string"===typeof e&&e.length>0}static equals(e,t){return r(e,t)}static pickFromObject(e,t){e=Object(e),"string"===typeof t&&(t=[t]);const s={};return t.forEach((t=>s[t]=e[t])),s}static omitFromObject(e,t){e=Object(e),"string"===typeof t&&(t=[t]);var s=Object.assign({},e);for(let r of t)delete s[r];return s}static mapObject(e,t){const s=Object.keys(e),r=new Array(s.length);return s.forEach(((s,i)=>{r[i]=t(e[s],s,e)})),r}static mapObjectValues(e,t){e=Object(e);const s={};return Object.keys(e).forEach((r=>{s[r]=t(e[r],r,e)})),s}static unique(e,t=!1){return t?e.filter(((e,t,s)=>s.findIndex((t=>i.equals(e,t)))===t)):[...new Set(e)]}static size(e){return"object"===typeof e&&null!==e?Array.isArray(e)?e.length:Object.keys(e).length:0}static isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}static deepClone(e){return JSON.parse(JSON.stringify(e))}static normalizeUrl(e,t=null){let s=e.replace(/\/$/,"");return"string"===typeof t&&("/"!==t.substr(0,1)&&(t="/"+t),s+=t.replace(/\/$/,"")),s}static replacePlaceholders(e,t={}){if("string"===typeof e&&i.isObject(t))for(var s in t){let r=t[s];e=e.replace("{"+s+"}",Array.isArray(r)?r.join("; "):r)}return e}static compareStringCaseInsensitive(e,t){return"string"!==typeof e&&(e=String(e)),"string"!==typeof t&&(t=String(t)),e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}static prettifyString(e,t="; "){return Array.isArray(e)||(e=[String(e)]),e=e.map((e=>{if(e.length>=3){const t=(e,t,s)=>t+" "+s.toUpperCase();return e=e.includes("_")?e.replace(/([a-zA-Z\d])_([a-zA-Z\d])/g,t):e.includes("-")?e.replace(/([a-zA-Z\d])-([a-zA-Z\d])/g,t):e.replace(/([a-z])([A-Z])/g,t),e.charAt(0).toUpperCase()+e.substr(1)}return e})),e.join(t)}static friendlyLinks(e,t=!0,s=["self"]){let r=[];if(!Array.isArray(e))return r;for(let a of e)a=Object.assign({},a),"string"===typeof a.rel&&s.includes(a.rel.toLowerCase())||("string"===typeof a.title&&0!==a.title.length||("string"===typeof a.rel&&a.rel.length>1?a.title=i.prettifyString(a.rel):a.title=a.href.replace(/^https?:\/\/(www.)?/i,"").replace(/\/$/i,"")),r.push(a));return t&&r.sort(((e,t)=>i.compareStringCaseInsensitive(e.title,t.title))),r}}e.exports=i},53304:(e,t,s)=>{const{compare:r,compareVersions:i,validate:a}=s(19396);class n{static compare(e,t,s=null){return null!==s?r(e,t,s):i(e,t)}static validate(e){return a(e)}static findCompatible(e,t=!0,s=null,r=null){if(!Array.isArray(e)||0===e.length)return[];let i=e.filter((e=>{if("string"===typeof e.url&&n.validate(e.api_version)){let t=n.validate(s),i=n.validate(r);return t&&i?n.compare(e.api_version,s,">=")&&n.compare(e.api_version,r,"<="):t?n.compare(e.api_version,s,">="):!i||n.compare(e.api_version,r,"<=")}return!1}));return 0===i.length?[]:i.sort(((e,s)=>{let r=!0===e.production,i=!0===s.production;return t&&r!==i?r?-1:1:-1*n.compare(e.api_version,s.api_version)}))}static findLatest(e,t=!0,s=null,r=null){let i=n.findCompatible(e,t,s,r);return i.length>0?i[0]:null}}e.exports=n}}]); +//# sourceMappingURL=chunk-vendors-6766e1df.391666e6.js.map \ No newline at end of file diff --git a/js/chunk-vendors-6766e1df.391666e6.js.map b/js/chunk-vendors-6766e1df.391666e6.js.map new file mode 100644 index 00000000..0cb4fdeb --- /dev/null +++ b/js/chunk-vendors-6766e1df.391666e6.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/chunk-vendors-6766e1df.391666e6.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/js-client/node_modules/@radiantearth/stac-migrate/migrate.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/node_modules/compare-versions/index.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/authprovider.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/baseentity.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/basicprovider.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/browser.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/builder.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/formula.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/node.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/parameter.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/tapdigit.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/capabilities.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/connection.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/env.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/filetypes.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/job.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/logs.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/node.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/oidcprovider.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/openeo.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/service.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/userfile.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/userprocess.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/main.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/migrate/capabilities.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/migrate/collections.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/migrate/commons.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/migrate/processes.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processDataType.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processParameter.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processRegistry.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processSchema.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processUtils.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/utils.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/versions.js"],"sourcesContent":["// Migration rules partly based on PySTAC and @openeo/js-commons,\n// see https://github.com/stac-utils/pystac/tree/v0.5.4/pystac/serialization/migrate.py\n// and https://github.com/Open-EO/openeo-js-commons/tree/v1.2.0/src/migrate/collections.js\n\nvar compareVersions = require('compare-versions');\n\nconst LATEST_VERSION = '1.0.0';\nconst DONE = true; // This is used to verify in code coverage whether something has been used or not\nconst SCHEMAS = {\n\t'classification': 'https://stac-extensions.github.io/classification/v1.1.0/schema.json',\n\t'datacube': 'https://stac-extensions.github.io/datacube/v2.1.0/schema.json',\n\t'eo': 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n\t'file': 'https://stac-extensions.github.io/file/v1.0.0/schema.json',\n\t'item-assets': 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n\t'label': 'https://stac-extensions.github.io/label/v1.0.1/schema.json',\n\t'pointcloud': 'https://stac-extensions.github.io/pointcloud/v1.0.0/schema.json',\n\t'processing': 'https://stac-extensions.github.io/processing/v1.1.0/schema.json',\n\t'projection': 'https://stac-extensions.github.io/projection/v1.0.0/schema.json',\n\t'raster': 'https://stac-extensions.github.io/raster/v1.1.0/schema.json',\n\t'sar': 'https://stac-extensions.github.io/sar/v1.0.0/schema.json',\n\t'sat': 'https://stac-extensions.github.io/sat/v1.0.0/schema.json',\n\t'scientific': 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n\t'table': 'https://stac-extensions.github.io/table/v1.2.0/schema.json',\n\t'timestamps': 'https://stac-extensions.github.io/timestamps/v1.0.0/schema.json',\n\t'version': 'https://stac-extensions.github.io/version/v1.0.0/schema.json',\n\t'view': 'https://stac-extensions.github.io/view/v1.0.0/schema.json'\n};\nconst EXTENSIONS = {\n\t// Add a : at the end to indicate it has a prefix, otherwise list all fields separately (see version extension for example).\n\titemAndCollection: {\n\t\t// with prefix\n\t\t'cube:': SCHEMAS.datacube,\n\t\t'eo:': SCHEMAS.eo,\n\t\t'file:': SCHEMAS.file,\n\t\t'label:': SCHEMAS.label,\n\t\t'pc:': SCHEMAS.pointcloud,\n\t\t'processing:': SCHEMAS.processing,\n\t\t'proj:': SCHEMAS.projection,\n\t\t'raster:': SCHEMAS.raster,\n\t\t'sar:': SCHEMAS.sar,\n\t\t'sat:': SCHEMAS.sat,\n\t\t'sci:': SCHEMAS.scientific,\n\t\t'view:': SCHEMAS.view,\n\t\t// without prefix\n\t\t'version': SCHEMAS.version,\n\t\t'deprecated': SCHEMAS.version,\n\t\t'published': SCHEMAS.timestamps,\n\t\t'expires': SCHEMAS.timestamps,\n\t\t'unpublished': SCHEMAS.timestamps\n\t},\n\tcatalog: {\n\t\t// None yet\n\t},\n\tcollection: {\n\t\t'item_assets': SCHEMAS['item-assets']\n\t},\n\titem: {\n\t\t// None yet\n\t},\n};\nEXTENSIONS.collection = Object.assign(EXTENSIONS.collection, EXTENSIONS.itemAndCollection);\nEXTENSIONS.item = Object.assign(EXTENSIONS.item, EXTENSIONS.itemAndCollection);\n\nvar Ext = {\n\tparseUrl(url) {\n\t\tlet match = url.match(/^https?:\\/\\/stac-extensions.github.io\\/([^\\/]+)\\/v([^\\/]+)\\/[^.]+.json$/i);\n\t\tif (match) {\n\t\t\treturn {\n\t\t\t\tid: match[1],\n\t\t\t\tversion: match[2]\n\t\t\t};\n\t\t}\n\t}\n};\n\nvar V = {\n\tversion: LATEST_VERSION,\n\textensions: {},\n\n\tset(stac) {\n\t\tif (typeof stac.stac_version !== 'string') {\n\t\t\tV.version = '0.6.0'; // Assume the worst case, it doesn't seem there's a clear indicator for 0.7.0\n\t\t}\n\t\telse {\n\t\t\tV.version = stac.stac_version;\n\t\t}\n\n\t\tif (Array.isArray(stac.stac_extensions)) {\n\t\t\tfor(let ext of stac.stac_extensions) {\n\t\t\t\tlet e = Ext.parseUrl(ext);\n\t\t\t\tif (e) {\n\t\t\t\t\tV.extensions[e.id] = e.version;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tbefore(version, ext = null) {\n\t\tlet compareTo = ext ? V.extensions[ext] : V.version;\n\t\tif (typeof compareTo === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\t\telse {\n\t\t\treturn compareVersions.compare(compareTo, version, '<');\n\t\t}\n\t}\n};\n\nvar _ = {\n\n\ttype(val) {\n\t\tlet type = typeof val;\n\t\tif (type === 'object') {\n\t\t\tif (val === null) {\n\t\t\t\treturn 'null';\n\t\t\t}\n\t\t\telse if (Array.isArray(val)) {\n\t\t\t\treturn 'array';\n\t\t\t}\n\t\t}\n\t\treturn type;\n\t},\n\n\tis(val, type) {\n\t\treturn (_.type(val) === type);\n\t},\n\n\tisDefined(val) {\n\t\treturn (typeof val !== 'undefined');\n\t},\n\n\tisObject(obj) {\n\t\treturn (typeof obj === 'object' && obj === Object(obj) && !Array.isArray(obj));\n\t},\n\n\trename(obj, oldKey, newKey) {\n\t\tif (typeof obj[oldKey] !== 'undefined' && typeof obj[newKey] === 'undefined') {\n\t\t\tobj[newKey] = obj[oldKey];\n\t\t\tdelete obj[oldKey];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tforAll(obj, key, fn) {\n\t\tif (obj[key] && typeof obj[key] === 'object') {\n\t\t\tfor(let i in obj[key]) {\n\t\t\t\tfn(obj[key][i]);\n\t\t\t}\n\t\t}\n\t},\n\n\ttoArray(obj, key) {\n\t\tif (typeof obj[key] !== 'undefined' && !Array.isArray(obj[key])) {\n\t\t\tobj[key] = [obj[key]];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tflattenArray(obj, key, newKeys, summary = false) {\n\t\tif (Array.isArray(obj[key])) {\n\t\t\tfor(let i in obj[key]) {\n\t\t\t\tif (typeof newKeys[i] === 'string') {\n\t\t\t\t\tlet value = obj[key][i];\n\t\t\t\t\tobj[newKeys[i]] = summary ? [value] : value;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdelete obj[key];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tflattenOneElementArray(obj, key, summary = false) {\n\t\tif (!summary && Array.isArray(obj[key])) {\n\t\t\tif (obj[key].length === 1) {\n\t\t\t\tobj[key] = obj[key][0];\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn false; // It's still an array and we don't know which element to choose\n\t\t\t}\n\t\t}\n\t\treturn true; // It's already a single element\n\t},\n\n\tremoveFromArray(obj, key, valueToRemove) {\n\t\tif (Array.isArray(obj[key])) {\n\t\t\tlet index = obj[key].indexOf(valueToRemove);\n\t\t\tif (index > -1) {\n\t\t\t\tobj[key].splice(index, 1);\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tensure(obj, key, defaultValue) {\n\t\tif (_.type(defaultValue) !== _.type(obj[key])) {\n\t\t\tobj[key] = defaultValue;\n\t\t}\n\t\treturn true;\n\t},\n\n\tupgradeExtension(context, extension) {\n\t\tlet {id, version} = Ext.parseUrl(extension);\n\t\tlet index = context.stac_extensions.findIndex(url => {\n\t\t\tlet old = Ext.parseUrl(url);\n\t\t\treturn (old && old.id === id && compareVersions.compare(old.version, version, '<'));\n\t\t});\n\t\tif (index !== -1) {\n\t\t\tcontext.stac_extensions[index] = extension;\n\t\t\treturn true;\n\t\t}\n\t\telse {\n\t\t\treturn false;\n\t\t}\n\t},\n\n\taddExtension(context, newExtension) {\n\t\tlet {id, version} = Ext.parseUrl(newExtension);\n\t\tlet index = context.stac_extensions.findIndex(url => {\n\t\t\tif (url === newExtension) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tlet old = Ext.parseUrl(url);\n\t\t\tif (old && old.id === id && compareVersions.compare(old.version, version, '<')) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\tif (index === -1) {\n\t\t\tcontext.stac_extensions.push(newExtension);\n\t\t}\n\t\telse {\n\t\t\tcontext.stac_extensions[index] = newExtension;\n\t\t}\n\n\t\tcontext.stac_extensions.sort();\n\t\treturn true;\n\t},\n\n\tremoveExtension(context, oldExtension) {\n\t\treturn _.removeFromArray(context, 'stac_extensions', oldExtension);\n\t},\n\n\tmigrateExtensionShortnames(context) {\n\t\tlet oldShortnames = Object.keys(SCHEMAS);\n\t\tlet newSchemas = Object.values(SCHEMAS);\n\t\treturn _.mapValues(context, 'stac_extensions', oldShortnames, newSchemas);\n\t},\n\n\tpopulateExtensions(context, type) {\n\t\tlet objectsToCheck = [];\n\t\tif (type == 'catalog' || type == 'collection') {\n\t\t\tobjectsToCheck.push(context);\n\t\t}\n\t\tif ((type == 'item' || type == 'collection') && _.isObject(context.assets)) {\n\t\t\tobjectsToCheck = objectsToCheck.concat(Object.values(context.assets));\n\t\t}\n\t\tif (type == 'collection' && _.isObject(context.item_assets)) {\n\t\t\tobjectsToCheck = objectsToCheck.concat(Object.values(context.item_assets));\n\t\t}\n\t\tif (type == 'collection' && _.isObject(context.summaries)) {\n\t\t\tobjectsToCheck.push(context.summaries);\n\t\t}\n\t\tif (type == 'item' && _.isObject(context.properties)) {\n\t\t\tobjectsToCheck.push(context.properties);\n\t\t}\n\n\t\tfor (let obj of objectsToCheck) {\n\t\t\tObject.keys(obj).forEach(key => {\n\t\t\t\tlet prefix = key.match(/^(\\w+:|[^:]+$)/i);\n\t\t\t\tif (Array.isArray(prefix)) {\n\t\t\t\t\tlet ext = EXTENSIONS[type][prefix[0]];\n\t\t\t\t\t_.is(ext, 'string') && _.addExtension(context, ext) && DONE;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\tmapValues(obj, key, oldValues, newValues) {\n\t\tlet fn = value => {\n\t\t\tlet index = oldValues.indexOf(value);\n\t\t\tif (index >= 0) {\n\t\t\t\treturn newValues[index];\n\t\t\t}\n\t\t\treturn value;\t\n\t\t};\n\t\tif (Array.isArray(obj[key])) {\n\t\t\tobj[key] = obj[key].map(fn);\n\t\t}\n\t\telse if (typeof obj[key] !== 'undefined') {\n\t\t\tobj[key] = fn(obj[key]);\n\t\t}\n\t\treturn true;\n\t},\n\n\tmapObject(obj, fn) {\n\t\tfor(let key in obj) {\n\t\t\tobj[key] = fn(obj[key], key);\n\t\t}\n\t},\n\n\tmoveTo(obj, key, context, fromSummary = false, mergedSummary = false) {\n\t\tlet condition;\n\t\tif (fromSummary) {\n\t\t\tif (mergedSummary) {\n\t\t\t\tcondition = val => Array.isArray(val);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcondition = val => Array.isArray(val) && val.length === 1;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tcondition = _.isDefined\n\t\t}\n\t\tif (condition(obj[key])) {\n\t\t\tcontext[key] = fromSummary && !mergedSummary ? obj[key][0] : obj[key];\n\t\t\tdelete obj[key];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\trunAll(migrations, obj, context, summaries) {\n\t\tfor(let fn in migrations) {\n\t\t\tif (!fn.startsWith('migrate')) {\n\t\t\t\tmigrations[fn](obj, context, summaries);\n\t\t\t}\n\t\t}\n\t},\n\n\ttoUTC(obj, key) {\n\t\tif (typeof obj[key] === 'string') {\n\t\t\ttry {\n\t\t\t\tobj[key] = this.toISOString(obj[key]);\n\t\t\t\treturn true;\n\t\t\t} catch(error) {}\n\t\t}\n\t\tdelete obj[key];\n\t\treturn false;\n\t},\n\n\ttoISOString(date) {\n\t\tif (!(date instanceof Date)) {\n\t\t\tdate = new Date(date);\n\t\t}\n\t\treturn date.toISOString().replace('.000', ''); // Don't export milliseconds if not needed\n\t}\n\n};\n\nvar Checksum = {\n\n\tmultihash: null,\n\n\thexToUint8(hexString) {\n\t\tif(hexString.length === 0 || hexString.length % 2 !== 0){\n\t\t\tthrow new Error(`The string \"${hexString}\" is not valid hex.`)\n\t\t}\n\t\treturn new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));\n\t},\n\n\tuint8ToHex(bytes) {\n\t\treturn bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n\t},\n\n\ttoMultihash(obj, key, algo) {\n\t\tif (!Checksum.multihash || !_.is(obj[key], 'string')) {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\tconst encoded = Checksum.multihash.encode(Checksum.hexToUint8(obj[key]), algo);\n\t\t\tobj[key] = Checksum.uint8ToHex(encoded);\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tconsole.warn(error);\n\t\t\treturn false;\n\t\t}\n\t}\n\n};\n\nvar Catalog = {\n\n\tmigrate(catalog, updateVersionNumber = true) {\n\t\tV.set(catalog);\n\t\tif (updateVersionNumber) {\n\t\t\tcatalog.stac_version = LATEST_VERSION;\n\t\t}\n\t\tcatalog.type = 'Catalog';\n\n\t\t_.ensure(catalog, 'stac_extensions', []) && DONE;\n\t\tV.before('1.0.0-rc.1') && _.migrateExtensionShortnames(catalog) && DONE;\n\n\t\t_.ensure(catalog, 'id', '') && DONE;\n\t\t_.ensure(catalog, 'description', '') && DONE;\n\t\t_.ensure(catalog, 'links', []) && DONE;\n\n\t\t_.runAll(Catalog, catalog, catalog);\n\n\t\tV.before('0.8.0') && _.populateExtensions(catalog, 'catalog') && DONE;\n\n\t\treturn catalog;\n\t},\n\n};\n\nvar Collection = {\n\n\tmigrate(collection, updateVersionNumber = true) {\n\t\tCatalog.migrate(collection, updateVersionNumber); // Migrates stac_version, stac_extensions, id, title, description, links\n\t\tcollection.type = 'Collection';\n\t\t\n\t\tV.before('1.0.0-rc.1') && _.migrateExtensionShortnames(collection) && DONE;\n\n\t\t_.ensure(collection, 'license', 'proprietary') && DONE;\n\t\t_.ensure(collection, 'extent', {\n\t\t\tspatial: {\n\t\t\t\tbbox: []\n\t\t\t},\n\t\t\ttemporal: {\n\t\t\t\tinterval: []\n\t\t\t}\n\t\t}) && DONE;\n\n\t\t_.runAll(Collection, collection, collection);\n\n\t\t// Migrate Commons extension - part 3\n\t\tif (_.isObject(collection.properties)) {\n\t\t\t_.removeFromArray(collection, 'stac_extensions', 'commons') && DONE;\n\t\t\tdelete collection.properties;\n\t\t}\n\n\t\tV.before('0.8.0') && _.populateExtensions(collection, 'collection') && DONE;\n\t\tV.before('1.0.0-beta.1') && _.mapValues(collection, 'stac_extensions', ['assets'], ['item-assets']) && DONE;\n\n\t\treturn collection;\n\t},\n\n\textent(collection) {\n\t\t_.ensure(collection, \"extent\", {});\n\n\t\tif (V.before('0.8.0')) {\n\t\t\t// Restructure spatial extent\n\t\t\tif (Array.isArray(collection.extent.spatial)) {\n\t\t\t\tcollection.extent.spatial = {\n\t\t\t\t\tbbox: [\n\t\t\t\t\t\tcollection.extent.spatial\n\t\t\t\t\t]\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Restructure temporal extent\n\t\t\tif (Array.isArray(collection.extent.temporal)) {\n\t\t\t\tcollection.extent.temporal = {\n\t\t\t\t\tinterval: [\n\t\t\t\t\t\tcollection.extent.temporal\n\t\t\t\t\t]\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t_.ensure(collection.extent, \"spatial\", {});\n\t\t_.ensure(collection.extent.spatial, \"bbox\", []);\n\t\t_.ensure(collection.extent, \"temporal\", {});\n\t\t_.ensure(collection.extent.temporal, \"interval\", []);\n\n\t\tif (V.before('1.0.0-rc.3')) {\n\t\t\t// The first extent in a Collection is always the overall extent, followed by more specific extents.\n\t\t\tif (collection.extent.temporal.interval.length > 1) {\n\t\t\t\tlet min, max;\n\t\t\t\tfor(let interval of collection.extent.temporal.interval) {\n\t\t\t\t\tif (interval[0] === null) {\n\t\t\t\t\t\tmin = null;\n\t\t\t\t\t}\n\t\t\t\t\telse if (typeof interval[0] === 'string' && min !== null) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tlet start = new Date(interval[0]);\n\t\t\t\t\t\t\tif (typeof min === 'undefined' || start < min) {\n\t\t\t\t\t\t\t\tmin = start;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (interval[1] === null) {\n\t\t\t\t\t\tmax = null;\n\t\t\t\t\t}\n\t\t\t\t\telse if (typeof interval[1] === 'string' && max !== null) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tlet end = new Date(interval[1]);\n\t\t\t\t\t\t\tif (typeof max === 'undefined' || end > max) {\n\t\t\t\t\t\t\t\tmax = end;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {}\n\t\t\t\t\t} \n\t\t\t\t}\n\t\t\t\tcollection.extent.temporal.interval.unshift([\n\t\t\t\t\tmin ? _.toISOString(min) : null,\n\t\t\t\t\tmax ? _.toISOString(max) : null\n\t\t\t\t]);\n\t\t\t}\n\t\t\tif (collection.extent.spatial.bbox.length > 1) {\n\t\t\t\tlet count = collection.extent.spatial.bbox.reduce((val, bbox) => Array.isArray(bbox) ? Math.max(bbox.length, val) : val, 4);\n\t\t\t\tif (count >= 4) {\n\t\t\t\t\tlet union = new Array(count).fill(null);\n\t\t\t\t\tlet middle = count / 2;\n\t\t\t\t\tfor(let bbox of collection.extent.spatial.bbox) {\n\t\t\t\t\t\tif (!Array.isArray(bbox) || bbox.length < 4) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor(let i in bbox) {\n\t\t\t\t\t\t\tlet c = bbox[i];\n\t\t\t\t\t\t\tif (union[i] === null) {\n\t\t\t\t\t\t\t\tunion[i] = c;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (i < middle) {\n\t\t\t\t\t\t\t\tunion[i] = Math.min(c, union[i]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tunion[i] = Math.max(c, union[i]);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (union.findIndex(c => c === null) === -1) {\n\t\t\t\t\t\tcollection.extent.spatial.bbox.unshift(union);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tcollectionAssets(collection) {\n\t\tV.before('1.0.0-rc.1') && _.removeExtension(collection, 'collection-assets') && DONE;\n\n\t\tAsset.migrateAll(collection);\n\t},\n\n\titemAsset(collection) {\n\t\tV.before('1.0.0-beta.2') && _.rename(collection, 'item_assets', 'assets');\n\n\t\tAsset.migrateAll(collection, 'item_assets');\n\t},\n\n\tsummaries(collection) {\n\t\t_.ensure(collection, 'summaries', {});\n\n\t\t// other_properties: An early version of the Collection summaries with a similar structure\n\t\t// Was mostly used in standalone collections from openEO and GEE. Move other_properties to summaries.\n\t\tif (V.before('0.8.0') && _.isObject(collection.other_properties)) {\n\t\t\tfor(let key in collection.other_properties) {\n\t\t\t\tlet prop = collection.other_properties[key];\n\t\t\t\tif (Array.isArray(prop.extent) && prop.extent.length === 2) {\n\t\t\t\t\tcollection.summaries[key] = {\n\t\t\t\t\t\tminimum: prop.extent[0],\n\t\t\t\t\t\tmaximum: prop.extent[1],\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (Array.isArray(prop.values)) {\n\t\t\t\t\tif (prop.values.filter(v => Array.isArray(v)).length === prop.values.length) {\n\t\t\t\t\t\t// If it is an array of arrays, merge the arrays\n\t\t\t\t\t\tcollection.summaries[key] = prop.values.reduce((a, b) => a.concat(b), []);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tcollection.summaries[key] = prop.values;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdelete collection.other_properties;\n\t\t}\n\n\t\t// Migrate Commons extension - part 2\n\t\t// Move properties to (single element) summaries if the Collection is standalone\n\t\t// see also https://github.com/stac-utils/stac-migrate/issues/3\n\t\tif (V.before('1.0.0-beta.1') && _.isObject(collection.properties) && !collection.links.find(link => ['child', 'item'].includes(link.rel))) {\n\t\t\tfor(let key in collection.properties) {\n\t\t\t\tlet value = collection.properties[key];\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tvalue = [value];\n\t\t\t\t}\n\t\t\t\tcollection.summaries[key] = value;\n\t\t\t}\n\t\t}\n\n\t\tif (V.before('1.0.0-rc.1')) {\n\t\t\t_.mapObject(collection.summaries, val => {\n\t\t\t\t_.rename(val, 'min', 'minimum') && DONE;\n\t\t\t\t_.rename(val, 'max', 'maximum') && DONE;\n\t\t\t\treturn val;\n\t\t\t});\n\t\t}\n\n\t\t// now we can work on all summaries and migrate them\n\t\tFields.migrate(collection.summaries, collection, true);\n\n\t\t// Some fields should usually be on root-level if there's only one element\n\t\t_.moveTo(collection.summaries, 'sci:doi', collection, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n\t\t_.moveTo(collection.summaries, 'sci:publications', collection, true, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n\t\t_.moveTo(collection.summaries, 'sci:citation', collection, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n\t\t_.moveTo(collection.summaries, 'cube:dimensions', collection, true) && _.addExtension(collection, SCHEMAS.datacube) && DONE;\n\n\t\t// Remove summary field if empty\n\t\tif (Object.keys(collection.summaries).length === 0) {\n\t\t\tdelete collection.summaries;\n\t\t}\n\t}\n\n};\n\nvar Item = {\n\n\tmigrate(item, collection = null, updateVersionNumber = true) {\n\t\tV.set(item);\n\t\tif (updateVersionNumber) {\n\t\t\titem.stac_version = LATEST_VERSION;\n\t\t}\n\n\t\t_.ensure(item, 'stac_extensions', []) && DONE;\n\t\tV.before('1.0.0-rc.1') && _.migrateExtensionShortnames(item) && DONE;\n\n\t\t_.ensure(item, 'id', '') && DONE;\n\t\t_.ensure(item, 'type', 'Feature') && DONE;\n\t\tif (!_.isObject(item.geometry)) {\n\t\t\titem.geometry = null;\n\t\t}\n\t\tif (item.geometry !== null) {\n\t\t\t_.ensure(item, 'bbox', []) && DONE;\n\t\t}\n\t\t_.ensure(item, 'properties', {}) && DONE;\n\t\t_.ensure(item, 'links', []) && DONE;\n\t\t_.ensure(item, 'assets', {}) && DONE;\n\n\t\t// Migrate Commons extension - part 1\n\t\tlet commons = false;\n\t\tif (_.isObject(collection) && _.isObject(collection.properties)) {\n\t\t\t_.removeFromArray(item, 'stac_extensions', 'commons');\n\t\t\titem.properties = Object.assign({}, collection.properties, item.properties);\n\t\t\tcommons = true;\n\t\t}\n\n\t\t_.runAll(Item, item, item);\n\n\t\tFields.migrate(item.properties, item);\n\n\t\tAsset.migrateAll(item);\n\n\t\t// Also populate extensions if commons has been implemented\n\t\t(V.before('0.8.0') || commons) && _.populateExtensions(item, 'item') && DONE;\n\n\t\treturn item;\n\t}\n\n};\n\nvar CollectionCollection = {\n\n\tmigrate(object, updateVersionNumber = true) {\n\t\t_.ensure(object, 'collections', []) && DONE;\n\t\t_.ensure(object, 'links', []) && DONE;\n\n\t\t_.runAll(CollectionCollection, object, object);\n\n\t\tobject.collections = object.collections.map(collection => Collection.migrate(collection, updateVersionNumber));\n\n\t\treturn object;\n\t},\n\n};\n\nvar ItemCollection = {\n\n\tmigrate(itemCollection, updateVersionNumber = true) {\n\t\t_.ensure(itemCollection, 'type', 'FeatureCollection') && DONE;\n\t\t_.ensure(itemCollection, 'features', []) && DONE;\n\t\t_.ensure(itemCollection, 'links', []) && DONE;\n\n\t\t_.runAll(ItemCollection, itemCollection, itemCollection);\n\n\t\titemCollection.features = itemCollection.features.map(feature => Item.migrate(feature, null, updateVersionNumber));\n\n\t\treturn itemCollection;\n\t},\n\n};\n\nvar Asset = {\n\n\tmigrateAll(context, field = 'assets') {\n\t\tfor(let key in context[field]) {\n\t\t\tAsset.migrate(context[field][key], context);\n\t\t}\n\t},\n\n\tmigrate(asset, context) {\n\t\t_.runAll(Asset, asset, context);\n\n\t\tFields.migrate(asset, context);\n\n\t\treturn asset;\n\t},\n\n\tmediaTypes(asset) {\n\t\t_.is(asset.type, 'string') && _.mapValues(\n\t\t\tasset, 'type',\n\t\t\t['image/vnd.stac.geotiff', \t\t\t'image/vnd.stac.geotiff; cloud-optimized=true'],\n\t\t\t['image/tiff; application=geotiff',\t'image/tiff; application=geotiff; profile=cloud-optimized']\n\t\t);\n\t},\n\n\teo(asset, context) {\n\t\tlet bands = _.isObject(context.properties) && Array.isArray(context.properties['eo:bands']) ? context.properties['eo:bands'] : [];\n\t\tif (Array.isArray(asset['eo:bands'])) {\n\t\t\tfor(let i in asset['eo:bands']) {\n\t\t\t\tlet band = asset['eo:bands'][i];\n\t\t\t\tif (_.is(band, 'number') && _.isObject(bands[band])) {\n\t\t\t\t\tband = bands[band];\n\t\t\t\t}\n\t\t\t\telse if (!_.isObject(band)) {\n\t\t\t\t\tband = {}; // \"Fix\" invalid band index\n\t\t\t\t}\n\t\t\t\tasset['eo:bands'][i] = band;\n\t\t\t}\n\t\t}\n\t}\n\n};\n\nvar Fields = {\n\n\tmigrate(obj, context, summaries = false) {\n\t\t_.runAll(Fields, obj, context, summaries);\n\n\t\treturn obj;\n\t},\n\n\t_commonMetadata(obj) {\n\t\t// Timestamps must be always in UTC\n\t\t// datetime, start_datetime and end_datetime already required UTC before\n\t\tif (V.before('1.0.0-rc.3')) {\n\t\t\t_.toUTC(obj, 'created') && DONE;\n\t\t\t_.toUTC(obj, 'updated') && DONE;\n\t\t}\n\t},\n\n\t_timestamps(obj, context) {\n\t\t// Timestamps must be always in UTC\n\t\t_.toUTC(obj, 'published') && DONE;\n\t\t_.toUTC(obj, 'expires') && DONE;\n\t\t_.toUTC(obj, 'unpublished') && DONE;\n\n\t\t_.upgradeExtension(context, SCHEMAS.timestamps);\n\t},\n\n\t_versioningIndicator(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.version);\n\t},\n\n\tchecksum(obj, context) {\n\t\tif (V.before('0.9.0') && Checksum.multihash) {\n\t\t\t_.rename(obj, 'checksum:md5', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'md5') && DONE;\n\t\t\t_.rename(obj, 'checksum:sha1', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha1') && DONE;\n\t\t\t// We assume sha2/3-256 although that may fail in some cases and other lengths are chosen\n\t\t\t// Never seen this implemtned in the wild, so let's try this until another use case comes up\n\t\t\t_.rename(obj, 'checksum:sha2', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha2-256') && DONE;\n\t\t\t_.rename(obj, 'checksum:sha3', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha3-256') && DONE;\n\t\t}\n\n\t\tV.before('1.0.0-rc.1') && _.rename(obj, 'checksum:multihash', 'file:checksum') && _.addExtension(context, SCHEMAS.file) && DONE;\n\n\t\t_.removeExtension(context, 'checksum');\n\t},\n\n\tclassification(obj, context) {\n\t\tif (V.before('1.1.0', 'classification')) {\n\t\t\t_.forAll(obj, 'classification:classes', o => _.rename(o, 'color-hint', 'color_hint')) && DONE;\n\t\t}\n\n\t\t_.upgradeExtension(context, SCHEMAS.classification);\n\t},\n\n\tcube(obj, context) {\n\t\t// We'd need to convert proj strings to something else for v1.0 -> v2.0, but that's unfeasible here.\n\t\t// Nothing else to do here.\n\n\t\t_.upgradeExtension(context, SCHEMAS.datacube);\n\t},\n\n\tdtr(obj, context) {\n\t\tif (V.before('0.9.0')) {\n\t\t\t_.rename(obj, 'dtr:start_datetime', 'start_datetime') && DONE;\n\t\t\t_.rename(obj, 'dtr:end_datetime', 'end_datetime') && DONE;\n\t\t\t_.removeExtension(context, 'datetime-range') && DONE;\n\t\t}\n\t},\n\n\teo(obj, context) {\n\t\tif (V.before('0.9.0')) {\n\t\t\t_.rename(obj, 'eo:epsg', 'proj:epsg') && _.addExtension(context, SCHEMAS.projection) && DONE;\n\t\t\t_.rename(obj, 'eo:platform', 'platform') && DONE;\n\t\t\t_.rename(obj, 'eo:instrument', 'instruments') && _.toArray(obj, 'instruments') && DONE;\n\t\t\t_.rename(obj, 'eo:constellation', 'constellation') && DONE;\n\t\t\t_.rename(obj, 'eo:off_nadir', 'view:off_nadir') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t\t_.rename(obj, 'eo:azimuth', 'view:azimuth') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t\t_.rename(obj, 'eo:incidence_angle', 'view:incidence_angle') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t\t_.rename(obj, 'eo:sun_azimuth', 'view:sun_azimuth') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t\t_.rename(obj, 'eo:sun_elevation', 'view:sun_elevation') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t}\n\n\t\tV.before('1.0.0-beta.1') && _.rename(obj, 'eo:gsd', 'gsd') && DONE;\n\n\t\t_.upgradeExtension(context, SCHEMAS.eo);\n\t},\n\n\tfile(obj, context) {\n\t\t// TODO: Migrate to v2.1.0 - https://github.com/stac-utils/stac-migrate/issues/7\n\n\t\t_.upgradeExtension(context, SCHEMAS.file);\n\t},\n\n\tlabel(obj, context) {\n\t\t// Migrate 0.8.0-rc1 non-pluralized forms\n\t\tif (V.before('0.8.0')) {\n\t\t\t_.rename(obj, 'label:property', 'label:properties') && DONE;\n\t\t\t_.rename(obj, 'label:task', 'label:tasks') && DONE;\n\t\t\t_.rename(obj, 'label:overview', 'label:overviews') && _.toArray(obj, 'label:overviews') && DONE;\n\t\t\t_.rename(obj, 'label:method', 'label:methods') && DONE;\n\t\t\t_.toArray(obj, 'label:classes') && DONE;\n\t\t}\n\n\t\t_.upgradeExtension(context, SCHEMAS.label);\n\t},\n\n\tpc(obj, context) {\n\t\tV.before('0.8.0') && _.rename(obj, 'pc:schema', 'pc:schemas') && DONE;\n\n\t\t_.upgradeExtension(context, SCHEMAS.pointcloud);\n\t},\n\n\tprocessing(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.processing);\n\t},\n\n\tproj(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.projection);\n\t},\n\n\traster(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.raster);\n\t},\n\n\tsar(obj, context, summary) {\n\t\t// Which version have they been (re)moved?\n\t\t_.rename(obj, 'sar:incidence_angle', 'view:incidence_angle') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t_.rename(obj, 'sar:pass_direction', 'sat:orbit_state') && _.mapValues(obj, 'sat:orbit_state', [null], ['geostationary']) && _.addExtension(context, SCHEMAS.sat) && DONE;\n\n\t\tif (V.before('0.7.0')) {\n\t\t\t_.flattenArray(obj, 'sar:resolution', ['sar:resolution_range', 'sar:resolution_azimuth'], summary) && DONE;\n\t\t\t_.flattenArray(obj, 'sar:pixel_spacing', ['sar:pixel_spacing_range', 'sar:pixel_spacing_azimuth'], summary) && DONE;\n\t\t\t_.flattenArray(obj, 'sar:looks', ['sar:looks_range', 'sar:looks_azimuth', 'sar:looks_equivalent_number'], summary) && DONE;\n\t\t\t_.rename(obj, 'sar:off_nadir', 'view:off_nadir') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t}\n\n\t\tif (V.before('0.9.0')) {\n\t\t\t_.rename(obj, 'sar:platform', 'platform') && DONE;\n\t\t\t_.rename(obj, 'sar:instrument', 'instruments') && _.toArray(obj, 'instruments') && DONE;\n\t\t\t_.rename(obj, 'sar:constellation', 'constellation') && DONE;\n\t\t\t_.rename(obj, 'sar:type', 'sar:product_type') && DONE;\n\t\t\t_.rename(obj, 'sar:polarization', 'sar:polarizations') && DONE;\n\t\t\t_.flattenOneElementArray(obj, 'sar:absolute_orbit', summary) && _.rename(obj, 'sar:absolute_orbit', 'sat:absolute_orbit') && _.addExtension(context, SCHEMAS.sat) && DONE;\n\t\t\t_.flattenOneElementArray(obj, 'sar:relative_orbit', summary) && _.rename(obj, 'sar:relative_orbit', 'sat:relative_orbit') && _.addExtension(context, SCHEMAS.sat) && DONE;\n\t\t}\n\n\t\t_.upgradeExtension(context, SCHEMAS.sar);\n\t},\n\n\tsat(obj, context) {\n\t\t// Migrate 0.9.0-rc _angle suffixes\n\t\tif (V.before('0.9.0')) {\n\t\t\t_.rename(obj, 'sat:off_nadir_angle', 'sat:off_nadir') && DONE;\n\t\t\t_.rename(obj, 'sat:azimuth_angle', 'sat:azimuth') && DONE;\n\t\t\t_.rename(obj, 'sat:sun_azimuth_angle', 'sat:sun_azimuth') && DONE;\n\t\t\t_.rename(obj, 'sat:sun_elevation_angle', 'sat:sun_elevation') && DONE;\n\t\t}\n\n\t\t_.upgradeExtension(context, SCHEMAS.sat);\n\t},\n\n\tsci(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.scientific);\n\t},\n\n\titem(obj) { // Single Item\n\t\tif (V.before('0.8.0')) {\n\t\t\t_.rename(obj, 'item:license', 'license') && DONE;\n\t\t\t_.rename(obj, 'item:providers', 'providers') && DONE;\n\t\t\t// No need to remove the extension from stac_extensions as it was not available before 0.8.0\n\t\t}\n\t},\n\n\ttable(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.table);\n\t},\n\n\tview(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.view);\n\t}\n\n};\n\nvar Migrate = {\n\n\titem(item, collection = null, updateVersionNumber = true) {\n\t\treturn Item.migrate(item, collection, updateVersionNumber);\n\t},\n\t\n\tcatalog(catalog, updateVersionNumber = true) {\n\t\treturn Catalog.migrate(catalog, updateVersionNumber);\n\t},\n\t\n\tcollection(collection, updateVersionNumber = true) {\n\t\treturn Collection.migrate(collection, updateVersionNumber);\n\t},\n\n\tcollectionCollection(collections, updateVersionNumber = true) {\n\t\treturn CollectionCollection.migrate(collections, updateVersionNumber);\n\t},\n\n\titemCollection(itemCollection, updateVersionNumber = true) {\n\t\treturn ItemCollection.migrate(itemCollection, updateVersionNumber);\n\t},\n\t\n\tstac(object, updateVersionNumber = true) {\n\t\tif (object.type === 'Feature') {\n\t\t\treturn Migrate.item(object, null, updateVersionNumber);\n\t\t}\n\t\telse if (object.type === 'FeatureCollection') {\n\t\t\treturn Migrate.itemCollection(object, updateVersionNumber);\n\t\t}\n\t\telse if (object.type === 'Collection' || (!object.type && _.isDefined(object.extent) && _.isDefined(object.license))) {\n\t\t\treturn Migrate.collection(object, updateVersionNumber);\n\t\t}\n\t\telse if (!object.type && Array.isArray(object.collections)) {\n\t\t\treturn Migrate.collectionCollection(object, updateVersionNumber);\n\t\t}\n\t\telse {\n\t\t\treturn Migrate.catalog(object, updateVersionNumber);\n\t\t}\n\t},\n\n\tenableMultihash(multihash) {\n\t\tChecksum.multihash = multihash;\n\t}\n\n};\n\nmodule.exports = Migrate;\n","/* global define */\n(function (root, factory) {\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.compareVersions = factory();\n }\n}(this, function () {\n\n var semver = /^v?(?:\\d+)(\\.(?:[x*]|\\d+)(\\.(?:[x*]|\\d+)(\\.(?:[x*]|\\d+))?(?:-[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\n\n function indexOrEnd(str, q) {\n return str.indexOf(q) === -1 ? str.length : str.indexOf(q);\n }\n\n function split(v) {\n var c = v.replace(/^v/, '').replace(/\\+.*$/, '');\n var patchIndex = indexOrEnd(c, '-');\n var arr = c.substring(0, patchIndex).split('.');\n arr.push(c.substring(patchIndex + 1));\n return arr;\n }\n\n function tryParse(v) {\n return isNaN(Number(v)) ? v : Number(v);\n }\n\n function validate(version) {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n if (!semver.test(version)) {\n throw new Error('Invalid argument not valid semver (\\''+version+'\\' received)');\n }\n }\n\n function compareVersions(v1, v2) {\n [v1, v2].forEach(validate);\n\n var s1 = split(v1);\n var s2 = split(v2);\n\n for (var i = 0; i < Math.max(s1.length - 1, s2.length - 1); i++) {\n var n1 = parseInt(s1[i] || 0, 10);\n var n2 = parseInt(s2[i] || 0, 10);\n\n if (n1 > n2) return 1;\n if (n2 > n1) return -1;\n }\n\n var sp1 = s1[s1.length - 1];\n var sp2 = s2[s2.length - 1];\n\n if (sp1 && sp2) {\n var p1 = sp1.split('.').map(tryParse);\n var p2 = sp2.split('.').map(tryParse);\n\n for (i = 0; i < Math.max(p1.length, p2.length); i++) {\n if (p1[i] === undefined || typeof p2[i] === 'string' && typeof p1[i] === 'number') return -1;\n if (p2[i] === undefined || typeof p1[i] === 'string' && typeof p2[i] === 'number') return 1;\n\n if (p1[i] > p2[i]) return 1;\n if (p2[i] > p1[i]) return -1;\n }\n } else if (sp1 || sp2) {\n return sp1 ? -1 : 1;\n }\n\n return 0;\n };\n\n var allowedOperators = [\n '>',\n '>=',\n '=',\n '<',\n '<='\n ];\n\n var operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1]\n };\n\n function validateOperator(op) {\n if (typeof op !== 'string') {\n throw new TypeError('Invalid operator type, expected string but got ' + typeof op);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new TypeError('Invalid operator, expected one of ' + allowedOperators.join('|'));\n }\n }\n\n compareVersions.validate = function(version) {\n return typeof version === 'string' && semver.test(version);\n }\n\n compareVersions.compare = function (v1, v2, operator) {\n // Validate operator\n validateOperator(operator);\n\n // since result of compareVersions can only be -1 or 0 or 1\n // a simple map can be used to replace switch\n var res = compareVersions(v1, v2);\n return operatorResMap[operator].indexOf(res) > -1;\n }\n\n return compareVersions;\n}));\n","/**\n * The base class for authentication providers such as Basic and OpenID Connect.\n * \n * @abstract\n */\nclass AuthProvider {\n\n\t/**\n\t * Creates a new OidcProvider instance to authenticate using OpenID Connect.\n\t * \n\t * @param {string} type - The type of the authentication procedure as specified by the API, e.g. `oidc` or `basic`.\n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {AuthProviderMeta} options - Options\n\t */\n\tconstructor(type, connection, options) {\n\t\tthis.id = options.id || null;\n\t\tthis.title = options.title || \"\";\n\t\tthis.description = options.description || \"\";\n\t\tthis.type = type;\n\t\t/**\n\t\t * @protected\n\t\t * @type {Connection}\n\t\t */\n\t\tthis.connection = connection;\n\t\tthis.token = null;\n\t}\n\n\t/**\n\t * Get an identifier for the auth provider (combination of the type + provider identifier).\n\t * \n\t * @returns {string}\n\t */\n\tgetId() {\n\t\tlet id = this.getType();\n\t\tif (this.getProviderId().length > 0) {\n\t\t\tid += '.' + this.getProviderId();\n\t\t}\n\t\treturn id;\n\t}\n\n\t/**\n\t * Returns a display name for the authenticated user.\n\t * \n\t * @returns {string?} Name of the user or `null`\n\t */\n\tgetDisplayName() {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Returns the type of the authentication procedure as specified by the API, e.g. `oidc` or `basic`.\n\t * \n\t * @returns {string}\n\t */\n\tgetType() {\n\t\treturn this.type;\n\t}\n\n\t/**\n\t * Returns the provider identifier, may not be available for all authentication methods.\n\t * \n\t * @returns {string}\n\t */\n\tgetProviderId() {\n\t\treturn typeof this.id === 'string' ? this.id : \"\";\n\t}\n\n\t/**\n\t * Returns the human-readable title for the authentication method / provider.\n\t * \n\t * @returns {string}\n\t */\n\tgetTitle() {\n\t\treturn this.title;\n\t}\n\n\t/**\n\t * Returns the human-readable description for the authentication method / provider.\n\t * \n\t * @returns {string}\n\t */\n\tgetDescription() {\n\t\treturn this.description;\n\t}\n\n\t/**\n\t * Returns the access token that is used as Bearer Token in API requests.\n\t * \n\t * Returns `null` if no access token has been set yet (i.e. not authenticated any longer).\n\t * \n\t * @returns {string | null}\n\t */\n\tgetToken() {\n\t\tif (typeof this.token === 'string') {\n\t\t\treturn this.getType() + \"/\" + this.getProviderId() + \"/\" + this.token;\n\t\t}\n\t\telse {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Sets the access token that is used as Bearer Token in API requests.\n\t * \n\t * Set to `null` to remove the access token.\n\t * \n\t * This also manages which auth provider is set for the connection.\n\t * \n\t * @param {?string} token \n\t */\n\tsetToken(token) {\n\t\tthis.token = token;\n\t\tthis.connection.emit('tokenChanged', token);\n\t\tif (this.token !== null) {\n\t\t\tthis.connection.setAuthProvider(this);\n\t\t}\n\t\telse {\n\t\t\tthis.connection.setAuthProvider(null);\n\t\t}\n\t}\n\n\t/**\n\t * Abstract method that extending classes implement the login process with.\n\t * \n\t * @async\n\t * @param {...*} args \n\t * @throws {Error}\n\t */\n\tasync login(...args) {\n\t\tthrow new Error(\"Not implemented.\", args);\n\t}\n\n\t/**\n\t * Logout from the established session.\n\t * \n\t * This is experimental and just removes the token for now.\n\t * May need to be overridden by sub-classes.\n\t * \n\t * @async\n\t */\n\tasync logout() {\n\t\tthis.setToken(null);\n\t}\n\n}\n\nmodule.exports = AuthProvider;\n","/**\n * The base class for entities such as Job, Process Graph, Service etc.\n * \n * @abstract\n */\nclass BaseEntity {\n\n\t/**\n\t * Creates an instance of this object.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {Array.>} properties - A mapping from the API property names to the JS client property names (usually to convert between snake_case and camelCase), e.g. `[\"id\", \"title\", [\"process_graph\", \"processGraph\"]]`\n\t */\n\tconstructor(connection, properties = []) {\n\t\t/**\n\t\t * @protected\n\t\t * @type {Connection}\n\t\t */\n\t\tthis.connection = connection;\n\t\t/**\n\t\t * @protected\n\t\t * @type {object.}\n\t\t */\n\t\tthis.apiToClientNames = {};\n\t\t/**\n\t\t * @protected\n\t\t * @type {object.}\n\t\t */\n\t\tthis.clientToApiNames = {};\n\t\t/**\n\t\t * @protected\n\t\t * @type {number}\n\t\t */\n\t\tthis.lastRefreshTime = 0;\n\t\t/**\n\t\t * Additional (non-standardized) properties received from the API.\n\t\t * \n\t\t * @protected\n\t\t * @type {object.}\n\t\t */\n\t\tthis.extra = {};\n\t\t\n\t\tfor(let i in properties) {\n\t\t\tlet backend, client;\n\t\t\tif (Array.isArray(properties[i])) {\n\t\t\t\tbackend = properties[i][0];\n\t\t\t\tclient = properties[i][1];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbackend = properties[i];\n\t\t\t\tclient = properties[i];\n\t\t\t}\n\t\t\tthis.apiToClientNames[backend] = client;\n\t\t\tthis.clientToApiNames[client] = backend;\n\t\t}\n\t}\n\n\t/**\n\t * Returns a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {object.}\n\t */\n\ttoJSON() {\n\t\tlet obj = {};\n\t\tfor(let key in this.clientToApiNames) {\n\t\t\tlet apiKey = this.clientToApiNames[key];\n\t\t\tif (typeof this[key] !== 'undefined') {\n\t\t\t\tobj[apiKey] = this[key];\n\t\t\t}\n\t\t}\n\t\treturn Object.assign(obj, this.extra);\n\t}\n\n\t/**\n\t * Converts the data from an API response into data suitable for our JS client models.\n\t * \n\t * @param {object.} metadata - JSON object originating from an API response.\n\t * @returns {BaseEntity} Returns the object itself.\n\t */\n\tsetAll(metadata) {\n\t\tfor(let name in metadata) {\n\t\t\tif (typeof this.apiToClientNames[name] === 'undefined') {\n\t\t\t\tthis.extra[name] = metadata[name];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis[this.apiToClientNames[name]] = metadata[name];\n\t\t\t}\n\t\t}\n\t\tthis.lastRefreshTime = Date.now();\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns the age of the data in seconds.\n\t * \n\t * @returns {number} Age of the data in seconds as integer.\n\t */\n\tgetDataAge() {\n\t\treturn (Date.now() - this.lastRefreshTime) / 1000;\n\t}\n\n\t/**\n\t * Returns all data in the model.\n\t * \n\t * @returns {object.}\n\t */\n\tgetAll() {\n\t\tlet obj = {};\n\t\tfor(let backend in this.apiToClientNames) {\n\t\t\tlet client = this.apiToClientNames[backend];\n\t\t\tif (typeof this[client] !== 'undefined') {\n\t\t\t\tobj[client] = this[client];\n\t\t\t}\n\t\t}\n\t\treturn Object.assign(obj, this.extra);\n\t}\n\n\t/**\n\t * Get a value from the additional data that is not part of the core model, i.e. from proprietary extensions.\n\t * \n\t * @param {string} name - Name of the property.\n\t * @returns {*} The value, which could be of any type.\n\t */\n\tget(name) {\n\t\treturn typeof this.extra[name] !== 'undefined' ? this.extra[name] : null;\n\t}\n\n\t/**\n\t * Converts the object to a valid objects for API requests.\n\t * \n\t * @param {object.} parameters\n\t * @returns {object.}\n\t * @protected\n\t */\n\t_convertToRequest(parameters) {\n\t\tlet request = {};\n\t\tfor(let key in parameters) {\n\t\t\tif (typeof this.clientToApiNames[key] === 'undefined') {\n\t\t\t\trequest[key] = parameters[key];\n\t\t\t}\n\t\t\telse {\n\t\t\t\trequest[this.clientToApiNames[key]] = parameters[key];\n\t\t\t}\n\t\t}\n\t\treturn request;\n\t}\n\n\t/**\n\t * Checks whether a features is supported by the API.\n\t * \n\t * @param {string} feature\n\t * @returns {boolean}\n\t * @protected\n\t * @see Capabilities#hasFeature\n\t */\n\t_supports(feature) {\n\t\treturn this.connection.capabilities().hasFeature(feature);\n\t}\n\n}\n\nmodule.exports = BaseEntity;\n","const Environment = require('./env');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst AuthProvider = require('./authprovider');\n\n/**\n * The Authentication Provider for HTTP Basic.\n * \n * @augments AuthProvider\n */\nclass BasicProvider extends AuthProvider {\n\n\t/**\n\t * Creates a new BasicProvider instance to authenticate using HTTP Basic.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t */\n\tconstructor(connection) {\n\t\tsuper(\"basic\", connection, {\n\t\t\tid: null,\n\t\t\ttitle: \"HTTP Basic\",\n\t\t\tdescription: \"Login with username and password using the method HTTP Basic.\"\n\t\t});\n\t\tthis.username = null;\n\t}\n\n\t/**\n\t * Authenticate with HTTP Basic.\n\t * \n\t * @async\n\t * @param {string} username \n\t * @param {string} password \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync login(username, password) {\n\t\tlet response = await this.connection._send({\n\t\t\tmethod: 'get',\n\t\t\tresponseType: 'json',\n\t\t\turl: '/credentials/basic',\n\t\t\theaders: {'Authorization': 'Basic ' + Environment.base64encode(username + ':' + password)}\n\t\t});\n\t\tif (!Utils.isObject(response.data) || typeof response.data.access_token !== 'string') {\n\t\t\tthrow new Error(\"No access_token returned.\");\n\t\t}\n\t\tthis.username = username;\n\t\tthis.setToken(response.data.access_token);\n\t}\n\n\t/**\n\t * Returns a display name for the authenticated user.\n\t * \n\t * @returns {string?} Name of the user or `null`\n\t */\n\tgetDisplayName() {\n\t\treturn this.username;\n\t}\n\n\t/**\n\t * Logout from the established session.\n\t * \n\t * @async\n\t */\n\tasync logout() {\n\t\tthis.username = null;\n\t\tawait super.logout();\n\t}\n\n}\n\nmodule.exports = BasicProvider;","/**\n * Platform dependant utilities for the openEO JS Client.\n * \n * Browser implementation, don't use in other environments.\n * \n * @hideconstructor\n */\nclass Environment {\n\n\t/**\n\t * Returns the name of the Environment, here `Browser`.\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getName() {\n\t\treturn 'Browser';\n\t}\n\n\t/**\n\t * Returns the current URL of the browser window.\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getUrl() {\n\t\treturn window.location.toString();\n\t}\n\n\t/**\n\t * Sets the URL.\n\t * \n\t * Not supported in Browsers and only throws an Error!\n\t * \n\t * @param {string} uri\n\t * @static\n\t */\n\tstatic setUrl(uri) { // eslint-disable-line no-unused-vars\n\t\tthrow new Error(\"setUrl is not supported in a browser environment.\");\n\t}\n\n\t/**\n\t * Handles errors from the API that are returned as Blobs.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {Blob} error \n\t * @returns {Promise}\n\t */\n\tstatic handleErrorResponse(error) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet fileReader = new FileReader();\n\t\t\tfileReader.onerror = event => {\n\t\t\t\tfileReader.abort();\n\t\t\t\treject(event.target.error);\n\t\t\t};\n\t\t\tfileReader.onload = () => {\n\t\t\t\t// ArrayBuffer to String conversion is from https://developers.google.com/web/updates/2012/06/How-to-convert-ArrayBuffer-to-and-from-String\n\t\t\t\tlet res = fileReader.result instanceof ArrayBuffer ? String.fromCharCode.apply(null, new Uint16Array(fileReader.result)) : fileReader.result;\n\t\t\t\tlet obj = typeof res === 'string' ? JSON.parse(res) : res;\n\t\t\t\tresolve(obj);\n\t\t\t};\n\t\t\tfileReader.readAsText(error.response.data);\n\t\t});\n\t}\n\n\t/**\n\t * Returns how binary responses from the servers are returned (`stream` or `blob`).\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getResponseType() {\n\t\treturn 'blob';\n\t}\n\n\t/**\n\t * Encodes a string into Base64 encoding.\n\t * \n\t * @static\n\t * @param {string} str - String to encode.\n\t * @returns {string} String encoded in Base64.\n\t */\n\tstatic base64encode(str) {\n\t\t// btoa is JS's ugly name for encodeBase64\n\t\treturn btoa(str);\n\t}\n\n\t/**\n\t * Detect the file name for the given data source.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {*} source - An object from a file upload form.\n\t * @returns {string}\n\t */\n\tstatic fileNameForUpload(source) {\n\t\treturn source.name.split(/(\\\\|\\/)/g).pop();\n\t}\n\n\t/**\n\t * Get the data from the source that should be uploaded.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {*} source - An object from a file upload form.\n\t * @returns {*}\n\t */\n\tstatic dataForUpload(source) {\n\t\treturn source;\n\t}\n\n\t/**\n\t * Downloads files to local storage and returns a list of file paths.\n\t * \n\t * Not supported in Browsers and only throws an Error!\n\t * \n\t * @static\n\t * @param {Connection} con \n\t * @param {Array.>} assets \n\t * @param {string} targetFolder \n\t * @throws {Error}\n\t */\n\tstatic async downloadResults(con, assets, targetFolder) { // eslint-disable-line no-unused-vars\n\t\tthrow new Error(\"downloadResults is not supported in a browser environment.\");\n\t}\n\n\t/**\n\t * Offers data to download in the browser.\n\t * \n\t * This method may fail with overly big data.\n\t * \n\t * @async\n\t * @static\n\t * @param {*} data - Data to download.\n\t * @param {string} filename - File name that is suggested to the user.\n\t * @returns {Promise}\n\t * @see https://github.com/kennethjiang/js-file-download/blob/master/file-download.js\n\t */\n\tstatic saveToFile(data, filename) {\n\t\t/* istanbul ignore next */\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!(data instanceof Blob)) {\n\t\t\t\t\tdata = new Blob([data], {type: 'application/octet-stream'});\n\t\t\t\t}\n\t\t\t\tlet blobURL = window.URL.createObjectURL(data);\n\t\t\t\tlet tempLink = document.createElement('a');\n\t\t\t\ttempLink.style.display = 'none';\n\t\t\t\ttempLink.href = blobURL;\n\t\t\t\ttempLink.setAttribute('download', filename || 'download');\n\t\t\t\tif (typeof tempLink.download === 'undefined') {\n\t\t\t\t\ttempLink.setAttribute('target', '_blank');\n\t\t\t\t}\n\t\t\t\tdocument.body.appendChild(tempLink);\n\t\t\t\ttempLink.click();\n\t\t\t\tdocument.body.removeChild(tempLink);\n\t\t\t\twindow.URL.revokeObjectURL(blobURL);\n\t\t\t\tresolve();\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error);\n\t\t\t\treject(error);\n\t\t\t}\n\t\t});\n\t}\n}\n\nmodule.exports = Environment;\n","const BuilderNode = require('./node');\nconst Parameter = require('./parameter');\nconst axios = require('axios');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst ProcessUtils = require(\"@openeo/js-commons/src/processUtils\");\nconst ProcessRegistry = require('@openeo/js-commons/src/processRegistry');\n\nconst PROCESS_META = [\n\t\"id\", \"summary\", \"description\", \"categories\", \"parameters\", \"returns\",\n\t\"deprecated\", \"experimental\", \"exceptions\", \"examples\", \"links\"\n];\n\n/**\n * A class to construct processes easily.\n * \n * An example (`con` is a object of type `Connection`):\n * \n * ```\n * var builder = await con.buildProcess();\n * \n * var datacube = builder.load_collection(\n * new Parameter(\"collection-id\", \"string\", \"The ID of the collection to load\"), // collection-id is then a process parameter that can be specified by users.\n * { \"west\": 16.1, \"east\": 16.6, \"north\": 48.6, \"south\": 47.2 },\n * [\"2018-01-01\", \"2018-02-01\"],\n * [\"B02\", \"B04\", \"B08\"]\n * );\n * \n * // Alternative 1 - using the Formula class\n * var eviAlgorithm = new Formula('2.5 * (($B08 - $B04) / (1 + $B08 + 6 * $B04 + -7.5 * $B02))');\n * // Alternative 2 - \"by hand\"\n * var eviAlgorithm = function(data) {\n * var nir = data[\"B08\"]; // Array access by label, accessing label \"B08\" here\n * var red = data[\"B04\"];\n * var blue = data[\"B02\"];\n * return this.multiply(\n * 2.5,\n * this.divide(\n * this.subtract(nir, red),\n * this.sum([\n * 1,\n * nir,\n * this.multiply(6, red),\n * this.multiply(-7.5, blue)\n * ])\n * )\n * );\n * };\n * datacube = builder.reduce_dimension(datacube, eviAlgorithm, \"bands\")\n * .description(\"Compute the EVI. Formula: 2.5 * (NIR - RED) / (1 + NIR + 6*RED + -7.5*BLUE)\");\n * \n * var min = function(data) { return this.min(data); };\n * datacube = builder.reduce_dimension(datacube, min, \"t\");\n * \n * datacube = builder.save_result(datacube, \"PNG\");\n * \n * var storedProcess = await con.setUserProcess(\"evi\", datacube);\n * ```\n * \n * As you can see above, the builder in callback functions is available as `this`.\n * Arrow functions do not support rebinding this and therefore the builder is passed as the last argument.\n * \n * So a normal function can be defined as follows:\n * ```\n * let callback = function(data) {\n * return this.mean(data);\n * }\n * ```\n * \n * An arrow function on the other hand has to use the builder that is passed as the last parameter:\n * ```\n * let callback = (data, c, builder) => builder.mean(data);\n * ```\n * \n * Using arrow functions is available only since JS client version 1.3.0.\n * Beforehand it was not possible to use arrow functions in this context.\n */\nclass Builder {\n\n\t/**\n\t * Creates a Builder instance that can be used without connecting to a back-end.\n\t * \n\t * It requests the processes for the version specified from processes.openeo.org.\n\t * Requests the latest version if no version number is passed.\n\t * \n\t * @async\n\t * @static\n\t * @param {?string} [version=null]\n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tstatic async fromVersion(version = null) {\n\t\tlet url = 'https://processes.openeo.org/processes.json';\n\t\tif (typeof version === 'string') {\n\t\t\turl = 'https://processes.openeo.org/' + version + '/processes.json';\n\t\t}\n\t\treturn await Builder.fromURL(url);\n\t}\n\n\t/**\n\t * Creates a Builder instance that can be used without connecting to a back-end.\n\t * \n\t * It requests the processes for the version specified from the given URL.\n\t * CORS needs to be implemented on the server-side for the URL given.\n\t * \n\t * @async\n\t * @static\n\t * @param {string | null} url \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tstatic async fromURL(url) {\n\t\tlet response = await axios(url);\n\t\treturn new Builder(response.data);\n\t}\n\n\t/**\n\t * Creates a Builder instance.\n\t * \n\t * Each process passed to the constructor is made available as object method.\n\t * \n\t * @param {Array.|Processes|ProcessRegistry} processes - Either an array containing processes or an object compatible with `GET /processes` of the API.\n\t * @param {?Builder} parent - The parent builder, usually only used by the Builder itself.\n\t * @param {string} id - A unique identifier for the process.\n\t */\n\tconstructor(processes, parent = null, id = undefined) {\n\t\t/**\n\t\t * A unique identifier for the process.\n\t\t * @public\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = id;\n\t\t/**\n\t\t * The parent builder.\n\t\t * @type {Builder | null}\n\t\t */\n\t\tthis.parent = parent;\n\t\t/**\n\t\t * The parent node.\n\t\t * @type {BuilderNode | null}\n\t\t */\n\t\tthis.parentNode = null;\n\t\t/**\n\t\t * The parent parameter name.\n\t\t * @type {string | null}\n\t\t */\n\t\tthis.parentParameter = null;\n\t\t\n\t\tthis.nodes = {};\n\t\tthis.idCounter = {};\n\t\tthis.callbackParameterCache = {};\n\t\tthis.parameters = undefined;\n\n\t\t/**\n\t\t * List of all non-namespaced process specifications.\n\t\t * @type {ProcessRegistry}\n\t\t */\n\t\tthis.processes = null;\n\n\t\t// Create process registry if not available yet\n\t\tif (processes instanceof ProcessRegistry) {\n\t\t\tthis.processes = processes;\n\t\t}\n\t\telse if (Utils.isObject(processes) && Array.isArray(processes.processes)) {\n\t\t\tthis.processes = new ProcessRegistry(processes.processes);\n\t\t}\n\t\telse if (Array.isArray(processes)) {\n\t\t\tthis.processes = new ProcessRegistry(processes);\n\t\t}\n\t\telse {\n\t\t\tthrow new Error(\"Processes are invalid; must be array or object according to the API.\");\n\t\t}\n\n\t\t// Create processes\n\t\tthis.processes.all().forEach(process => this.createFunction(process));\n\t}\n\n\t/**\n\t * Creates a callable function on the builder object for a process.\n\t * \n\t * @param {Process} process\n\t * @throws {Error}\n\t */\n\tcreateFunction(process) {\n\t\tif (typeof this[process.id] !== 'undefined') {\n\t\t\tthrow new Error(\"Can't create function for process '\" + process.id + \"'. Already exists in Builder class.\");\n\t\t}\n\n\t\t/**\n\t\t * Implicitly calls the process with the given name on the back-end by adding it to the process.\n\t\t * \n\t\t * This is a shortcut for {@link Builder#process}.\n\t\t * \n\t\t * @param {...*} args - The arguments for the process.\n\t\t * @returns {BuilderNode}\n\t\t * @see Builder#process\n\t\t */\n\t\tthis[process.id] = function(...args) {\n\t\t\t// Don't use arrow functions, they don't support the arguments keyword.\n\t\t\treturn this.process(process.id, args);\n\t\t};\n\t}\n\n\t/**\n\t * Adds a process specification to the builder so that it can be used to create a process graph.\n\t * \n\t * @param {Process} process - Process specification compliant to openEO API\n\t * @param {?string} [namespace=null] - Namespace of the process (default to `null`, i.e. pre-defined processes). EXPERIMENTAL!\n\t * @throws {Error}\n\t */\n\taddProcessSpec(process, namespace = null) {\n\t\tif (!Utils.isObject(process)) {\n\t\t\tthrow new Error(\"Process '\" + process.id + \"' must be an object.\");\n\t\t}\n\n\t\tif (!namespace) {\n\t\t\tnamespace = 'backend';\n\t\t}\n\t\tthis.processes.add(process, namespace);\n\n\t\t// Create callable function for pre-defined processes\n\t\tif (namespace === 'backend') {\n\t\t\tthis.createFunction(process);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the parent for this Builder.\n\t * \n\t * @param {BuilderNode} node \n\t * @param {string} parameterName \n\t */\n\tsetParent(node, parameterName) {\n\t\tthis.parentNode = node;\n\t\tthis.parentParameter = parameterName;\n\t}\n\n\t/**\n\t * Creates a callback parameter with the given name.\n\t * \n\t * @protected\n\t * @param {string} parameterName \n\t * @returns {Proxy}\n\t */\n\tcreateCallbackParameter(parameterName) {\n\t\tif (!this.callbackParameterCache[parameterName]) {\n\t\t\tthis.callbackParameterCache[parameterName] = Parameter.create(this, parameterName);\n\t\t}\n\t\treturn this.callbackParameterCache[parameterName];\n\t}\n\n\t/**\n\t * Gets the callback parameter specifics from the parent process.\n\t * \n\t * @returns {Array.>}\n\t * @todo Should this also pass callback parameters from parents until root is reached?\n\t */\n\tgetParentCallbackParameters() {\n\t\tlet callbackParams = [];\n\t\tif (this.parentNode && this.parentParameter) {\n\t\t\ttry {\n\t\t\t\tcallbackParams = ProcessUtils.getCallbackParametersForProcess(this.parentNode.spec, this.parentParameter).map(param => this.createCallbackParameter(param.name));\n\t\t\t} catch(error) {\n\t\t\t\tconsole.warn(error);\n\t\t\t}\n\t\t}\n\t\treturn callbackParams;\n\t}\n\n\t/**\n\t * Adds a parameter to the list of process parameters.\n\t * \n\t * Doesn't add the parameter if it has the same name as a callback parameter.\n\t * \n\t * @param {object.} parameter - The parameter spec to add, must comply to the API.\n\t * @param {boolean} [root=true] - Adds the parameter to the root process if set to `true`, otherwise to the process constructed by this builder. Usually you want to add it to the root.\n\t */\n\taddParameter(parameter, root = true) {\n\t\tif (this.getParentCallbackParameters().find(p => p.name === parameter.name) !== undefined) {\n\t\t\treturn; // parameter refers to callback\n\t\t}\n\n\t\t/**\n\t\t * @type {Builder}\n\t\t */\n\t\tlet builder = this;\n\t\tif (root) {\n\t\t\twhile(builder.parent) {\n\t\t\t\tbuilder = builder.parent;\n\t\t\t}\n\t\t}\n\t\tif (!Array.isArray(builder.parameters)) {\n\t\t\tbuilder.parameters = [];\n\t\t}\n\t\tlet existing = builder.parameters.findIndex(p => p.name === parameter.name);\n\t\tif (existing !== -1) {\n\t\t\tObject.assign(builder.parameters[existing], parameter); // Merge\n\t\t}\n\t\telse {\n\t\t\tbuilder.parameters.push(parameter); // Add\n\t\t}\n\t}\n\n\t/**\n\t * Returns the process specification for the given process identifier and namespace (or `null`).\n\t * \n\t * @param {string} id - Process identifier\n\t * @param {?string} [namespace=null] - Namespace of the process (default to `null`, i.e. user or backend namespace). EXPERIMENTAL!\n\t * @returns {Process | null}\n\t */\n\tspec(id, namespace = null) {\n\t\treturn this.processes.get(id, namespace);\n\t}\n\n\t/**\n\t * Adds a mathematical formula to the process.\n\t * \n\t * See the {@link Formula} class for more information.\n\t * \n\t * @param {string} formula \n\t * @returns {BuilderNode}\n\t * @throws {Error}\n\t * @see Formula\n\t */\n\tmath(formula) {\n\t\tconst Formula = require('./formula');\n\t\tlet math = new Formula(formula);\n\t\tmath.setBuilder(this);\n\t\treturn math.generate(false);\n\t}\n\n\t/**\n\t * Checks whether a process with the given id and namespace is supported by the back-end.\n\t * \n\t * @param {string} processId - The id of the process.\n\t * @param {?string} [namespace=null] - Namespace of the process (default to `null`, i.e. pre-defined processes). EXPERIMENTAL!\n\t * @returns {boolean}\n\t */\n\tsupports(processId, namespace = null) {\n\t\treturn Boolean(this.spec(processId, namespace));\n\t}\n\n\t/**\n\t * Adds another process call to the process chain.\n\t * \n\t * @param {string} processId - The id of the process to call. To access a namespaced process, use the `process@namespace` notation.\n\t * @param {object.|Array} [args={}] - The arguments as key-value pairs or as array. For objects, they keys must be the parameter names and the values must be the arguments. For arrays, arguments must be specified in the same order as in the corresponding process.\n\t * @param {?string} [description=null] - An optional description for the process call.\n\t * @returns {BuilderNode}\n\t */\n\tprocess(processId, args = {}, description = null) {\n\t\tlet namespace = null;\n\t\tif (processId.includes('@')) {\n\t\t\tlet rest;\n\t\t\t[processId, ...rest] = processId.split('@');\n\t\t\tnamespace = rest.join('@');\n\t\t}\n\t\tlet node = new BuilderNode(this, processId, args, description, namespace);\n\t\tthis.nodes[node.id] = node;\n\t\treturn node;\n\t}\n\n\t/**\n\t * Returns a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {Process}\n\t */\n\ttoJSON() {\n\t\tlet process = {\n\t\t\tprocess_graph: Utils.mapObjectValues(this.nodes, node => node.toJSON())\n\t\t};\n\t\tPROCESS_META.forEach(key => {\n\t\t\tif (typeof this[key] !== 'undefined') {\n\t\t\t\tprocess[key] = this[key];\n\t\t\t}\n\t\t});\n\t\treturn process;\n\t}\n\t\n\t/**\n\t * Generates a unique identifier for the process nodes.\n\t * \n\t * A prefix can be given to make the identifiers more human-readable.\n\t * If the given name is empty, the id is simply an incrementing number.\n\t * \n\t * @param {string} [prefix=\"\"]\n\t * @returns {string}\n\t */\n\tgenerateId(prefix = \"\") {\n\t\tprefix = prefix.replace(\"_\", \"\").substr(0, 6);\n\t\tif (!this.idCounter[prefix]) {\n\t\t\tthis.idCounter[prefix] = 1;\n\t\t}\n\t\telse {\n\t\t\tthis.idCounter[prefix]++;\n\t\t}\n\t\treturn prefix + this.idCounter[prefix];\n\t}\n\n}\n\nmodule.exports = Builder;","const TapDigit = require(\"./tapdigit\");\nconst Parameter = require(\"./parameter\");\nconst BuilderNode = require('./node');\n\n/**\n * This converts a mathematical formula into a openEO process for you.\n * \n * Operators: - (subtract), + (add), / (divide), * (multiply), ^ (power)\n * \n * It supports all mathematical functions (i.e. expects a number and returns a number) the back-end implements, e.g. `sqrt(x)`.\n * For namespaced processes, use for example `process@namespace(x)` - EXPERIMENTAL!\n * \n * Only available if a builder is specified in the constructor:\n * You can refer to output from processes with a leading `#`, e.g. `#loadco1` if the node to refer to has the key `loadco1`.\n * \n * Only available if a parent node is set via `setNode()`:\n * Parameters can be accessed simply by name. \n * If the first parameter is a (labeled) array, the value for a specific index or label can be accessed by typing the numeric index or textual label with a `$` in front, for example `$B1` for the label `B1` or `$0` for the first element in the array. Numeric labels are not supported.\n * You can access subsequent parameters by adding additional `$` at the beginning, e.g. `$$0` to access the first element of an array in the second parameter, `$$$0` for the same in the third parameter etc.\n * \n * An example that computes an EVI (assuming the labels for the bands are `NIR`, `RED` and `BLUE`): `2.5 * ($NIR - $RED) / (1 + $NIR + 6 * $RED + (-7.5 * $BLUE))`\n */\nclass Formula {\n\n\t/**\n\t * Creates a math formula object.\n\t * \n\t * @param {string} formula - A mathematical formula to parse.y\n\t */\n\tconstructor(formula) {\n\t\tlet parser = new TapDigit.Parser();\n\t\t/**\n\t\t * @type {object.}\n\t\t */\n\t\tthis.tree = parser.parse(formula);\n\t\t/**\n\t\t * @type {Builder | null}\n\t\t */\n\t\tthis.builder = null;\n\t}\n\n\t/**\n\t * The builder instance to use.\n\t * \n\t * @param {Builder} builder - The builder instance to add the formula to.\n\t */\n\tsetBuilder(builder) {\n\t\tthis.builder = builder;\n\t}\n\n\t/**\n\t * Generates the processes for the formula specified in the constructor.\n\t * \n\t * Returns the last node that computes the result.\n\t * \n\t * @param {boolean} setResultNode - Set the `result` flag to `true`.\n\t * @returns {BuilderNode}\n\t * @throws {Error}\n\t */\n\tgenerate(setResultNode = true) {\n\t\tlet finalNode = this.parseTree(this.tree);\n\t\tif (!(finalNode instanceof BuilderNode)) {\n\t\t\tthrow new Error('Invalid formula specified.');\n\t\t}\n\t\t// Set result node\n\t\tif (setResultNode) {\n\t\t\tfinalNode.result = true;\n\t\t}\n\t\treturn finalNode;\n\t}\n\n\t/**\n\t * Walks through the tree generated by the TapDigit parser and generates process nodes.\n\t * \n\t * @protected\n\t * @param {object.} tree \n\t * @returns {object.}\n\t * @throws {Error}\n\t */\n\tparseTree(tree) {\n\t\tlet key = Object.keys(tree)[0]; // There's never more than one property so no loop required\n\t\tswitch(key) {\n\t\t\tcase 'Number':\n\t\t\t\treturn parseFloat(tree.Number);\n\t\t\tcase 'Identifier':\n\t\t\t\treturn this.getRef(tree.Identifier);\n\t\t\tcase 'Expression':\n\t\t\t\treturn this.parseTree(tree.Expression);\n\t\t\tcase 'FunctionCall': {\n\t\t\t\tlet args = [];\n\t\t\t\tfor(let i in tree.FunctionCall.args) {\n\t\t\t\t\targs.push(this.parseTree(tree.FunctionCall.args[i]));\n\t\t\t\t}\n\t\t\t\treturn this.builder.process(tree.FunctionCall.name, args);\n\t\t\t}\n\t\t\tcase 'Binary':\n\t\t\t\treturn this.addOperatorProcess(\n\t\t\t\t\ttree.Binary.operator,\n\t\t\t\t\tthis.parseTree(tree.Binary.left),\n\t\t\t\t\tthis.parseTree(tree.Binary.right)\n\t\t\t\t);\n\t\t\tcase 'Unary': {\n\t\t\t\tlet val = this.parseTree(tree.Unary.expression);\n\t\t\t\tif (tree.Unary.operator === '-') {\n\t\t\t\t\tif (typeof val === 'number') {\n\t\t\t\t\t\treturn -val;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn this.addOperatorProcess('*', -1, val);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn val;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Operation ' + key + ' not supported.');\n\t\t}\n\t}\n\n\t/**\n\t * Gets the reference for a value, e.g. from_node or from_parameter.\n\t * \n\t * @protected\n\t * @param {*} value \n\t * @returns {*}\n\t */\n\tgetRef(value) {\n\t\t// Convert native data types\n\t\tif (value === 'true') {\n\t\t\treturn true;\n\t\t}\n\t\telse if (value === 'false') {\n\t\t\treturn false;\n\t\t}\n\t\telse if (value === 'null') {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Output of a process\n\t\tif (typeof value === 'string' && value.startsWith('#')) {\n\t\t\tlet nodeId = value.substring(1);\n\t\t\tif (nodeId in this.builder.nodes) {\n\t\t\t\treturn { from_node: nodeId };\n\t\t\t}\n\t\t}\n\n\t\tlet callbackParams = this.builder.getParentCallbackParameters();\n\t\t// Array labels / indices\n\t\tif (typeof value === 'string' && callbackParams.length > 0) {\n\t\t\tlet prefix = value.match(/^\\$+/);\n\t\t\tlet count = prefix ? prefix[0].length : 0;\n\t\t\tif (count > 0 && callbackParams.length >= count) {\n\t\t\t\tlet ref = value.substring(count);\n\t\t\t\treturn callbackParams[count-1][ref];\n\t\t\t}\n\t\t}\n\n\t\t// Everything else is a parameter\n\t\tlet parameter = new Parameter(value);\n\t\t// Add new parameter if it doesn't exist\n\t\tthis.builder.addParameter(parameter);\n\t\treturn parameter;\n\t}\n\n\t/**\n\t * Adds a process node for an operator like +, -, *, / etc.\n\t * \n\t * @param {string} operator - The operator.\n\t * @param {number|object.} left - The left part for the operator.\n\t * @param {number|object.} right - The right part for the operator.\n\t * @returns {BuilderNode}\n\t * @throws {Error}\n\t */\n\taddOperatorProcess(operator, left, right) {\n\t\tlet processName = Formula.operatorMapping[operator];\n\t\tlet process = this.builder.spec(processName);\n\t\tif (processName && process) {\n\t\t\tlet args = {};\n\t\t\tif (!Array.isArray(process.parameters) || process.parameters.length < 2) {\n\t\t\t\tthrow new Error(\"Process for operator \" + operator + \" must have at least two parameters\");\n\t\t\t}\n\t\t\targs[process.parameters[0].name || 'x'] = left;\n\t\t\targs[process.parameters[1].name || 'y'] = right;\n\t\t\treturn this.builder.process(processName, args);\n\t\t}\n\t\telse {\n\t\t\tthrow new Error('Operator ' + operator + ' not supported');\n\t\t}\n\t}\n\n}\n\n/**\n * List of supported operators.\n * \n * All operators must have the parameters be name x and y.\n * \n * The key is the mathematical operator, the value is the process identifier.\n * \n * @type {object.}\n */\nFormula.operatorMapping = {\n\t\"-\": \"subtract\",\n\t\"+\": \"add\",\n\t\"/\": \"divide\",\n\t\"*\": \"multiply\",\n\t\"^\": \"power\"\n};\n\nmodule.exports = Formula;\n","const Utils = require(\"@openeo/js-commons/src/utils\");\nconst Parameter = require(\"./parameter\");\n\n/**\n * A class that represents a process node and also a result from a process.\n */\nclass BuilderNode {\n\n\t/**\n\t * Creates a new process node for the builder.\n\t * \n\t * @param {Builder} parent\n\t * @param {string} processId \n\t * @param {object.} [processArgs={}]\n\t * @param {?string} [processDescription=null]\n\t * @param {?string} [processNamespace=null]\n\t */\n\tconstructor(parent, processId, processArgs = {}, processDescription = null, processNamespace = null) {\n\t\t/**\n\t\t * The parent builder.\n\t\t * @type {Builder}\n\t\t */\n\t\tthis.parent = parent;\n\n\t\t/**\n\t\t * The specification of the process associated with this node.\n\t\t * @type {Process}\n\t\t * @readonly\n\t\t */\n\t\tthis.spec = this.parent.spec(processId, processNamespace);\n\t\tif (!this.spec) {\n\t\t\tthrow new Error(\"Process doesn't exist: \" + processId);\n\t\t}\n\n\t\t/**\n\t\t * The unique identifier for the node (not the process ID!).\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = parent.generateId(processId);\n\t\t/**\n\t\t * The namespace of the process - EXPERIMENTAL!\n\t\t * @type {string}\n\t\t */\n\t\tthis.namespace = processNamespace;\n\t\t/**\n\t\t * The arguments for the process.\n\t\t * @type {object.}\n\t\t */\n\t\tthis.arguments = Array.isArray(processArgs) ? this.namedArguments(processArgs) : processArgs;\n\t\t/**\n\t\t * @ignore\n\t\t */\n\t\tthis._description = processDescription;\n\t\t/**\n\t\t * Is this the result node?\n\t\t * @type {boolean}\n\t\t */\n\t\tthis.result = false;\n\n\t\tthis.addParametersToProcess(this.arguments);\n\t}\n\n\t/**\n\t * Converts a sorted array of arguments to an object with the respective parameter names.\n\t * \n\t * @param {Array.>} processArgs \n\t * @returns {object.}\n\t * @throws {Error}\n\t */\n\tnamedArguments(processArgs) {\n\t\tif (processArgs.length > (this.spec.parameters || []).length) {\n\t\t\tthrow new Error(\"More arguments specified than parameters available.\");\n\t\t}\n\t\tlet obj = {};\n\t\tif (Array.isArray(this.spec.parameters)) {\n\t\t\tfor(let i = 0; i < this.spec.parameters.length; i++) {\n\t\t\t\tobj[this.spec.parameters[i].name] = processArgs[i];\n\t\t\t}\n\t\t}\n\t\treturn obj;\n\t}\n\n\t/**\n\t * Checks the arguments given for parameters and add them to the process.\n\t * \n\t * @param {object.|Array} processArgs \n\t */\n\taddParametersToProcess(processArgs) {\n\t\tfor(let key in processArgs) {\n\t\t\tlet arg = processArgs[key];\n\t\t\tif (arg instanceof Parameter) {\n\t\t\t\tif (Utils.isObject(arg.spec.schema)) {\n\t\t\t\t\tthis.parent.addParameter(arg.spec);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (arg instanceof BuilderNode) {\n\t\t\t\tthis.addParametersToProcess(arg.arguments);\n\t\t\t}\n\t\t\telse if (Array.isArray(arg) || Utils.isObject(arg)) {\n\t\t\t\tthis.addParametersToProcess(arg);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets/Sets a description for the node.\n\t * \n\t * Can be used in a variety of ways:\n\t * \n\t * By default, this is a function: \n\t * `node.description()` - Returns the description.\n\t * `node.description(\"foo\")` - Sets the description to \"foo\". Returns the node itself for method chaining.\n\t * \n\t * You can also \"replace\" the function (not supported in TypeScript!),\n\t * then it acts as normal property and the function is not available any longer:\n\t * `node.description = \"foo\"` - Sets the description to \"foo\".\n\t * Afterwards you can call `node.description` as normal object property.\n\t * \n\t * @param {string|undefined} description - Optional: If given, set the value.\n\t * @returns {string|BuilderNode}\n\t */\n\tdescription(description) {\n\t\tif (typeof description === 'undefined') {\n\t\t\treturn this._description;\n\t\t}\n\t\telse {\n\t\t\tthis._description = description;\n\t\t\treturn this;\n\t\t}\n\t}\n\n\t/**\n\t * Converts the given argument into something serializable...\n\t * \n\t * @protected\n\t * @param {*} arg - Argument\n\t * @param {string} name - Parameter name\n\t * @returns {*}\n\t */\n\texportArgument(arg, name) {\n\t\tconst Formula = require('./formula');\n\t\tif (Utils.isObject(arg)) {\n\t\t\tif (arg instanceof BuilderNode || arg instanceof Parameter) {\n\t\t\t\treturn arg.ref();\n\t\t\t}\n\t\t\telse if (arg instanceof Formula) {\n\t\t\t\tlet builder = this.createBuilder(this, name);\n\t\t\t\targ.setBuilder(builder);\n\t\t\t\targ.generate();\n\t\t\t\treturn builder.toJSON();\n\t\t\t}\n\t\t\telse if (arg instanceof Date) {\n\t\t\t\treturn arg.toISOString();\n\t\t\t}\n\t\t\telse if (typeof arg.toJSON === 'function') {\n\t\t\t\treturn arg.toJSON();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet obj = {};\n\t\t\t\tfor(let key in arg) {\n\t\t\t\t\tif (typeof arg[key] !== 'undefined') {\n\t\t\t\t\t\tobj[key] = this.exportArgument(arg[key], name);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t}\n\t\telse if (Array.isArray(arg)) {\n\t\t\treturn arg.map(element => this.exportArgument(element), name);\n\t\t}\n\t\t// export child process graph\n\t\telse if (typeof arg === 'function') {\n\t\t\treturn this.exportCallback(arg, name);\n\t\t}\n\t\telse {\n\t\t\treturn arg;\n\t\t}\n\t}\n\n\t/**\n\t * Creates a new Builder, usually for a callback.\n\t * \n\t * @protected\n\t * @param {?BuilderNode} [parentNode=null]\n\t * @param {?string} [parentParameter=null]\n\t * @returns {BuilderNode}\n\t */\n\tcreateBuilder(parentNode = null, parentParameter = null) {\n\t\tconst Builder = require('./builder');\n\t\tlet builder = new Builder(this.parent.processes, this.parent);\n\t\tif (parentNode !== null && parentParameter !== null) {\n\t\t\tbuilder.setParent(parentNode, parentParameter);\n\t\t}\n\t\treturn builder;\n\t}\n\n\t/**\n\t * Returns the serializable process for the callback function given.\n\t * \n\t * @protected\n\t * @param {Function} arg - callback function\n\t * @param {string} name - Parameter name\n\t * @returns {object.}\n\t * @throws {Error}\n\t */\n\texportCallback(arg, name) {\n\t\tlet builder = this.createBuilder(this, name);\n\t\tlet params = builder.getParentCallbackParameters();\n\t\t// Bind builder to this, so that this.xxx can be used for processes\n\t\t// Also pass builder as last parameter so that we can grab it in arrow functions\n\t\tlet node = arg.bind(builder)(...params, builder);\n\t\tif (Array.isArray(node) && builder.supports('array_create')) {\n\t\t\tnode = builder.array_create(node);\n\t\t}\n\t\telse if (!Utils.isObject(node) && builder.supports('constant')) {\n\t\t\tnode = builder.constant(node);\n\t\t}\n\t\tif (node instanceof BuilderNode) {\n\t\t\tnode.result = true;\n\t\t\treturn builder.toJSON();\n\t\t}\n\t\telse {\n\t\t\tthrow new Error(\"Callback must return BuilderNode\");\n\t\t}\n\t}\n\n\t/**\n\t * Returns a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {object.}\n\t */\n\ttoJSON() {\n\t\tlet obj = {\n\t\t\tprocess_id: this.spec.id,\n\t\t\targuments: {}\n\t\t};\n\t\tif (this.namespace) {\n\t\t\tobj.namespace = this.namespace;\n\t\t}\n\t\tfor(let name in this.arguments) {\n\t\t\tif (typeof this.arguments[name] !== 'undefined') {\n\t\t\t\tobj.arguments[name] = this.exportArgument(this.arguments[name], name);\n\t\t\t}\n\t\t}\n\t\tif (typeof this.description !== 'function') {\n\t\t\tobj.description = this.description;\n\t\t}\n\t\telse if (typeof this._description === 'string') {\n\t\t\tobj.description = this._description;\n\t\t}\n\t\tif (this.result) {\n\t\t\tobj.result = true;\n\t\t}\n\t\treturn obj;\n\t}\n\n\t/**\n\t * Returns the reference object for this node.\n\t * \n\t * @returns {FromNode}\n\t */\n\tref() {\n\t\treturn { from_node: this.id };\n\t}\n\n}\n\nmodule.exports = BuilderNode;\n","\"use strict\";\n\n/**\n * A class that represents a process parameter. \n * \n * This is used for two things:\n * 1. You can create process parameters (placeholders) with `new Parameter()`.\n * 2. This is passed to functions for the parameters of the sub-process.\n * \n * For the second case, you can access array elements referred to by the parameter\n * with a simplified notation: \n * \n * ```\n * function(data, context) {\n * data['B1'] // Accesses the B1 element of the array by label\n * data[1] // Accesses the second element of the array by index\n * }\n * ```\n * \n * Those array calls create corresponding `array_element` nodes in the process. So it's\n * equivalent to\n * `this.array_element(data, undefined, 'B1')` or \n * `this.array_element(data, 1)` respectively.\n * \n * Simple access to numeric labels is not supported. You need to use `array_element` directly, e.g.\n * `this.array_element(data, undefined, 1)`.\n */\nclass Parameter {\n\n\t/**\n\t * Creates a new parameter instance, but proxies calls to it\n\t * so that array access is possible (see class description).\n\t * \n\t * @static\n\t * @param {Builder} builder \n\t * @param {string} parameterName \n\t * @returns {Proxy}\n\t */\n\tstatic create(builder, parameterName) {\n\t\tlet parameter = new Parameter(parameterName, null);\n\t\tif (typeof Proxy !== \"undefined\") {\n\t\t\treturn new Proxy(parameter, {\n\t\t\t\t// @ts-ignore\n\t\t\t\tnodeCache: {},\n\t\t\t\t/**\n\t\t\t\t * Getter for array access (see class description).\n\t\t\t\t * \n\t\t\t\t * @ignore\n\t\t\t\t * @param {object} target \n\t\t\t\t * @param {string|number|symbol} name \n\t\t\t\t * @param {?*} receiver \n\t\t\t\t * @returns {*}\n\t\t\t\t */\n\t\t\t\tget(target, name, receiver) {\n\t\t\t\t\tif (!Reflect.has(target, name)) {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tif (!this.nodeCache[name]) {\n\t\t\t\t\t\t\tlet args = {\n\t\t\t\t\t\t\t\tdata: parameter\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tif (typeof name === 'string' && name.match(/^(0|[1-9]\\d*)$/)) {\n\t\t\t\t\t\t\t\targs.index = parseInt(name, 10);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\targs.label = name;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// We assume array_element exists\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tthis.nodeCache[name] = builder.process(\"array_element\", args);\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\treturn this.nodeCache[name];\n\t\t\t\t\t}\n\t\t\t\t\treturn Reflect.get(target, name, receiver);\n\t\t\t\t},\n\t\t\t\t/**\n\t\t\t\t * Setter for array access.\n\t\t\t\t * \n\t\t\t\t * Usually fails as write access to arrays is not supported.\n\t\t\t\t * \n\t\t\t\t * @ignore\n\t\t\t\t * @param {object} target \n\t\t\t\t * @param {string|number|symbol} name \n\t\t\t\t * @param {*} value \n\t\t\t\t * @param {?*} receiver \n\t\t\t\t * @returns {boolean}\n\t\t\t\t */\n\t\t\t\tset(target, name, value, receiver) {\n\t\t\t\t\tif (!Reflect.has(target, name)) {\n\t\t\t\t\t\tthrow new Error('Simplified array access is read-only');\n\t\t\t\t\t}\n\t\t\t\t\treturn Reflect.set(target, name, value, receiver);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthrow new Error('Simplified array access not supported, use array_element directly');\n\t\t}\n\t}\n\t\n\t/**\n\t * Creates a new process parameter.\n\t * \n\t * @param {string} name - Name of the parameter.\n\t * @param {object.|string} schema - The schema for the parameter. Can be either an object compliant to JSON Schema or a string with a JSON Schema compliant data type, e.g. `string`.\n\t * @param {string} description - A description for the parameter\n\t * @param {*} defaultValue - An optional default Value for the parameter. If set, make the parameter optional. If not set, the parameter is required. Defaults to `undefined`.\n\t */\n\tconstructor(name, schema = {}, description = \"\", defaultValue = undefined) {\n\t\tthis.name = name;\n\t\tthis.spec = {\n\t\t\tname: name,\n\t\t\tschema: typeof schema === 'string' ? { type: schema } : schema,\n\t\t\tdescription: description,\n\t\t};\n\t\t// No support for experimental and deprecated yet\n\t\tif (typeof defaultValue !== 'undefined') {\n\t\t\tthis.spec.optional = true;\n\t\t\tthis.spec.default = defaultValue;\n\t\t}\n\t}\n\n\t/**\n\t * Returns a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {object.}\n\t */\n\ttoJSON() {\n\t\treturn this.spec;\n\t}\n\n\t/**\n\t * Returns the reference object for this parameter.\n\t * \n\t * @returns {FromParameter}\n\t */\n\tref() {\n\t\treturn { from_parameter: this.name };\n\t}\n\n}\n\nmodule.exports = Parameter;\n","/*\n Copyright (C) 2011 Ariya Hidayat \n Copyright (C) 2010 Ariya Hidayat \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n * Neither the name of the nor the\n names of its contributors may be used to endorse or promote products\n derived from this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n/* eslint-disable jsdoc/require-jsdoc */\n/**\n * @ignore\n */\nlet TapDigit = {\n Token: {\n Operator: 'Operator',\n Identifier: 'Identifier',\n Number: 'Number'\n }\n};\n\nconst SUP_MAPPING = {\n '⁰': 0,\n '¹': 1,\n '²': 2,\n '³': 3,\n '⁴': 4,\n '⁵': 5,\n '⁶': 6,\n '⁷': 7,\n '⁸': 8,\n '⁹': 9\n};\nconst SUP_STRING = Object.keys(SUP_MAPPING).join('');\n\nTapDigit.Lexer = function () {\n let expression = '',\n length = 0,\n index = 0,\n marker = 0,\n T = TapDigit.Token;\n\n function peekNextChar() {\n let idx = index;\n return ((idx < length) ? expression.charAt(idx) : '\\x00');\n }\n\n function getNextChar() {\n let ch = '\\x00',\n idx = index;\n if (idx < length) {\n ch = expression.charAt(idx);\n index += 1;\n }\n return ch;\n }\n\n function isWhiteSpace(ch) {\n return (ch === '\\u0009') || (ch === ' ') || (ch === '\\u00A0');\n }\n\n function isLetter(ch) {\n return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');\n }\n\n function isDecimalDigit(ch) {\n return (ch >= '0') && (ch <= '9');\n }\n\n function createToken(type, value) {\n return {\n type: type,\n value: value,\n start: marker,\n end: index - 1\n };\n }\n\n function skipSpaces() {\n let ch;\n\n while (index < length) {\n ch = peekNextChar();\n if (!isWhiteSpace(ch)) {\n break;\n }\n getNextChar();\n }\n }\n\n function scanOperator() {\n let ch = peekNextChar();\n if (('+-*/()^,' + SUP_STRING).indexOf(ch) >= 0) {\n return createToken(T.Operator, getNextChar());\n }\n return undefined;\n }\n\n function isIdentifierStart(ch) {\n return (ch === '_') || (ch === '#') || (ch === '$') || isLetter(ch);\n }\n\n function isAdditionalNamespaceChar(ch) {\n return (ch === '-') || (ch === '.') || (ch === '~') || (ch === '@');\n }\n\n function isIdentifierPart(ch, ns = false) {\n return (ch === '_') || isLetter(ch) || isDecimalDigit(ch) || (ns && isAdditionalNamespaceChar(ch));\n }\n\n function scanIdentifier() {\n let startCh = peekNextChar();\n if (!isIdentifierStart(startCh)) {\n return undefined;\n }\n\n let id = getNextChar();\n let ns = false;\n while (true) {\n let ch = peekNextChar();\n // If the first character is a $, it is allowed that more $ follow directly after\n if (startCh === '$') {\n if (ch !== '$') {\n startCh = ''; // Stop allowing $ once the first non-$ has been found\n } // else: allowed\n }\n else if (ch === '@') {\n ns = true;\n }\n else if (!isIdentifierPart(ch, ns)) {\n break;\n }\n id += getNextChar();\n }\n\n return createToken(T.Identifier, id);\n }\n\n function scanNumber() {\n let ch;\n let number;\n\n ch = peekNextChar();\n if (!isDecimalDigit(ch) && (ch !== '.')) {\n return undefined;\n }\n\n number = '';\n if (ch !== '.') {\n number = getNextChar();\n while (true) {\n ch = peekNextChar();\n if (!isDecimalDigit(ch)) {\n break;\n }\n number += getNextChar();\n }\n }\n\n if (ch === '.') {\n number += getNextChar();\n while (true) {\n ch = peekNextChar();\n if (!isDecimalDigit(ch)) {\n break;\n }\n number += getNextChar();\n }\n }\n\n if (ch === 'e' || ch === 'E') {\n number += getNextChar();\n ch = peekNextChar();\n if (ch === '+' || ch === '-' || isDecimalDigit(ch)) {\n number += getNextChar();\n while (true) {\n ch = peekNextChar();\n if (!isDecimalDigit(ch)) {\n break;\n }\n number += getNextChar();\n }\n } else {\n ch = 'character ' + ch;\n if (index >= length) {\n ch = '';\n }\n throw new SyntaxError('Unexpected ' + ch + ' after the exponent sign');\n }\n }\n\n if (number === '.') {\n throw new SyntaxError('Expecting decimal digits after the dot sign');\n }\n\n return createToken(T.Number, number);\n }\n\n function reset(str) {\n expression = str;\n length = str.length;\n index = 0;\n }\n\n function next() {\n let token;\n\n skipSpaces();\n if (index >= length) {\n return undefined;\n }\n\n marker = index;\n\n token = scanNumber();\n if (typeof token !== 'undefined') {\n return token;\n }\n\n token = scanOperator();\n if (typeof token !== 'undefined') {\n return token;\n }\n\n token = scanIdentifier();\n if (typeof token !== 'undefined') {\n return token;\n }\n\n\n throw new SyntaxError('Unknown token from character ' + peekNextChar());\n }\n\n function peek() {\n let token;\n let idx = index;\n try {\n token = next();\n delete token.start;\n delete token.end;\n } catch (e) {\n token = undefined;\n }\n index = idx;\n\n return token;\n }\n\n return {\n reset: reset,\n next: next,\n peek: peek\n };\n};\n\nTapDigit.Parser = function () {\n let lexer = new TapDigit.Lexer(),\n T = TapDigit.Token;\n\n function matchOp(token, op) {\n return (typeof token !== 'undefined') &&\n token.type === T.Operator &&\n op.includes(token.value);\n }\n\n // ArgumentList := Expression |\n // Expression ',' ArgumentList\n function parseArgumentList() {\n let token;\n let expr;\n let args = [];\n\n while (true) {\n expr = parseExpression();\n if (typeof expr === 'undefined') {\n // @todo maybe throw exception?\n break;\n }\n args.push(expr);\n token = lexer.peek();\n if (!matchOp(token, ',')) {\n break;\n }\n lexer.next();\n }\n\n return args;\n }\n\n // FunctionCall ::= Identifier '(' ')' ||\n // Identifier '(' ArgumentList ')'\n function parseFunctionCall(name) {\n let args = [];\n let token = lexer.next();\n if (!matchOp(token, '(')) {\n throw new SyntaxError('Expecting ( in a function call \"' + name + '\"');\n }\n\n token = lexer.peek();\n if (!matchOp(token, ')')) {\n args = parseArgumentList();\n }\n\n token = lexer.next();\n if (!matchOp(token, ')')) {\n throw new SyntaxError('Expecting ) in a function call \"' + name + '\"');\n }\n\n return {\n 'FunctionCall' : {\n 'name': name,\n 'args': args\n }\n };\n }\n\n // Primary ::= Identifier |\n // Number |\n // '(' Expression ')' |\n // FunctionCall\n function parsePrimary() {\n let expr;\n let token = lexer.peek();\n if (typeof token === 'undefined') {\n throw new SyntaxError('Unexpected termination of expression');\n }\n\n if (token.type === T.Identifier) {\n token = lexer.next();\n if (matchOp(lexer.peek(), '(')) {\n return parseFunctionCall(token.value);\n } else {\n return {\n 'Identifier': token.value\n };\n }\n }\n\n if (token.type === T.Number) {\n token = lexer.next();\n return {\n 'Number': token.value\n };\n }\n\n if (matchOp(token, '(')) {\n lexer.next();\n expr = parseExpression();\n token = lexer.next();\n if (!matchOp(token, ')')) {\n throw new SyntaxError('Expecting )');\n }\n return {\n 'Expression': expr\n };\n }\n\n throw new SyntaxError('Parse error, can not process token ' + token.value);\n }\n\n // Unary ::= Primary |\n // '-' Unary\n function parseUnary() {\n let expr;\n let token = lexer.peek();\n if (matchOp(token, '-+')) {\n token = lexer.next();\n expr = parseUnary();\n return {\n 'Unary': {\n operator: token.value,\n expression: expr\n }\n };\n }\n\n return parsePrimary();\n }\n\n function parseSuperscript(ch) {\n if (typeof SUP_MAPPING[ch] === 'number') {\n return {'Number': SUP_MAPPING[ch]};\n }\n return null;\n }\n\n // Power ::= Unary |\n // Power '^' Unary |\n // Power⁰¹²³⁴⁵⁶⁷⁸⁹\n function parsePower() {\n let expr = parseUnary();\n let token = lexer.peek();\n while (matchOp(token, '^' + SUP_STRING)) {\n token = lexer.next();\n expr = {\n 'Binary': {\n operator: '^',\n left: expr,\n right: token.value !== '^' ? parseSuperscript(token.value) : parseUnary()\n }\n };\n token = lexer.peek();\n }\n return expr;\n }\n\n // Multiplicative ::= Power |\n // Multiplicative '*' Power |\n // Multiplicative '/' Power |\n function parseMultiplicative() {\n let expr = parsePower();\n let token = lexer.peek();\n while (matchOp(token, '*/')) {\n token = lexer.next();\n expr = {\n 'Binary': {\n operator: token.value,\n left: expr,\n right: parsePower()\n }\n };\n token = lexer.peek();\n }\n return expr;\n }\n\n // Additive ::= Multiplicative |\n // Additive '+' Multiplicative |\n // Additive '-' Multiplicative\n function parseAdditive() {\n let expr = parseMultiplicative();\n let token = lexer.peek();\n while (matchOp(token, '+-')) {\n token = lexer.next();\n expr = {\n 'Binary': {\n operator: token.value,\n left: expr,\n right: parseMultiplicative()\n }\n };\n token = lexer.peek();\n }\n return expr;\n }\n\n // Expression ::= Additive\n function parseExpression() {\n return parseAdditive();\n }\n\n function parse(expression) {\n lexer.reset(expression);\n let expr = parseExpression();\n let token = lexer.next();\n if (typeof token !== 'undefined') {\n throw new SyntaxError('Unexpected token ' + token.value);\n }\n\n return {\n 'Expression': expr\n };\n }\n\n return {\n parse: parse\n };\n};\n\nmodule.exports = TapDigit;\n","const Utils = require('@openeo/js-commons/src/utils');\n\nconst FEATURE_MAP = {\n\t// Discovery\n\tcapabilities: true,\n\tlistFileTypes: 'get /file_formats',\n\tlistServiceTypes: 'get /service_types',\n\tlistUdfRuntimes: 'get /udf_runtimes',\n\t// Collections\n\tlistCollections: 'get /collections',\n\tdescribeCollection: 'get /collections/{}',\n\tlistCollectionItems: 'get /collections/{}/items',\n\tdescribeCollectionItem: 'get /collections/{}/items/{}',\n\tdescribeCollectionQueryables: 'get /collections/{}/queryables',\n\t// Processes\n\tlistProcesses: 'get /processes',\n\tdescribeProcess: 'get /processes',\n\t// Auth / Account\n\tlistAuthProviders: true,\n\tauthenticateOIDC: 'get /credentials/oidc',\n\tauthenticateBasic: 'get /credentials/basic',\n\tdescribeAccount: 'get /me',\n\t// Files\n\tlistFiles: 'get /files',\n\tgetFile: 'get /files', // getFile is a virtual function and doesn't request an endpoint, but get /files should be available nevertheless.\n\tuploadFile: 'put /files/{}',\n\tdownloadFile: 'get /files/{}',\n\tdeleteFile: 'delete /files/{}',\n\t// User-Defined Processes\n\tvalidateProcess: 'post /validation',\n\tlistUserProcesses: 'get /process_graphs',\n\tdescribeUserProcess: 'get /process_graphs/{}',\n\tgetUserProcess: 'get /process_graphs/{}',\n\tsetUserProcess: 'put /process_graphs/{}',\n\treplaceUserProcess: 'put /process_graphs/{}',\n\tdeleteUserProcess: 'delete /process_graphs/{}',\n\t// Processing\n\tcomputeResult: 'post /result',\n\tlistJobs: 'get /jobs',\n\tcreateJob: 'post /jobs',\n\tlistServices: 'get /services',\n\tcreateService: 'post /services',\n\tgetJob: 'get /jobs/{}',\n\tdescribeJob: 'get /jobs/{}',\n\tupdateJob: 'patch /jobs/{}',\n\tdeleteJob: 'delete /jobs/{}',\n\testimateJob: 'get /jobs/{}/estimate',\n\tdebugJob: 'get /jobs/{}/logs',\n\tstartJob: 'post /jobs/{}/results',\n\tstopJob: 'delete /jobs/{}/results',\n\tlistResults: 'get /jobs/{}/results',\n\tdownloadResults: 'get /jobs/{}/results',\n\t// Web services\n\tdescribeService: 'get /services/{}',\n\tgetService: 'get /services/{}',\n\tupdateService: 'patch /services/{}',\n\tdeleteService: 'delete /services/{}',\n\tdebugService: 'get /services/{}/logs',\n};\n\n/**\n * Capabilities of a back-end.\n */\nclass Capabilities {\n\n\t/**\n\t * Creates a new Capabilities object from an API-compatible JSON response.\n\t * \n\t * @param {object.} data - A capabilities response compatible to the API specification for `GET /`.\n\t * @throws {Error}\n\t */\n\tconstructor(data) {\n\n\t\t/**\n\t\t * @private\n\t\t * @type {object.}\n\t\t */\n\t\tthis.data = data;\n\n\t\t/**\n\t\t * @private\n\t\t * @ignore\n\t\t * @type {object.}\n\t\t */\n\t\tthis.featureMap = FEATURE_MAP;\n\n\t\t/**\n\t\t * @private\n\t\t * @type {Array.}\n\t\t */\n\t\tthis.features = [];\n\n\t\tthis.validate();\n\t\tthis.init();\n\t}\n\n\t/**\n\t * Validates the capabilities.\n\t * \n\t * Throws an error in case of an issue, otherwise just passes.\n\t * \n\t * @protected\n\t * @throws {Error}\n\t */\n\tvalidate() {\n\t\tif(!Utils.isObject(this.data)) {\n\t\t\tthrow new Error(\"No capabilities retrieved.\");\n\t\t}\n\t\telse if(!this.data.api_version) {\n\t\t\tthrow new Error(\"Invalid capabilities: No API version retrieved\");\n\t\t}\n\t\telse if(!Array.isArray(this.data.endpoints)) {\n\t\t\tthrow new Error(\"Invalid capabilities: No endpoints retrieved\");\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the class.\n\t * \n\t * @protected\n\t */\n\tinit() {\n\t\tthis.features = this.data.endpoints\n\t\t\t// Flatten features and simplify variables to be compatible with the feature map.\n\t\t\t.map(e => e.methods.map(method => {\n\t\t\t\tconst path = e.path.replace(/\\{[^}]+\\}/g, '{}');\n\t\t\t\treturn `${method} ${path}`.toLowerCase();\n\t\t\t}))\n\t\t\t.reduce((flat, next) => flat.concat(next), []); // .flat(1) once browser support for ECMAscript 10/2019 gets better\n\t}\n\n\t/**\n\t * Returns the capabilities response as a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {object.} - A reference to the capabilities response.\n\t */\n\ttoJSON() {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Returns the openEO API version implemented by the back-end.\n\t * \n\t * @returns {string} openEO API version number.\n\t */\n\tapiVersion() {\n\t\treturn this.data.api_version;\n\t}\n\n\t/**\n\t * Returns the back-end version number.\n\t * \n\t * @returns {string} openEO back-end version number.\n\t */\n\tbackendVersion() {\n\t\treturn this.data.backend_version;\n\t}\n\n\t/**\n\t * Returns the back-end title.\n\t * \n\t * @returns {string} Title\n\t */\n\ttitle() {\n\t\treturn typeof this.data.title === 'string' ? this.data.title : \"\";\n\t}\n\n\t/**\n\t * Returns the back-end description.\n\t * \n\t * @returns {string} Description\n\t */\n\tdescription() {\n\t\treturn typeof this.data.description === 'string' ? this.data.description : \"\";\n\t}\n\n\t/**\n\t * Is the back-end suitable for use in production?\n\t * \n\t * @returns {boolean} true = stable/production, false = unstable\n\t */\n\tisStable() {\n\t\treturn this.data.production === true;\n\t}\n\n\t/**\n\t * Returns the links.\n\t * \n\t * @returns {Array.} Array of link objects (href, title, rel, type)\n\t */\n\tlinks() {\n\t\treturn Array.isArray(this.data.links) ? this.data.links : [];\n\t}\n\n\t/**\n\t * Lists all supported features.\n\t * \n\t * @returns {Array.} An array of supported features.\n\t */\n\tlistFeatures() {\n\t\tlet features = [];\n\t\tfor(let feature in this.featureMap) {\n\t\t\tif (this.featureMap[feature] === true || this.features.includes(this.featureMap[feature])) {\n\t\t\t\tfeatures.push(feature);\n\t\t\t}\n\t\t}\n\t\treturn features.sort();\n\t}\n\n\t/**\n\t * Check whether a feature is supported by the back-end.\n\t * \n\t * @param {string} methodName - A feature name (corresponds to the JS client method names, see also the feature map for allowed values).\n\t * @returns {boolean} `true` if the feature is supported, otherwise `false`.\n\t */\n\thasFeature(methodName) {\n\t\tlet feature = this.featureMap[methodName];\n\t\tif (typeof feature === 'string') {\n\t\t\tfeature = feature.toLowerCase();\n\t\t}\n\t\treturn feature === true || this.features.some(e => e === feature);\n\t}\n\n\t/**\n\t * Get the billing currency.\n\t * \n\t * @returns {string | null} The billing currency or `null` if not available.\n\t */\n\tcurrency() {\n\t\treturn (Utils.isObject(this.data.billing) && typeof this.data.billing.currency === 'string' ? this.data.billing.currency : null);\n\t}\n\n\t/**\n\t * List all billing plans.\n\t * \n\t * @returns {Array.} Billing plans\n\t */\n\tlistPlans() {\n\t\tif (Utils.isObject(this.data.billing) && Array.isArray(this.data.billing.plans)) {\n\t\t\tlet defaultPlan = typeof this.data.billing.default_plan === 'string' ? this.data.billing.default_plan.toLowerCase() : null;\n\t\t\treturn this.data.billing.plans.map(plan => {\n\t\t\t\tlet addition = {\n\t\t\t\t\tdefault: (defaultPlan === plan.name.toLowerCase())\n\t\t\t\t};\n\t\t\t\treturn Object.assign({}, plan, addition);\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Migrates a response, if required.\n\t * \n\t * @param {AxiosResponse} response \n\t * @protected\n\t * @returns {AxiosResponse}\n\t */\n\tmigrate(response) { // eslint-disable-line no-unused-vars\n\t\treturn response;\n\t}\n}\n\nmodule.exports = Capabilities;\n","const Environment = require('./env');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst ProcessRegistry = require('@openeo/js-commons/src/processRegistry');\nconst axios = require('axios');\nconst StacMigrate = require('@radiantearth/stac-migrate');\n\nconst AuthProvider = require('./authprovider');\nconst BasicProvider = require('./basicprovider');\nconst OidcProvider = require('./oidcprovider');\n\nconst Capabilities = require('./capabilities');\nconst FileTypes = require('./filetypes');\nconst UserFile = require('./userfile');\nconst Job = require('./job');\nconst UserProcess = require('./userprocess');\nconst Service = require('./service');\n\nconst Builder = require('./builder/builder');\nconst BuilderNode = require('./builder/node');\n\nconst CONFORMANCE_RELS = [\n\t'conformance',\n\t'http://www.opengis.net/def/rel/ogc/1.0/conformance'\n];\n\n/**\n * A connection to a back-end.\n */\nclass Connection {\n\n\t/**\n\t * Creates a new Connection.\n\t * \n\t * @param {string} baseUrl - The versioned URL or the back-end instance.\n\t * @param {Options} [options={}] - Additional options for the connection.\n\t * @param {?string} [url=null] - User-provided URL of the backend connected to.\n\t */\n\tconstructor(baseUrl, options = {}, url = null) {\n\t\t/**\n\t\t * User-provided URL of the backend connected to.\n\t\t * \n\t\t * `null` if not given and the connection was directly made to a versioned instance of the back-end.\n\t\t * \n\t\t * @protected\n\t\t * @type {string | null}\n\t\t */\n\t\tthis.url = url;\n\t\t/**\n\t\t * The versioned URL or the back-end instance.\n\t\t * \n\t\t * @protected\n\t\t * @type {string}\n\t\t */\n\t\tthis.baseUrl = Utils.normalizeUrl(baseUrl);\n\t\t/**\n\t\t * Auth Provider cache\n\t\t * \n\t\t * @protected\n\t\t * @type {Array. | null}\n\t\t */\n\t\tthis.authProviderList = null;\n\t\t/**\n\t\t * Current auth provider\n\t\t * \n\t\t * @protected\n\t\t * @type {AuthProvider | null}\n\t\t */\n\t\tthis.authProvider = null;\n\t\t/**\n\t\t * Capability cache\n\t\t * \n\t\t * @protected\n\t\t * @type {Capabilities | null}\n\t\t */\n\t\tthis.capabilitiesObject = null;\n\t\t/**\n\t\t * Listeners for events.\n\t\t * \n\t\t * @protected\n\t\t * @type {object.}\n\t\t */\n\t\tthis.listeners = {};\n\t\t/**\n\t\t * Additional options for the connection.\n\t\t * \n\t\t * @protected\n\t\t * @type {Options}\n\t\t */\n\t\tthis.options = options;\n\t\t/**\n\t\t * Process cache\n\t\t * \n\t\t * @protected\n\t\t * @type {ProcessRegistry}\n\t\t */\n\t\tthis.processes = new ProcessRegistry([], Boolean(options.addNamespaceToProcess));\n\t\tthis.processes.listeners.push((...args) => this.emit('processesChanged', ...args));\n\t}\n\n\t/**\n\t * Initializes the connection by requesting the capabilities.\n\t * \n\t * @async\n\t * @protected\n\t * @returns {Promise} Capabilities\n\t * @throws {Error}\n\t */\n\tasync init() {\n\t\tlet response = await this._get('/');\n\t\tlet data = Object.assign({}, response.data);\n\t\tdata.links = this.makeLinksAbsolute(data.links, response);\n\n\t\tif (!Array.isArray(data.conformsTo) && Array.isArray(data.links)) {\n\t\t\tlet conformanceLink = this._getLinkHref(data.links, CONFORMANCE_RELS);\n\t\t\tif (conformanceLink) {\n\t\t\t\tlet response2 = await this._get(conformanceLink);\n\t\t\t\tif (Utils.isObject(response2.data) && Array.isArray(response2.data.conformsTo)) {\n\t\t\t\t\tdata.conformsTo = response2.data.conformsTo;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.capabilitiesObject = new Capabilities(data);\n\t\treturn this.capabilitiesObject;\n\t}\n\n\t/**\n\t * Refresh the cache for processes.\n\t * \n\t * @async\n\t * @protected\n\t * @returns {Promise}\n\t */\n\tasync refreshProcessCache() {\n\t\tif (this.processes.count() === 0) {\n\t\t\treturn;\n\t\t}\n\t\tlet promises = this.processes.namespaces().map(namespace => {\n\t\t\tlet fn = () => Promise.resolve();\n\t\t\tif (namespace === 'user') {\n\t\t\t\tlet userProcesses = this.processes.namespace('user');\n\t\t\t\tif (!this.isAuthenticated()) {\n\t\t\t\t\tfn = () => (this.processes.remove(null, 'user') ? Promise.resolve() : Promise.reject(new Error(\"Can't clear user processes\")));\n\t\t\t\t}\n\t\t\t\telse if (this.capabilities().hasFeature('listUserProcesses')) {\n\t\t\t\t\tfn = () => this.listUserProcesses(userProcesses);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (this.capabilities().hasFeature('listProcesses')) {\n\t\t\t\tfn = () => this.listProcesses(namespace);\n\t\t\t}\n\t\t\treturn fn().catch(error => console.warn(`Could not update processes for namespace '${namespace}' due to an error: ${error.message}`));\n\t\t});\n\t\treturn await Promise.all(promises);\n\t}\n\n\t/**\n\t * Returns the URL of the versioned back-end instance currently connected to.\n\t * \n\t * @returns {string} The versioned URL or the back-end instance.\n\t */\n\tgetBaseUrl() {\n\t\treturn this.baseUrl;\n\t}\n\n\t/**\n\t * Returns the user-provided URL of the back-end currently connected to.\n\t * \n\t * @returns {string} The URL or the back-end.\n\t */\n\tgetUrl() {\n\t\treturn this.url || this.baseUrl;\n\t}\n\n\t/**\n\t * Returns the capabilities of the back-end.\n\t * \n\t * @returns {Capabilities} Capabilities\n\t */\n\tcapabilities() {\n\t\treturn this.capabilitiesObject;\n\t}\n\n\t/**\n\t * List the supported output file formats.\n\t * \n\t * @async\n\t * @returns {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listFileTypes() {\n\t\tlet response = await this._get('/file_formats');\n\t\treturn new FileTypes(response.data);\n\t}\n\n\t/**\n\t * List the supported secondary service types.\n\t * \n\t * @async\n\t * @returns {Promise>} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listServiceTypes() {\n\t\tlet response = await this._get('/service_types');\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * List the supported UDF runtimes.\n\t * \n\t * @async\n\t * @returns {Promise>} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listUdfRuntimes() {\n\t\tlet response = await this._get('/udf_runtimes');\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * List all collections available on the back-end.\n\t * \n\t * The collections returned always comply to the latest STAC version (currently 1.0.0). \n\t * \n\t * @async\n\t * @returns {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listCollections() {\n\t\tlet response = await this._get('/collections');\n\t\tif (Utils.isObject(response.data) && Array.isArray(response.data.collections)) {\n\t\t\tresponse.data.collections = response.data.collections.map(collection => {\n\t\t\t\tif (collection.stac_version) {\n\t\t\t\t\treturn StacMigrate.collection(collection);\n\t\t\t\t}\n\t\t\t\treturn collection;\n\t\t\t});\n\t\t}\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * Get further information about a single collection.\n\t * \n\t * The collection returned always complies to the latest STAC version (currently 1.0.0). \n\t * \n\t * @async\n\t * @param {string} collectionId - Collection ID to request further metadata for.\n\t * @returns {Promise} - A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync describeCollection(collectionId) {\n\t\tlet response = await this._get('/collections/' + collectionId);\n\t\tif (response.data.stac_version) {\n\t\t\treturn StacMigrate.collection(response.data);\n\t\t}\n\t\telse {\n\t\t\treturn response.data;\n\t\t}\n\t}\n\n\t/**\n\t * Loads items for a specific image collection.\n\t * May not be available for all collections.\n\t * \n\t * The items returned always comply to the latest STAC version (currently 1.0.0). \n\t * \n\t * This is an experimental API and is subject to change.\n\t * \n\t * @async\n\t * @param {string} collectionId - Collection ID to request items for.\n\t * @param {?Array.} [spatialExtent=null] - Limits the items to the given bounding box in WGS84:\n\t * 1. Lower left corner, coordinate axis 1\n\t * 2. Lower left corner, coordinate axis 2\n\t * 3. Upper right corner, coordinate axis 1\n\t * 4. Upper right corner, coordinate axis 2\n\t * @param {?Array} [temporalExtent=null] - Limits the items to the specified temporal interval.\n\t * The interval has to be specified as an array with exactly two elements (start, end) and\n\t * each must be either an RFC 3339 compatible string or a Date object.\n\t * Also supports open intervals by setting one of the boundaries to `null`, but never both.\n\t * @param {?number} [limit=null] - The amount of items per request/page as integer. If `null` (default), the back-end decides.\n\t * @yields {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync * listCollectionItems(collectionId, spatialExtent = null, temporalExtent = null, limit = null) {\n\t\tlet page = 1;\n\t\tlet nextUrl = '/collections/' + collectionId + '/items';\n\t\twhile(nextUrl) {\n\t\t\tlet params = {};\n\t\t\tif (page === 1) {\n\t\t\t\tif (Array.isArray(spatialExtent)) {\n\t\t\t\t\tparams.bbox = spatialExtent.join(',');\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(temporalExtent)) {\n\t\t\t\t\tparams.datetime = temporalExtent\n\t\t\t\t\t\t.map(e => {\n\t\t\t\t\t\t\tif (e instanceof Date) {\n\t\t\t\t\t\t\t\treturn e.toISOString();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (typeof e === 'string') {\n\t\t\t\t\t\t\t\treturn e;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn '..'; // Open date range\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.join('/');\n\t\t\t\t}\n\t\t\t\tif (limit > 0) {\n\t\t\t\t\tparams.limit = limit;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet response = await this._get(nextUrl, params);\n\t\t\tif (Utils.isObject(response.data) && Array.isArray(response.data.features)) {\n\t\t\t\tresponse.data.features = response.data.features.map(item => {\n\t\t\t\t\tif (item.stac_version) {\n\t\t\t\t\t\treturn StacMigrate.item(item);\n\t\t\t\t\t}\n\t\t\t\t\treturn item;\n\t\t\t\t});\n\t\t\t}\n\t\t\tyield response.data;\n\n\t\t\tpage++;\n\t\t\tlet links = this.makeLinksAbsolute(response.data.links);\n\t\t\tnextUrl = this._getLinkHref(links, 'next');\n\t\t}\n\t}\n\n\t/**\n\t * Normalisation of the namespace to a value that is compatible with the OpenEO specs - EXPERIMENTAL.\n\t *\n\t * This is required to support UDP that are shared as public. These can only be executed with providing the full URL\n\t * (e.g. https:///processes//) as the namespace value in the processing graph. For other\n\t * parts of the API (such as the listing of the processes, only the name of the namespace is required.\n\t *\n\t * This function will extract the short name of the namespace from a shareable URL.\n\t * \n\t * @protected\n\t * @param {?string} namespace - Namespace of the process\n\t * @returns {?string}\n\t */\n\tnormalizeNamespace(namespace) {\n\t\t// The pattern in https://github.com/Open-EO/openeo-api/pull/348 doesn't include the double colon yet - the regexp may change in the future\n\t\tconst matches = namespace.match( /^https?:\\/\\/.*\\/processes\\/(@?[\\w\\-.~:]+)\\/?/i);\n\t\treturn matches && matches.length > 1 ? matches[1] : namespace;\n\t}\n\n\t/**\n\t * List processes available on the back-end.\n\t * \n\t * Requests pre-defined processes by default.\n\t * Set the namespace parameter to request processes from a specific namespace.\n\t * \n\t * Note: The list of namespaces can be retrieved by calling `listProcesses` without a namespace given.\n\t * The namespaces are then listed in the property `namespaces`.\n\t * \n\t * @async\n\t * @param {?string} [namespace=null] - Namespace of the processes (default to `null`, i.e. pre-defined processes). EXPERIMENTAL!\n\t * @returns {Promise} - A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listProcesses(namespace = null) {\n\t\tif (!namespace) {\n\t\t\tnamespace = 'backend';\n\t\t}\n\t\tlet path = (namespace === 'backend') ? '/processes' : `/processes/${this.normalizeNamespace(namespace)}`;\n\t\tlet response = await this._get(path);\n\n\t\tif (!Utils.isObject(response.data) || !Array.isArray(response.data.processes)) {\n\t\t\tthrow new Error('Invalid response received for processes');\n\t\t}\n\n\t\t// Store processes in cache\n\t\tthis.processes.remove(null, namespace);\n\t\tthis.processes.addAll(response.data.processes, namespace);\n\t\t\n\t\treturn Object.assign(response.data, {processes: this.processes.namespace(namespace)});\n\t}\n\n\t/**\n\t * Get information about a single process.\n\t * \n\t * @async\n\t * @param {string} processId - Collection ID to request further metadata for.\n\t * @param {?string} [namespace=null] - Namespace of the process (default to `null`, i.e. pre-defined processes). EXPERIMENTAL!\n\t * @returns {Promise} - A single process as object, or `null` if none is found.\n\t * @throws {Error}\n\t * @see Connection#listProcesses\n\t */\n\tasync describeProcess(processId, namespace = null) {\n\t\tif (!namespace) {\n\t\t\tnamespace = 'backend';\n\t\t}\n\t\tif (namespace === 'backend') {\n\t\t\tawait this.listProcesses();\n\t\t}\n\t\telse {\n\t\t\tlet response = await this._get(`/processes/${this.normalizeNamespace(namespace)}/${processId}`);\n\t\t\tif (!Utils.isObject(response.data) || typeof response.data.id !== 'string') {\n\t\t\t\tthrow new Error('Invalid response received for process');\n\t\t\t}\n\t\t\tthis.processes.add(response.data, namespace);\n\t\t}\n\t\treturn this.processes.get(processId, namespace);\n\t}\n\n\t/**\n\t * Returns an object to simply build user-defined processes based upon pre-defined processes.\n\t * \n\t * @async\n\t * @param {string} id - A name for the process.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see Connection#listProcesses\n\t */\n\tasync buildProcess(id) {\n\t\tawait this.listProcesses();\n\t\treturn new Builder(this.processes, null, id);\n\t}\n\n\t/**\n\t * List all authentication methods supported by the back-end.\n\t * \n\t * @async\n\t * @returns {Promise>} An array containing all supported AuthProviders (including all OIDC providers and HTTP Basic).\n\t * @throws {Error}\n\t * @see AuthProvider\n\t */\n\tasync listAuthProviders() {\n\t\tif (this.authProviderList !== null) {\n\t\t\treturn this.authProviderList;\n\t\t}\n\n\t\tthis.authProviderList = [];\n\t\tlet cap = this.capabilities();\n\n\t\t// Add OIDC providers\n\t\tif (cap.hasFeature('authenticateOIDC')) {\n\t\t\tlet res = await this._get('/credentials/oidc');\n\t\t\tlet oidcFactory = this.getOidcProviderFactory();\n\t\t\tif (Utils.isObject(res.data) && Array.isArray(res.data.providers) && typeof oidcFactory === 'function') {\n\t\t\t\tfor(let i in res.data.providers) {\n\t\t\t\t\tlet obj = oidcFactory(res.data.providers[i]);\n\t\t\t\t\tif (obj instanceof AuthProvider) {\n\t\t\t\t\t\tthis.authProviderList.push(obj);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Add Basic provider\n\t\tif (cap.hasFeature('authenticateBasic')) {\n\t\t\tthis.authProviderList.push(new BasicProvider(this));\n\t\t}\n\n\t\treturn this.authProviderList;\n\t}\n\n\t/**\n\t * This function is meant to create the OIDC providers used for authentication.\n\t * \n\t * The function gets passed a single argument that contains the\n\t * provider information as provided by the API, e.g. having the properties\n\t * `id`, `issuer`, `title` etc.\n\t * \n\t * The function must return an instance of AuthProvider or any derived class.\n\t * May return `null` if the instance can't be created.\n\t *\n\t * @callback oidcProviderFactoryFunction\n\t * @param {object.} providerInfo - The provider information as provided by the API, having the properties `id`, `issuer`, `title` etc.\n\t * @returns {AuthProvider | null}\n\t */\n\n\t/**\n\t * Sets a factory function that creates custom OpenID Connect provider instances.\n\t * \n\t * You only need to call this if you have implemented a new AuthProvider based\n\t * on the AuthProvider interface (or OIDCProvider class), e.g. to use a\n\t * OIDC library other than oidc-client-js.\n\t * \n\t * @param {?oidcProviderFactoryFunction} [providerFactoryFunc=null]\n\t * @see AuthProvider\n\t */\n\tsetOidcProviderFactory(providerFactoryFunc) {\n\t\tthis.oidcProviderFactory = providerFactoryFunc;\n\t}\n\n\t/**\n\t * Get the OpenID Connect provider factory.\n\t * \n\t * Returns `null` if OIDC is not supported by the client or an instance\n\t * can't be created for whatever reason.\n\t * \n\t * @returns {oidcProviderFactoryFunction | null}\n\t * @see AuthProvider\n\t */\n\tgetOidcProviderFactory() {\n\t\tif (typeof this.oidcProviderFactory === 'function') {\n\t\t\treturn this.oidcProviderFactory;\n\t\t}\n\t\telse {\n\t\t\tif (OidcProvider.isSupported()) {\n\t\t\t\treturn providerInfo => new OidcProvider(this, providerInfo);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Authenticates with username and password against a back-end supporting HTTP Basic Authentication.\n\t * \n\t * DEPRECATED in favor of using `listAuthProviders` and `BasicProvider`.\n\t * \n\t * @async\n\t * @deprecated\n\t * @param {string} username \n\t * @param {string} password \n\t * @see BasicProvider\n\t * @see Connection#listAuthProviders\n\t */\n\tasync authenticateBasic(username, password) {\n\t\tlet basic = new BasicProvider(this);\n\t\tawait basic.login(username, password);\n\t}\n\n\t/**\n\t * Returns whether the user is authenticated (logged in) at the back-end or not.\n\t * \n\t * @returns {boolean} `true` if authenticated, `false` if not.\n\t */\n\tisAuthenticated() {\n\t\treturn (this.authProvider !== null);\n\t}\n\n\t/**\n\t * Emits the given event.\n\t * \n\t * @protected\n\t * @param {string} event \n\t * @param {...*} args\n\t */\n\temit(event, ...args) {\n\t\tif (typeof this.listeners[event] === 'function') {\n\t\t\tthis.listeners[event](...args);\n\t\t}\n\t}\n\n\t/**\n\t * Registers a listener with the given event.\n\t * \n\t * Currently supported:\n\t * - authProviderChanged(provider): Raised when the auth provider has changed.\n\t * - tokenChanged(token): Raised when the access token has changed.\n\t * - processesChanged(type, data, namespace): Raised when the process registry has changed (i.e. a process was added, updated or deleted).\n\t * \n\t * @param {string} event \n\t * @param {Function} callback \n\t */\n\ton(event, callback) {\n\t\tthis.listeners[event] = callback;\n\t}\n\n\t/**\n\t * Removes a listener from the given event.\n\t * \n\t * @param {string} event \n\t */\n\toff(event) {\n\t\tdelete this.listeners[event];\n\t}\n\n\t/**\n\t * Returns the AuthProvider.\n\t * \n\t * @returns {AuthProvider | null} \n\t */\n\tgetAuthProvider() {\n\t\treturn this.authProvider;\n\t}\n\n\t/**\n\t * Sets the AuthProvider.\n\t * \n\t * @param {AuthProvider} provider\n\t */\n\tsetAuthProvider(provider) {\n\t\tif (provider === this.authProvider) {\n\t\t\treturn;\n\t\t}\n\t\tif (provider instanceof AuthProvider) {\n\t\t\tthis.authProvider = provider;\n\t\t}\n\t\telse {\n\t\t\tthis.authProvider = null;\n\t\t}\n\t\tthis.emit('authProviderChanged', this.authProvider);\n\t\t// Update process cache on auth changes: https://github.com/Open-EO/openeo-js-client/issues/55\n\t\tthis.refreshProcessCache();\n\t}\n\n\t/**\n\t * Sets the authentication token for the connection.\n\t * \n\t * This creates a new custom `AuthProvider` with the given details and returns it.\n\t * After calling this function you can make requests against the API.\n\t * \n\t * This is NOT recommended to use. Only use if you know what you are doing.\n\t * It is recommended to authenticate through `listAuthProviders` or related functions.\n\t * \n\t * @param {string} type - The authentication type, e.g. `basic` or `oidc`.\n\t * @param {string} providerId - The provider identifier. For OIDC the `id` of the provider.\n\t * @param {string} token - The actual access token as given by the authentication method during the login process.\n\t * @returns {AuthProvider}\n\t */\n\tsetAuthToken(type, providerId, token) {\n\t\tlet provider = new AuthProvider(type, this, {\n\t\t\tid: providerId,\n\t\t\ttitle: \"Custom\",\n\t\t\tdescription: \"\"\n\t\t});\n\t\tprovider.setToken(token);\n\t\tthis.setAuthProvider(provider);\n\t\treturn provider;\n\t}\n\n\t/**\n\t * Get information about the authenticated user.\n\t * \n\t * Updates the User ID if available.\n\t * \n\t * @async\n\t * @returns {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync describeAccount() {\n\t\tlet response = await this._get('/me');\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * Lists all files from the user workspace. \n\t * \n\t * @async\n\t * @returns {Promise>} A list of files.\n\t * @throws {Error}\n\t */\n\tasync listFiles() {\n\t\tlet response = await this._get('/files');\n\t\tlet files = response.data.files.map(\n\t\t\tf => new UserFile(this, f.path).setAll(f)\n\t\t);\n\t\treturn this._toResponseArray(files, response.data);\n\t}\n\n\t/**\n\t * A callback that is executed on upload progress updates.\n\t * \n\t * @callback uploadStatusCallback\n\t * @param {number} percentCompleted - The percent (0-100) completed.\n\t * @param {UserFile} file - The file object corresponding to the callback.\n\t */\n\n\t/**\n\t * Uploads a file to the user workspace.\n\t * If a file with the name exists, overwrites it.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * In a nodeJS environment the source must be a path to a file as string.\n\t * In a browser environment the source must be an object from a file upload form.\n\t * \n\t * @async\n\t * @param {*} source - The source, see method description for details.\n\t * @param {?string} [targetPath=null] - The target path on the server, relative to the user workspace. Defaults to the file name of the source file.\n\t * @param {?uploadStatusCallback} [statusCallback=null] - Optionally, a callback that is executed on upload progress updates.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the upload process.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync uploadFile(source, targetPath = null, statusCallback = null, abortController = null) {\n\t\tif (targetPath === null) {\n\t\t\ttargetPath = Environment.fileNameForUpload(source);\n\t\t}\n\t\tlet file = await this.getFile(targetPath);\n\t\treturn await file.uploadFile(source, statusCallback, abortController);\n\t}\n\n\t/**\n\t * Opens a (existing or non-existing) file without reading any information or creating a new file at the back-end. \n\t * \n\t * @async\n\t * @param {string} path - Path to the file, relative to the user workspace.\n\t * @returns {Promise} A file.\n\t * @throws {Error}\n\t */\n\tasync getFile(path) {\n\t\treturn new UserFile(this, path);\n\t}\n\n\t/**\n\t * Takes a UserProcess, BuilderNode or a plain object containing process nodes\n\t * and converts it to an API compliant object.\n\t * \n\t * @param {UserProcess|BuilderNode|object.} process - Process to be normalized.\n\t * @param {object.} additional - Additional properties to be merged with the resulting object.\n\t * @returns {object.}\n\t * @protected\n\t */\n\t_normalizeUserProcess(process, additional = {}) {\n\t\tif (process instanceof UserProcess) {\n\t\t\tprocess = process.toJSON();\n\t\t}\n\t\telse if (process instanceof BuilderNode) {\n\t\t\tprocess.result = true;\n\t\t\tprocess = process.parent.toJSON();\n\t\t}\n\t\telse if (Utils.isObject(process) && !Utils.isObject(process.process_graph)) {\n\t\t\tprocess = {\n\t\t\t\tprocess_graph: process\n\t\t\t};\n\t\t}\n\t\treturn Object.assign({}, additional, {process: process});\n\t}\n\n\t/**\n\t * Validates a user-defined process at the back-end.\n\t * \n\t * @async\n\t * @param {Process} process - User-defined process to validate.\n\t * @returns {Promise>} errors - A list of API compatible error objects. A valid process returns an empty list.\n\t * @throws {Error}\n\t */\n\tasync validateProcess(process) {\n\t\tlet response = await this._post('/validation', this._normalizeUserProcess(process).process);\n\t\tif (Array.isArray(response.data.errors)) {\n\t\t\treturn response.data.errors;\n\t\t}\n\t\telse {\n\t\t\tthrow new Error(\"Invalid validation response received.\");\n\t\t}\n\t}\n\n\t/**\n\t * Lists all user-defined processes of the authenticated user.\n\t * \n\t * @async\n\t * @param {Array.} [oldProcesses=[]] - A list of existing user-defined processes to update.\n\t * @returns {Promise>} A list of user-defined processes.\n\t * @throws {Error}\n\t */\n\tasync listUserProcesses(oldProcesses = []) {\n\t\tlet response = await this._get('/process_graphs');\n\n\t\tif (!Utils.isObject(response.data) || !Array.isArray(response.data.processes)) {\n\t\t\tthrow new Error('Invalid response received for processes');\n\t\t}\n\n\t\t// Remove existing processes from cache\n\t\tthis.processes.remove(null, 'user');\n\n\t\t// Update existing processes if needed\n\t\tlet newProcesses = response.data.processes.map(newProcess => {\n\t\t\tlet process = oldProcesses.find(oldProcess => oldProcess.id === newProcess.id);\n\t\t\tif (!process) {\n\t\t\t\tprocess = new UserProcess(this, newProcess.id);\n\t\t\t}\n\t\t\treturn process.setAll(newProcess);\n\t\t});\n\t\t\n\t\t// Store plain JS variant (i.e. no Job objects involved) of processes in cache\n\t\tlet jsonProcesses = oldProcesses.length > 0 ? newProcesses.map(p => p.toJSON()) : response.data.processes;\n\t\tthis.processes.addAll(jsonProcesses, 'user');\n\n\t\treturn this._toResponseArray(newProcesses, response.data);\n\t}\n\n\t/**\n\t * Creates a new stored user-defined process at the back-end.\n\t * \n\t * @async\n\t * @param {string} id - Unique identifier for the process.\n\t * @param {Process} process - A user-defined process.\n\t * @returns {Promise} The new user-defined process.\n\t * @throws {Error}\n\t */\n\tasync setUserProcess(id, process) {\n\t\tlet pg = new UserProcess(this, id);\n\t\treturn await pg.replaceUserProcess(process);\n\t}\n\n\t/**\n\t * Get all information about a user-defined process.\n\t * \n\t * @async\n\t * @param {string} id - Identifier of the user-defined process. \n\t * @returns {Promise} The user-defined process.\n\t * @throws {Error}\n\t */\n\tasync getUserProcess(id) {\n\t\tlet pg = new UserProcess(this, id);\n\t\treturn await pg.describeUserProcess();\n\t}\n\n\t/**\n\t * Executes a process synchronously and returns the result as the response.\n\t * \n\t * Please note that requests can take a very long time of several minutes or even hours.\n\t * \n\t * @async\n\t * @param {Process} process - A user-defined process.\n\t * @param {?string} [plan=null] - The billing plan to use for this computation.\n\t * @param {?number} [budget=null] - The maximum budget allowed to spend for this computation.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the processing request.\n\t * @param {object.} [additional={}] - Other parameters to pass for the batch job, e.g. `log_level`.\n\t * @returns {Promise} - An object with the data and some metadata.\n\t */\n\tasync computeResult(process, plan = null, budget = null, abortController = null, additional = {}) {\n\t\tlet requestBody = this._normalizeUserProcess(\n\t\t\tprocess,\n\t\t\tObject.assign({}, additional, {\n\t\t\t\tplan: plan,\n\t\t\t\tbudget: budget\n\t\t\t})\n\t\t);\n\t\tlet response = await this._post('/result', requestBody, Environment.getResponseType(), abortController);\n\t\tlet syncResult = {\n\t\t\tdata: response.data,\n\t\t\tcosts: null,\n\t\t\ttype: null,\n\t\t\tlogs: []\n\t\t};\n\t\t\n\t\tif (typeof response.headers['openeo-costs'] === 'number') {\n\t\t\tsyncResult.costs = response.headers['openeo-costs'];\n\t\t}\n\t\t\n\t\tif (typeof response.headers['content-type'] === 'string') {\n\t\t\tsyncResult.type = response.headers['content-type'];\n\t\t}\n\n\t\tlet links = Array.isArray(response.headers.link) ? response.headers.link : [response.headers.link];\n\t\tfor(let link of links) {\n\t\t\tif (typeof link !== 'string') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet logs = link.match(/^<([^>]+)>;\\s?rel=\"monitor\"/i);\n\t\t\tif (Array.isArray(logs) && logs.length > 1) {\n\t\t\t\ttry {\n\t\t\t\t\tlet logsResponse = await this._get(logs[1]);\n\t\t\t\t\tif (Utils.isObject(logsResponse.data) && Array.isArray(logsResponse.data.logs)) {\n\t\t\t\t\t\tsyncResult.logs = logsResponse.data.logs;\n\t\t\t\t\t}\n\t\t\t\t} catch(error) {\n\t\t\t\t\tconsole.warn(error);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn syncResult;\n\t}\n\n\t/**\n\t * Executes a process synchronously and downloads to result the given path.\n\t * \n\t * Please note that requests can take a very long time of several minutes or even hours.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * If a NodeJs environment, writes the downloaded file to the target location on the file system.\n\t * In a browser environment, offers the file for downloading using the specified name (folders are not supported).\n\t * \n\t * @async\n\t * @param {Process} process - A user-defined process.\n\t * @param {string} targetPath - The target, see method description for details.\n\t * @param {?string} [plan=null] - The billing plan to use for this computation.\n\t * @param {?number} [budget=null] - The maximum budget allowed to spend for this computation.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the processing request.\n\t * @throws {Error}\n\t */\n\tasync downloadResult(process, targetPath, plan = null, budget = null, abortController = null) {\n\t\tlet response = await this.computeResult(process, plan, budget, abortController);\n\t\t// @ts-ignore\n\t\tawait Environment.saveToFile(response.data, targetPath);\n\t}\n\n\t/**\n\t * Lists all batch jobs of the authenticated user.\n\t * \n\t * @async\n\t * @param {Array.} [oldJobs=[]] - A list of existing jobs to update.\n\t * @returns {Promise>} A list of jobs.\n\t * @throws {Error}\n\t */\n\tasync listJobs(oldJobs = []) {\n\t\tlet response = await this._get('/jobs');\n\t\tlet newJobs = response.data.jobs.map(newJob => {\n\t\t\tlet job = oldJobs.find(oldJob => oldJob.id === newJob.id);\n\t\t\tif (!job) {\n\t\t\t\tjob = new Job(this, newJob.id);\n\t\t\t}\n\t\t\treturn job.setAll(newJob);\n\t\t});\n\t\treturn this._toResponseArray(newJobs, response.data);\n\t}\n\n\t/**\n\t * Creates a new batch job at the back-end.\n\t * \n\t * @async\n\t * @param {Process} process - A user-define process to execute.\n\t * @param {?string} [title=null] - A title for the batch job.\n\t * @param {?string} [description=null] - A description for the batch job.\n\t * @param {?string} [plan=null] - The billing plan to use for this batch job.\n\t * @param {?number} [budget=null] - The maximum budget allowed to spend for this batch job.\n\t * @param {object.} [additional={}] - Other parameters to pass for the batch job, e.g. `log_level`.\n\t * @returns {Promise} The stored batch job.\n\t * @throws {Error}\n\t */\n\tasync createJob(process, title = null, description = null, plan = null, budget = null, additional = {}) {\n\t\tadditional = Object.assign({}, additional, {\n\t\t\ttitle: title,\n\t\t\tdescription: description,\n\t\t\tplan: plan,\n\t\t\tbudget: budget\n\t\t});\n\t\tlet requestBody = this._normalizeUserProcess(process, additional);\n\t\tlet response = await this._post('/jobs', requestBody);\n\t\tif (typeof response.headers['openeo-identifier'] !== 'string') {\n\t\t\tthrow new Error(\"Response did not contain a Job ID. Job has likely been created, but may not show up yet.\");\n\t\t}\n\t\tlet job = new Job(this, response.headers['openeo-identifier']).setAll(requestBody);\n\t\tif (this.capabilities().hasFeature('describeJob')) {\n\t\t\treturn await job.describeJob();\n\t\t}\n\t\telse {\n\t\t\treturn job;\n\t\t}\n\t}\n\n\t/**\n\t * Get all information about a batch job.\n\t * \n\t * @async\n\t * @param {string} id - Batch Job ID. \n\t * @returns {Promise} The batch job.\n\t * @throws {Error}\n\t */\n\tasync getJob(id) {\n\t\tlet job = new Job(this, id);\n\t\treturn await job.describeJob();\n\t}\n\n\t/**\n\t * Lists all secondary web services of the authenticated user.\n\t * \n\t * @async\n\t * @param {Array.} [oldServices=[]] - A list of existing services to update.\n\t * @returns {Promise>} A list of services.\n\t * @throws {Error}\n\t */\n\tasync listServices(oldServices = []) {\n\t\tlet response = await this._get('/services');\n\t\tlet newServices = response.data.services.map(newService => {\n\t\t\tlet service = oldServices.find(oldService => oldService.id === newService.id);\n\t\t\tif (!service) {\n\t\t\t\tservice = new Service(this, newService.id);\n\t\t\t}\n\t\t\treturn service.setAll(newService);\n\t\t});\n\t\treturn this._toResponseArray(newServices, response.data);\n\t}\n\n\t/**\n\t * Creates a new secondary web service at the back-end. \n\t * \n\t * @async\n\t * @param {Process} process - A user-defined process.\n\t * @param {string} type - The type of service to be created (see `Connection.listServiceTypes()`).\n\t * @param {?string} [title=null] - A title for the service.\n\t * @param {?string} [description=null] - A description for the service.\n\t * @param {boolean} [enabled=true] - Enable the service (`true`, default) or not (`false`).\n\t * @param {object.} [configuration={}] - Configuration parameters to pass to the service.\n\t * @param {?string} [plan=null] - The billing plan to use for this service.\n\t * @param {?number} [budget=null] - The maximum budget allowed to spend for this service.\n\t * @param {object.} [additional={}] - Other parameters to pass for the service, e.g. `log_level`.\n\t * @returns {Promise} The stored service.\n\t * @throws {Error}\n\t */\n\tasync createService(process, type, title = null, description = null, enabled = true, configuration = {}, plan = null, budget = null, additional = {}) {\n\t\tlet requestBody = this._normalizeUserProcess(process, Object.assign({\n\t\t\ttitle: title,\n\t\t\tdescription: description,\n\t\t\ttype: type,\n\t\t\tenabled: enabled,\n\t\t\tconfiguration: configuration,\n\t\t\tplan: plan,\n\t\t\tbudget: budget\n\t\t}, additional));\n\t\tlet response = await this._post('/services', requestBody);\n\t\tif (typeof response.headers['openeo-identifier'] !== 'string') {\n\t\t\tthrow new Error(\"Response did not contain a Service ID. Service has likely been created, but may not show up yet.\");\n\t\t}\n\t\tlet service = new Service(this, response.headers['openeo-identifier']).setAll(requestBody);\n\t\tif (this.capabilities().hasFeature('describeService')) {\n\t\t\treturn service.describeService();\n\t\t}\n\t\telse {\n\t\t\treturn service;\n\t\t}\n\t}\n\n\t/**\n\t * Get all information about a secondary web service.\n\t * \n\t * @async\n\t * @param {string} id - Service ID. \n\t * @returns {Promise} The service.\n\t * @throws {Error}\n\t */\n\tasync getService(id) {\n\t\tlet service = new Service(this, id);\n\t\treturn await service.describeService();\n\t}\n\n\t/**\n\t * Adds additional response details to the array.\n\t * \n\t * Adds links and federation:missing.\n\t * \n\t * @protected\n\t * @param {Array.<*>} arr \n\t * @param {object.} response \n\t * @returns {ResponseArray}\n\t */\n\t_toResponseArray(arr, response) {\n\t\tarr.links = Array.isArray(response.links) ? response.links : [];\n\t\tarr['federation:missing'] = Array.isArray(response['federation:missing']) ? response['federation:missing'] : [];\n\t\treturn arr;\n\t}\n\n\t/**\n\t * Get the a link with the given rel type.\n\t * \n\t * @protected\n\t * @param {Array.} links - An array of links.\n\t * @param {string|Array.} rel - Relation type(s) to find.\n\t * @returns {string | null}\n\t * @throws {Error}\n\t */\n\t_getLinkHref(links, rel) {\n\t\tif (!Array.isArray(rel)) {\n\t\t\trel = [rel];\n\t\t}\n\t\tif (Array.isArray(links)) {\n\t\t\tlet link = links.find(l => Utils.isObject(l) && rel.includes(l.rel) && typeof l.href === 'string');\n\t\t\tif (link) {\n\t\t\t\treturn link.href;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Makes all links in the list absolute.\n\t * \n\t * @param {Array.} links - An array of links.\n\t * @param {?string|AxiosResponse} [base=null] - The base url to use for relative links, or an response to derive the url from.\n\t * @returns {Array.}\n\t */\n\tmakeLinksAbsolute(links, base = null) {\n\t\tif (!Array.isArray(links)) {\n\t\t\treturn links;\n\t\t}\n\t\tlet baseUrl = null;\n\t\tif (Utils.isObject(base) && base.headers && base.config && base.request) { // AxiosResponse\n\t\t\tbaseUrl = base.config.baseURL + base.config.url;\n\t\t}\n\t\telse if (typeof base !== 'string') {\n\t\t\tbaseUrl = this._getLinkHref(links, 'self');\n\t\t}\n\t\telse {\n\t\t\tbaseUrl = base;\n\t\t}\n\t\tif (!baseUrl) {\n\t\t\treturn links;\n\t\t}\n\t\treturn links.map((link) => {\n\t\t\tif (!Utils.isObject(link) || typeof link.href !== 'string') {\n\t\t\t\treturn link;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tlet url = new URL(link.href, baseUrl);\n\t\t\t\treturn Object.assign({}, link, {href: url.toString()});\n\t\t\t} catch(error) {\n\t\t\t\treturn link;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Sends a GET request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @param {object.} query \n\t * @param {string} responseType - Response type according to axios, defaults to `json`.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the request.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see https://github.com/axios/axios#request-config\n\t */\n\tasync _get(path, query, responseType, abortController = null) {\n\t\treturn await this._send({\n\t\t\tmethod: 'get',\n\t\t\tresponseType: responseType,\n\t\t\turl: path,\n\t\t\t// Timeout for capabilities requests as they are used for a quick first discovery to check whether the server is a openEO back-end.\n\t\t\t// Without timeout connecting with a wrong server url may take forever.\n\t\t\ttimeout: path === '/' ? 5000 : 0,\n\t\t\tparams: query\n\t\t}, abortController);\n\t}\n\n\t/**\n\t * Sends a POST request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @param {*} body \n\t * @param {string} responseType - Response type according to axios, defaults to `json`.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the request.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see https://github.com/axios/axios#request-config\n\t */\n\tasync _post(path, body, responseType, abortController = null) {\n\t\tlet options = {\n\t\t\tmethod: 'post',\n\t\t\tresponseType: responseType,\n\t\t\turl: path,\n\t\t\tdata: body\n\t\t};\n\t\treturn await this._send(options, abortController);\n\t}\n\n\t/**\n\t * Sends a PUT request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @param {*} body \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync _put(path, body) {\n\t\treturn await this._send({\n\t\t\tmethod: 'put',\n\t\t\turl: path,\n\t\t\tdata: body\n\t\t});\n\t}\n\n\t/**\n\t * Sends a PATCH request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @param {*} body \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync _patch(path, body) {\n\t\treturn await this._send({\n\t\t\tmethod: 'patch',\n\t\t\turl: path,\n\t\t\tdata: body\n\t\t});\n\t}\n\n\t/**\n\t * Sends a DELETE request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync _delete(path) {\n\t\treturn await this._send({\n\t\t\tmethod: 'delete',\n\t\t\turl: path\n\t\t});\n\t}\n\n\t/**\n\t * Downloads data from a URL.\n\t * \n\t * May include authorization details where required.\n\t * \n\t * @param {string} url - An absolute or relative URL to download data from.\n\t * @param {boolean} authorize - Send authorization details (`true`) or not (`false`).\n\t * @returns {Promise} - Returns the data as `Stream` in NodeJS environments or as `Blob` in browsers\n\t * @throws {Error}\n\t */\n\tasync download(url, authorize) {\n\t\tlet result = await this._send({\n\t\t\tmethod: 'get',\n\t\t\tresponseType: Environment.getResponseType(),\n\t\t\turl: url,\n\t\t\tauthorization: authorize\n\t\t});\n\t\treturn result.data;\n\t}\n\n\t/**\n\t * Get the authorization header for requests.\n\t * \n\t * @protected\n\t * @returns {object.}\n\t */\n\t_getAuthHeaders() {\n\t\tconst headers = {};\n\t\tif (this.isAuthenticated()) {\n\t\t\theaders.Authorization = 'Bearer ' + this.authProvider.getToken();\n\t\t}\n\t\treturn headers;\n\t}\n\n\t/**\n\t * Sends a HTTP request.\n\t * \n\t * Options mostly conform to axios,\n\t * see {@link https://github.com/axios/axios#request-config}.\n\t * \n\t * Automatically sets a baseUrl and the authorization information.\n\t * Default responseType is `json`.\n\t * \n\t * Tries to smoothly handle error responses by providing an object for all response types,\n\t * instead of Streams or Blobs for non-JSON response types.\n\t * \n\t * @protected\n\t * @async\n\t * @param {object.} options \n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the request.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see https://github.com/axios/axios\n\t */\n\tasync _send(options, abortController = null) {\n\t\toptions.baseURL = this.baseUrl;\n\t\tif (typeof options.authorization === 'undefined' || options.authorization === true) {\n\t\t\tif (!options.headers) {\n\t\t\t\toptions.headers = {};\n\t\t\t}\n\t\t\tObject.assign(options.headers, this._getAuthHeaders());\n\t\t}\n\t\tif (!options.responseType) {\n\t\t\toptions.responseType = 'json';\n\t\t}\n\t\tif (abortController) {\n\t\t\toptions.signal = abortController.signal;\n\t\t}\n\n\t\ttry {\n\t\t\tlet response = await axios(options);\n\t\t\tlet capabilities = this.capabilities();\n\t\t\tif (capabilities) {\n\t\t\t\tresponse = capabilities.migrate(response);\n\t\t\t}\n\t\t\treturn response;\n\t\t} catch(error) {\n\t\t\tif (axios.isCancel(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst checkContentType = type => (typeof type === 'string' && type.indexOf('/json') !== -1);\n\t\t\tconst enrichError = (origin, response) => {\n\t\t\t\tif (typeof response.message === 'string') {\n\t\t\t\t\torigin.message = response.message;\n\t\t\t\t}\n\t\t\t\torigin.code = typeof response.code === 'string' ? response.code : \"\";\n\t\t\t\torigin.id = response.id;\n\t\t\t\torigin.links = Array.isArray(response.links) ? response.links : [];\n\t\t\t\treturn origin;\n\t\t\t};\n\t\t\tif (Utils.isObject(error.response) && Utils.isObject(error.response.data) && (checkContentType(error.response.data.type) || (Utils.isObject(error.response.headers) && checkContentType(error.response.headers['content-type'])))) {\n\t\t\t\t// JSON error responses are Blobs and streams if responseType is set as such, so convert to JSON if required.\n\t\t\t\t// See: https://github.com/axios/axios/issues/815\n\t\t\t\tif (options.responseType === Environment.getResponseType()) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet errorResponse = await Environment.handleErrorResponse(error);\n\t\t\t\t\t\tthrow enrichError(error, errorResponse);\n\t\t\t\t\t} catch (error2) {\n\t\t\t\t\t\tconsole.error(error2);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow enrichError(error, error.response.data);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n}\n\nmodule.exports = Connection;\n","if (typeof window === 'undefined') {\n\tmodule.exports = require('./node');\n}\nelse {\n\tmodule.exports = require('./browser');\n}","const Utils = require('@openeo/js-commons/src/utils');\n\n/**\n * Manages the files types supported by the back-end.\n */\nclass FileTypes {\n\n\t/**\n\t * Creates a new FileTypes object from an API-compatible JSON response.\n\t * \n\t * @param {FileTypesAPI} data - A capabilities response compatible to the API specification for `GET /file_formats`.\n\t */\n\tconstructor(data) {\n\t\t/**\n\t\t * @protected\n\t\t * @type {FileTypesAPI}\n\t\t */\n\t\tthis.data = {\n\t\t\tinput: {},\n\t\t\toutput: {}\n\t\t};\n\t\tif(!Utils.isObject(data)) {\n\t\t\treturn;\n\t\t}\n\t\tfor(let io of ['input', 'output']) {\n\t\t\tfor(let type in data[io]) {\n\t\t\t\tif(!Utils.isObject(data[io])) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthis.data[io][type.toUpperCase()] = data[io][type];\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * A list of backends from the federation that are missing in the response data.\n\t\t * \n\t\t * @public\n\t\t * @type {Array.}\n\t\t */\n\t\tthis['federation:missing'] = data['federation:missing'];\n\t}\n\n\t/**\n\t * Returns the file types response as a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {FileTypesAPI}\n\t */\n\ttoJSON() {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Returns the input file formats.\n\t * \n\t * @returns {object.}\n\t */\n\tgetInputTypes() {\n\t\treturn this.data.input;\n\t}\n\n\t/**\n\t * Returns the output file formats.\n\t * \n\t * @returns {object.}\n\t */\n\tgetOutputTypes() {\n\t\treturn this.data.output;\n\t}\n\n\t/**\n\t * Returns a single input file format for a given identifier.\n\t * \n\t * Returns null if no input file format was found for the given identifier.\n\t * \n\t * @param {string} type - Case-insensitive file format identifier\n\t * @returns {FileType | null}\n\t */\n\tgetInputType(type) {\n\t\treturn this._findType(type, 'input');\n\t}\n\n\t/**\n\t * Returns a single output file format for a given identifier.\n\t * \n\t * Returns null if no output file format was found for the given identifier.\n\t * \n\t * @param {string} type - Case-insensitive file format identifier\n\t * @returns {FileType | null}\n\t */\n\tgetOutputType(type) {\n\t\treturn this._findType(type, 'output');\n\t}\n\n\t/**\n\t * Get a file type object from the list of input or output file formats.\n\t * \n\t * @param {string} type - Identifier of the file type\n\t * @param {string} io - Either `input` or `output`\n\t * @returns {FileType | null}\n\t * @protected\n\t */\n\t_findType(type, io) {\n\t\ttype = type.toUpperCase();\n\t\tif (type in this.data[io]) {\n\t\t\treturn this.data[io][type];\n\t\t}\n\t\treturn null;\n\t}\n\n}\n\nmodule.exports = FileTypes;\n","const Environment = require('./env');\nconst BaseEntity = require('./baseentity');\nconst Logs = require('./logs');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst StacMigrate = require('@radiantearth/stac-migrate');\n\nconst STOP_STATUS = ['finished', 'canceled', 'error'];\n\n/**\n * A Batch Job.\n * \n * @augments BaseEntity\n */\nclass Job extends BaseEntity {\n\n\t/**\n\t * Creates an object representing a batch job stored at the back-end.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} jobId - The batch job ID.\n\t */\n\tconstructor(connection, jobId) {\n\t\tsuper(connection, [\"id\", \"title\", \"description\", \"process\", \"status\", \"progress\", \"created\", \"updated\", \"plan\", \"costs\", \"budget\", \"usage\", [\"log_level\", \"logLevel\"], \"links\"]);\n\t\t/**\n\t\t * The identifier of the batch job.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = jobId;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.title = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.description = undefined;\n\t\t/**\n\t\t * The process chain to be executed.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Process}\n\t\t */\n\t\tthis.process = undefined;\n\t\t/**\n\t\t * The current status of a batch job.\n\t\t * One of \"created\", \"queued\", \"running\", \"canceled\", \"finished\" or \"error\".\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.status = undefined;\n\t\t/**\n\t\t * Indicates the process of a running batch job in percent. \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.progress = undefined;\n\t\t/**\n\t\t * Date and time of creation, formatted as a RFC 3339 date-time.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.created = undefined;\n\t\t/**\n\t\t * Date and time of the last status change, formatted as a RFC 3339 date-time.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.updated = undefined;\n\t\t/**\n\t\t * The billing plan to process and charge the batch job with.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.plan = undefined;\n\t\t/**\n\t\t * An amount of money or credits in the currency specified by the back-end.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.costs = undefined;\n\t\t/**\n\t\t * Maximum amount of costs the request is allowed to produce in the currency specified by the back-end.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.budget = undefined;\n\t}\n\n\t/**\n\t * Updates the batch job data stored in this object by requesting the metadata from the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The update job object (this).\n\t * @throws {Error}\n\t */\n\tasync describeJob() {\n\t\tlet response = await this.connection._get('/jobs/' + this.id);\n\t\treturn this.setAll(response.data);\n\t}\n\n\t/**\n\t * Modifies the batch job at the back-end and afterwards updates this object, too.\n\t * \n\t * @async\n\t * @param {object} parameters - An object with properties to update, each of them is optional, but at least one of them must be specified. Additional properties can be set if the server supports them.\n\t * @param {Process} parameters.process - A new process.\n\t * @param {string} parameters.title - A new title.\n\t * @param {string} parameters.description - A new description.\n\t * @param {string} parameters.plan - A new plan.\n\t * @param {number} parameters.budget - A new budget.\n\t * @returns {Promise} The updated job object (this).\n\t * @throws {Error}\n\t */\n\tasync updateJob(parameters) {\n\t\tawait this.connection._patch('/jobs/' + this.id, this._convertToRequest(parameters));\n\t\tif (this._supports('describeJob')) {\n\t\t\treturn await this.describeJob();\n\t\t}\n\t\telse {\n\t\t\treturn this.setAll(parameters);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes the batch job from the back-end.\n\t * \n\t * @async\n\t * @throws {Error}\n\t */\n\tasync deleteJob() {\n\t\tawait this.connection._delete('/jobs/' + this.id);\n\t}\n\n\t/**\n\t * Calculate an estimate (potentially time/costs/volume) for a batch job.\n\t * \n\t * @async\n\t * @returns {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync estimateJob() {\n\t\tlet response = await this.connection._get('/jobs/' + this.id + '/estimate');\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * Get logs for the batch job from the back-end.\n\t * \n\t * @param {?string} [level=null] - Minimum level of logs to return.\n\t * @returns {Logs}\n\t */\n\tdebugJob(level = null) {\n\t\treturn new Logs(this.connection, '/jobs/' + this.id + '/logs', level);\n\t}\n\n\t/**\n\t * Checks for status changes and new log entries every x seconds.\n\t * \n\t * On every status change observed or on new log entries (if supported by the\n\t * back-end and not disabled via `requestLogs`), the callback is executed.\n\t * It may also be executed once at the beginning.\n\t * The callback receives the updated job (this object) and the logs (array) passed.\n\t * \n\t * The monitoring stops once the job has finished, was canceled or errored out.\n\t * \n\t * This is only supported if describeJob is supported by the back-end.\n\t * \n\t * Returns a function that can be called to stop monitoring the job manually.\n\t * \n\t * @param {Function} callback \n\t * @param {number} [interval=60] - Interval between update requests, in seconds as integer.\n\t * @param {boolean} [requestLogs=true] - Enables/Disables requesting logs\n\t * @returns {Function}\n\t * @throws {Error}\n\t */\n\tmonitorJob(callback, interval = 60, requestLogs = true) {\n\t\tif (typeof callback !== 'function' || interval < 1) {\n\t\t\treturn;\n\t\t}\n\t\tlet capabilities = this.connection.capabilities();\n\t\tif (!capabilities.hasFeature('describeJob')) {\n\t\t\tthrow new Error('Monitoring Jobs not supported by the back-end.');\n\t\t}\n\n\t\tlet lastStatus = this.status;\n\t\tlet intervalId = null;\n\t\tlet logIterator = null;\n\t\tif (capabilities.hasFeature('debugJob') && requestLogs) {\n\t\t\tlogIterator = this.debugJob();\n\t\t}\n\t\tlet monitorFn = async () => {\n\t\t\tif (this.getDataAge() > 1) {\n\t\t\t\tawait this.describeJob();\n\t\t\t}\n\t\t\tlet logs = logIterator ? await logIterator.nextLogs() : [];\n\t\t\tif (lastStatus !== this.status || logs.length > 0) {\n\t\t\t\tcallback(this, logs);\n\t\t\t}\n\t\t\tlastStatus = this.status;\n\t\t\tif (STOP_STATUS.includes(this.status)) {\n\t\t\t\tstopFn(); // eslint-disable-line no-use-before-define\n\t\t\t}\n\t\t};\n\t\tsetTimeout(monitorFn, 0);\n\t\tintervalId = setInterval(monitorFn, interval * 1000);\n\t\tlet stopFn = () => {\n\t\t\tif (intervalId) {\n\t\t\t\tclearInterval(intervalId);\n\t\t\t\tintervalId = null;\n\t\t\t}\n\t\t};\n\t\treturn stopFn;\n\t}\n\n\t/**\n\t * Starts / queues the batch job for processing at the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The updated job object (this).\n\t * @throws {Error}\n\t */\n\tasync startJob() {\n\t\tawait this.connection._post('/jobs/' + this.id + '/results', {});\n\t\tif (this._supports('describeJob')) {\n\t\t\treturn await this.describeJob();\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Stops / cancels the batch job processing at the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The updated job object (this).\n\t * @throws {Error}\n\t */\n\tasync stopJob() {\n\t\tawait this.connection._delete('/jobs/' + this.id + '/results');\n\t\tif (this._supports('describeJob')) {\n\t\t\treturn await this.describeJob();\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Retrieves the STAC Item or Collection produced for the job results.\n\t * \n\t * The Item or Collection returned always complies to the latest STAC version (currently 1.0.0). \n\t * \n\t * @async\n\t * @returns {Promise>} The JSON-based response compatible to the API specification, but also including a `costs` property if present in the headers.\n\t * @throws {Error}\n\t */\n\tasync getResultsAsStac() {\n\t\tlet response = await this.connection._get('/jobs/' + this.id + '/results');\n\t\tif (!Utils.isObject(response) || !Utils.isObject(response.data)) {\n\t\t\tthrow new Error(\"Results received from the back-end are invalid\");\n\t\t}\n\t\tlet data = StacMigrate.stac(response.data);\n\t\tif (!Utils.isObject(data.assets)) {\n\t\t\tdata.assets = {};\n\t\t}\n\t\tif (data.type === 'Feature') { // Item\n\t\t\tif (typeof response.headers['openeo-costs'] === 'number') {\n\t\t\t\tdata.properties.costs = response.headers['openeo-costs'];\n\t\t\t}\n\t\t}\n\t\telse { // Collection\n\t\t\tif (typeof response.headers['openeo-costs'] === 'number') {\n\t\t\t\tdata.costs = response.headers['openeo-costs'];\n\t\t\t}\n\t\t}\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Retrieves download links.\n\t * \n\t * @async\n\t * @returns {Promise>} A list of links (object with href, rel, title, type and roles).\n\t * @throws {Error}\n\t */\n\tasync listResults() {\n\t\tlet item = await this.getResultsAsStac();\n\t\tif (Utils.isObject(item.assets)) {\n\t\t\treturn Object.values(item.assets);\n\t\t}\n\t\telse {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Downloads the results to the specified target folder. The specified target folder must already exist!\n\t * \n\t * NOTE: This method is only supported in a NodeJS environment. In a browser environment this method throws an exception!\n\t * \n\t * @async\n\t * @param {string} targetFolder - A target folder to store the file to, which must already exist.\n\t * @returns {Promise|void>} Depending on the environment: A list of file paths of the newly created files (Node), throws in Browsers.\n\t * @throws {Error}\n\t */\n\tasync downloadResults(targetFolder) {\n\t\tlet list = await this.listResults();\n\t\treturn await Environment.downloadResults(this.connection, list, targetFolder);\n\t}\n}\n\nmodule.exports = Job;\n","const Utils = require('@openeo/js-commons/src/utils');\n\n/**\n * Interface to loop through the logs.\n */\nclass Logs {\n\n\t/**\n\t * Creates a new Logs instance to retrieve logs from a back-end.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} endpoint - The relative endpoint to request the logs from, usually `/jobs/.../logs` or `/services/.../logs` with `...` being the actual job or service id.\n\t * @param {?string} [level=null] - Minimum level of logs to return.\n\t */\n\tconstructor(connection, endpoint, level = null) {\n\t\t/**\n\t\t * @protected\n\t\t * @type {Connection}\n\t\t */\n\t\tthis.connection = connection;\n\t\tthis.endpoint = endpoint;\n\t\tthis.lastId = \"\";\n\t\tthis.level = level;\n\t}\n\n\t/**\n\t * Retrieves the next log entries since the last request.\n\t * \n\t * Retrieves log entries only.\n\t * \n\t * @async\n\t * @param {number} limit - The number of log entries to retrieve per request, as integer.\n\t * @returns {Promise>}\n\t */\n\tasync nextLogs(limit = null) {\n\t\tlet response = await this.next(limit);\n\t\treturn Array.isArray(response.logs) ? response.logs : [];\n\t}\n\n\t/**\n\t * Retrieves the next log entries since the last request.\n\t * \n\t * Retrieves the full response compliant to the API, including log entries and links.\n\t * \n\t * @async\n\t * @param {number} limit - The number of log entries to retrieve per request, as integer.\n\t * @returns {Promise}\n\t */\n\tasync next(limit = null) {\n\t\tlet query = {\n\t\t\toffset: this.lastId\n\t\t};\n\t\tif (limit > 0) {\n\t\t\tquery.limit = limit;\n\t\t}\n\t\tif (this.level) {\n\t\t\tquery.level = this.level;\n\t\t}\n\t\tlet response = await this.connection._get(this.endpoint, query);\n\t\tif (Array.isArray(response.data.logs) && response.data.logs.length > 0) {\n\t\t\tresponse.data.logs = response.data.logs.filter(log => Utils.isObject(log) && typeof log.id === 'string');\n\t\t\tthis.lastId = response.data.logs[response.data.logs.length - 1].id;\n\t\t}\n\t\telse {\n\t\t\tresponse.data.logs = [];\n\t\t}\n\t\tresponse.data.links = Array.isArray(response.data.links) ? response.data.links : [];\n\t\treturn response.data;\n\t}\n\n}\n\nmodule.exports = Logs;\n","const fs = require('fs');\nconst url = require(\"url\");\nconst path = require(\"path\");\nconst Stream = require('stream');\n\n/**\n * Platform dependant utilities for the openEO JS Client.\n * \n * Node.js implementation, don't use in other environments.\n * \n * @hideconstructor\n */\nclass Environment {\n\n\t/**\n\t * Returns the name of the Environment, here `Node`.\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getName() {\n\t\treturn 'Node';\n\t}\n\n\t/**\n\t * Returns the URL of the server instance.\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getUrl() {\n\t\treturn Environment.url;\n\t}\n\n\t/**\n\t * Sets the URL of the server instance.\n\t * \n\t * @param {string} uri\n\t * @static\n\t */\n\tstatic setUrl(uri) {\n\t\tEnvironment.url = uri;\n\t}\n\n\t/**\n\t * Handles errors from the API that are returned as Streams.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {Stream.Readable} error \n\t * @returns {Promise}\n\t */\n\tstatic handleErrorResponse(error) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet chunks = [];\n\t\t\terror.response.data.on(\"data\", chunk => chunks.push(chunk));\n\t\t\terror.response.data.on(\"error\", streamError => reject(streamError));\n\t\t\terror.response.data.on(\"end\", () => resolve(JSON.parse(Buffer.concat(chunks).toString())));\n\t\t});\n\t}\n\n\t/**\n\t * Returns how binary responses from the servers are returned (`stream` or `blob`).\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getResponseType() {\n\t\treturn 'stream';\n\t}\n\n\t/**\n\t * Encodes a string into Base64 encoding.\n\t * \n\t * @static\n\t * @param {string|Buffer} str - String to encode.\n\t * @returns {string} String encoded in Base64.\n\t */\n\tstatic base64encode(str) {\n\t\tlet buffer;\n\t\tif (str instanceof Buffer) {\n\t\t\tbuffer = str;\n\t\t} else {\n\t\t\tbuffer = Buffer.from(str.toString(), 'binary');\n\t\t}\n\t\treturn buffer.toString('base64');\n\t}\n\n\t/**\n\t * Detect the file name for the given data source.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {string} source - A path to a file as string.\n\t * @returns {string}\n\t */\n\tstatic fileNameForUpload(source) {\n\t\treturn path.basename(source);\n\t}\n\n\t/**\n\t * Get the data from the source that should be uploaded.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {string} source - A path to a file as string.\n\t * @returns {Stream.Readable}\n\t */\n\tstatic dataForUpload(source) {\n\t\treturn fs.createReadStream(source);\n\t}\n\n\t/**\n\t * Downloads files to local storage and returns a list of file paths.\n\t * \n\t * @static\n\t * @param {Connection} con \n\t * @param {Array.>} assets \n\t * @param {string} targetFolder \n\t * @returns {Promise>}\n\t * @throws {Error}\n\t */\n\tstatic async downloadResults(con, assets, targetFolder) {\n\t\tlet files = [];\n\t\tconst promises = assets.map(async (link) => {\n\t\t\tlet parsedUrl = url.parse(link.href);\n\t\t\tlet targetPath = path.join(targetFolder, path.basename(parsedUrl.pathname));\n\t\t\tlet data = await con.download(link.href, false);\n\t\t\tif (data instanceof Stream.Readable) {\n\t\t\t\tawait Environment.saveToFile(data, targetPath);\n\t\t\t\tfiles.push(targetPath);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error(\"Data retrieved is not a Stream\");\n\t\t\t}\n\t\t});\n\n\t\tawait Promise.all(promises);\n\t\treturn files;\n\t}\n\n\t/**\n\t * Streams data into a file.\n\t *\n\t * @static\n\t * @async\n\t * @param {Stream.Readable} data - Data stream to read from.\n\t * @param {string} filename - File path to store the data at.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tstatic saveToFile(data, filename) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet writeStream = fs.createWriteStream(filename);\n\t\t\twriteStream.on('close', (err) => {\n\t\t\t\tif (err) {\n\t\t\t\t\treturn reject(err);\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t\tdata.pipe(writeStream);\n\t\t});\n\t}\n}\n\nEnvironment.url = '';\n\nmodule.exports = Environment;\n","const Utils = require('@openeo/js-commons/src/utils');\nconst AuthProvider = require('./authprovider');\nconst Environment = require('./env');\nconst Oidc = require('oidc-client');\n\n/**\n * The Authentication Provider for OpenID Connect.\n * \n * See the openid-connect-popup.html and openid-connect-redirect.html files in\n * the `/examples/oidc` folder for usage examples in the browser.\n * \n * If you want to implement OIDC in a non-browser environment, you can override \n * the OidcProvider or AuthProvider classes with custom behavior.\n * In this case you must provide a function that creates your new class to the\n * `Connection.setOidcProviderFactory()` method.\n * \n * @augments AuthProvider\n * @see Connection#setOidcProviderFactory\n */\nclass OidcProvider extends AuthProvider {\n\n\t/**\n\t * Checks whether the required OIDC client library `openid-client-js` is available.\n\t * \n\t * @static\n\t * @returns {boolean}\n\t */\n\tstatic isSupported() {\n\t\treturn Utils.isObject(Oidc) && Boolean(Oidc.UserManager);\n\t}\n\n\t/**\n\t * Finishes the OpenID Connect sign in (authentication) workflow.\n\t * \n\t * Must be called in the page that OpenID Connect redirects to after logging in.\n\t * \n\t * Supported only in Browser environments.\n\t * \n\t * @async\n\t * @static\n\t * @param {OidcProvider} provider - A OIDC provider to assign the user to.\n\t * @param {object.} [options={}] - Object with additional options.\n\t * @returns {Promise} For uiMethod = 'redirect' only: OIDC User\n\t * @throws {Error}\n\t * @see https://github.com/IdentityModel/oidc-client-js/wiki#other-optional-settings\n\t */\n\tstatic async signinCallback(provider = null, options = {}) {\n\t\tlet url = Environment.getUrl();\n\t\tif (!provider) {\n\t\t\t// No provider options available, try to detect response mode from URL\n\t\t\tprovider = new OidcProvider(null, {});\n\t\t\tprovider.setGrant(url.includes('?') ? 'authorization_code+pkce' : 'implicit');\n\t\t}\n\t\tlet providerOptions = provider.getOptions(options);\n\t\tlet oidc = new Oidc.UserManager(providerOptions);\n\t\treturn await oidc.signinCallback(url);\n\t}\n\n\t/**\n\t * Creates a new OidcProvider instance to authenticate using OpenID Connect.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {OidcProviderMeta} options - OpenID Connect Provider details as returned by the API.\n\t */\n\tconstructor(connection, options) {\n\t\tsuper(\"oidc\", connection, options);\n\n\t\tthis.manager = null;\n\t\tthis.listeners = {};\n\n\t\t/**\n\t\t * The authenticated OIDC user.\n\t\t * \n\t\t * @type {Oidc.User}\n\t\t */\n\t\tthis.user = null;\n\t\t\n\t\t/**\n\t\t * The client ID to use for authentication.\n\t\t * \n\t\t * @type {string | null}\n\t\t */\n\t\tthis.clientId = null;\n\n\t\t/**\n\t\t * The grant type (flow) to use for this provider.\n\t\t * \n\t\t * Either \"authorization_code+pkce\" (default) or \"implicit\"\n\t\t * \n\t\t * @type {string}\n\t\t */\n\t\tthis.grant = \"authorization_code+pkce\"; // Set this before calling detectDefaultClient\n\n\t\t/**\n\t\t * The issuer, i.e. the link to the identity provider.\n\t\t * \n\t\t * @type {string}\n\t\t */\n\t\tthis.issuer = options.issuer || \"\";\n\n\t\t/**\n\t\t * The scopes to be requested.\n\t\t * \n\t\t * @type {Array.}\n\t\t */\n\t\tthis.scopes = Array.isArray(options.scopes) && options.scopes.length > 0 ? options.scopes : ['openid'];\n\n\t\t/**\n\t\t * The scope that is used to request a refresh token.\n\t\t * \n\t\t * @type {string}\n\t\t */\n\t\tthis.refreshTokenScope = \"offline_access\";\n\n\t\t/**\n\t\t * Any additional links.\n\t\t * \n\t\t * \n\t\t * @type {Array.}\n\t\t */\n\t\tthis.links = Array.isArray(options.links) ? options.links : [];\n\n\t\t/**\n\t\t * The default clients made available by the back-end.\n\t\t * \n\t\t * @type {Array.}\n\t\t */\n\t\tthis.defaultClients = Array.isArray(options.default_clients) ? options.default_clients : [];\n\n\t\t/**\n\t\t * The detected default Client.\n\t\t * \n\t\t * @type {OidcClient}\n\t\t */\n\t\tthis.defaultClient = this.detectDefaultClient();\n\t}\n\n\t/**\n\t * Adds a listener to one of the following events:\n\t * \n\t * - AccessTokenExpiring: Raised prior to the access token expiring.\n\t * - AccessTokenExpired: Raised after the access token has expired.\n\t * - SilentRenewError: Raised when the automatic silent renew has failed.\n\t * \n\t * @param {string} event \n\t * @param {Function} callback\n\t * @param {string} [scope=\"default\"]\n\t */\n\taddListener(event, callback, scope = 'default') {\n\t\tthis.manager.events[`add${event}`](callback);\n\t\tthis.listeners[`${scope}:${event}`] = callback;\n\t}\n\n\t/**\n\t * Removes the listener for the given event that has been set with addListener.\n\t * \n\t * @param {string} event \n\t * @param {string} [scope=\"default\"]\n\t * @see OidcProvider#addListener\n\t */\n\tremoveListener(event, scope = 'default') {\n\t\tthis.manager.events[`remove${event}`](this.listeners[event]);\n\t\tdelete this.listeners[`${scope}:${event}`];\n\t}\n\n\t/**\n\t * Authenticate with OpenID Connect (OIDC).\n\t * \n\t * Supported only in Browser environments.\n\t * \n\t * @async\n\t * @param {object.} [options={}] - Object with authentication options.\n\t * @param {boolean} [requestRefreshToken=false] - If set to `true`, adds a scope to request a refresh token.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see https://github.com/IdentityModel/oidc-client-js/wiki#other-optional-settings\n\t * @see {OidcProvider#refreshTokenScope}\n\t */\n\tasync login(options = {}, requestRefreshToken = false) {\n\t\tif (!this.issuer || typeof this.issuer !== 'string') {\n\t\t\tthrow new Error(\"No Issuer URL available for OpenID Connect\");\n\t\t}\n\n\t\tthis.manager = new Oidc.UserManager(this.getOptions(options, requestRefreshToken));\n\t\tthis.addListener('UserLoaded', async () => this.setUser(await this.manager.getUser()), 'js-client');\n\t\tthis.addListener('AccessTokenExpired', () => this.setUser(null), 'js-client');\n\t\tif (OidcProvider.uiMethod === 'popup') {\n\t\t\tawait this.manager.signinPopup();\n\t\t}\n\t\telse {\n\t\t\tawait this.manager.signinRedirect();\n\t\t}\n\t}\n\n\t/**\n\t * Logout from the established session.\n\t * \n\t * @async\n\t */\n\tasync logout() {\n\t\tif (this.manager !== null) {\n\t\t\ttry {\n\t\t\t\tif (OidcProvider.uiMethod === 'popup') {\n\t\t\t\t\tawait this.manager.signoutPopup();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tawait this.manager.signoutRedirect({\n\t\t\t\t\t\tpost_logout_redirect_uri: Environment.getUrl()\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(error);\n\t\t\t}\n\t\t\tsuper.logout();\n\t\t\tthis.removeListener('UserLoaded', 'js-client');\n\t\t\tthis.removeListener('AccessTokenExpired', 'js-client');\n\t\t\tthis.manager = null;\n\t\t\tthis.setUser(null);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the options for the OIDC client library.\n\t * \n\t * Options can be overridden by custom options via the options parameter.\n\t * \n\t * @protected\n\t * @param {object.} options \n\t * @param {boolean} [requestRefreshToken=false] - If set to `true`, adds a scope to request a refresh token.\n\t * @returns {object.}\n\t * @see {OidcProvider#refreshTokenScope}\n\t */\n\tgetOptions(options = {}, requestRefreshToken = false) {\n\t\tlet response_type = this.getResponseType();\n\t\tlet scope = this.scopes.slice(0);\n\t\tif (requestRefreshToken && !scope.includes(this.refreshTokenScope)) {\n\t\t\tscope.push(this.refreshTokenScope);\n\t\t}\n\n\t\treturn Object.assign({\n\t\t\tclient_id: this.clientId,\n\t\t\tredirect_uri: OidcProvider.redirectUrl,\n\t\t\tauthority: this.issuer.replace('/.well-known/openid-configuration', ''),\n\t\t\tscope: scope.join(' '),\n\t\t\tvalidateSubOnSilentRenew: true,\n\t\t\tresponse_type,\n\t\t\tresponse_mode: response_type.includes('code') ? 'query' : 'fragment'\n\t\t}, options);\n\t}\n\n\t/**\n\t * Get the response_type based on the grant type.\n\t * \n\t * @protected\n\t * @returns {string}\n\t * @throws {Error}\n\t */\n\tgetResponseType() {\n\t\tswitch(this.grant) {\n\t\t\tcase 'authorization_code+pkce':\n\t\t\t\treturn 'code';\n\t\t\tcase 'implicit':\n\t\t\t\treturn 'token id_token';\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Grant Type not supported');\n\t\t}\n\t}\n\n\t/**\n\t * Sets the grant type (flow) used for OIDC authentication.\n\t * \n\t * @param {string} grant - Grant Type\n\t * @throws {Error}\n\t */\n\tsetGrant(grant) { // \n\t\tswitch(grant) {\n\t\t\tcase 'authorization_code+pkce':\n\t\t\tcase 'implicit':\n\t\t\t\tthis.grant = grant;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Grant Type not supported');\n\t\t}\n\t}\n\n\t/**\n\t * Sets the Client ID for OIDC authentication.\n\t * \n\t * This may override a detected default client ID.\n\t * \n\t * @param {string | null} clientId\n\t */\n\tsetClientId(clientId) {\n\t\tthis.clientId = clientId;\n\t}\n\n\t/**\n\t * Sets the OIDC User.\n\t * \n\t * @see https://github.com/IdentityModel/oidc-client-js/wiki#user\n\t * @param {Oidc.User | null} user - The OIDC User. Passing `null` resets OIDC authentication details.\n\t */\n\tsetUser(user) {\n\t\tif (!user) {\n\t\t\tthis.user = null;\n\t\t\tthis.setToken(null);\n\t\t}\n\t\telse {\n\t\t\tthis.user = user;\n\t\t\tthis.setToken(user.access_token);\n\t\t}\n\t}\n\n\t/**\n\t * Returns a display name for the authenticated user.\n\t * \n\t * @returns {string?} Name of the user or `null`\n\t */\n\tgetDisplayName() {\n\t\tif (this.user && Utils.isObject(this.user.profile)) {\n\t\t\treturn this.user.profile.name || this.user.profile.preferred_username || this.user.profile.email || null;\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Detects the default OIDC client ID for the given redirect URL.\n\t * \n\t * Sets the grant and client ID accordingly.\n\t * \n\t * @returns {OidcClient | null}\n\t * @see OidcProvider#setGrant\n\t * @see OidcProvider#setClientId\n\t */\n\tdetectDefaultClient() {\n\t\tfor(let grant of OidcProvider.grants) {\n\t\t\tlet defaultClient = this.defaultClients.find(client => Boolean(client.grant_types.includes(grant) && Array.isArray(client.redirect_urls) && client.redirect_urls.find(url => url.startsWith(OidcProvider.redirectUrl))));\n\t\t\tif (defaultClient) {\n\t\t\t\tthis.setGrant(grant);\n\t\t\t\tthis.setClientId(defaultClient.id);\n\t\t\t\tthis.defaultClient = defaultClient;\n\t\t\t\treturn defaultClient;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n}\n\n/**\n * The global \"UI\" method to use to open the login URL, either \"redirect\" (default) or \"popup\".\n * \n * @type {string}\n */\nOidcProvider.uiMethod = 'redirect';\n\n/**\n * The global redirect URL to use.\n * \n * By default uses the location of the browser, but removes fragment, query and\n * trailing slash.\n * The fragment conflicts with the fragment appended by the Implicit Flow and\n * the query conflicts with the query appended by the Authorization Code Flow.\n * The trailing slash is removed for consistency.\n * \n * @type {string}\n */\nOidcProvider.redirectUrl = Environment.getUrl().split('#')[0].split('?')[0].replace(/\\/$/, '');\n\n/**\n * The supported OpenID Connect grants (flows).\n * \n * The grants are given as defined in openEO API, e.g. `implicit` and/or `authorization_code+pkce`\n * If not defined there, consult the OpenID Connect Discovery documentation.\n * \n * Lists the grants by priority so that the first grant is the default grant.\n * The default grant type since client version 2.0.0 is 'authorization_code+pkce'.\n * \n * @type {Array.}\n */\nOidcProvider.grants = [\n\t'authorization_code+pkce',\n\t'implicit'\n];\n\nmodule.exports = OidcProvider;\n","const axios = require('axios');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst Versions = require('@openeo/js-commons/src/versions');\n\n// API wrapper\nconst Connection = require('./connection');\nconst Job = require('./job');\nconst Logs = require('./logs');\nconst UserFile = require('./userfile');\nconst UserProcess = require('./userprocess');\nconst Service = require('./service');\n\n// Auth Providers\nconst AuthProvider = require('./authprovider');\nconst BasicProvider = require('./basicprovider');\nconst OidcProvider = require('./oidcprovider');\n\n// Response wrapper\nconst Capabilities = require('./capabilities');\nconst FileTypes = require('./filetypes');\n\n// Builder\nconst Builder = require('./builder/builder');\nconst BuilderNode = require('./builder/node');\nconst Parameter = require('./builder/parameter');\nconst Formula = require('./builder/formula');\n\nconst MIN_API_VERSION = '1.0.0-rc.2';\nconst MAX_API_VERSION = '1.x.x';\n\n/**\n * Main class to start with openEO. Allows to connect to a server.\n * \n * @hideconstructor\n */\nclass OpenEO {\n\n\t/**\n\t * Connect to a back-end with version discovery (recommended).\n\t * \n\t * Includes version discovery (request to `GET /well-known/openeo`) and connects to the most suitable version compatible to this JS client version.\n\t * Requests the capabilities and authenticates where required.\n\t * \n\t * @async\n\t * @param {string} url - The server URL to connect to.\n\t * @param {Options} [options={}] - Additional options for the connection.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @static\n\t */\n\tstatic async connect(url, options = {}) {\n\t\tlet wellKnownUrl = Utils.normalizeUrl(url, '/.well-known/openeo');\n\t\tlet versionedUrl = url;\n\t\tlet response = null;\n\t\ttry {\n\t\t\tresponse = await axios.get(wellKnownUrl, {timeout: 5000});\n\n\t\t\tif (!Utils.isObject(response.data) || !Array.isArray(response.data.versions)) {\n\t\t\t\tthrow new Error(\"Well-Known Document doesn't list any versions.\");\n\t\t\t}\n\t\t} catch(error) {\n\t\t\tconsole.warn(\"Can't read well-known document, connecting directly to the specified URL as fallback mechanism. Reason: \" + error.message);\n\t\t}\n\t\n\t\tif (Utils.isObject(response)) {\n\t\t\tlet version = Versions.findLatest(response.data.versions, true, MIN_API_VERSION, MAX_API_VERSION);\n\t\t\tif (version !== null) {\n\t\t\t\tversionedUrl = version.url;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error(\"Server not supported. Client only supports the API versions between \" + MIN_API_VERSION + \" and \" + MAX_API_VERSION);\n\t\t\t}\n\t\t}\n\n\t\tlet connection = await OpenEO.connectDirect(versionedUrl, options);\n\t\tconnection.url = url;\n\t\treturn connection;\n\t}\n\n\t/**\n\t * Connects directly to a back-end instance, without version discovery (NOT recommended).\n\t * \n\t * Doesn't do version discovery, therefore a URL of a versioned API must be specified. Requests the capabilities and authenticates where required.\n\t * \n\t * @async\n\t * @param {string} versionedUrl - The server URL to connect to.\n\t * @param {Options} [options={}] - Additional options for the connection.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @static\n\t */\n\tstatic async connectDirect(versionedUrl, options = {}) {\n\t\tlet connection = new Connection(versionedUrl, options);\n\n\t\t// Check whether back-end is accessible and supports a compatible version.\n\t\tlet capabilities = await connection.init();\n\t\tif (Versions.compare(capabilities.apiVersion(), MIN_API_VERSION, \"<\") || Versions.compare(capabilities.apiVersion(), MAX_API_VERSION, \">\")) {\n\t\t\tthrow new Error(\"Client only supports the API versions between \" + MIN_API_VERSION + \" and \" + MAX_API_VERSION);\n\t\t}\n\n\t\treturn connection;\n\t}\n\n\t/**\n\t * Returns the version number of the client.\n\t * \n\t * Not to confuse with the API version(s) supported by the client.\n\t * \n\t * @returns {string} Version number (according to SemVer).\n\t */\n\tstatic clientVersion() {\n\t\treturn \"2.6.0\";\n\t}\n\n}\n\nOpenEO.Environment = require('./env');\n\nmodule.exports = {\n\tAbortController,\n\tAuthProvider,\n\tBasicProvider,\n\tCapabilities,\n\tConnection,\n\tFileTypes,\n\tJob,\n\tLogs,\n\tOidcProvider,\n\tOpenEO,\n\tService,\n\tUserFile,\n\tUserProcess,\n\tBuilder,\n\tBuilderNode,\n\tParameter,\n\tFormula\n};\n","const BaseEntity = require('./baseentity');\nconst Logs = require('./logs');\n\n/**\n * A Secondary Web Service.\n * \n * @augments BaseEntity\n */\nclass Service extends BaseEntity {\n\n\t/**\n\t * Creates an object representing a secondary web service stored at the back-end.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} serviceId - The service ID.\n\t */\n\tconstructor(connection, serviceId) {\n\t\tsuper(connection, [\"id\", \"title\", \"description\", \"process\", \"url\", \"type\", \"enabled\", \"configuration\", \"attributes\", \"created\", \"plan\", \"costs\", \"budget\", \"usage\", [\"log_level\", \"logLevel\"], \"links\"]);\n\t\t/**\n\t\t * The identifier of the service.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = serviceId;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.title = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.description = undefined;\n\t\t/**\n\t\t * The process chain to be executed.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Process}\n\t\t */\n\t\tthis.process = undefined;\n\t\t/**\n\t\t * URL at which the secondary web service is accessible\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.url = undefined;\n\t\t/**\n\t\t * Web service type (protocol / standard) that is exposed.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.type = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?boolean}\n\t\t */\n\t\tthis.enabled = undefined;\n\t\t/**\n\t\t * Map of configuration settings, i.e. the setting names supported by the secondary web service combined with actual values. \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.configuration = undefined;\n\t\t/**\n\t\t * Additional attributes of the secondary web service, e.g. available layers for a WMS based on the bands in the underlying GeoTiff.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.attributes = undefined;\n\t\t/**\n\t\t * Date and time of creation, formatted as a RFC 3339 date-time.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.created = undefined;\n\t\t/**\n\t\t * The billing plan to process and charge the service with.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.plan = undefined;\n\t\t/**\n\t\t * An amount of money or credits in the currency specified by the back-end.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.costs = undefined;\n\t\t/**\n\t\t * Maximum amount of costs the request is allowed to produce in the currency specified by the back-end.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.budget = undefined;\n\t}\n\n\t/**\n\t * Updates the data stored in this object by requesting the secondary web service metadata from the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The updates service object (this).\n\t * @throws {Error}\n\t */\n\tasync describeService() {\n\t\tlet response = await this.connection._get('/services/' + this.id);\n\t\treturn this.setAll(response.data);\n\t}\n\n\t/**\n\t * Modifies the secondary web service at the back-end and afterwards updates this object, too.\n\t * \n\t * @async\n\t * @param {object} parameters - An object with properties to update, each of them is optional, but at least one of them must be specified. Additional properties can be set if the server supports them.\n\t * @param {Process} parameters.process - A new process.\n\t * @param {string} parameters.title - A new title.\n\t * @param {string} parameters.description - A new description.\n\t * @param {boolean} parameters.enabled - Enables (`true`) or disables (`false`) the service.\n\t * @param {object.} parameters.configuration - A new set of configuration parameters to set for the service.\n\t * @param {string} parameters.plan - A new plan.\n\t * @param {number} parameters.budget - A new budget.\n\t * @returns {Promise} The updated service object (this).\n\t * @throws {Error}\n\t */\n\tasync updateService(parameters) {\n\t\tawait this.connection._patch('/services/' + this.id, this._convertToRequest(parameters));\n\t\tif (this._supports('describeService')) {\n\t\t\treturn await this.describeService();\n\t\t}\n\t\telse {\n\t\t\treturn this.setAll(parameters);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes the secondary web service from the back-end.\n\t * \n\t * @async\n\t * @throws {Error}\n\t */\n\tasync deleteService() {\n\t\tawait this.connection._delete('/services/' + this.id);\n\t}\n\n\t/**\n\t * Get logs for the secondary web service from the back-end.\n\t * \n\t * @param {?string} [level=null] - Minimum level of logs to return.\n\t * @returns {Logs}\n\t */\n\tdebugService(level = null) {\n\t\treturn new Logs(this.connection, '/services/' + this.id + '/logs', level);\n\t}\n\n\t/**\n\t * Checks for new log entries every x seconds.\n\t * \n\t * On every status change (enabled/disabled) observed or on new log entries\n\t * (if supported by the back-end and not disabled via `requestLogs`), the\n\t * callback is executed. It may also be executed once at the beginning.\n\t * The callback receives the updated service (this object) and the logs (array) passed.\n\t * \n\t * Returns a function that can be called to stop monitoring the service manually.\n\t * The monitoring must be stopped manually, otherwise it runs forever.\n\t * \n\t * This is only supported if describeService is supported by the back-end.\n\t * \n\t * @param {Function} callback \n\t * @param {number} [interval=60] - Interval between update requests, in seconds as integer.\n\t * @param {boolean} [requestLogs=true] - Enables/Disables requesting logs\n\t * @returns {Function}\n\t * @throws {Error}\n\t */\n\tmonitorService(callback, interval = 60, requestLogs = true) {\n\t\tif (typeof callback !== 'function' || interval < 1) {\n\t\t\treturn;\n\t\t}\n\t\tlet capabilities = this.connection.capabilities();\n\t\tif (!capabilities.hasFeature('describeService')) {\n\t\t\tthrow new Error('Monitoring Services not supported by the back-end.');\n\t\t}\n\n\t\tlet wasEnabled = this.enabled;\n\t\tlet intervalId = null;\n\t\tlet logIterator = null;\n\t\tif (capabilities.hasFeature('debugService') && requestLogs) {\n\t\t\tlogIterator = this.debugService();\n\t\t}\n\t\tlet monitorFn = async () => {\n\t\t\tif (this.getDataAge() > 1) {\n\t\t\t\tawait this.describeService();\n\t\t\t}\n\t\t\tlet logs = logIterator ? await logIterator.nextLogs() : [];\n\t\t\tif (wasEnabled !== this.enabled || logs.length > 0) {\n\t\t\t\tcallback(this, logs);\n\t\t\t}\n\t\t\twasEnabled = this.enabled;\n\t\t};\n\t\tsetTimeout(monitorFn, 0);\n\t\tintervalId = setInterval(monitorFn, interval * 1000);\n\t\tlet stopFn = () => {\n\t\t\tif (intervalId) {\n\t\t\t\tclearInterval(intervalId);\n\t\t\t\tintervalId = null;\n\t\t\t}\n\t\t};\n\t\treturn stopFn;\n\t}\n}\n\nmodule.exports = Service;\n","const Environment = require('./env');\nconst BaseEntity = require('./baseentity');\n\n/**\n * A File on the user workspace.\n * \n * @augments BaseEntity\n */\nclass UserFile extends BaseEntity {\n\n\t/**\n\t * Creates an object representing a file on the user workspace.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} path - The path to the file, relative to the user workspace and without user ID.\n\t */\n\tconstructor(connection, path) {\n\t\tsuper(connection, [\"path\", \"size\", \"modified\"]);\n\t\t/**\n\t\t * Path to the file, relative to the user's directory.\n\t\t * @readonly\n\t\t * @public\n\t\t * @type {string}\n\t\t */\n\t\tthis.path = path;\n\t\t/** \n\t\t * File size in bytes as integer.\n\t\t * @readonly\n\t\t * @public\n\t\t * @type {number}\n\t\t */\n\t\tthis.size = undefined;\n\t\t/**\n\t\t * Date and time the file has lastly been modified, formatted as a RFC 3339 date-time.\n\t\t * @readonly\n\t\t * @public\n\t\t * @type {string}\n\t\t */\n\t\tthis.modified = undefined;\n\t}\n\n\t/**\n\t * Downloads a file from the user workspace into memory.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * Returns a stream in a NodeJS environment or a Blob in a browser environment.\n\t * \n\t * @async\n\t * @returns {Promise} - Return value depends on the target and environment, see method description for details.\n\t * @throws {Error}\n\t */\n\tasync retrieveFile() {\n\t\treturn await this.connection.download('/files/' + this.path, true);\n\t}\n\n\t/**\n\t * Downloads a file from the user workspace and saves it.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * In a NodeJS environment writes the downloaded file to the target location on the file system.\n\t * In a browser environment offers the file for downloading using the specified name (folders are not supported).\n\t * \n\t * @async\n\t * @param {string} target - The target, see method description for details.\n\t * @returns {Promise|void>} - Return value depends on the target and environment, see method description for details.\n\t * @throws {Error}\n\t */\n\tasync downloadFile(target) {\n\t\tlet data = await this.connection.download('/files/' + this.path, true);\n\t\t// @ts-ignore\n\t\treturn await Environment.saveToFile(data, target);\n\t}\n\n\t/**\n\t * A callback that is executed on upload progress updates.\n\t * \n\t * @callback uploadStatusCallback\n\t * @param {number} percentCompleted - The percent (0-100) completed.\n\t * @param {UserFile} file - The file object corresponding to the callback.\n\t */\n\n\t/**\n\t * Uploads a file to the user workspace.\n\t * If a file with the name exists, overwrites it.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * In a nodeJS environment the source must be a path to a file as string.\n\t * In a browser environment the source must be an object from a file upload form.\n\t * \n\t * @async\n\t * @param {*} source - The source, see method description for details.\n\t * @param {?uploadStatusCallback} statusCallback - Optionally, a callback that is executed on upload progress updates.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the upload process.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync uploadFile(source, statusCallback = null, abortController = null) {\n\t\tlet options = {\n\t\t\tmethod: 'put',\n\t\t\turl: '/files/' + this.path,\n\t\t\tdata: Environment.dataForUpload(source),\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/octet-stream'\n\t\t\t}\n\t\t};\n\t\tif (typeof statusCallback === 'function') {\n\t\t\toptions.onUploadProgress = (progressEvent) => {\n\t\t\t\tlet percentCompleted = Math.round( (progressEvent.loaded * 100) / progressEvent.total );\n\t\t\t\tstatusCallback(percentCompleted, this);\n\t\t\t};\n\t\t}\n\n\t\tlet response = await this.connection._send(options, abortController);\n\t\treturn this.setAll(response.data);\n\t}\n\n\t/**\n\t * Deletes the file from the user workspace.\n\t * \n\t * @async\n\t * @throws {Error}\n\t */\n\tasync deleteFile() {\n\t\tawait this.connection._delete('/files/' + this.path);\n\t}\n}\n\nmodule.exports = UserFile;\n","const BaseEntity = require('./baseentity');\nconst Utils = require('@openeo/js-commons/src/utils');\n\n/**\n * A Stored Process Graph.\n * \n * @augments BaseEntity\n */\nclass UserProcess extends BaseEntity {\n\n\t/**\n\t * Creates an object representing a process graph stored at the back-end.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} id - ID of a stored process graph.\n\t */\n\tconstructor(connection, id) {\n\t\tsuper(connection, [\n\t\t\t\"id\",\n\t\t\t\"summary\",\n\t\t\t\"description\",\n\t\t\t\"categories\",\n\t\t\t\"parameters\",\n\t\t\t\"returns\",\n\t\t\t\"deprecated\",\n\t\t\t\"experimental\",\n\t\t\t\"exceptions\",\n\t\t\t\"examples\",\n\t\t\t\"links\",\n\t\t\t[\"process_graph\", \"processGraph\"]\n\t\t]);\n\t\t/**\n\t\t * The identifier of the process.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = id;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.summary = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.description = undefined;\n\t\t/**\n\t\t * A list of categories.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Array.}\n\t\t */\n\t\tthis.categories = undefined;\n\t\t/**\n\t\t * A list of parameters.\n\t\t * \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Array.>}\n\t\t */\n\t\tthis.parameters = undefined;\n\t\t/**\n\t\t * Description of the data that is returned by this process.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.returns = undefined;\n\t\t/**\n\t\t * Specifies that the process or parameter is deprecated with the potential to be removed in any of the next versions. \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?boolean}\n\t\t */\n\t\tthis.deprecated = undefined;\n\t\t/**\n\t\t * Declares the process or parameter to be experimental, which means that it is likely to change or may produce unpredictable behaviour. \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?boolean}\n\t\t */\n\t\tthis.experimental = undefined;\n\t\t/**\n\t\t * Declares any exceptions (errors) that might occur during execution of this process.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.exceptions = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Array.>}\n\t\t */\n\t\tthis.examples = undefined;\n\t\t/**\n\t\t * Links related to this process.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Array.}\n\t\t */\n\t\tthis.links = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.processGraph = undefined;\n\t}\n\n\t/**\n\t * Updates the data stored in this object by requesting the process graph metadata from the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The updated process graph object (this).\n\t * @throws {Error}\n\t */\n\tasync describeUserProcess() {\n\t\tlet response = await this.connection._get('/process_graphs/' + this.id);\n\t\tif (!Utils.isObject(response.data) || typeof response.data.id !== 'string') {\n\t\t\tthrow new Error('Invalid response received for user process');\n\t\t}\n\t\tthis.connection.processes.add(response.data, 'user');\n\t\treturn this.setAll(response.data);\n\t}\n\n\t/**\n\t * Modifies the stored process graph at the back-end and afterwards updates this object, too.\n\t * \n\t * @async\n\t * @param {object} parameters - An object with properties to update, each of them is optional, but at least one of them must be specified. Additional properties can be set if the server supports them.\n\t * @param {Process} parameters.process - A new process.\n\t * @param {string} parameters.title - A new title.\n\t * @param {string} parameters.description - A new description.\n\t * @returns {Promise} The updated process graph object (this).\n\t * @throws {Error}\n\t */\n\tasync replaceUserProcess(parameters) {\n\t\tawait this.connection._put('/process_graphs/' + this.id, this._convertToRequest(parameters));\n\t\tif (this._supports('describeUserProcess')) {\n\t\t\treturn this.describeUserProcess();\n\t\t}\n\t\telse {\n\t\t\tlet obj = this.setAll(parameters);\n\t\t\tthis.connection.processes.add(obj.toJSON(), 'user');\n\t\t\treturn obj;\n\t\t}\n\t}\n\n\t/**\n\t * Deletes the stored process graph from the back-end.\n\t * \n\t * @async\n\t * @throws {Error}\n\t */\n\tasync deleteUserProcess() {\n\t\tawait this.connection._delete('/process_graphs/' + this.id);\n\t\tthis.connection.processes.remove(this.id, 'user');\n\t}\n}\n\nmodule.exports = UserProcess;\n","// Migrations\nconst MigrateCapabilities = require('./migrate/capabilities');\nconst MigrateCollections = require('./migrate/collections');\nconst MigrateProcesses = require('./migrate/processes');\n// Processes\nconst ProcessDataType = require('./processDataType');\nconst ProcessParameter = require('./processParameter');\nconst ProcessSchema = require('./processSchema');\nconst ProcessUtils = require('./processUtils');\nconst ProcessRegistry = require('./processRegistry');\n// Others\nconst Versions = require('./versions');\nconst Utils = require('./utils');\n\nmodule.exports = {\n\tMigrateCapabilities,\n\tMigrateCollections,\n\tMigrateProcesses,\n\tProcessDataType,\n\tProcessParameter,\n\tProcessSchema,\n\tProcessUtils,\n\tProcessRegistry,\n\tVersions,\n\tUtils,\n};","const Utils = require('../utils.js');\nconst Versions = require('../versions.js');\nconst MigrateCommons = require('./commons.js');\n\nconst NO_VERSION = \"0.0.0\";\n\n/** Migrate capabilities related responses to the latest version. */\nclass MigrateCapabilities {\n\n /**\n * Tries to determine the API version from the capabilities object.\n * \n * Returns the version number, e.g. \"0.4.2\", \"1.0.0\" or \"0.0.0\" (if unknown).\n * \n * @param {object} capabilities \n * @returns {string}\n */\n static guessApiVersion(capabilities) {\n // No object passed\n if (!Utils.isObject(capabilities)) {\n return NO_VERSION;\n }\n\n // Get exact info from version fields\n if (Versions.validate(capabilities.api_version)) {\n return capabilities.api_version;\n }\n else if (Versions.validate(capabilities.version)) {\n return capabilities.version;\n }\n // Now we are really guessing\n else if (Array.isArray(capabilities.endpoints)) {\n if (capabilities.endpoints.find(e => e.path === '/file_formats' || e.path === '/conformance' || e.path === '/files')) {\n return \"1.0.0\";\n }\n else if (capabilities.endpoints.find(e => e.path === '/output_formats' || e.path === '/files/{user_id}')) {\n return \"0.4.2\";\n }\n else if (!capabilities.backend_version && !capabilities.title && !capabilities.description && !capabilities.links) {\n return \"0.3.1\";\n }\n }\n\n // Can't determine version\n return NO_VERSION;\n }\n\n /**\n * Converts a `GET /` response to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {object} response - The response to convert\n * @param {string|null} version - Version number of the API, which the response conforms to. If `null`, tries to guess the version with `guessApiVersion()`.\n * @param {boolean} updateVersionNumbers - Should version numbers in the response be updated?\n * @param {boolean} updateEndpointPaths - Should the endpoint paths be updated to their recent equivalents?\n * @param {string} id - If no id is set in the response, sets it to the value specified here. Defaults to `unknown`.\n * @param {string} title - If no title is set in the response, sets it to the value specified here. Defaults to `Unknown`.\n * @param {string} title - If no backend_version is set in the response, sets it to the value specified here. Defaults to `0.0.0`.\n * @returns {object}\n */\n static convertCapabilitiesToLatestSpec(originalCapabilities, version = null, updateVersionNumbers = true, updateEndpointPaths = true, id = \"unknown\", title = \"Unknown\", backend_version = \"0.0.0\") {\n if (version === null) {\n version = this.guessApiVersion(originalCapabilities);\n }\n // Return empty if version number is not available\n if (version === NO_VERSION) {\n return {};\n }\n\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n\n let capabilities = Utils.deepClone(originalCapabilities);\n // Fill & Update version number\n if (!updateVersionNumbers) {\n capabilities.api_version = version;\n }\n else {\n capabilities.api_version = \"1.0.0\";\n }\n\n // Convert billing plans\n if (Utils.isObject(capabilities.billing)) {\n capabilities.billing = this.convertBillingToLatestSpec(capabilities.billing, version);\n }\n else {\n delete capabilities.billing;\n }\n\n // Convert endpoints\n capabilities.endpoints = this.convertEndpointsToLatestSpec(capabilities.endpoints, version, updateEndpointPaths);\n\n // Fill STAC Version field\n if (!updateVersionNumbers && Versions.compare(version, \"0.4.x\", \"=\")) {\n capabilities.stac_version = \"0.6.2\";\n }\n else if (updateVersionNumbers || typeof capabilities.stac_version !== 'string') {\n capabilities.stac_version = \"0.9.0\";\n }\n\n // Add missing fields with somewhat useful data\n if (typeof capabilities.production !== 'boolean') {\n capabilities.production = Versions.compare(version, \"1.0.0-rc.1\", \"=\") || Versions.compare(version, \"1.0.0-rc.2\", \"=\") ? true : false;\n }\n if (typeof capabilities.backend_version !== 'string') {\n capabilities.backend_version = backend_version;\n }\n if (typeof capabilities.id !== 'string') {\n capabilities.id = id;\n }\n if (typeof capabilities.title !== 'string') {\n capabilities.title = title;\n }\n if (typeof capabilities.description !== 'string') {\n capabilities.description = \"\";\n }\n capabilities.links = MigrateCommons.migrateLinks(capabilities.links, version);\n\n return capabilities;\n }\n\n /**\n * Converts the billing part of the `GET /` response to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {object} billing - The response to convert\n * @param {string} version - Version number of the API, which the response conforms to\n * @returns {object}\n */\n static convertBillingToLatestSpec(billing, version) {\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n if (Utils.isObject(billing)) {\n billing = Utils.deepClone(billing);\n }\n else {\n billing = {};\n }\n\n if (typeof billing.currency !== 'string') {\n billing.currency = null;\n }\n\n return billing;\n }\n\n /**\n * Converts the endpoints part of the `GET /` response to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {array} endpoints - The response to convert\n * @param {string} version - Version number of the API, which the response conforms to\n * @param {boolean} updatePaths - Should the endpoint paths be updated to their recent equivalents?\n * @returns {array}\n */\n static convertEndpointsToLatestSpec(endpoints, version, updatePaths = false) {\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n if (!Array.isArray(endpoints)) {\n return [];\n }\n endpoints = Utils.deepClone(endpoints);\n // convert v0.4 endpoints to v1.0\n if (updatePaths) {\n let isV04 = Versions.compare(version, \"0.4.x\", \"=\");\n let isLtV100RC2 = Versions.compare(version, \"1.0.0-rc.2\", \"<\");\n\n let addPutToPg = function(endpoints) {\n let newPgPath = '/process_graphs/{process_graph_id}';\n let i = endpoints.findIndex(e => e.path === newPgPath);\n if (i >= 0) {\n if (endpoints[i].methods.indexOf('PUT') === -1) {\n endpoints[i].methods.push('PUT');\n }\n }\n else {\n endpoints.push({\n path: newPgPath,\n methods: ['PUT']\n });\n }\n return endpoints;\n };\n\n for(var i in endpoints) {\n let e = endpoints[i];\n if (isV04) {\n switch (e.path) {\n case '/output_formats':\n e.path = '/file_formats';\n break;\n case '/files/{user_id}':\n e.path = '/files';\n break;\n case '/files/{user_id}/{path}':\n e.path = '/files/{path}';\n break;\n }\n }\n if (isLtV100RC2) {\n switch (e.path) {\n case '/process_graphs':\n let post = e.methods.indexOf('POST');\n if (post >= 0) {\n e.methods.splice(post, 1);\n addPutToPg(endpoints);\n }\n break;\n case '/process_graphs/{process_graph_id}':\n let patch = e.methods.indexOf('PATCH');\n if (patch >= 0) {\n e.methods.splice(patch, 1);\n addPutToPg(endpoints);\n }\n break;\n }\n }\n }\n }\n return endpoints;\n }\n\n /**\n * Alias for `convertFileFormatsToLatestSpec()`.\n * \n * @alias MigrateCapabilities.convertFileFormatsToLatestSpec\n * @deprecated\n * @param {object} formats - The response to convert\n * @param {string} version - Version number of the API, which the response conforms to\n * @returns {object}\n */\n static convertOutputFormatsToLatestSpec(formats, version) {\n return this.convertFileFormatsToLatestSpec(formats, version);\n }\n\n /**\n * Converts a `GET /file_formats` response to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {object} formats - The response to convert\n * @param {string} version - Version number of the API, which the response conforms to\n * @returns {object}\n */\n static convertFileFormatsToLatestSpec(formats, version) {\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n if (Utils.isObject(formats)) {\n formats = Utils.deepClone(formats);\n }\n else {\n formats = {};\n }\n\n if (Versions.compare(version, \"0.4.x\", \"=\") && Utils.isObject(formats)) {\n formats = {\n output: formats\n };\n }\n\n formats.input = upgradeFileFormats(formats.input, version);\n formats.output = upgradeFileFormats(formats.output, version);\n\n return formats;\n }\n\n /**\n * Converts a `GET /service_types` response to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {object} types - The response to convert\n * @param {string} version - Version number of the API, which the response conforms to\n * @returns {object}\n */\n static convertServiceTypesToLatestSpec(types, version) {\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n if (!Utils.isObject(types)) {\n return {};\n }\n\n types = Utils.deepClone(types);\n for(let t in types) {\n if (!Utils.isObject(types[t])) {\n types[t] = {};\n }\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\n // Remove attributes\n delete types[t].attributes;\n\n // Rename parameters to configuration\n if (Utils.isObject(types[t].parameters)) {\n types[t].configuration = types[t].parameters;\n }\n delete types[t].parameters;\n\n // Rename variables to process_parameters\n if (Array.isArray(types[t].variables)) {\n types[t].process_parameters = types[t].variables.map(v => {\n let param = {\n name: v.variable_id,\n description: typeof v.description === 'string' ? v.description : \"\",\n schema: {\n type: [\n typeof v.type === 'string' ? v.type : \"string\",\n \"null\"\n ]\n }\n };\n if (typeof v.default !== 'undefined') {\n param.default = v.default;\n }\n return param;\n });\n }\n delete types[t].variables;\n }\n\n if (!Utils.isObject(types[t].configuration)) {\n types[t].configuration = {};\n }\n else {\n types[t].configuration = MigrateCommons.migrateDiscoveryParameters(types[t].configuration, version);\n }\n\n if (!Array.isArray(types[t].process_parameters)) {\n types[t].process_parameters = [];\n }\n\n if (typeof types[t].links !== 'undefined') { // links not required, so only apply if defined anyway\n types[t].links = MigrateCommons.migrateLinks(types[t].links, version);\n }\n }\n return types;\n }\n\n /**\n * Converts a `GET /udf_runtimes` response to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {object} runtimes - The response to convert\n * @param {string} version - Version number of the API, which the response conforms to\n * @returns {object}\n */\n static convertUdfRuntimesToLatestSpec(runtimes, version) {\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n if (!Utils.isObject(runtimes)) {\n return {};\n }\n\n runtimes = Utils.deepClone(runtimes);\n for(let r in runtimes) {\n // Nothing to do, was not supported in 0.3 and nothing changed in 0.4.\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\n if (!Utils.isObject(runtimes[r])) {\n delete runtimes[r];\n continue;\n }\n\n // null is not allowed any longer, replace with empty string\n if (runtimes[r].description === null) {\n runtimes[r].description = \"\";\n }\n }\n\n if (typeof runtimes[r].type !== 'string') {\n if (typeof runtimes[r].docker === 'string') {\n runtimes[r].type = 'docker';\n }\n else {\n runtimes[r].type = 'language';\n }\n }\n\n if (typeof runtimes[r].links !== 'undefined') { // links not required, so only apply if defined anyway\n runtimes[r].links = MigrateCommons.migrateLinks(runtimes[r].links, version);\n }\n }\n\n return runtimes;\n }\n\n}\n\nconst GIS_DATA_TYPES = ['raster', 'vector', 'table', 'other'];\n\nfunction upgradeFileFormats(formats, version) {\n if (!Utils.isObject(formats)) {\n formats = {};\n }\n for(let id in formats) {\n if (!Utils.isObject(formats[id].parameters)) {\n formats[id].parameters = {};\n }\n else {\n formats[id].parameters = MigrateCommons.migrateDiscoveryParameters(formats[id].parameters, version);\n }\n\n // Can be empty: https://github.com/Open-EO/openeo-api/issues/325\n if (!Array.isArray(formats[id].gis_data_types)) {\n formats[id].gis_data_types = [];\n }\n else {\n formats[id].gis_data_types = formats[id].gis_data_types.filter(t => GIS_DATA_TYPES.includes(t));\n }\n\n if (typeof formats[id].links !== 'undefined') { // links not required, so only apply if defined anyway\n formats[id].links = MigrateCommons.migrateLinks(formats[id].links, version);\n }\n }\n return formats;\n}\n\nmodule.exports = MigrateCapabilities;","const Utils = require('../utils.js');\nconst Versions = require('../versions.js');\nconst MigrateCommons = require('./commons.js');\n\nconst extMap = {\n \"cube\": \"datacube\",\n \"eo\": \"eo\",\n \"label\": \"label\",\n \"pc\": \"pointcloud\",\n \"proj\": \"projection\",\n \"sar\": \"sar\",\n \"sat\": \"sat\",\n \"sci\": \"scientific\",\n \"view\": \"view\"\n};\n\nconst fieldMap = {\n // Item to core\n 'item:license': 'license',\n 'item:providers': 'providers',\n // EO to core\n 'eo:instrument': 'instruments',\n 'eo:platform': 'platform',\n 'eo:constellation': 'constellation',\n // EO to proj\n 'eo:epsg': 'proj:epsg',\n // EO to view\n 'eo:off_nadir': 'view:off_nadir',\n 'eo:azimuth': 'view:azimuth',\n 'eo:sun_azimuth': 'view:sun_azimuth',\n 'eo:sun_elevation': 'view:sun_elevation',\n // Datetime Range to core\n 'dtr:start_datetime': 'start_datetime',\n 'dtr:end_datetime': 'end_datetime',\n // Point Cloud\n 'pc:schema': 'pc:schemas',\n // SAR rename\n 'sar:type': 'sar:product_type',\n 'sar:polarization': 'sar:polarizations',\n // SAR to core\n 'sar:instrument': 'instruments',\n 'sar:platform': 'platform',\n 'sar:constellation': 'constellation',\n // SAR to sat\n 'sar:off_nadir': 'sat:off_nadir_angle',\n 'sar:relative_orbit': 'sat:relative_orbit',\n// The following four fields don't translate directly, see code below\n 'sar:pass_direction': 'sat:orbit_state',\n// sar:resolution => sar:resolution_range, sar:resolution_azimuth\n// sar:pixel_spacing => sar:pixel_spacing_range, sar:pixel_spacing_azimuth\n// sar:looks => sar:looks_range, sar:looks_azimuth, sar:looks_equivalent_number (opt)\n};\n\nconst moveToRoot = [\n 'cube:dimensions',\n 'sci:publications',\n 'sci:doi',\n 'sci:citation'\n];\n\nconst DIMENSION_TYPES = [\n 'spatial',\n 'temporal',\n 'bands',\n 'other'\n];\n\n\n/** Migrate Collections related responses to the latest version. */\nclass MigrateCollections {\n\n /**\n * Converts a `GET /collections` response to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {object} response - The response to convert\n * @param {string} version - Version number of the API, which the response conforms to\n * @returns {object}\n */\n static convertCollectionsToLatestSpec(response, version) {\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n\n // Make sure we don't alter the original object\n response = Utils.deepClone(response);\n\n if (Array.isArray(response.collections)) {\n response.collections = response.collections\n .map(c => MigrateCollections.convertCollectionToLatestSpec(c, version))\n .filter(c => typeof c.id === 'string');\n }\n else {\n response.collections = [];\n }\n\n response.links = MigrateCommons.migrateLinks(response.links, version);\n\n return response;\n }\n\n /**\n * Converts a single collection to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {object} process - The collection to convert\n * @param {string} version - Version number of the API, which the collection conforms to\n * @returns {object}\n */\n static convertCollectionToLatestSpec(originalCollection, version) {\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n\n // Make sure we don't alter the original object\n let collection = Utils.deepClone(originalCollection);\n\n // If collection has no id => seems to be an invalid collection => abort\n if (typeof collection.id !== 'string' || collection.id.length === 0) {\n return {};\n }\n\n // Update stac_version\n if (!Versions.validate(collection.stac_version) || Versions.compare(collection.stac_version, \"0.9.0\", \"<\")) {\n collection.stac_version = \"0.9.0\";\n }\n\n // Add missing extent upfront. Makes the following code simpler as it works on the object.\n if (!Utils.isObject(collection.extent)) {\n collection.extent = {};\n }\n\n // convert v0.4 collections to latest version\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\n // Restructure spatial extent\n if (Array.isArray(collection.extent.spatial)) {\n collection.extent.spatial = {\n bbox: [\n collection.extent.spatial\n ]\n };\n }\n // Restructure temporal extent\n if (Array.isArray(collection.extent.temporal)) {\n collection.extent.temporal = {\n interval: [\n collection.extent.temporal\n ]\n };\n }\n\n // move properties to other_properties\n if (Utils.isObject(collection.properties)) {\n if (!Utils.isObject(collection.other_properties)) {\n collection.other_properties = {};\n }\n for(let key in collection.properties) {\n collection.other_properties[key] = {\n values: [\n collection.properties[key]\n ]\n };\n }\n }\n delete collection.properties;\n\n // now we can work on all properties and migrate to summaries\n let props = Utils.isObject(collection.other_properties) ? collection.other_properties : {};\n for(let key in props) {\n let val = props[key];\n if (Utils.isObject(val) && (Array.isArray(val.extent) || Array.isArray(val.values))) {\n if (Array.isArray(val.extent)) {\n props[key] = {\n min: val.extent[0],\n max: val.extent[1]\n };\n }\n else { // val.values is an array\n if (val.values.findIndex(v => !Array.isArray(v)) === -1) {\n if (val.values.length <= 1) {\n props[key] = val.values[0];\n }\n else {\n props[key] = val.values.reduce((a, b) => a.concat(b));\n }\n }\n else {\n props[key] = val.values;\n }\n }\n }\n else {\n // If not valid, move to top-level\n if (typeof collection[key] === 'undefined') {\n collection[key] = val;\n }\n delete props[key];\n }\n }\n delete collection.other_properties;\n\n if (!Utils.isObject(collection.summaries)) {\n collection.summaries = {};\n }\n for(let key in props) {\n let val = props[key];\n\n if (key === 'sar:pass_direction') {\n // Convert null to geostationary\n val = val.map(v => v === null ? 'geostationary' : v);\n }\n\n // Convert arrays into separate fields as needed for some SAR fields\n if ((key === 'sar:resolution' || key === 'sar:pixel_spacing' || key === 'sar:looks') && Array.isArray(val) && val.length >= 2) {\n collection.summaries[key + '_range'] = val.slice(0,1);\n collection.summaries[key + '_azimuth'] = val.slice(1,2);\n if (val.length > 2) {\n collection.summaries[key + '_equivalent_number'] = val.slice(2,3);\n }\n }\n // Do the renaming of fields\n else if (typeof fieldMap[key] === 'string') {\n collection.summaries[fieldMap[key]] = val;\n }\n // Move invalid summaries to the top level\n else if (moveToRoot.includes(key) && Array.isArray(val) && val.length === 1) {\n collection[key] = val[0];\n }\n // Do the general conversion\n else {\n collection.summaries[key] = val;\n }\n }\n }\n\n // Add missing required fields\n if (typeof collection.description !== 'string') {\n collection.description = \"\";\n }\n if (!Utils.isObject(collection.extent.spatial)) {\n collection.extent.spatial = {};\n }\n if (!Utils.isObject(collection.extent.temporal)) {\n collection.extent.temporal = {};\n }\n if (typeof collection.license !== 'string') {\n collection.license = \"proprietary\";\n }\n if (!Utils.isObject(collection.summaries)) {\n collection.summaries = {};\n }\n if (!Utils.isObject(collection['cube:dimensions'])) {\n collection['cube:dimensions'] = {};\n }\n else {\n for(var name in collection['cube:dimensions']) {\n if (Utils.isObject(collection['cube:dimensions'][name]) && !DIMENSION_TYPES.includes(collection['cube:dimensions'][name].type)) {\n collection['cube:dimensions'][name].type = 'other';\n }\n }\n }\n\n // Fix links\n collection.links = MigrateCommons.migrateLinks(collection.links);\n\n // Fix stac_extensions\n var extensions = Array.isArray(collection.stac_extensions) ? collection.stac_extensions : [];\n for(var key in collection) {\n let ext = null;\n let prefix = key.split(':', 1);\n if (key === 'deprecated' || key === 'version') {\n ext = 'version';\n }\n else if (typeof extMap[prefix] === 'string') {\n ext = extMap[prefix];\n }\n\n if (ext !== null && !extensions.includes(ext)) {\n extensions.push(ext);\n }\n }\n extensions.sort();\n collection.stac_extensions = extensions;\n\n return collection;\n }\n\n}\n\nmodule.exports = MigrateCollections;","const Utils = require('../utils.js');\nconst Versions = require('../versions.js');\n\nclass MigrateCommons {\n\n\tstatic migrateLinks(links, version, fallbackRel = 'related') {\n\t\tif (!Array.isArray(links)) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn links\n\t\t\t.filter(link => Utils.isObject(link) && typeof link.href === 'string')\n\t\t\t.map(link => {\n\t\t\t\tif (typeof link.rel !== 'string') {\n\t\t\t\t\tlink.rel = fallbackRel;\n\t\t\t\t}\n\t\t\t\treturn link;\n\t\t\t});\n\t}\n\n\tstatic migrateDiscoveryParameters(parameters, version) {\n\t\tif (Versions.compare(version, \"1.0.0-rc.2\", \"<=\")) {\n\t\t\tfor(var name in parameters) {\n\t\t\t\tif (!Utils.isObject(parameters[name])) {\n\t\t\t\t\tdelete parameters[name];\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet type = parameters[name].type;\n\t\t\t\tif (typeof type === 'string') {\n\t\t\t\t\tparameters[name].type = [type, \"null\"];\n\t\t\t\t}\n\n\t\t\t\tlet example = parameters[name].example;\n\t\t\t\tif (typeof example !== 'undefined') {\n\t\t\t\t\tparameters[name].examples = [example];\n\t\t\t\t\tdelete parameters[name].example;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn parameters;\n\t}\n\n}\n\nmodule.exports = MigrateCommons;","const Utils = require('../utils.js');\nconst Versions = require('../versions.js');\nconst MigrateCommons = require('./commons.js');\n\n/** Migrate processes related responses to the latest version. */\nclass MigrateProcesses {\n\n /**\n * Converts a `GET /process` response to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {object} response - The response to convert\n * @param {string} version - Version number of the API, which the response conforms to\n * @returns {object}\n */\n static convertProcessesToLatestSpec(response, version) {\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n\n // Make sure we don't alter the original object\n response = Utils.deepClone(response);\n\n if (Array.isArray(response.processes)) {\n response.processes = response.processes\n .map(p => MigrateProcesses.convertProcessToLatestSpec(p, version))\n .filter(p => typeof p.id === 'string');\n }\n else {\n response.processes = [];\n }\n\n response.links = MigrateCommons.migrateLinks(response.links, version);\n\n return response;\n }\n\n /**\n * Converts a single process to the latest version.\n * \n * Always returns a deep copy of the input object.\n * \n * @param {object} process - The process to convert\n * @param {string} version - Version number of the API, which the process conforms to\n * @returns {object}\n */\n static convertProcessToLatestSpec(process, version) {\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\n }\n\n // Make sure we don't alter the original object\n process = Utils.deepClone(process);\n\n // If process has no id => seems to be an invalid process => abort\n if (typeof process.id !== 'string' || process.id.length === 0) {\n return {};\n }\n\n // Convert the parameters from object to array\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\n // Determine the parameter order\n if (!Array.isArray(process.parameter_order) || process.parameter_order.length === 0) {\n process.parameter_order = [];\n for(let param in process.parameters) {\n process.parameter_order.push(param);\n }\n }\n \n // Upgrade parameters and convert from array to object\n let params = [];\n for(let name of process.parameter_order) {\n // Add name \n let obj = {name: name};\n if (Utils.isObject(process.parameters[name])) {\n Object.assign(obj, process.parameters[name]);\n }\n\n // Migrate from required to optional\n if (!obj.required) {\n obj.optional = true;\n }\n delete obj.required;\n\n // Add to list of ordered params\n params.push(obj);\n }\n delete process.parameter_order;\n process.parameters = params;\n }\n\n // Set required field description if not a string\n if (typeof process.description !== 'string') {\n process.description = \"\";\n }\n\n // Update parameters\n if (Array.isArray(process.parameters)) {\n for (var i = process.parameters.length-1; i >= 0; i--) {\n let param = process.parameters[i];\n if (!Utils.isObject(param)) {\n process.parameters.splice(i, 1);\n continue;\n }\n\n // Set required field description if not a string\n if (typeof param.description !== 'string') {\n param.description = \"\";\n }\n\n // Upgrade parameter schema\n process.parameters[i] = upgradeSchema(param, version);\n }\n }\n else {\n process.parameters = [];\n }\n\n // Update return value\n if (!Utils.isObject(process.returns)) {\n process.returns = {};\n }\n process.returns = upgradeSchema(process.returns, version, false);\n\n // Remove process graphs from examples (and ensure there are arguments given)\n if (Array.isArray(process.examples)) {\n process.examples = process.examples.filter(example => Utils.isObject(example) && Utils.isObject(example.arguments));\n }\n\n if (typeof process.links !== 'undefined') { // links not required, so only apply if defined anyway\n process.links = MigrateCommons.migrateLinks(process.links, version);\n }\n\n // Update process graph -> nothing to do yet\n\n return process;\n }\n\n}\n \nfunction upgradeSchema(obj, version, isParam = true) {\n var schema = {};\n if (obj.schema && typeof obj.schema === 'object') { // array or object?\n schema = obj.schema;\n }\n\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\n // Remove anyOf/oneOf wrapper\n for(let type of ['anyOf', 'oneOf']) {\n if (Array.isArray(schema[type])) {\n // Parameters only: Move default value to parameter-level\n if (isParam && typeof schema.default !== 'undefined') {\n obj.default = schema.default;\n }\n // Move array one level up, removing anyOf and oneOf\n schema = schema[type];\n break;\n }\n }\n\n let moveMediaType = (Versions.compare(version, \"0.4.x\") <= 0 && typeof obj.media_type !== 'undefined');\n let schemas = Array.isArray(schema) ? schema : [schema];\n for(let subSchema of schemas) {\n // Rename format to subtype recursively\n subSchema = renameFormat(subSchema);\n\n // Parameters only: Move default value to parameter-level\n if (isParam && typeof subSchema.default !== 'undefined') {\n obj.default = subSchema.default;\n delete subSchema.default;\n }\n\n // Replace media_type field with contentMediaType from JSON Schemas\n if (moveMediaType) {\n subSchema.contentMediaType = obj.media_type;\n }\n }\n\n // Remove the media type\n if (moveMediaType) {\n delete obj.media_type;\n }\n }\n\n // Clients SHOULD automatically set `optional` to `true`, if a default value is specified.\n if (Versions.compare(version, \"0.4.x\", \">\")) {\n if (typeof obj.default !== 'undefined') {\n obj.optional = true;\n }\n }\n\n obj.schema = schema;\n return obj;\n}\n\nfunction renameFormat(schema) {\n if (Utils.isObject(schema) && typeof schema.type !== 'undefined' && typeof schema.format === 'string') {\n switch(schema.format) {\n case 'url':\n schema.format = 'uri';\n break;\n case 'proj-definition':\n schema.deprecated = true;\n break;\n case 'callback':\n schema.format = 'process-graph';\n if (Utils.isObject(schema.parameters)) {\n let params = [];\n for(let name in schema.parameters) {\n let paramSchema = schema.parameters[name];\n let param = {\n name: name,\n description: typeof paramSchema.description === 'string' ? paramSchema.description : \"\",\n schema: paramSchema\n };\n params.push(param);\n }\n schema.parameters = params;\n }\n break;\n }\n\n schema.subtype = schema.format;\n // Leave format for \"well-known\" formats defined in JSON Schema\n if (!['date-time', 'time', 'date', 'uri'].includes(schema.format)) {\n delete schema.format;\n }\n }\n for(let i in schema) {\n if (schema[i] && typeof schema[i] === 'object') {\n schema[i] = renameFormat(schema[i]);\n }\n }\n return schema;\n}\n\nmodule.exports = MigrateProcesses;","const Utils = require('./utils');\n\n/**\n * Wrapper class for a single data type definition in a schema (e.g. process parameter schema, return value schema).\n * \n * @class\n */\nclass ProcessDataType {\n\t\n\t/**\n\t * Constructs a new process data type based on JSON Schema.\n\t * \n\t * @param {object} schema\n\t * @param {?ProcessSchema} [parent=null]\n\t * @param {*} [defaultValue=undefined]\n\t */\n\tconstructor(schema, parent = null, defaultValue = undefined) {\n\t\tthis.schema = schema;\n\t\tif (typeof this.schema.default === 'undefined') {\n\t\t\tthis.schema.default = defaultValue;\n\t\t}\n\t\tthis.parent = parent;\n\t}\n\n\t/**\n\t * Converts the schema to a JSON-serializable representation.\n\t * \n\t * @returns {object}\n\t */\n\ttoJSON() {\n\t\treturn Object.assign({}, this.schema, {default: this.default()});\n\t}\n\n\t/**\n\t * Checks whether the data type is only `null`.\n\t * \n\t * @returns {boolean}\n\t */\n\tisAny() {\n\t\treturn this.dataType() === 'any';\n\t}\n\n\t/**\n\t * Checks whether the data type is only `null`.\n\t * \n\t * @returns {boolean}\n\t */\n\tisNull() {\n\t\treturn this.schema.type === 'null';\n\t}\n\n\t/**\n\t * Checks whether the data type allows `null`.\n\t * \n\t * @returns {boolean}\n\t */\n\tnullable() {\n\t\treturn this.isNull() || this.isAny();\n\t}\n\n\t/**\n\t * Returns whether the data type is editable.\n\t * \n\t * This means it returns `true`, unless certain data types are detected that\n\t * can't be transmitted via JSON in the openEO API (e.g. data cubes or labeled arrays).\n\t * \n\t * @returns {boolean}\n\t */\n\tisEditable() {\n\t\treturn !ProcessDataType.NON_EDITABLE.includes(this.dataType());\n\t}\n\n\t/**\n\t * Returns the data type.\n\t * \n\t * The priority is as such:\n\t * - subtype\n\t * - native data type\n\t * - \"any\"\n\t * \n\t * @param {boolean} [native=false] - Set to true to only return the native data type.\n\t * @returns {string}\n\t */\n\tdataType(native = false) {\n\t\tlet nativeType = this.schema.type || \"any\";\n\t\treturn native ? nativeType : (this.schema.subtype || nativeType);\n\t}\n\n\t/**\n\t * Returns the native data type of the schema.\n\t * \n\t * One of: array, object, null, string, boolean, number or any\n\t * \n\t * @returns {string}\n\t */\n\tnativeDataType() {\n\t\treturn this.dataType(true);\n\t}\n\n\t/**\n\t * Checks whether the data type contains an enumeration of values.\n\t * \n\t * @returns {boolean}\n\t * @see ProcessDataType#getEnumChoices\n\t */\n\tisEnum() {\n\t\treturn Array.isArray(this.schema.enum) && this.schema.enum.length > 0;\n\t}\n\n\t/**\n\t * Returns the allowed enumeration of values.\n\t * \n\t * @returns {array}\n\t * @see ProcessDataType#isEnum\n\t */\n\tgetEnumChoices() {\n\t\treturn this.isEnum() ? this.schema.enum : [];\n\t}\n\n\t/**\n\t * Returns the parameters for a \"child process\" that is defined for the data type.\n\t * \n\t * @returns {array}\n\t */\n\tgetCallbackParameters() {\n\t\tif (Array.isArray(this.schema.parameters)) { // For \"normal\" callbacks\n\t\t\treturn this.schema.parameters;\n\t\t}\n\t\telse if (Utils.isObject(this.schema.additionalProperties) && Array.isArray(this.schema.additionalProperties.parameters)) {\n\t\t\treturn this.schema.additionalProperties.parameters; // Used for metadata-filter\n\t\t}\n\t\telse {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Returns the group of the data type.\n\t * \n\t * Group is a \"extension\" of JSON Schema, which allows to group schemas by certain criteria.\n\t * \n\t * @returns {string}\n\t */\n\tgroup() {\n\t\treturn Utils.hasText(this.schema.group) ? this.schema.group : ProcessDataType.DEFAULT_GROUP;\n\t}\n\n\t/**\n\t * Returns the title of the data type.\n\t * \n\t * If no title is present, returns a \"prettified\" version of the data type\n\t * (e.g. \"Temporal Interval\" for the data type \"temporal-interval\").\n\t * \n\t * @returns {string}\n\t */\n\ttitle() {\n\t\tif (Utils.hasText(this.schema.title)) {\n\t\t\treturn this.schema.title;\n\t\t}\n\t\telse {\n\t\t\treturn Utils.prettifyString(this.dataType());\n\t\t}\n\t}\n\n\t/**\n\t * Returns the description of the data type.\n\t * \n\t * @returns {string}\n\t */\n\tdescription() {\n\t\treturn Utils.hasText(this.schema.description) ? this.schema.description : \"\";\n\t}\n\n\t/**\n\t * Returns the default value of the data type.\n\t * \n\t * This may return `undefined`.\n\t * \n\t * @returns {*}\n\t */\n\tdefault() {\n\t\tif (typeof this.schema.default === 'function') {\n\t\t\treturn this.schema.default();\n\t\t}\n\t\treturn this.schema.default;\n\t}\n\n}\n\n/**\n * The name of the default group for schemas.\n * \n * Defaults to `Other`.\n * \n * @type {string}\n */\nProcessDataType.DEFAULT_GROUP = 'Other';\n/**\n * A list of data types that can't be edited.\n * \n * Non-editable data types can't be transmitted via JSON through the openEO API\n * (e.g. data cubes or labeled arrays).\n * \n * @type {array}\n */\nProcessDataType.NON_EDITABLE = [\n\t'raster-cube',\n\t'vector-cube',\n\t'labeled-array',\n\t'datacube'\n];\n\nmodule.exports = ProcessDataType;","const ProcessSchema = require('./processSchema');\n\n/**\n * Wrapper class for a process parameter.\n * \n * @class\n */\nclass ProcessParameter extends ProcessSchema {\n\n\t/**\n\t * Constructs a new process parameter based on the openEO API representation.\n\t * \n\t * @param {object} parameter \n\t */\n\tconstructor(parameter) {\n\t\tsuper(parameter.schema, parameter.default);\n\n\t\tObject.assign(this, parameter);\n\t}\n\n}\n\nmodule.exports = ProcessParameter;","const Utils = require('./utils');\n\n/**\n * Central registry for processes.\n * \n * @class\n */\nclass ProcessRegistry {\n\n\t/**\n\t * Creates a new registry of all processes.\n\t * \n\t * @param {Array.|ProcessRegistry} [processes=[]] - Optionally, a list of predefined processes.\n\t * @param {boolean} [addNamespace=false] - Add a namespace property to processes if set to `true`.\n\t */\n\tconstructor(processes = [], addNamespace = false) {\n\t\t/**\n\t\t * List of listeners for change events.\n\t\t * @public\n\t\t */\n\t\tthis.listeners = [];\n\t\t/**\n\t\t * Object of namespaces and processes.\n\t\t * @protected\n\t\t * @type {object.>}\n\t\t */\n\t\tthis.processes = {};\n\t\t/**\n\t\t * Add a namespace property to processes if set to `true`.\n\t\t * @protected\n\t\t * @type {boolean}\n\t\t */\n\t\tthis.addNamespace = addNamespace;\n\n\t\t// Fill process list\n\t\tif (processes instanceof ProcessRegistry) {\n\t\t\tfor(let namespace in processes.processes) {\n\t\t\t\tthis.addAll(processes.processes[namespace]);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.addAll(processes);\n\t\t}\n\t}\n\n\t/**\n\t * Event that is fired on changes, notifies listeners.\n\t * \n\t * @param {string} event - One of 'add', 'addAll' or 'remove'.\n\t * @param {*} data \n\t * @param {string} namespace \n\t */\n\tonChange(event, data, namespace) {\n\t\tfor(let listener of this.listeners) {\n\t\t\tlistener(event, data, namespace);\n\t\t}\n\t}\n\n\t/**\n\t * Adds a list of processes for a given namespace.\n\t * \n\t * Replaces an existing process in the given namespace if it exists.\n\t * \n\t * Fires 'addAll' event.\n\t * \n\t * @param {Array.} processes Optionally, a list of processes\n\t * @param {string} [namespace=\"backend\"] The namespace for the processes (defaults to 'backend', i.e. pre-defined processes)\n\t */\n\taddAll(processes, namespace = 'backend') {\n\t\tfor(var i in processes) {\n\t\t\tthis.add(processes[i], namespace, false);\n\t\t}\n\t\tthis.onChange('addAll', processes, namespace);\n\t}\n\n\t/**\n\t * Adds a single process to a given namespace.\n\t * \n\t * Replaces an existing process in the given namespace if it exists.\n\t * \n\t * Fires 'add' event.\n\t * \n\t * @param {object} processes A process definition\n\t * @param {string} [namespace=\"backend\"] The namespace for the process (defaults to 'backend', i.e. pre-defined processes)\n\t */\n\tadd(process, namespace = 'backend', fireEvent = true) {\n\t\tif (!Utils.isObject(process)) {\n\t\t\tthrow new Error(\"Invalid process; not an object.\");\n\t\t}\n\t\tif (typeof process.id !== 'string') {\n\t\t\tthrow new Error(\"Invalid process; no id specified.\");\n\t\t}\n\t\tif (typeof namespace !== 'string') {\n\t\t\tthrow new Error(\"Invalid namespace; not a string.\");\n\t\t}\n\n\t\tif (!this.processes[namespace]) {\n\t\t\tthis.processes[namespace] = {};\n\t\t}\n\t\tprocess = Object.assign(this.addNamespace ? {namespace} : {}, process);\n\t\tthis.processes[namespace][process.id] = process;\n\t\tif (fireEvent) {\n\t\t\tthis.onChange('add', process, namespace);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the count of all processes independant of the namespaces.\n\t * \n\t * @returns {number} \n\t */\n\tcount() {\n\t\treturn Utils.size(this.all());\n\t}\n\n\t/**\n\t * Returns all processes as a list, independant of the namespaces.\n\t * \n\t * @returns {Array.} \n\t */\n\tall() {\n\t\tlet processes = [];\n\t\tfor(let ns in this.processes) {\n\t\t\tprocesses = processes.concat(Object.values(this.processes[ns]));\n\t\t}\n\t\treturn processes;\n\t}\n\n\t/**\n\t * Checks whether a namespace exists (i.e. at least one process for the namespace exists)\n\t * \n\t * @param {string} namespace The namespace\n\t * @returns {boolean}\n\t */\n\thasNamespace(namespace) {\n\t\tif(typeof namespace !== 'string') {\n\t\t\treturn false;\n\t\t}\n\t\treturn Boolean(this.processes[namespace]);\n\t}\n\n\t/**\n\t * Returns a (sorted) list of all available namespaces.\n\t * \n\t * @returns {Array.} \n\t */\n\tnamespaces() {\n\t\treturn Object.keys(this.processes).sort();\n\t}\n\n\t/**\n\t * Returns all processes from a specific namespace.\n\t * \n\t * Returns an empty list if the namespace is not defined.\n\t * \n\t * @param {string} namespace The namespace of the processes to return (e.g. 'backend' for pre-defined processes)\n\t * @returns {Array.} \n\t */\n\tnamespace(namespace) {\n\t\tif(typeof namespace !== 'string') {\n\t\t\treturn [];\n\t\t}\n\t\tlet processes = this.processes[namespace];\n\t\treturn processes ? Object.values(processes) : [];\n\t}\n\n\t/**\n\t * Checks whether a process with the given ID exists in the given namespace.\n\t * \n\t * If the namespace is set to `null` (default) then it checks both user processes and backend processes.\n\t * The default namespace for pre-defined processes is `backend`.\n\t * \n\t * @param {string} id The process identifier\n\t * @param {?string} [namespace=null] The namespace of the process\n\t * @returns {boolean} \n\t */\n\thas(id, namespace = null) {\n\t\treturn Boolean(this.get(id, namespace));\n\t}\n\t\n\t/**\n\t * Retrieve the process with the given ID fron the given namespace.\n\t * \n\t * If the namespace is set to `null` (default) then it retrieces from both (1) `user` processes and (2) `backend` processes\n\t * with preference to user processes on conflict. The default namespace for pre-defined processes is `backend`.\n\t * \n\t * @param {string} id The process identifier\n\t * @param {?string} [namespace=null] The namespace of the process\n\t * @returns {object} \n\t */\n\tget(id, namespace = null) {\n\t\tif (typeof id !== 'string') {\n\t\t\treturn null;\n\t\t}\n\n\t\t// If no namespace is set, prefer the user namespace over backend namespace\n\t\tif (namespace === null) {\n\t\t\treturn this.get(id, 'user') || this.get(id, 'backend');\n\t\t}\n\n\t\tif (this.processes[namespace]) {\n\t\t\treturn this.processes[namespace][id] || null;\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Removes a single process or a complete namespace from the registry.\n\t * \n\t * If nothing is given, removes the namespace 'user'.\n\t * If only a namespace is given, removes the whole namespace.\n\t * If only a process is given, removes a process from the namespace `user`.\n\t * If both parameters are given, removes a process from the given namespace.\n\t * \n\t * Returns `true` on succes, `false` on failure.\n\t * \n\t * Fires 'remove' event.\n\t * \n\t * @param {?string} [id=null] The process identifier\n\t * @param {?string} [namespace=\"user\"] The namespace, defaults to `user`\n\t * @returns {boolean}\n\t */\n\tremove(id = null, namespace = 'user') {\n\t\tif (typeof namespace !== 'string') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.processes[namespace]) {\n\t\t\tif (typeof id === 'string') {\n\t\t\t\tif (this.processes[namespace][id]) {\n\t\t\t\t\tlet process = this.processes[namespace][id];\n\t\t\t\t\tdelete this.processes[namespace][id];\n\t\t\t\t\tif (Utils.size(this.processes[namespace]) === 0) {\n\t\t\t\t\t\tdelete this.processes[namespace];\n\t\t\t\t\t}\n\t\t\t\t\tthis.onChange('remove', process, namespace);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdelete this.processes[namespace];\n\t\t\t\tthis.onChange('remove', null, namespace);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n}\n\nmodule.exports = ProcessRegistry;","const ProcessUtils = require('./processUtils');\nconst ProcessDataType = require('./processDataType');\nconst Utils = require('./utils');\n\n/**\n * Wrapper class for the process schemas (i.e. from parameters or return value).\n * \n * @class\n */\nclass ProcessSchema {\n\t\n\t/**\n\t * Constructs a new process schema based on the openEO API representation.\n\t * \n\t * Can be array or JSON Schema object. The array consists of multiple JSON Schemas then.\n\t * \n\t * @param {?object|array} [schema=null]\n\t * @param {*} [defaultValue=undefined]\n\t */\n\tconstructor(schema = null, defaultValue = undefined) {\n\t\tif (!Utils.isObject(schema) && !Array.isArray(schema)) {\n\t\t\tthis.unspecified = true;\n\t\t\tthis.schemas = [];\n\t\t}\n\t\telse {\n\t\t\tthis.unspecified = false;\n\t\t\tthis.schemas = ProcessUtils.normalizeJsonSchema(schema, true).map(s => new ProcessDataType(s, this, defaultValue));\n\n\t\t\t// Find and assign the default value from sub-schemas if no defaultValue was given\n\t\t\tif (typeof defaultValue === 'undefined') {\n\t\t\t\tlet defaults = this.schemas\n\t\t\t\t\t.map(s => s.default())\n\t\t\t\t\t.filter(d => typeof d !== 'undefined');\n\t\t\t\tthis.default = defaults[0];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.default = defaultValue;\n\t\t\t}\n\t\t}\n\n\t\tthis.refs = [];\n\t}\n\n\t/**\n\t * Converts the schemas to a JSON-serializable representation.\n\t * \n\t * @returns {object}\n\t */\n\ttoJSON() {\n\t\treturn this.schemas.map(s => s.toJSON());\n\t}\n\n\t/**\n\t * Returns whether the schema is editable.\n\t * \n\t * This means it returns `true`, unless certain data types are detected that\n\t * can't be transmitted via JSON in the openEO API (e.g. data cubes or labeled arrays).\n\t * \n\t * @returns {boolean}\n\t */\n\tisEditable() {\n\t\treturn (this.unspecified || this.schemas.filter(s => s.isEditable() && !s.isNull()).length > 0);\n\t}\n\n\t/**\n\t * Checks whether the schema is exactly and only of the given data type.\n\t * \n\t * Can be a native type or a openEO \"subtype\".\n\t * \n\t * @param {string} type \n\t * @returns {boolean}\n\t */\n\tis(type) {\n\t\tvar types = this.dataTypes();\n\t\treturn (types.length === 1 && types[0] === type);\n\t}\n\n\t/**\n\t * Returns the native data type of the schema.\n\t * \n\t * One of: array, object, null, string, boolean, number\n\t * \n\t * @returns {string}\n\t */\n\tnativeDataType() {\n\t\treturn this.dataType(true);\n\t}\n\n\t/**\n\t * Returns the data type of the associated schemas.\n\t * \n\t * Setting `native` to `true` will only consider native JSON data types and \"any\".\n\t * Otherwise, subtypes will also be considered.\n\t * \n\t * If the schema has a two data types and one of them is `null`, \n\t * `null` is ignored and just the other data type is returned.\n\t * \n\t * `nullable()` can be used to check whether a schema allows `null`.\n\t * \n\t * Returns `mixed` if multiple data types are allowed.\n\t * \n\t * @param {boolean} [native=false]\n\t * @returns {string}\n\t * @see ProcessSchema#nullable\n\t */\n\tdataType(native = false) {\n\t\tvar types = this.dataTypes(true, native);\n\t\tvar nullIndex = types.indexOf('null');\n\t\tif (types.length === 1) {\n\t\t\treturn types[0];\n\t\t}\n\t\telse if (types.length === 2 && nullIndex !== -1) {\n\t\t\treturn types[nullIndex === 0 ? 1 : 0];\n\t\t}\n\t\telse {\n\t\t\treturn 'mixed';\n\t\t}\n\t}\n\n\t/**\n\t * Returns a set of all supported distinct data types (or 'any').\n\t * \n\t * By default, `null` is not included in the list of data types.\n\t * Setting `includeNull` to `true` to include `null` in the list.\n\t * \n\t * Setting `native` to `true` will only consider native JSON data types and \"any\".\n\t * Otherwise, subtypes will also be considered.\n\t * \n\t * @param {boolean} [includeNull=false]\n\t * @param {boolean} [native=false]\n\t * @returns {array}\n\t */\n\tdataTypes(includeNull = false, native = false) {\n\t\tvar types = this.schemas\n\t\t\t.map(s => s.dataType(native))\n\t\t\t.filter((v, i, a) => a.indexOf(v) === i); // Return each type only once\n\t\tif (types.length === 0 || types.includes('any')) {\n\t\t\treturn ['any'];\n\t\t}\n\t\treturn includeNull ? types : types.filter(s => s !== 'null');\n\t}\n\n\t/**\n\t * Checks whether one of the schemas allows the value to be `null`.\n\t * \n\t * @returns {boolean}\n\t */\n\tnullable() {\n\t\treturn (this.unspecified || this.schemas.filter(s => s.nullable()).length > 0);\n\t}\n\n}\n\nmodule.exports = ProcessSchema;","const Utils = require('./utils');\n\n/**\n * Utilities to parse process specs and JSON schemas.\n * \n * @class\n */\nclass ProcessUtils {\n\n\t/**\n\t * From a \"complex\" JSON Schema with allOf/anyOf/oneOf, make separate schemas.\n\t * \n\t * So afterwards each schema has it's own array entry.\n\t * It merges allOf, resolves anyOf/oneOf into separate schemas.\n\t * May also split the JSON Schema type arrays into separate entries by setting `splitTypes` to `true`.\n\t * \n\t * @param {object|array} schemas - The JSON Schema(s) to convert\n\t * @returns {array}\n\t */\n\tstatic normalizeJsonSchema(schemas, splitTypes = false) {\n\t\t// Make schemas always an array\n\t\tif (Utils.isObject(schemas)) {\n\t\t\tschemas = [schemas];\n\t\t}\n\t\telse if (Array.isArray(schemas)) {\n\t\t\tschemas = schemas;\n\t\t}\n\t\telse {\n\t\t\tschemas = [];\n\t\t}\n\n\t\t// Merge allOf, resolve anyOf/oneOf into separate schemas\n\t\tlet normalized = [];\n\t\tfor(let schema of schemas) {\n\t\t\tif (Array.isArray(schema.allOf)) {\n\t\t\t\tnormalized.push(Object.assign({}, ...schema.allOf));\n\t\t\t}\n\t\t\telse if (Array.isArray(schema.oneOf) || Array.isArray(schema.anyOf)) {\n\t\t\t\tlet copy = Utils.omitFromObject(schema, ['oneOf', 'anyOf']);\n\t\t\t\tlet subSchemas = schema.oneOf || schema.anyOf;\n\t\t\t\tfor(let subSchema of subSchemas) {\n\t\t\t\t\tnormalized.push(Object.assign({}, copy, subSchema));\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnormalized.push(schema);\n\t\t\t}\n\t\t}\n\n\t\tif (!splitTypes) {\n\t\t\treturn normalized;\n\t\t}\n\n\t\t// Split type field into separate schemas\n\t\tschemas = [];\n\t\tfor(let schema of normalized) {\n\t\t\tif (Array.isArray(schema.type)) {\n\t\t\t\t/* jshint ignore:start */\n\t\t\t\tschemas = schemas.concat(schema.type.map(type => Object.assign({}, schema, {type: type})));\n\t\t\t\t/* jshint ignore:end */\n\t\t\t}\n\t\t\telse {\n\t\t\t\tschemas.push(schema);\n\t\t\t}\n\t\t}\n\n\t\treturn schemas;\n\t}\n\n\t/**\n\t * Returns the callback parameters for a given process parameter.\n\t * \n\t * @param {object} processParameter - The process parameter spec to parse.\n\t * @returns {array}\n\t * @throws {Error}\n\t */\n\tstatic getCallbackParameters(processParameter, keyPath = []) {\n\t\tif (!Utils.isObject(processParameter) || !processParameter.schema) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet schemas = ProcessUtils.normalizeJsonSchema(processParameter.schema);\n\t\tlet key;\n\t\twhile(key = keyPath.shift()) { // jshint ignore:line\n\t\t\tschemas = schemas.map(schema => ProcessUtils.normalizeJsonSchema(ProcessUtils.getElementJsonSchema(schema, key))); // jshint ignore:line\n\t\t\tschemas = schemas.concat(...schemas);\n\t\t}\n\n\n\t\tlet cbParams = [];\n\t\tfor(let schema of schemas) {\n\t\t\tlet params = null;\n\t\t\tif (Array.isArray(schema.parameters)) { // For \"normal\" callbacks\n\t\t\t\tparams = schema.parameters;\n\t\t\t}\n\t\t\telse if (Utils.isObject(schema.additionalProperties) && Array.isArray(schema.additionalProperties.parameters)) {\n\t\t\t\tparams = schema.additionalProperties.parameters; // Used for metadata-filter\n\t\t\t}\n\t\t\tif (Array.isArray(params)) {\n\t\t\t\tif (cbParams.length > 0 && !Utils.equals(cbParams, params)) {\n\t\t\t\t\tthrow new Error(\"Multiple schemas with different callback parameters found.\");\n\t\t\t\t}\n\t\t\t\tcbParams = params;\n\t\t\t}\n\t\t}\n\n\t\treturn cbParams;\n\t}\n\n\t/**\n\t * Returns the callback parameters for a given process parameter from a full process spec.\n\t * \n\t * @param {object} process - The process to parse.\n\t * @param {string} parameterName - The name of the parameter to get the callback parameters for.\n\t * @returns {array}\n\t * @throws {Error}\n\t */\n\tstatic getCallbackParametersForProcess(process, parameterName, path = []) {\n\t\tif (!Utils.isObject(process) || !Array.isArray(process.parameters)) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet param = process.parameters.find(p => p.name === parameterName);\n\t\treturn ProcessUtils.getCallbackParameters(param, path);\n\t}\n\n\t/**\n\t * Returns *all* the native JSON data types allowed for the schema.\n\t * \n\t * @param {object} schema \n\t * @param {boolean} anyIsEmpty\n\t * @returns {array}\n\t */\n\tstatic getNativeTypesForJsonSchema(schema, anyIsEmpty = false) {\n\t\tif (Utils.isObject(schema) && Array.isArray(schema.type)) {\n\t\t\t// Remove duplicate and invalid types\n\t\t\tlet validTypes = Utils.unique(schema.type).filter(type => ProcessUtils.JSON_SCHEMA_TYPES.includes(type));\n\t\t\tif (validTypes.length > 0 && validTypes.length < ProcessUtils.JSON_SCHEMA_TYPES.length) {\n\t\t\t\treturn validTypes;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn anyIsEmpty ? [] : ProcessUtils.JSON_SCHEMA_TYPES;\n\t\t\t}\n\t\t}\n\t\telse if (Utils.isObject(schema) && typeof schema.type === 'string' && ProcessUtils.JSON_SCHEMA_TYPES.includes(schema.type)) {\n\t\t\treturn [schema.type];\n\t\t}\n\t\telse {\n\t\t\treturn anyIsEmpty ? [] : ProcessUtils.JSON_SCHEMA_TYPES;\n\t\t}\n\t}\n\n\t/**\n\t * Returns the schema for a property of an object or an element of an array.\n\t * \n\t * If you want to retrieve the schema for a specific key, use the parameter `key`.\n\t * \n\t * @param {object} schema - The JSON schema to parse.\n\t * @param {string|integer|null} key - If you want to retrieve the schema for a specific key, otherwise null.\n\t * @returns {object} - JSON Schema\n\t */\n\tstatic getElementJsonSchema(schema, key = null) {\n\t\tlet types = ProcessUtils.getNativeTypesForJsonSchema(schema);\n\t\tif (Utils.isObject(schema) && types.includes('array') && typeof key !== 'string') {\n\t\t\tif (Utils.isObject(schema.items)) {\n\t\t\t\t// Array with one schema for all items: https://json-schema.org/understanding-json-schema/reference/array.html#id5\n\t\t\t\treturn schema.items;\n\t\t\t}\n\t\t\telse if (Array.isArray(schema.items)) {\n\t\t\t\t// Tuple validation: https://json-schema.org/understanding-json-schema/reference/array.html#id6\n\t\t\t\tif (key !== null && Utils.isObject(schema.items[key])) {\n\t\t\t\t\treturn schema.items[key];\n\t\t\t\t}\n\t\t\t\telse if (Utils.isObject(schema.additionalItems)) {\n\t\t\t\t\treturn schema.additionalItems;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Utils.isObject(schema) && types.includes('object')) {\n\t\t\tif (key !== null && Utils.isObject(schema.properties) && Utils.isObject(schema.properties[key])) {\n\t\t\t\treturn schema.properties[key];\n\t\t\t}\n\t\t\telse if (Utils.isObject(schema.additionalProperties)) {\n\t\t\t\treturn schema.additionalProperties;\n\t\t\t}\n\t\t\t// ToDo: No support for patternProperties yet\n\t\t}\n\n\t\treturn {};\n\t}\n\n}\n\n/**\n * A list of all allowed JSON Schema type values.\n * \n * @type {array}\n */\nProcessUtils.JSON_SCHEMA_TYPES = ['string', 'number', 'integer', 'boolean', 'array', 'object', 'null'];\n\nmodule.exports = ProcessUtils;","var equal = require('fast-deep-equal/es6');\n\n/**\n * General utilities\n * \n * @class\n */\nclass Utils {\n\n\t/**\n\t * Checks whether a variable is a real object or not.\n\t * \n\t * This is a more strict version of `typeof x === 'object'` as this example would also succeeds for arrays and `null`.\n\t * This function only returns `true` for real objects and not for arrays, `null` or any other data types.\n\t * \n\t * @param {*} obj - A variable to check.\n\t * @returns {boolean} - `true` is the given variable is an object, `false` otherwise.\n\t */\n\tstatic isObject(obj) {\n\t\treturn (typeof obj === 'object' && obj === Object(obj) && !Array.isArray(obj));\n\t}\n\n\t/**\n\t * Checks whether a variable is a string and contains at least one character.\n\t * \n\t * @param {*} string - A variable to check.\n\t * @returns {boolean} - `true` is the given variable is an string with length > 0, `false` otherwise.\n\t */\n\tstatic hasText(string) {\n\t\treturn (typeof string === 'string' && string.length > 0);\n\t}\n\n\t/**\n\t * Performs a deep comparison between two values to determine if they are equivalent.\n\t * \n\t * @param {*} x - The value to compare.\n\t * @param {*} y - The other value to compare.\n\t * @returns {boolean} - Returns true if the values are equivalent, else false.\n\t */\n\tstatic equals(x, y) {\n\t\treturn equal(x, y);\n\t}\n\n\t/**\n\t * Creates an object composed of the picked object properties.\n\t * \n\t * Returns a shallow copy!\n\t * \n\t * @param {object} obj - The source object.\n\t * @param {string|array} toPick - The properties to pick.\n\t * @returns {object}\n\t */\n\tstatic pickFromObject(obj, toPick) {\n\t\tobj = Object(obj);\n\t\tif (typeof toPick === 'string') {\n\t\t\ttoPick = [toPick];\n\t\t}\n\t\tconst copy = {};\n\t\ttoPick.forEach(key => copy[key] = obj[key]);\n\t\treturn copy;\n\t}\n\n\t/**\n\t * This method creates an object composed of the own and inherited enumerable property paths of object that are not omitted.\n\t * \n\t * Returns a shallow copy!\n\t * \n\t * @param {object} obj - The source object.\n\t * @param {string|array} toOmit - The properties to omit.\n\t * @returns {object}\n\t */\n\tstatic omitFromObject(obj, toOmit) {\n\t\tobj = Object(obj);\n\t\tif (typeof toOmit === 'string') {\n\t\t\ttoOmit = [toOmit];\n\t\t}\n\t\tvar copy = Object.assign({}, obj);\n\t\tfor(let key of toOmit) {\n\t\t\tdelete copy[key];\n\t\t}\n\t\treturn copy;\n\t}\n\n\t/**\n\t * Creates an array of values by running each property of `object` thru function.\n\t * \n\t * The function is invoked with three arguments: (value, key, object).\n\t * \n\t * @param {object} obj \n\t * @param {function} func \n\t * @returns {object}\n\t */\n\tstatic mapObject(obj, func) {\n\t\t// Taken from lodash, see https://github.com/lodash/lodash/blob/master/mapObject.js\n\t\tconst props = Object.keys(obj);\n\t\tconst result = new Array(props.length);\n\t\tprops.forEach((key, index) => {\n\t\t\tresult[index] = func(obj[key], key, obj);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Creates an object with the same keys as object and values generated by running each own enumerable string keyed property of object thru the function.\n\t * \n\t * The function is invoked with three arguments: (value, key, object).\n\t * \n\t * @param {object} obj \n\t * @param {function} func \n\t * @returns {object}\n\t */\n\tstatic mapObjectValues(obj, func) {\n\t\t// Taken from lodash, see https://github.com/lodash/lodash/blob/master/mapValue.js\n\t\tobj = Object(obj);\n\t\tconst result = {};\n\t\tObject.keys(obj).forEach((key) => {\n\t\t\tresult[key] = func(obj[key], key, obj);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Creates a duplicate-free version of an array.\n\t * \n\t * If useEquals is set to true, uses the `Utils.equals` function for comparison instead of \n\t * the JS === operator. Thus, if the array contains objects, you likely want to set \n\t * `useEquals` to `true`.\n\t * \n\t * @param {array} array\n\t * @param {boolean} useEquals\n\t * @returns {array}\n\t */\n\tstatic unique(array, useEquals = false) {\n\t\tif (useEquals) {\n\t\t\treturn array.filter((s1, pos, arr) => arr.findIndex(s2 => Utils.equals(s1, s2)) === pos);\n\t\t}\n\t\telse {\n\t\t\treturn [...new Set(array)];\n\t\t}\n\t}\n\t\n\t/**\n\t * Computes the size of an array (number of array elements) or object (number of key-value-pairs).\n\t * \n\t * Returns 0 for all other data types.\n\t * \n\t * @param {*} obj \n\t * @returns {integer}\n\t */\n\tstatic size(obj) {\n\t\tif (typeof obj === 'object' && obj !== null) {\n\t\t\tif (Array.isArray(obj)) {\n\t\t\t\treturn obj.length;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn Object.keys(obj).length;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Checks whether a variable is numeric.\n\t * \n\t * Numeric is every string with numeric data or a number, excluding NaN and finite numbers.\n\t * \n\t * @param {*} n - A variable to check.\n\t * @returns {boolean} - `true` is the given variable is numeric, `false` otherwise.\n\t */\n\tstatic isNumeric(n) {\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\n }\n \n /**\n * Deep clone for JSON-compatible data.\n * \n * @param {*} x - The data to clone.\n * @returns {*} - The cloned data.\n */\n static deepClone(x) {\n\t\treturn JSON.parse(JSON.stringify(x));\n }\n\n\t/**\n\t * Normalize a URL (mostly handling leading and trailing slashes).\n\t * \n\t * @static\n\t * @param {string} baseUrl - The URL to normalize\n\t * @param {string} path - An optional path to add to the URL\n\t * @returns {string} Normalized URL.\n\t */\n\tstatic normalizeUrl(baseUrl, path = null) {\n\t\tlet url = baseUrl.replace(/\\/$/, \"\"); // Remove trailing slash from base URL\n\t\tif (typeof path === 'string') {\n\t\t\tif (path.substr(0, 1) !== '/') {\n\t\t\t\tpath = '/' + path; // Add leading slash to path\n\t\t\t}\n\t\t\turl = url + path.replace(/\\/$/, \"\"); // Remove trailing slash from path\n\t\t}\n\t\treturn url;\n\t}\n\n\t/**\n\t * Replaces placeholders in this format: `{var}`.\n\t * \n\t * This can be used for the placeholders/variables in the openEO API's errors.json file.\n\t * \n\t * @param {string} message - The string to replace the placeholders in.\n\t * @param {object} variables - A map with the placeholder names as keys and the replacement value as value.\n\t */\n\tstatic replacePlaceholders(message, variables = {}) {\n\t\tif (typeof message === 'string' && Utils.isObject(variables)) {\n\t\t\tfor(var placeholder in variables) {\n\t\t\t\tlet vars = variables[placeholder];\n\t\t\t\tmessage = message.replace('{' + placeholder + '}', Array.isArray(vars) ? vars.join(\"; \") : vars);\n\t\t\t}\n\t\t}\n\t\treturn message;\n\t}\n\n\t/**\n\t * Compares two strings case-insensitive, including natural ordering for numbers.\n\t * \n\t * @param {string} a \n\t * @param {string} b \n\t * @returns {integer} Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\n\t */\n static compareStringCaseInsensitive(a, b) {\n if (typeof a !== 'string') {\n a = String(a);\n }\n if (typeof b !== 'string') {\n b = String(b);\n }\n return a.localeCompare(b, undefined, {numeric: true, sensitivity: 'base'});\n }\n\n\t/**\n\t * Tries to make a string more readable by capitalizing it.\n\t * Only applies to words with more than two characters.\n\t * \n\t * Supports converting from:\n\t * - Snake Case (abc_def => Abc Def)\n\t * - Kebab Case (abc-def => Abc Def)\n\t * - Camel Case (abcDef => Abc Def)\n\t * \n\t * Doesn't capitalize if the words are not in any of the casing formats above.\n\t * \n\t * @param {*} strings - String(s) to make readable\n\t * @param {string} arraySep - String to separate array elements with\n\t * @returns {string}\n\t */\n static prettifyString(strings, arraySep = '; ') {\n\t\tif (!Array.isArray(strings)) {\n\t\t\tstrings = [String(strings)];\n\t\t}\n\t\tstrings = strings.map(str => {\n\t\t\tif (str.length >= 3) {\n\t\t\t\tconst replacer = (_,a,b) => a + ' ' + b.toUpperCase();\n\t\t\t\tif (str.includes('_')) {\n\t\t\t\t\t// Snake case converter\n\t\t\t\t\tstr = str.replace(/([a-zA-Z\\d])_([a-zA-Z\\d])/g, replacer);\n\t\t\t\t}\n\t\t\t\telse if (str.includes('-')) {\n\t\t\t\t\t// Kebab case converter\n\t\t\t\t\tstr = str.replace(/([a-zA-Z\\d])-([a-zA-Z\\d])/g, replacer);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Camelcase converter\n\t\t\t\t\tstr = str.replace(/([a-z])([A-Z])/g, replacer);\n\t\t\t\t}\n\t\t\t\t// Uppercase the first letter in the first word, too.\n\t\t\t\treturn str.charAt(0).toUpperCase() + str.substr(1);\n\t\t\t}\n\t\t\treturn str;\n\t\t});\n\t\treturn strings.join(arraySep);\t\n }\n\n\t/**\n\t * Makes link lists from the openEO API more user-friendly.\n\t * \n\t * Supports:\n\t * - Set a reasonable title, if not available. Make title more readable.\n\t * - Sorting by title (see `sort` parameter)\n\t * - Removing given relation types (`rel` property, see `ignoreRel` parameter)\n\t * \n\t * @param {array} linkList - List of links\n\t * @param {boolean} sort - Enable/Disable sorting by title. Enabled (true) by default.\n\t * @param {array} ignoreRel - A list of rel types to remove. By default, removes the self links (rel type = `self`).\n\t * @returns {array}\n\t */\n static friendlyLinks(linkList, sort = true, ignoreRel = ['self']) {\n let links = [];\n if (!Array.isArray(linkList)) {\n return links;\n }\n\n for(let link of linkList) {\n link = Object.assign({}, link); // Make sure to work on a copy\n if (typeof link.rel === 'string' && ignoreRel.includes(link.rel.toLowerCase())) {\n continue;\n }\n if (typeof link.title !== 'string' || link.title.length === 0) {\n if (typeof link.rel === 'string' && link.rel.length > 1) {\n link.title = Utils.prettifyString(link.rel);\n }\n else {\n link.title = link.href.replace(/^https?:\\/\\/(www.)?/i, '').replace(/\\/$/i, '');\n }\n }\n links.push(link);\n }\n if (sort) {\n links.sort((a, b) => Utils.compareStringCaseInsensitive(a.title, b.title));\n }\n return links;\n }\n\n}\n\nmodule.exports = Utils;","const { compare, compareVersions, validate } = require('compare-versions');\n\n/** Version Number related methods */\nclass Versions {\n\n\t/**\n\t * Compare [semver](https://semver.org/) version strings.\n\t * \n\t * @param {string} firstVersion First version to compare\n\t * @param {string} secondVersion Second version to compare\n\t * @param {string|null} operator Optional; Arithmetic operator to use (>, >=, =, <=, <, !=). Defaults to `null`.\n\t * @returns {boolean|integer} If operator is not `null`: true` if the comparison between the firstVersion and the secondVersion satisfies the operator, `false` otherwise. If operator is `null`: Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\n\t * ```\n\t */\n\tstatic compare(v1, v2, operator = null) {\n\t\tif (operator !== null) {\n\t\t\treturn compare(v1, v2, operator);\n\t\t}\n\t\telse {\n\t\t\treturn compareVersions(v1, v2);\n\t\t}\n\t}\n\n\t/**\n\t * Validate [semver](https://semver.org/) version strings.\n\t * \n\t * @param {*} version - Version number to validate\n\t * @returns - `true` if the version number is a valid semver version number, `false` otherwise.\n\t */\n\tstatic validate(version) {\n\t\treturn validate(version);\n\t}\n\n\t/**\n\t * Tries to determine the most suitable version from a well-known discovery document that software is compatible to.\n\t * \n\t * @static\n\t * @param {array} wkVersions - A well-known discovery document compliant to the API specification.\n\t * @param {boolean} preferProduction - Set to `false` to make no difference between production and non-production versions.\n\t * @param {string|null} minVersion - The minimum version that should be returned.\n\t * @param {string|null} maxVersion - The maximum version that should be returned.\n\t * @returns {object[]} - Gives a list that lists all compatible versions (as still API compliant objects) ordered from the most suitable to the least suitable.\n\t */\n\tstatic findCompatible(wkVersions, preferProduction = true, minVersion = null, maxVersion = null) {\n\t\tif (!Array.isArray(wkVersions) || wkVersions.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet compatible = wkVersions.filter(c => {\n\t\t\tif (typeof c.url === 'string' && Versions.validate(c.api_version)) {\n\t\t\t\tlet hasMinVer = Versions.validate(minVersion);\n\t\t\t\tlet hasMaxVer = Versions.validate(maxVersion);\n\t\t\t\tif (hasMinVer && hasMaxVer) {\n\t\t\t\t\treturn Versions.compare(c.api_version, minVersion, \">=\") && Versions.compare(c.api_version, maxVersion, \"<=\");\n\t\t\t\t}\n\t\t\t\telse if (hasMinVer) {\n\t\t\t\t\treturn Versions.compare(c.api_version, minVersion, \">=\");\n\t\t\t\t}\n\t\t\t\telse if (hasMaxVer) {\n\t\t\t\t\treturn Versions.compare(c.api_version, maxVersion, \"<=\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t });\n\t\tif (compatible.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn compatible.sort((c1, c2) => {\n\t\t\tlet p1 = c1.production === true;\n\t\t\tlet p2 = c2.production === true;\n\t\t\tif (!preferProduction || p1 === p2) {\n\t\t\t\treturn Versions.compare(c1.api_version, c2.api_version) * -1; // `* -1` to sort in descending order.\n\t\t\t}\n\t\t\telse if (p1) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Find the latest version from well-known discovery that applies to the specified rules.\n\t * \n\t * This is basically the same as calling `findCompatible` and using the first element from the result.\n\t * \n\t * @param {array} wkVersions - A well-known discovery document compliant to the API specification.\n\t * @param {boolean} preferProduction - Set to `false` to make no difference between production and non-production versions.\n\t * @param {string|null} minVersion - The minimum version that should be returned.\n\t * @param {string|null} maxVersion - The maximum version that should be returned.\n\t * @returns {object|null}\n\t */\n\tstatic findLatest(wkVersions, preferProduction = true, minVersion = null, maxVersion = null) {\n\t\tlet versions = Versions.findCompatible(wkVersions, preferProduction, minVersion, maxVersion);\n\t\tif (versions.length > 0) {\n\t\t\treturn versions[0];\n\t\t}\n\t\telse {\n\t\t\treturn null;\n\t\t}\n\t}\n\t\n}\n\nmodule.exports = Versions;"],"names":["compareVersions","LATEST_VERSION","SCHEMAS","EXTENSIONS","itemAndCollection","datacube","eo","file","label","pointcloud","processing","projection","raster","sar","sat","scientific","view","version","timestamps","catalog","collection","item","Object","assign","Ext","parseUrl","url","match","id","V","extensions","set","stac","stac_version","Array","isArray","stac_extensions","ext","e","before","compareTo","compare","_","type","val","is","isDefined","isObject","obj","rename","oldKey","newKey","forAll","key","fn","i","toArray","flattenArray","newKeys","summary","value","flattenOneElementArray","length","removeFromArray","valueToRemove","index","indexOf","splice","ensure","defaultValue","upgradeExtension","context","extension","findIndex","old","addExtension","newExtension","push","sort","removeExtension","oldExtension","migrateExtensionShortnames","oldShortnames","keys","newSchemas","values","mapValues","populateExtensions","objectsToCheck","assets","concat","item_assets","summaries","properties","forEach","prefix","oldValues","newValues","map","mapObject","moveTo","fromSummary","mergedSummary","condition","runAll","migrations","startsWith","toUTC","this","toISOString","error","date","Date","replace","Checksum","multihash","hexToUint8","hexString","Error","Uint8Array","byte","parseInt","uint8ToHex","bytes","reduce","str","toString","padStart","toMultihash","algo","encoded","encode","console","warn","Catalog","migrate","updateVersionNumber","Collection","spatial","bbox","temporal","interval","extent","min","max","start","end","unshift","count","Math","union","fill","middle","c","collectionAssets","Asset","migrateAll","itemAsset","other_properties","prop","minimum","maximum","filter","v","a","b","links","find","link","includes","rel","Fields","Item","geometry","commons","CollectionCollection","object","collections","ItemCollection","itemCollection","features","feature","field","asset","mediaTypes","bands","band","_commonMetadata","_timestamps","_versioningIndicator","checksum","classification","o","cube","dtr","pc","proj","sci","table","Migrate","collectionCollection","license","enableMultihash","module","exports","root","factory","semver","indexOrEnd","q","split","patchIndex","arr","substring","tryParse","isNaN","Number","validate","TypeError","test","v1","v2","s1","s2","n1","n2","sp1","sp2","p1","p2","undefined","allowedOperators","operatorResMap","validateOperator","op","join","operator","res","AuthProvider","constructor","connection","options","title","description","token","getId","getType","getProviderId","getDisplayName","getTitle","getDescription","getToken","setToken","emit","setAuthProvider","login","args","logout","BaseEntity","apiToClientNames","clientToApiNames","lastRefreshTime","extra","backend","client","toJSON","apiKey","setAll","metadata","name","now","getDataAge","getAll","get","_convertToRequest","parameters","request","_supports","capabilities","hasFeature","Environment","Utils","BasicProvider","super","username","password","response","_send","method","responseType","headers","base64encode","data","access_token","getName","getUrl","window","location","setUrl","uri","handleErrorResponse","Promise","resolve","reject","fileReader","FileReader","onerror","event","abort","target","onload","result","ArrayBuffer","String","fromCharCode","apply","Uint16Array","JSON","parse","readAsText","getResponseType","btoa","fileNameForUpload","source","pop","dataForUpload","downloadResults","con","targetFolder","saveToFile","filename","Blob","blobURL","URL","createObjectURL","tempLink","document","createElement","style","display","href","setAttribute","download","body","appendChild","click","removeChild","revokeObjectURL","BuilderNode","Parameter","axios","ProcessUtils","ProcessRegistry","PROCESS_META","Builder","fromVersion","fromURL","processes","parent","parentNode","parentParameter","nodes","idCounter","callbackParameterCache","all","process","createFunction","addProcessSpec","namespace","add","setParent","node","parameterName","createCallbackParameter","create","getParentCallbackParameters","callbackParams","getCallbackParametersForProcess","spec","param","addParameter","parameter","p","builder","existing","math","formula","Formula","setBuilder","generate","supports","processId","Boolean","rest","process_graph","mapObjectValues","generateId","substr","TapDigit","parser","Parser","tree","setResultNode","finalNode","parseTree","parseFloat","getRef","Identifier","Expression","FunctionCall","addOperatorProcess","Binary","left","right","Unary","expression","nodeId","from_node","ref","processName","operatorMapping","processArgs","processDescription","processNamespace","arguments","namedArguments","_description","addParametersToProcess","arg","schema","exportArgument","createBuilder","element","exportCallback","params","bind","array_create","constant","process_id","Proxy","nodeCache","receiver","Reflect","has","optional","default","from_parameter","Token","Operator","SUP_MAPPING","SUP_STRING","Lexer","marker","T","peekNextChar","idx","charAt","getNextChar","ch","isWhiteSpace","isLetter","isDecimalDigit","createToken","skipSpaces","scanOperator","isIdentifierStart","isAdditionalNamespaceChar","isIdentifierPart","ns","scanIdentifier","startCh","scanNumber","number","SyntaxError","reset","next","peek","lexer","matchOp","parseArgumentList","expr","parseExpression","parseFunctionCall","parsePrimary","parseUnary","parseSuperscript","parsePower","parseMultiplicative","parseAdditive","FEATURE_MAP","listFileTypes","listServiceTypes","listUdfRuntimes","listCollections","describeCollection","listCollectionItems","describeCollectionItem","describeCollectionQueryables","listProcesses","describeProcess","listAuthProviders","authenticateOIDC","authenticateBasic","describeAccount","listFiles","getFile","uploadFile","downloadFile","deleteFile","validateProcess","listUserProcesses","describeUserProcess","getUserProcess","setUserProcess","replaceUserProcess","deleteUserProcess","computeResult","listJobs","createJob","listServices","createService","getJob","describeJob","updateJob","deleteJob","estimateJob","debugJob","startJob","stopJob","listResults","describeService","getService","updateService","deleteService","debugService","Capabilities","featureMap","init","api_version","endpoints","methods","path","toLowerCase","flat","apiVersion","backendVersion","backend_version","isStable","production","listFeatures","methodName","some","currency","billing","listPlans","plans","defaultPlan","default_plan","plan","addition","StacMigrate","OidcProvider","FileTypes","UserFile","Job","UserProcess","Service","CONFORMANCE_RELS","Connection","baseUrl","normalizeUrl","authProviderList","authProvider","capabilitiesObject","listeners","addNamespaceToProcess","_get","makeLinksAbsolute","conformsTo","conformanceLink","_getLinkHref","response2","refreshProcessCache","promises","namespaces","userProcesses","isAuthenticated","remove","catch","message","getBaseUrl","collectionId","spatialExtent","temporalExtent","limit","page","nextUrl","datetime","normalizeNamespace","matches","addAll","buildProcess","cap","oidcFactory","getOidcProviderFactory","providers","setOidcProviderFactory","providerFactoryFunc","oidcProviderFactory","isSupported","providerInfo","basic","on","callback","off","getAuthProvider","provider","setAuthToken","providerId","files","f","_toResponseArray","targetPath","statusCallback","abortController","_normalizeUserProcess","additional","_post","errors","oldProcesses","newProcesses","newProcess","oldProcess","jsonProcesses","pg","budget","requestBody","syncResult","costs","logs","logsResponse","downloadResult","oldJobs","newJobs","jobs","newJob","job","oldJob","oldServices","newServices","services","newService","service","oldService","enabled","configuration","l","base","config","baseURL","query","timeout","_put","_patch","_delete","authorize","authorization","_getAuthHeaders","Authorization","signal","isCancel","checkContentType","enrichError","origin","code","errorResponse","error2","input","output","io","toUpperCase","getInputTypes","getOutputTypes","getInputType","_findType","getOutputType","Logs","STOP_STATUS","jobId","status","progress","created","updated","level","monitorJob","requestLogs","lastStatus","intervalId","logIterator","monitorFn","async","nextLogs","stopFn","setTimeout","setInterval","clearInterval","getResultsAsStac","list","endpoint","lastId","offset","log","fs","Stream","chunks","chunk","streamError","Buffer","buffer","from","basename","createReadStream","parsedUrl","pathname","Readable","writeStream","createWriteStream","err","pipe","Oidc","UserManager","signinCallback","setGrant","providerOptions","getOptions","oidc","manager","user","clientId","grant","issuer","scopes","refreshTokenScope","defaultClients","default_clients","defaultClient","detectDefaultClient","addListener","scope","events","removeListener","requestRefreshToken","setUser","getUser","uiMethod","signinPopup","signinRedirect","signoutPopup","signoutRedirect","post_logout_redirect_uri","response_type","slice","client_id","redirect_uri","redirectUrl","authority","validateSubOnSilentRenew","response_mode","setClientId","profile","preferred_username","email","grants","grant_types","redirect_urls","Versions","MIN_API_VERSION","MAX_API_VERSION","OpenEO","connect","wellKnownUrl","versionedUrl","versions","findLatest","connectDirect","clientVersion","AbortController","serviceId","attributes","monitorService","wasEnabled","size","modified","retrieveFile","onUploadProgress","progressEvent","percentCompleted","round","loaded","total","categories","returns","deprecated","experimental","exceptions","examples","processGraph","MigrateCapabilities","MigrateCollections","MigrateProcesses","ProcessDataType","ProcessParameter","ProcessSchema","MigrateCommons","NO_VERSION","guessApiVersion","convertCapabilitiesToLatestSpec","originalCapabilities","updateVersionNumbers","updateEndpointPaths","deepClone","convertBillingToLatestSpec","convertEndpointsToLatestSpec","migrateLinks","updatePaths","isV04","isLtV100RC2","addPutToPg","newPgPath","post","patch","convertOutputFormatsToLatestSpec","formats","convertFileFormatsToLatestSpec","upgradeFileFormats","convertServiceTypesToLatestSpec","types","t","variables","process_parameters","variable_id","migrateDiscoveryParameters","convertUdfRuntimesToLatestSpec","runtimes","r","docker","GIS_DATA_TYPES","gis_data_types","extMap","fieldMap","moveToRoot","DIMENSION_TYPES","convertCollectionsToLatestSpec","convertCollectionToLatestSpec","originalCollection","props","fallbackRel","example","convertProcessesToLatestSpec","convertProcessToLatestSpec","parameter_order","required","upgradeSchema","isParam","moveMediaType","media_type","schemas","subSchema","renameFormat","contentMediaType","format","paramSchema","subtype","isAny","dataType","isNull","nullable","isEditable","NON_EDITABLE","native","nativeType","nativeDataType","isEnum","enum","getEnumChoices","getCallbackParameters","additionalProperties","group","hasText","DEFAULT_GROUP","prettifyString","addNamespace","onChange","listener","fireEvent","hasNamespace","unspecified","normalizeJsonSchema","s","defaults","d","refs","dataTypes","nullIndex","includeNull","splitTypes","normalized","allOf","oneOf","anyOf","copy","omitFromObject","subSchemas","processParameter","keyPath","shift","getElementJsonSchema","cbParams","equals","getNativeTypesForJsonSchema","anyIsEmpty","validTypes","unique","JSON_SCHEMA_TYPES","items","additionalItems","equal","string","x","y","pickFromObject","toPick","toOmit","func","array","useEquals","pos","Set","isNumeric","n","isFinite","stringify","replacePlaceholders","placeholder","vars","compareStringCaseInsensitive","localeCompare","numeric","sensitivity","strings","arraySep","replacer","friendlyLinks","linkList","ignoreRel","findCompatible","wkVersions","preferProduction","minVersion","maxVersion","compatible","hasMinVer","hasMaxVer","c1","c2"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-vendors-6766e1df.ec70147a.js b/js/chunk-vendors-6766e1df.ec70147a.js deleted file mode 100644 index 37ea1507..00000000 --- a/js/chunk-vendors-6766e1df.ec70147a.js +++ /dev/null @@ -1,2 +0,0 @@ -(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[7900],{273:(e,t,s)=>{var r=s(36246);const i="1.0.0",a={classification:"https://stac-extensions.github.io/classification/v1.1.0/schema.json",datacube:"https://stac-extensions.github.io/datacube/v2.1.0/schema.json",eo:"https://stac-extensions.github.io/eo/v1.0.0/schema.json",file:"https://stac-extensions.github.io/file/v1.0.0/schema.json","item-assets":"https://stac-extensions.github.io/item-assets/v1.0.0/schema.json",label:"https://stac-extensions.github.io/label/v1.0.1/schema.json",pointcloud:"https://stac-extensions.github.io/pointcloud/v1.0.0/schema.json",processing:"https://stac-extensions.github.io/processing/v1.1.0/schema.json",projection:"https://stac-extensions.github.io/projection/v1.0.0/schema.json",raster:"https://stac-extensions.github.io/raster/v1.1.0/schema.json",sar:"https://stac-extensions.github.io/sar/v1.0.0/schema.json",sat:"https://stac-extensions.github.io/sat/v1.0.0/schema.json",scientific:"https://stac-extensions.github.io/scientific/v1.0.0/schema.json",table:"https://stac-extensions.github.io/table/v1.2.0/schema.json",timestamps:"https://stac-extensions.github.io/timestamps/v1.0.0/schema.json",version:"https://stac-extensions.github.io/version/v1.0.0/schema.json",view:"https://stac-extensions.github.io/view/v1.0.0/schema.json"},n={itemAndCollection:{"cube:":a.datacube,"eo:":a.eo,"file:":a.file,"label:":a.label,"pc:":a.pointcloud,"processing:":a.processing,"proj:":a.projection,"raster:":a.raster,"sar:":a.sar,"sat:":a.sat,"sci:":a.scientific,"view:":a.view,version:a.version,deprecated:a.version,published:a.timestamps,expires:a.timestamps,unpublished:a.timestamps},catalog:{},collection:{item_assets:a["item-assets"]},item:{}};n.collection=Object.assign(n.collection,n.itemAndCollection),n.item=Object.assign(n.item,n.itemAndCollection);var o={parseUrl(e){let t=e.match(/^https?:\/\/stac-extensions.github.io\/([^\/]+)\/v([^\/]+)\/[^.]+.json$/i);if(t)return{id:t[1],version:t[2]}}},l={version:i,extensions:{},set(e){if("string"!==typeof e.stac_version?l.version="0.6.0":l.version=e.stac_version,Array.isArray(e.stac_extensions))for(let t of e.stac_extensions){let e=o.parseUrl(t);e&&(l.extensions[e.id]=e.version)}},before(e,t=null){let s=t?l.extensions[t]:l.version;return"undefined"!==typeof s&&r.compare(s,e,"<")}},c={type(e){let t=typeof e;if("object"===t){if(null===e)return"null";if(Array.isArray(e))return"array"}return t},is(e,t){return c.type(e)===t},isDefined(e){return"undefined"!==typeof e},isObject(e){return"object"===typeof e&&e===Object(e)&&!Array.isArray(e)},rename(e,t,s){return"undefined"!==typeof e[t]&&"undefined"===typeof e[s]&&(e[s]=e[t],delete e[t],!0)},forAll(e,t,s){if(e[t]&&"object"===typeof e[t])for(let r in e[t])s(e[t][r])},toArray(e,t){return"undefined"!==typeof e[t]&&!Array.isArray(e[t])&&(e[t]=[e[t]],!0)},flattenArray(e,t,s,r=!1){if(Array.isArray(e[t])){for(let i in e[t])if("string"===typeof s[i]){let a=e[t][i];e[s[i]]=r?[a]:a}return delete e[t],!0}return!1},flattenOneElementArray(e,t,s=!1){return!(!s&&Array.isArray(e[t]))||1===e[t].length&&(e[t]=e[t][0],!0)},removeFromArray(e,t,s){if(Array.isArray(e[t])){let r=e[t].indexOf(s);return r>-1&&e[t].splice(r,1),!0}return!1},ensure(e,t,s){return c.type(s)!==c.type(e[t])&&(e[t]=s),!0},upgradeExtension(e,t){let{id:s,version:i}=o.parseUrl(t),a=e.stac_extensions.findIndex((e=>{let t=o.parseUrl(e);return t&&t.id===s&&r.compare(t.version,i,"<")}));return-1!==a&&(e.stac_extensions[a]=t,!0)},addExtension(e,t){let{id:s,version:i}=o.parseUrl(t),a=e.stac_extensions.findIndex((e=>{if(e===t)return!0;let a=o.parseUrl(e);return!(!a||a.id!==s||!r.compare(a.version,i,"<"))}));return-1===a?e.stac_extensions.push(t):e.stac_extensions[a]=t,e.stac_extensions.sort(),!0},removeExtension(e,t){return c.removeFromArray(e,"stac_extensions",t)},migrateExtensionShortnames(e){let t=Object.keys(a),s=Object.values(a);return c.mapValues(e,"stac_extensions",t,s)},populateExtensions(e,t){let s=[];"catalog"!=t&&"collection"!=t||s.push(e),"item"!=t&&"collection"!=t||!c.isObject(e.assets)||(s=s.concat(Object.values(e.assets))),"collection"==t&&c.isObject(e.item_assets)&&(s=s.concat(Object.values(e.item_assets))),"collection"==t&&c.isObject(e.summaries)&&s.push(e.summaries),"item"==t&&c.isObject(e.properties)&&s.push(e.properties);for(let r of s)Object.keys(r).forEach((s=>{let r=s.match(/^(\w+:|[^:]+$)/i);if(Array.isArray(r)){let s=n[t][r[0]];c.is(s,"string")&&c.addExtension(e,s)}}))},mapValues(e,t,s,r){let i=e=>{let t=s.indexOf(e);return t>=0?r[t]:e};return Array.isArray(e[t])?e[t]=e[t].map(i):"undefined"!==typeof e[t]&&(e[t]=i(e[t])),!0},mapObject(e,t){for(let s in e)e[s]=t(e[s],s)},moveTo(e,t,s,r=!1,i=!1){let a;return a=r?i?e=>Array.isArray(e):e=>Array.isArray(e)&&1===e.length:c.isDefined,!!a(e[t])&&(s[t]=r&&!i?e[t][0]:e[t],delete e[t],!0)},runAll(e,t,s,r){for(let i in e)i.startsWith("migrate")||e[i](t,s,r)},toUTC(e,t){if("string"===typeof e[t])try{return e[t]=this.toISOString(e[t]),!0}catch(s){}return delete e[t],!1},toISOString(e){return e instanceof Date||(e=new Date(e)),e.toISOString().replace(".000","")}},p={multihash:null,hexToUint8(e){if(0===e.length||e.length%2!==0)throw new Error(`The string "${e}" is not valid hex.`);return new Uint8Array(e.match(/.{1,2}/g).map((e=>parseInt(e,16))))},uint8ToHex(e){return e.reduce(((e,t)=>e+t.toString(16).padStart(2,"0")),"")},toMultihash(e,t,s){if(!p.multihash||!c.is(e[t],"string"))return!1;try{const r=p.multihash.encode(p.hexToUint8(e[t]),s);return e[t]=p.uint8ToHex(r),!0}catch(r){return console.warn(r),!1}}},u={migrate(e,t=!0){return l.set(e),t&&(e.stac_version=i),e.type="Catalog",c.ensure(e,"stac_extensions",[]),l.before("1.0.0-rc.1")&&c.migrateExtensionShortnames(e),c.ensure(e,"id",""),c.ensure(e,"description",""),c.ensure(e,"links",[]),c.runAll(u,e,e),l.before("0.8.0")&&c.populateExtensions(e,"catalog"),e}},d={migrate(e,t=!0){return u.migrate(e,t),e.type="Collection",l.before("1.0.0-rc.1")&&c.migrateExtensionShortnames(e),c.ensure(e,"license","proprietary"),c.ensure(e,"extent",{spatial:{bbox:[]},temporal:{interval:[]}}),c.runAll(d,e,e),c.isObject(e.properties)&&(c.removeFromArray(e,"stac_extensions","commons"),delete e.properties),l.before("0.8.0")&&c.populateExtensions(e,"collection"),l.before("1.0.0-beta.1")&&c.mapValues(e,"stac_extensions",["assets"],["item-assets"]),e},extent(e){if(c.ensure(e,"extent",{}),l.before("0.8.0")&&(Array.isArray(e.extent.spatial)&&(e.extent.spatial={bbox:[e.extent.spatial]}),Array.isArray(e.extent.temporal)&&(e.extent.temporal={interval:[e.extent.temporal]})),c.ensure(e.extent,"spatial",{}),c.ensure(e.extent.spatial,"bbox",[]),c.ensure(e.extent,"temporal",{}),c.ensure(e.extent.temporal,"interval",[]),l.before("1.0.0-rc.3")){if(e.extent.temporal.interval.length>1){let s,r;for(let i of e.extent.temporal.interval){if(null===i[0])s=null;else if("string"===typeof i[0]&&null!==s)try{let e=new Date(i[0]);("undefined"===typeof s||er)&&(r=e)}catch(t){}}e.extent.temporal.interval.unshift([s?c.toISOString(s):null,r?c.toISOString(r):null])}if(e.extent.spatial.bbox.length>1){let t=e.extent.spatial.bbox.reduce(((e,t)=>Array.isArray(t)?Math.max(t.length,e):e),4);if(t>=4){let s=new Array(t).fill(null),r=t/2;for(let t of e.extent.spatial.bbox){if(!Array.isArray(t)||t.length<4)break;for(let e in t){let i=t[e];null===s[e]?s[e]=i:s[e]=enull===e))&&e.extent.spatial.bbox.unshift(s)}}}},collectionAssets(e){l.before("1.0.0-rc.1")&&c.removeExtension(e,"collection-assets"),g.migrateAll(e)},itemAsset(e){l.before("1.0.0-beta.2")&&c.rename(e,"item_assets","assets"),g.migrateAll(e,"item_assets")},summaries(e){if(c.ensure(e,"summaries",{}),l.before("0.8.0")&&c.isObject(e.other_properties)){for(let t in e.other_properties){let s=e.other_properties[t];Array.isArray(s.extent)&&2===s.extent.length?e.summaries[t]={minimum:s.extent[0],maximum:s.extent[1]}:Array.isArray(s.values)&&(s.values.filter((e=>Array.isArray(e))).length===s.values.length?e.summaries[t]=s.values.reduce(((e,t)=>e.concat(t)),[]):e.summaries[t]=s.values)}delete e.other_properties}if(l.before("1.0.0-beta.1")&&c.isObject(e.properties)&&!e.links.find((e=>["child","item"].includes(e.rel))))for(let t in e.properties){let s=e.properties[t];Array.isArray(s)||(s=[s]),e.summaries[t]=s}l.before("1.0.0-rc.1")&&c.mapObject(e.summaries,(e=>(c.rename(e,"min","minimum"),c.rename(e,"max","maximum"),e))),y.migrate(e.summaries,e,!0),c.moveTo(e.summaries,"sci:doi",e,!0)&&c.addExtension(e,a.scientific),c.moveTo(e.summaries,"sci:publications",e,!0,!0)&&c.addExtension(e,a.scientific),c.moveTo(e.summaries,"sci:citation",e,!0)&&c.addExtension(e,a.scientific),c.moveTo(e.summaries,"cube:dimensions",e,!0)&&c.addExtension(e,a.datacube),0===Object.keys(e.summaries).length&&delete e.summaries}},h={migrate(e,t=null,s=!0){l.set(e),s&&(e.stac_version=i),c.ensure(e,"stac_extensions",[]),l.before("1.0.0-rc.1")&&c.migrateExtensionShortnames(e),c.ensure(e,"id",""),c.ensure(e,"type","Feature"),c.isObject(e.geometry)||(e.geometry=null),null!==e.geometry&&c.ensure(e,"bbox",[]),c.ensure(e,"properties",{}),c.ensure(e,"links",[]),c.ensure(e,"assets",{});let r=!1;return c.isObject(t)&&c.isObject(t.properties)&&(c.removeFromArray(e,"stac_extensions","commons"),e.properties=Object.assign({},t.properties,e.properties),r=!0),c.runAll(h,e,e),y.migrate(e.properties,e),g.migrateAll(e),(l.before("0.8.0")||r)&&c.populateExtensions(e,"item"),e}},f={migrate(e,t=!0){return c.ensure(e,"collections",[]),c.ensure(e,"links",[]),c.runAll(f,e,e),e.collections=e.collections.map((e=>d.migrate(e,t))),e}},m={migrate(e,t=!0){return c.ensure(e,"type","FeatureCollection"),c.ensure(e,"features",[]),c.ensure(e,"links",[]),c.runAll(m,e,e),e.features=e.features.map((e=>h.migrate(e,null,t))),e}},g={migrateAll(e,t="assets"){for(let s in e[t])g.migrate(e[t][s],e)},migrate(e,t){return c.runAll(g,e,t),y.migrate(e,t),e},mediaTypes(e){c.is(e.type,"string")&&c.mapValues(e,"type",["image/vnd.stac.geotiff","image/vnd.stac.geotiff; cloud-optimized=true"],["image/tiff; application=geotiff","image/tiff; application=geotiff; profile=cloud-optimized"])},eo(e,t){let s=c.isObject(t.properties)&&Array.isArray(t.properties["eo:bands"])?t.properties["eo:bands"]:[];if(Array.isArray(e["eo:bands"]))for(let r in e["eo:bands"]){let t=e["eo:bands"][r];c.is(t,"number")&&c.isObject(s[t])?t=s[t]:c.isObject(t)||(t={}),e["eo:bands"][r]=t}}},y={migrate(e,t,s=!1){return c.runAll(y,e,t,s),e},_commonMetadata(e){l.before("1.0.0-rc.3")&&(c.toUTC(e,"created"),c.toUTC(e,"updated"))},_timestamps(e,t){c.toUTC(e,"published"),c.toUTC(e,"expires"),c.toUTC(e,"unpublished"),c.upgradeExtension(t,a.timestamps)},_versioningIndicator(e,t){c.upgradeExtension(t,a.version)},checksum(e,t){l.before("0.9.0")&&p.multihash&&(c.rename(e,"checksum:md5","checksum:multihash")&&p.toMultihash(e,"checksum:multihash","md5"),c.rename(e,"checksum:sha1","checksum:multihash")&&p.toMultihash(e,"checksum:multihash","sha1"),c.rename(e,"checksum:sha2","checksum:multihash")&&p.toMultihash(e,"checksum:multihash","sha2-256"),c.rename(e,"checksum:sha3","checksum:multihash")&&p.toMultihash(e,"checksum:multihash","sha3-256")),l.before("1.0.0-rc.1")&&c.rename(e,"checksum:multihash","file:checksum")&&c.addExtension(t,a.file),c.removeExtension(t,"checksum")},classification(e,t){l.before("1.1.0","classification")&&c.forAll(e,"classification:classes",(e=>c.rename(e,"color-hint","color_hint"))),c.upgradeExtension(t,a.classification)},cube(e,t){c.upgradeExtension(t,a.datacube)},dtr(e,t){l.before("0.9.0")&&(c.rename(e,"dtr:start_datetime","start_datetime"),c.rename(e,"dtr:end_datetime","end_datetime"),c.removeExtension(t,"datetime-range"))},eo(e,t){l.before("0.9.0")&&(c.rename(e,"eo:epsg","proj:epsg")&&c.addExtension(t,a.projection),c.rename(e,"eo:platform","platform"),c.rename(e,"eo:instrument","instruments")&&c.toArray(e,"instruments"),c.rename(e,"eo:constellation","constellation"),c.rename(e,"eo:off_nadir","view:off_nadir")&&c.addExtension(t,a.view),c.rename(e,"eo:azimuth","view:azimuth")&&c.addExtension(t,a.view),c.rename(e,"eo:incidence_angle","view:incidence_angle")&&c.addExtension(t,a.view),c.rename(e,"eo:sun_azimuth","view:sun_azimuth")&&c.addExtension(t,a.view),c.rename(e,"eo:sun_elevation","view:sun_elevation")&&c.addExtension(t,a.view)),l.before("1.0.0-beta.1")&&c.rename(e,"eo:gsd","gsd"),c.upgradeExtension(t,a.eo)},file(e,t){c.upgradeExtension(t,a.file)},label(e,t){l.before("0.8.0")&&(c.rename(e,"label:property","label:properties"),c.rename(e,"label:task","label:tasks"),c.rename(e,"label:overview","label:overviews")&&c.toArray(e,"label:overviews"),c.rename(e,"label:method","label:methods"),c.toArray(e,"label:classes")),c.upgradeExtension(t,a.label)},pc(e,t){l.before("0.8.0")&&c.rename(e,"pc:schema","pc:schemas"),c.upgradeExtension(t,a.pointcloud)},processing(e,t){c.upgradeExtension(t,a.processing)},proj(e,t){c.upgradeExtension(t,a.projection)},raster(e,t){c.upgradeExtension(t,a.raster)},sar(e,t,s){c.rename(e,"sar:incidence_angle","view:incidence_angle")&&c.addExtension(t,a.view),c.rename(e,"sar:pass_direction","sat:orbit_state")&&c.mapValues(e,"sat:orbit_state",[null],["geostationary"])&&c.addExtension(t,a.sat),l.before("0.7.0")&&(c.flattenArray(e,"sar:resolution",["sar:resolution_range","sar:resolution_azimuth"],s),c.flattenArray(e,"sar:pixel_spacing",["sar:pixel_spacing_range","sar:pixel_spacing_azimuth"],s),c.flattenArray(e,"sar:looks",["sar:looks_range","sar:looks_azimuth","sar:looks_equivalent_number"],s),c.rename(e,"sar:off_nadir","view:off_nadir")&&c.addExtension(t,a.view)),l.before("0.9.0")&&(c.rename(e,"sar:platform","platform"),c.rename(e,"sar:instrument","instruments")&&c.toArray(e,"instruments"),c.rename(e,"sar:constellation","constellation"),c.rename(e,"sar:type","sar:product_type"),c.rename(e,"sar:polarization","sar:polarizations"),c.flattenOneElementArray(e,"sar:absolute_orbit",s)&&c.rename(e,"sar:absolute_orbit","sat:absolute_orbit")&&c.addExtension(t,a.sat),c.flattenOneElementArray(e,"sar:relative_orbit",s)&&c.rename(e,"sar:relative_orbit","sat:relative_orbit")&&c.addExtension(t,a.sat)),c.upgradeExtension(t,a.sar)},sat(e,t){l.before("0.9.0")&&(c.rename(e,"sat:off_nadir_angle","sat:off_nadir"),c.rename(e,"sat:azimuth_angle","sat:azimuth"),c.rename(e,"sat:sun_azimuth_angle","sat:sun_azimuth"),c.rename(e,"sat:sun_elevation_angle","sat:sun_elevation")),c.upgradeExtension(t,a.sat)},sci(e,t){c.upgradeExtension(t,a.scientific)},item(e){l.before("0.8.0")&&(c.rename(e,"item:license","license"),c.rename(e,"item:providers","providers"))},table(e,t){c.upgradeExtension(t,a.table)},view(e,t){c.upgradeExtension(t,a.view)}},b={item(e,t=null,s=!0){return h.migrate(e,t,s)},catalog(e,t=!0){return u.migrate(e,t)},collection(e,t=!0){return d.migrate(e,t)},collectionCollection(e,t=!0){return f.migrate(e,t)},itemCollection(e,t=!0){return m.migrate(e,t)},stac(e,t=!0){return"Feature"===e.type?b.item(e,null,t):"FeatureCollection"===e.type?b.itemCollection(e,t):"Collection"===e.type||!e.type&&c.isDefined(e.extent)&&c.isDefined(e.license)?b.collection(e,t):!e.type&&Array.isArray(e.collections)?b.collectionCollection(e,t):b.catalog(e,t)},enableMultihash(e){p.multihash=e}};e.exports=b},53293:e=>{class t{constructor(e,t,s){this.id=s.id||null,this.title=s.title||"",this.description=s.description||"",this.type=e,this.connection=t,this.token=null}getId(){let e=this.getType();return this.getProviderId().length>0&&(e+="."+this.getProviderId()),e}getDisplayName(){return null}getType(){return this.type}getProviderId(){return"string"===typeof this.id?this.id:""}getTitle(){return this.title}getDescription(){return this.description}getToken(){return"string"===typeof this.token?this.getType()+"/"+this.getProviderId()+"/"+this.token:null}setToken(e){this.token=e,this.connection.emit("tokenChanged",e),null!==this.token?this.connection.setAuthProvider(this):this.connection.setAuthProvider(null)}async login(...e){throw new Error("Not implemented.",e)}async logout(){this.setToken(null)}}e.exports=t},27644:e=>{class t{constructor(e,t=[]){this.connection=e,this.apiToClientNames={},this.clientToApiNames={},this.lastRefreshTime=0,this.extra={};for(let s in t){let e,r;Array.isArray(t[s])?(e=t[s][0],r=t[s][1]):(e=t[s],r=t[s]),this.apiToClientNames[e]=r,this.clientToApiNames[r]=e}}toJSON(){let e={};for(let t in this.clientToApiNames){let s=this.clientToApiNames[t];"undefined"!==typeof this[t]&&(e[s]=this[t])}return Object.assign(e,this.extra)}setAll(e){for(let t in e)"undefined"===typeof this.apiToClientNames[t]?this.extra[t]=e[t]:this[this.apiToClientNames[t]]=e[t];return this.lastRefreshTime=Date.now(),this}getDataAge(){return(Date.now()-this.lastRefreshTime)/1e3}getAll(){let e={};for(let t in this.apiToClientNames){let s=this.apiToClientNames[t];"undefined"!==typeof this[s]&&(e[s]=this[s])}return Object.assign(e,this.extra)}get(e){return"undefined"!==typeof this.extra[e]?this.extra[e]:null}_convertToRequest(e){let t={};for(let s in e)"undefined"===typeof this.clientToApiNames[s]?t[s]=e[s]:t[this.clientToApiNames[s]]=e[s];return t}_supports(e){return this.connection.capabilities().hasFeature(e)}}e.exports=t},59388:(e,t,s)=>{const r=s(17103),i=s(60768),a=s(53293);class n extends a{constructor(e){super("basic",e,{id:null,title:"HTTP Basic",description:"Login with username and password using the method HTTP Basic."}),this.username=null}async login(e,t){let s=await this.connection._send({method:"get",responseType:"json",url:"/credentials/basic",headers:{Authorization:"Basic "+r.base64encode(e+":"+t)}});if(!i.isObject(s.data)||"string"!==typeof s.data.access_token)throw new Error("No access_token returned.");this.username=e,this.setToken(s.data.access_token)}getDisplayName(){return this.username}async logout(){this.username=null,await super.logout()}}e.exports=n},3616:e=>{class t{static getName(){return"Browser"}static getUrl(){return window.location.toString()}static setUrl(e){throw new Error("setUrl is not supported in a browser environment.")}static handleErrorResponse(e){return new Promise(((t,s)=>{let r=new FileReader;r.onerror=e=>{r.abort(),s(e.target.error)},r.onload=()=>{let e=r.result instanceof ArrayBuffer?String.fromCharCode.apply(null,new Uint16Array(r.result)):r.result,s="string"===typeof e?JSON.parse(e):e;t(s)},r.readAsText(e.response.data)}))}static getResponseType(){return"blob"}static base64encode(e){return btoa(e)}static fileNameForUpload(e){return e.name.split(/(\\|\/)/g).pop()}static dataForUpload(e){return e}static async downloadResults(e,t,s){throw new Error("downloadResults is not supported in a browser environment.")}static saveToFile(e,t){return new Promise(((s,r)=>{try{e instanceof Blob||(e=new Blob([e],{type:"application/octet-stream"}));let r=window.URL.createObjectURL(e),i=document.createElement("a");i.style.display="none",i.href=r,i.setAttribute("download",t||"download"),"undefined"===typeof i.download&&i.setAttribute("target","_blank"),document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(r),s()}catch(i){console.error(i),r(i)}}))}}e.exports=t},1675:(e,t,s)=>{const r=s(71114),i=s(1467),a=s(86425),n=s(60768),o=s(20779),l=s(73659),c=["id","summary","description","categories","parameters","returns","deprecated","experimental","exceptions","examples","links"];class p{static async fromVersion(e=null){let t="https://processes.openeo.org/processes.json";return"string"===typeof e&&(t="https://processes.openeo.org/"+e+"/processes.json"),await p.fromURL(t)}static async fromURL(e){let t=await a(e);return new p(t.data)}constructor(e,t=null,s=void 0){if(this.id=s,this.parent=t,this.parentNode=null,this.parentParameter=null,this.nodes={},this.idCounter={},this.callbackParameterCache={},this.parameters=void 0,this.processes=null,e instanceof l)this.processes=e;else if(n.isObject(e)&&Array.isArray(e.processes))this.processes=new l(e.processes);else{if(!Array.isArray(e))throw new Error("Processes are invalid; must be array or object according to the API.");this.processes=new l(e)}this.processes.all().forEach((e=>this.createFunction(e)))}createFunction(e){if("undefined"!==typeof this[e.id])throw new Error("Can't create function for process '"+e.id+"'. Already exists in Builder class.");this[e.id]=function(...t){return this.process(e.id,t)}}addProcessSpec(e,t=null){if(!n.isObject(e))throw new Error("Process '"+e.id+"' must be an object.");t||(t="backend"),this.processes.add(e,t),"backend"===t&&this.createFunction(e)}setParent(e,t){this.parentNode=e,this.parentParameter=t}createCallbackParameter(e){return this.callbackParameterCache[e]||(this.callbackParameterCache[e]=i.create(this,e)),this.callbackParameterCache[e]}getParentCallbackParameters(){let e=[];if(this.parentNode&&this.parentParameter)try{e=o.getCallbackParametersForProcess(this.parentNode.spec,this.parentParameter).map((e=>this.createCallbackParameter(e.name)))}catch(t){console.warn(t)}return e}addParameter(e,t=!0){if(void 0!==this.getParentCallbackParameters().find((t=>t.name===e.name)))return;let s=this;if(t)while(s.parent)s=s.parent;Array.isArray(s.parameters)||(s.parameters=[]);let r=s.parameters.findIndex((t=>t.name===e.name));-1!==r?Object.assign(s.parameters[r],e):s.parameters.push(e)}spec(e,t=null){return this.processes.get(e,t)}math(e){const t=s(20826);let r=new t(e);return r.setBuilder(this),r.generate(!1)}supports(e,t=null){return Boolean(this.spec(e,t))}process(e,t={},s=null){let i=null;if(e.includes("@")){let t;[e,...t]=e.split("@"),i=t.join("@")}let a=new r(this,e,t,s,i);return this.nodes[a.id]=a,a}toJSON(){let e={process_graph:n.mapObjectValues(this.nodes,(e=>e.toJSON()))};return c.forEach((t=>{"undefined"!==typeof this[t]&&(e[t]=this[t])})),e}generateId(e=""){return e=e.replace("_","").substr(0,6),this.idCounter[e]?this.idCounter[e]++:this.idCounter[e]=1,e+this.idCounter[e]}}e.exports=p},20826:(e,t,s)=>{const r=s(1224),i=s(1467),a=s(71114);class n{constructor(e){let t=new r.Parser;this.tree=t.parse(e),this.builder=null}setBuilder(e){this.builder=e}generate(e=!0){let t=this.parseTree(this.tree);if(!(t instanceof a))throw new Error("Invalid formula specified.");return e&&(t.result=!0),t}parseTree(e){let t=Object.keys(e)[0];switch(t){case"Number":return parseFloat(e.Number);case"Identifier":return this.getRef(e.Identifier);case"Expression":return this.parseTree(e.Expression);case"FunctionCall":{let t=[];for(let s in e.FunctionCall.args)t.push(this.parseTree(e.FunctionCall.args[s]));return this.builder.process(e.FunctionCall.name,t)}case"Binary":return this.addOperatorProcess(e.Binary.operator,this.parseTree(e.Binary.left),this.parseTree(e.Binary.right));case"Unary":{let t=this.parseTree(e.Unary.expression);return"-"===e.Unary.operator?"number"===typeof t?-t:this.addOperatorProcess("*",-1,t):t}default:throw new Error("Operation "+t+" not supported.")}}getRef(e){if("true"===e)return!0;if("false"===e)return!1;if("null"===e)return null;if("string"===typeof e&&e.startsWith("#")){let t=e.substring(1);if(t in this.builder.nodes)return{from_node:t}}let t=this.builder.getParentCallbackParameters();if("string"===typeof e&&t.length>0){let s=e.match(/^\$+/),r=s?s[0].length:0;if(r>0&&t.length>=r){let s=e.substring(r);return t[r-1][s]}}let s=new i(e);return this.builder.addParameter(s),s}addOperatorProcess(e,t,s){let r=n.operatorMapping[e],i=this.builder.spec(r);if(r&&i){let a={};if(!Array.isArray(i.parameters)||i.parameters.length<2)throw new Error("Process for operator "+e+" must have at least two parameters");return a[i.parameters[0].name||"x"]=t,a[i.parameters[1].name||"y"]=s,this.builder.process(r,a)}throw new Error("Operator "+e+" not supported")}}n.operatorMapping={"-":"subtract","+":"add","/":"divide","*":"multiply","^":"power"},e.exports=n},71114:(e,t,s)=>{const r=s(60768),i=s(1467);class a{constructor(e,t,s={},r=null,i=null){if(this.parent=e,this.spec=this.parent.spec(t,i),!this.spec)throw new Error("Process doesn't exist: "+t);this.id=e.generateId(t),this.namespace=i,this.arguments=Array.isArray(s)?this.namedArguments(s):s,this._description=r,this.result=!1,this.addParametersToProcess(this.arguments)}namedArguments(e){if(e.length>(this.spec.parameters||[]).length)throw new Error("More arguments specified than parameters available.");let t={};if(Array.isArray(this.spec.parameters))for(let s=0;sthis.exportArgument(e)),t):"function"===typeof e?this.exportCallback(e,t):e}createBuilder(e=null,t=null){const r=s(1675);let i=new r(this.parent.processes,this.parent);return null!==e&&null!==t&&i.setParent(e,t),i}exportCallback(e,t){let s=this.createBuilder(this,t),i=s.getParentCallbackParameters(),n=e.bind(s)(...i,s);if(Array.isArray(n)&&s.supports("array_create")?n=s.array_create(n):!r.isObject(n)&&s.supports("constant")&&(n=s.constant(n)),n instanceof a)return n.result=!0,s.toJSON();throw new Error("Callback must return BuilderNode")}toJSON(){let e={process_id:this.spec.id,arguments:{}};this.namespace&&(e.namespace=this.namespace);for(let t in this.arguments)"undefined"!==typeof this.arguments[t]&&(e.arguments[t]=this.exportArgument(this.arguments[t],t));return"function"!==typeof this.description?e.description=this.description:"string"===typeof this._description&&(e.description=this._description),this.result&&(e.result=!0),e}ref(){return{from_node:this.id}}}e.exports=a},1467:e=>{"use strict";class t{static create(e,s){let r=new t(s,null);if("undefined"!==typeof Proxy)return new Proxy(r,{nodeCache:{},get(t,s,i){if(!Reflect.has(t,s)){if(!this.nodeCache[s]){let t={data:r};"string"===typeof s&&s.match(/^(0|[1-9]\d*)$/)?t.index=parseInt(s,10):t.label=s,this.nodeCache[s]=e.process("array_element",t)}return this.nodeCache[s]}return Reflect.get(t,s,i)},set(e,t,s,r){if(!Reflect.has(e,t))throw new Error("Simplified array access is read-only");return Reflect.set(e,t,s,r)}});throw new Error("Simplified array access not supported, use array_element directly")}constructor(e,t={},s="",r=void 0){this.name=e,this.spec={name:e,schema:"string"===typeof t?{type:t}:t,description:s},"undefined"!==typeof r&&(this.spec.optional=!0,this.spec.default=r)}toJSON(){return this.spec}ref(){return{from_parameter:this.name}}}e.exports=t},1224:e=>{let t={Token:{Operator:"Operator",Identifier:"Identifier",Number:"Number"}};const s={"⁰":0,"¹":1,"²":2,"³":3,"⁴":4,"⁵":5,"⁶":6,"⁷":7,"⁸":8,"⁹":9},r=Object.keys(s).join("");t.Lexer=function(){let e="",s=0,i=0,a=0,n=t.Token;function o(){let t=i;return t="a"&&e<="z"||e>="A"&&e<="Z"}function u(e){return e>="0"&&e<="9"}function d(e,t){return{type:e,value:t,start:a,end:i-1}}function h(){let e;while(i=0)return d(n.Operator,l())}function m(e){return"_"===e||"#"===e||"$"===e||p(e)}function g(e){return"-"===e||"."===e||"~"===e||"@"===e}function y(e,t=!1){return"_"===e||p(e)||u(e)||t&&g(e)}function b(){let e=o();if(!m(e))return;let t=l(),s=!1;while(1){let r=o();if("$"===e)"$"!==r&&(e="");else if("@"===r)s=!0;else if(!y(r,s))break;t+=l()}return d(n.Identifier,t)}function v(){let e,t;if(e=o(),u(e)||"."===e){if(t="","."!==e){t=l();while(1){if(e=o(),!u(e))break;t+=l()}}if("."===e){t+=l();while(1){if(e=o(),!u(e))break;t+=l()}}if("e"===e||"E"===e){if(t+=l(),e=o(),"+"!==e&&"-"!==e&&!u(e))throw e="character "+e,i>=s&&(e=""),new SyntaxError("Unexpected "+e+" after the exponent sign");t+=l();while(1){if(e=o(),!u(e))break;t+=l()}}if("."===t)throw new SyntaxError("Expecting decimal digits after the dot sign");return d(n.Number,t)}}function w(t){e=t,s=t.length,i=0}function A(){let e;if(h(),!(i>=s)){if(a=i,e=v(),"undefined"!==typeof e)return e;if(e=f(),"undefined"!==typeof e)return e;if(e=b(),"undefined"!==typeof e)return e;throw new SyntaxError("Unknown token from character "+o())}}function _(){let e,t=i;try{e=A(),delete e.start,delete e.end}catch(s){e=void 0}return i=t,e}return{reset:w,next:A,peek:_}},t.Parser=function(){let e=new t.Lexer,i=t.Token;function a(e,t){return"undefined"!==typeof e&&e.type===i.Operator&&t.includes(e.value)}function n(){let t,s,r=[];while(1){if(s=f(),"undefined"===typeof s)break;if(r.push(s),t=e.peek(),!a(t,","))break;e.next()}return r}function o(t){let s=[],r=e.next();if(!a(r,"("))throw new SyntaxError('Expecting ( in a function call "'+t+'"');if(r=e.peek(),a(r,")")||(s=n()),r=e.next(),!a(r,")"))throw new SyntaxError('Expecting ) in a function call "'+t+'"');return{FunctionCall:{name:t,args:s}}}function l(){let t,s=e.peek();if("undefined"===typeof s)throw new SyntaxError("Unexpected termination of expression");if(s.type===i.Identifier)return s=e.next(),a(e.peek(),"(")?o(s.value):{Identifier:s.value};if(s.type===i.Number)return s=e.next(),{Number:s.value};if(a(s,"(")){if(e.next(),t=f(),s=e.next(),!a(s,")"))throw new SyntaxError("Expecting )");return{Expression:t}}throw new SyntaxError("Parse error, can not process token "+s.value)}function c(){let t,s=e.peek();return a(s,"-+")?(s=e.next(),t=c(),{Unary:{operator:s.value,expression:t}}):l()}function p(e){return"number"===typeof s[e]?{Number:s[e]}:null}function u(){let t=c(),s=e.peek();while(a(s,"^"+r))s=e.next(),t={Binary:{operator:"^",left:t,right:"^"!==s.value?p(s.value):c()}},s=e.peek();return t}function d(){let t=u(),s=e.peek();while(a(s,"*/"))s=e.next(),t={Binary:{operator:s.value,left:t,right:u()}},s=e.peek();return t}function h(){let t=d(),s=e.peek();while(a(s,"+-"))s=e.next(),t={Binary:{operator:s.value,left:t,right:d()}},s=e.peek();return t}function f(){return h()}function m(t){e.reset(t);let s=f(),r=e.next();if("undefined"!==typeof r)throw new SyntaxError("Unexpected token "+r.value);return{Expression:s}}return{parse:m}},e.exports=t},26352:(e,t,s)=>{const r=s(60768),i={capabilities:!0,listFileTypes:"get /file_formats",listServiceTypes:"get /service_types",listUdfRuntimes:"get /udf_runtimes",listCollections:"get /collections",describeCollection:"get /collections/{}",listCollectionItems:"get /collections/{}/items",describeCollectionItem:"get /collections/{}/items/{}",describeCollectionQueryables:"get /collections/{}/queryables",listProcesses:"get /processes",describeProcess:"get /processes",listAuthProviders:!0,authenticateOIDC:"get /credentials/oidc",authenticateBasic:"get /credentials/basic",describeAccount:"get /me",listFiles:"get /files",getFile:"get /files",uploadFile:"put /files/{}",downloadFile:"get /files/{}",deleteFile:"delete /files/{}",validateProcess:"post /validation",listUserProcesses:"get /process_graphs",describeUserProcess:"get /process_graphs/{}",getUserProcess:"get /process_graphs/{}",setUserProcess:"put /process_graphs/{}",replaceUserProcess:"put /process_graphs/{}",deleteUserProcess:"delete /process_graphs/{}",computeResult:"post /result",listJobs:"get /jobs",createJob:"post /jobs",listServices:"get /services",createService:"post /services",getJob:"get /jobs/{}",describeJob:"get /jobs/{}",updateJob:"patch /jobs/{}",deleteJob:"delete /jobs/{}",estimateJob:"get /jobs/{}/estimate",debugJob:"get /jobs/{}/logs",startJob:"post /jobs/{}/results",stopJob:"delete /jobs/{}/results",listResults:"get /jobs/{}/results",downloadResults:"get /jobs/{}/results",describeService:"get /services/{}",getService:"get /services/{}",updateService:"patch /services/{}",deleteService:"delete /services/{}",debugService:"get /services/{}/logs"};class a{constructor(e){this.data=e,this.featureMap=i,this.features=[],this.validate(),this.init()}validate(){if(!r.isObject(this.data))throw new Error("No capabilities retrieved.");if(!this.data.api_version)throw new Error("Invalid capabilities: No API version retrieved");if(!Array.isArray(this.data.endpoints))throw new Error("Invalid capabilities: No endpoints retrieved")}init(){this.features=this.data.endpoints.map((e=>e.methods.map((t=>{const s=e.path.replace(/\{[^}]+\}/g,"{}");return`${t} ${s}`.toLowerCase()})))).reduce(((e,t)=>e.concat(t)),[])}toJSON(){return this.data}apiVersion(){return this.data.api_version}backendVersion(){return this.data.backend_version}title(){return"string"===typeof this.data.title?this.data.title:""}description(){return"string"===typeof this.data.description?this.data.description:""}isStable(){return!0===this.data.production}links(){return Array.isArray(this.data.links)?this.data.links:[]}listFeatures(){let e=[];for(let t in this.featureMap)(!0===this.featureMap[t]||this.features.includes(this.featureMap[t]))&&e.push(t);return e.sort()}hasFeature(e){let t=this.featureMap[e];return"string"===typeof t&&(t=t.toLowerCase()),!0===t||this.features.some((e=>e===t))}currency(){return r.isObject(this.data.billing)&&"string"===typeof this.data.billing.currency?this.data.billing.currency:null}listPlans(){if(r.isObject(this.data.billing)&&Array.isArray(this.data.billing.plans)){let e="string"===typeof this.data.billing.default_plan?this.data.billing.default_plan.toLowerCase():null;return this.data.billing.plans.map((t=>{let s={default:e===t.name.toLowerCase()};return Object.assign({},t,s)}))}return[]}migrate(e){return e}}e.exports=a},32454:(e,t,s)=>{const r=s(17103),i=s(60768),a=s(73659),n=s(86425),o=s(273),l=s(53293),c=s(59388),p=s(7698),u=s(26352),d=s(99387),h=s(30895),f=s(88519),m=s(97616),g=s(99167),y=s(1675),b=s(71114),v=["conformance","http://www.opengis.net/def/rel/ogc/1.0/conformance"];class w{constructor(e,t={},s=null){this.url=s,this.baseUrl=i.normalizeUrl(e),this.authProviderList=null,this.authProvider=null,this.capabilitiesObject=null,this.listeners={},this.options=t,this.processes=new a([],Boolean(t.addNamespaceToProcess)),this.processes.listeners.push(((...e)=>this.emit("processesChanged",...e)))}async init(){let e=await this._get("/"),t=Object.assign({},e.data);if(t.links=this.makeLinksAbsolute(t.links,e),!Array.isArray(t.conformsTo)&&Array.isArray(t.links)){let e=this._getLinkHref(t.links,v);if(e){let s=await this._get(e);i.isObject(s.data)&&Array.isArray(s.data.conformsTo)&&(t.conformsTo=s.data.conformsTo)}}return this.capabilitiesObject=new u(t),this.capabilitiesObject}async refreshProcessCache(){if(0===this.processes.count())return;let e=this.processes.namespaces().map((e=>{let t=()=>Promise.resolve();if("user"===e){let e=this.processes.namespace("user");this.isAuthenticated()?this.capabilities().hasFeature("listUserProcesses")&&(t=()=>this.listUserProcesses(e)):t=()=>this.processes.remove(null,"user")?Promise.resolve():Promise.reject(new Error("Can't clear user processes"))}else this.capabilities().hasFeature("listProcesses")&&(t=()=>this.listProcesses(e));return t().catch((t=>console.warn(`Could not update processes for namespace '${e}' due to an error: ${t.message}`)))}));return await Promise.all(e)}getBaseUrl(){return this.baseUrl}getUrl(){return this.url||this.baseUrl}capabilities(){return this.capabilitiesObject}async listFileTypes(){let e=await this._get("/file_formats");return new d(e.data)}async listServiceTypes(){let e=await this._get("/service_types");return e.data}async listUdfRuntimes(){let e=await this._get("/udf_runtimes");return e.data}async listCollections(){let e=await this._get("/collections");return i.isObject(e.data)&&Array.isArray(e.data.collections)&&(e.data.collections=e.data.collections.map((e=>e.stac_version?o.collection(e):e))),e.data}async describeCollection(e){let t=await this._get("/collections/"+e);return t.data.stac_version?o.collection(t.data):t.data}async*listCollectionItems(e,t=null,s=null,r=null){let a=1,n="/collections/"+e+"/items";while(n){let e={};1===a&&(Array.isArray(t)&&(e.bbox=t.join(",")),Array.isArray(s)&&(e.datetime=s.map((e=>e instanceof Date?e.toISOString():"string"===typeof e?e:"..")).join("/")),r>0&&(e.limit=r));let l=await this._get(n,e);i.isObject(l.data)&&Array.isArray(l.data.features)&&(l.data.features=l.data.features.map((e=>e.stac_version?o.item(e):e))),yield l.data,a++;let c=this.makeLinksAbsolute(l.data.links);n=this._getLinkHref(c,"next")}}normalizeNamespace(e){const t=e.match(/^https?:\/\/.*\/processes\/(@?[\w\-.~:]+)\/?/i);return t&&t.length>1?t[1]:e}async listProcesses(e=null){e||(e="backend");let t="backend"===e?"/processes":`/processes/${this.normalizeNamespace(e)}`,s=await this._get(t);if(!i.isObject(s.data)||!Array.isArray(s.data.processes))throw new Error("Invalid response received for processes");return this.processes.remove(null,e),this.processes.addAll(s.data.processes,e),Object.assign(s.data,{processes:this.processes.namespace(e)})}async describeProcess(e,t=null){if(t||(t="backend"),"backend"===t)await this.listProcesses();else{let s=await this._get(`/processes/${this.normalizeNamespace(t)}/${e}`);if(!i.isObject(s.data)||"string"!==typeof s.data.id)throw new Error("Invalid response received for process");this.processes.add(s.data,t)}return this.processes.get(e,t)}async buildProcess(e){return await this.listProcesses(),new y(this.processes,null,e)}async listAuthProviders(){if(null!==this.authProviderList)return this.authProviderList;this.authProviderList=[];let e=this.capabilities();if(e.hasFeature("authenticateOIDC")){let e=await this._get("/credentials/oidc"),t=this.getOidcProviderFactory();if(i.isObject(e.data)&&Array.isArray(e.data.providers)&&"function"===typeof t)for(let s in e.data.providers){let r=t(e.data.providers[s]);r instanceof l&&this.authProviderList.push(r)}}return e.hasFeature("authenticateBasic")&&this.authProviderList.push(new c(this)),this.authProviderList}setOidcProviderFactory(e){this.oidcProviderFactory=e}getOidcProviderFactory(){return"function"===typeof this.oidcProviderFactory?this.oidcProviderFactory:p.isSupported()?e=>new p(this,e):null}async authenticateBasic(e,t){let s=new c(this);await s.login(e,t)}isAuthenticated(){return null!==this.authProvider}emit(e,...t){"function"===typeof this.listeners[e]&&this.listeners[e](...t)}on(e,t){this.listeners[e]=t}off(e){delete this.listeners[e]}getAuthProvider(){return this.authProvider}setAuthProvider(e){e!==this.authProvider&&(this.authProvider=e instanceof l?e:null,this.emit("authProviderChanged",this.authProvider),this.refreshProcessCache())}setAuthToken(e,t,s){let r=new l(e,this,{id:t,title:"Custom",description:""});return r.setToken(s),this.setAuthProvider(r),r}async describeAccount(){let e=await this._get("/me");return e.data}async listFiles(){let e=await this._get("/files"),t=e.data.files.map((e=>new h(this,e.path).setAll(e)));return this._toResponseArray(t,e.data)}async uploadFile(e,t=null,s=null,i=null){null===t&&(t=r.fileNameForUpload(e));let a=await this.getFile(t);return await a.uploadFile(e,s,i)}async getFile(e){return new h(this,e)}_normalizeUserProcess(e,t={}){return e instanceof m?e=e.toJSON():e instanceof b?(e.result=!0,e=e.parent.toJSON()):i.isObject(e)&&!i.isObject(e.process_graph)&&(e={process_graph:e}),Object.assign({},t,{process:e})}async validateProcess(e){let t=await this._post("/validation",this._normalizeUserProcess(e).process);if(Array.isArray(t.data.errors))return t.data.errors;throw new Error("Invalid validation response received.")}async listUserProcesses(e=[]){let t=await this._get("/process_graphs");if(!i.isObject(t.data)||!Array.isArray(t.data.processes))throw new Error("Invalid response received for processes");this.processes.remove(null,"user");let s=t.data.processes.map((t=>{let s=e.find((e=>e.id===t.id));return s||(s=new m(this,t.id)),s.setAll(t)})),r=e.length>0?s.map((e=>e.toJSON())):t.data.processes;return this.processes.addAll(r,"user"),this._toResponseArray(s,t.data)}async setUserProcess(e,t){let s=new m(this,e);return await s.replaceUserProcess(t)}async getUserProcess(e){let t=new m(this,e);return await t.describeUserProcess()}async computeResult(e,t=null,s=null,a=null,n={}){let o=this._normalizeUserProcess(e,Object.assign({},n,{plan:t,budget:s})),l=await this._post("/result",o,r.getResponseType(),a),c={data:l.data,costs:null,type:null,logs:[]};"number"===typeof l.headers["openeo-costs"]&&(c.costs=l.headers["openeo-costs"]),"string"===typeof l.headers["content-type"]&&(c.type=l.headers["content-type"]);let p=Array.isArray(l.headers.link)?l.headers.link:[l.headers.link];for(let r of p){if("string"!==typeof r)continue;let e=r.match(/^<([^>]+)>;\s?rel="monitor"/i);if(Array.isArray(e)&&e.length>1)try{let t=await this._get(e[1]);i.isObject(t.data)&&Array.isArray(t.data.logs)&&(c.logs=t.data.logs)}catch(u){console.warn(u)}}return c}async downloadResult(e,t,s=null,i=null,a=null){let n=await this.computeResult(e,s,i,a);await r.saveToFile(n.data,t)}async listJobs(e=[]){let t=await this._get("/jobs"),s=t.data.jobs.map((t=>{let s=e.find((e=>e.id===t.id));return s||(s=new f(this,t.id)),s.setAll(t)}));return this._toResponseArray(s,t.data)}async createJob(e,t=null,s=null,r=null,i=null,a={}){a=Object.assign({},a,{title:t,description:s,plan:r,budget:i});let n=this._normalizeUserProcess(e,a),o=await this._post("/jobs",n);if("string"!==typeof o.headers["openeo-identifier"])throw new Error("Response did not contain a Job ID. Job has likely been created, but may not show up yet.");let l=new f(this,o.headers["openeo-identifier"]).setAll(n);return this.capabilities().hasFeature("describeJob")?await l.describeJob():l}async getJob(e){let t=new f(this,e);return await t.describeJob()}async listServices(e=[]){let t=await this._get("/services"),s=t.data.services.map((t=>{let s=e.find((e=>e.id===t.id));return s||(s=new g(this,t.id)),s.setAll(t)}));return this._toResponseArray(s,t.data)}async createService(e,t,s=null,r=null,i=!0,a={},n=null,o=null,l={}){let c=this._normalizeUserProcess(e,Object.assign({title:s,description:r,type:t,enabled:i,configuration:a,plan:n,budget:o},l)),p=await this._post("/services",c);if("string"!==typeof p.headers["openeo-identifier"])throw new Error("Response did not contain a Service ID. Service has likely been created, but may not show up yet.");let u=new g(this,p.headers["openeo-identifier"]).setAll(c);return this.capabilities().hasFeature("describeService")?u.describeService():u}async getService(e){let t=new g(this,e);return await t.describeService()}_toResponseArray(e,t){return e.links=Array.isArray(t.links)?t.links:[],e["federation:missing"]=Array.isArray(t["federation:missing"])?t["federation:missing"]:[],e}_getLinkHref(e,t){if(Array.isArray(t)||(t=[t]),Array.isArray(e)){let s=e.find((e=>i.isObject(e)&&t.includes(e.rel)&&"string"===typeof e.href));if(s)return s.href}return null}makeLinksAbsolute(e,t=null){if(!Array.isArray(e))return e;let s=null;return s=i.isObject(t)&&t.headers&&t.config&&t.request?t.config.baseURL+t.config.url:"string"!==typeof t?this._getLinkHref(e,"self"):t,s?e.map((e=>{if(!i.isObject(e)||"string"!==typeof e.href)return e;try{let t=new URL(e.href,s);return Object.assign({},e,{href:t.toString()})}catch(t){return e}})):e}async _get(e,t,s,r=null){return await this._send({method:"get",responseType:s,url:e,timeout:"/"===e?5e3:0,params:t},r)}async _post(e,t,s,r=null){let i={method:"post",responseType:s,url:e,data:t};return await this._send(i,r)}async _put(e,t){return await this._send({method:"put",url:e,data:t})}async _patch(e,t){return await this._send({method:"patch",url:e,data:t})}async _delete(e){return await this._send({method:"delete",url:e})}async download(e,t){let s=await this._send({method:"get",responseType:r.getResponseType(),url:e,authorization:t});return s.data}_getAuthHeaders(){const e={};return this.isAuthenticated()&&(e.Authorization="Bearer "+this.authProvider.getToken()),e}async _send(e,t=null){e.baseURL=this.baseUrl,"undefined"!==typeof e.authorization&&!0!==e.authorization||(e.headers||(e.headers={}),Object.assign(e.headers,this._getAuthHeaders())),e.responseType||(e.responseType="json"),t&&(e.signal=t.signal);try{let t=await n(e),s=this.capabilities();return s&&(t=s.migrate(t)),t}catch(s){if(n.isCancel(s))throw s;const t=e=>"string"===typeof e&&-1!==e.indexOf("/json"),o=(e,t)=>("string"===typeof t.message&&(e.message=t.message),e.code="string"===typeof t.code?t.code:"",e.id=t.id,e.links=Array.isArray(t.links)?t.links:[],e);if(i.isObject(s.response)&&i.isObject(s.response.data)&&(t(s.response.data.type)||i.isObject(s.response.headers)&&t(s.response.headers["content-type"]))){if(e.responseType!==r.getResponseType())throw o(s,s.response.data);try{let e=await r.handleErrorResponse(s);throw o(s,e)}catch(a){console.error(a)}}throw s}}}e.exports=w},17103:(e,t,s)=>{"undefined"===typeof window?e.exports=s(16578):e.exports=s(3616)},99387:(e,t,s)=>{const r=s(60768);class i{constructor(e){if(this.data={input:{},output:{}},r.isObject(e)){for(let t of["input","output"])for(let s in e[t])r.isObject(e[t])&&(this.data[t][s.toUpperCase()]=e[t][s]);this["federation:missing"]=e["federation:missing"]}}toJSON(){return this.data}getInputTypes(){return this.data.input}getOutputTypes(){return this.data.output}getInputType(e){return this._findType(e,"input")}getOutputType(e){return this._findType(e,"output")}_findType(e,t){return e=e.toUpperCase(),e in this.data[t]?this.data[t][e]:null}}e.exports=i},88519:(e,t,s)=>{const r=s(17103),i=s(27644),a=s(25477),n=s(60768),o=s(273),l=["finished","canceled","error"];class c extends i{constructor(e,t){super(e,["id","title","description","process","status","progress","created","updated","plan","costs","budget","usage",["log_level","logLevel"],"links"]),this.id=t,this.title=void 0,this.description=void 0,this.process=void 0,this.status=void 0,this.progress=void 0,this.created=void 0,this.updated=void 0,this.plan=void 0,this.costs=void 0,this.budget=void 0}async describeJob(){let e=await this.connection._get("/jobs/"+this.id);return this.setAll(e.data)}async updateJob(e){return await this.connection._patch("/jobs/"+this.id,this._convertToRequest(e)),this._supports("describeJob")?await this.describeJob():this.setAll(e)}async deleteJob(){await this.connection._delete("/jobs/"+this.id)}async estimateJob(){let e=await this.connection._get("/jobs/"+this.id+"/estimate");return e.data}debugJob(e=null){return new a(this.connection,"/jobs/"+this.id+"/logs",e)}monitorJob(e,t=60,s=!0){if("function"!==typeof e||t<1)return;let r=this.connection.capabilities();if(!r.hasFeature("describeJob"))throw new Error("Monitoring Jobs not supported by the back-end.");let i=this.status,a=null,n=null;r.hasFeature("debugJob")&&s&&(n=this.debugJob());let o=async()=>{this.getDataAge()>1&&await this.describeJob();let t=n?await n.nextLogs():[];(i!==this.status||t.length>0)&&e(this,t),i=this.status,l.includes(this.status)&&c()};setTimeout(o,0),a=setInterval(o,1e3*t);let c=()=>{a&&(clearInterval(a),a=null)};return c}async startJob(){return await this.connection._post("/jobs/"+this.id+"/results",{}),this._supports("describeJob")?await this.describeJob():this}async stopJob(){return await this.connection._delete("/jobs/"+this.id+"/results"),this._supports("describeJob")?await this.describeJob():this}async getResultsAsStac(){let e=await this.connection._get("/jobs/"+this.id+"/results");if(!n.isObject(e)||!n.isObject(e.data))throw new Error("Results received from the back-end are invalid");let t=o.stac(e.data);return n.isObject(t.assets)||(t.assets={}),"Feature"===t.type?"number"===typeof e.headers["openeo-costs"]&&(t.properties.costs=e.headers["openeo-costs"]):"number"===typeof e.headers["openeo-costs"]&&(t.costs=e.headers["openeo-costs"]),t}async listResults(){let e=await this.getResultsAsStac();return n.isObject(e.assets)?Object.values(e.assets):[]}async downloadResults(e){let t=await this.listResults();return await r.downloadResults(this.connection,t,e)}}e.exports=c},25477:(e,t,s)=>{const r=s(60768);class i{constructor(e,t,s=null){this.connection=e,this.endpoint=t,this.lastId="",this.level=s}async nextLogs(e=null){let t=await this.next(e);return Array.isArray(t.logs)?t.logs:[]}async next(e=null){let t={offset:this.lastId};e>0&&(t.limit=e),this.level&&(t.level=this.level);let s=await this.connection._get(this.endpoint,t);return Array.isArray(s.data.logs)&&s.data.logs.length>0?(s.data.logs=s.data.logs.filter((e=>r.isObject(e)&&"string"===typeof e.id)),this.lastId=s.data.logs[s.data.logs.length-1].id):s.data.logs=[],s.data.links=Array.isArray(s.data.links)?s.data.links:[],s.data}}e.exports=i},16578:(e,t,s)=>{var r=s(48287)["Buffer"];const i=s(65123),a=s(88835),n=s(57975),o=s(88310);class l{static getName(){return"Node"}static getUrl(){return l.url}static setUrl(e){l.url=e}static handleErrorResponse(e){return new Promise(((t,s)=>{let i=[];e.response.data.on("data",(e=>i.push(e))),e.response.data.on("error",(e=>s(e))),e.response.data.on("end",(()=>t(JSON.parse(r.concat(i).toString()))))}))}static getResponseType(){return"stream"}static base64encode(e){let t;return t=e instanceof r?e:r.from(e.toString(),"binary"),t.toString("base64")}static fileNameForUpload(e){return n.basename(e)}static dataForUpload(e){return i.createReadStream(e)}static async downloadResults(e,t,s){let r=[];const i=t.map((async t=>{let i=a.parse(t.href),c=n.join(s,n.basename(i.pathname)),p=await e.download(t.href,!1);if(!(p instanceof o.Readable))throw new Error("Data retrieved is not a Stream");await l.saveToFile(p,c),r.push(c)}));return await Promise.all(i),r}static saveToFile(e,t){return new Promise(((s,r)=>{let a=i.createWriteStream(t);a.on("close",(e=>{if(e)return r(e);s()})),e.pipe(a)}))}}l.url="",e.exports=l},7698:(e,t,s)=>{const r=s(60768),i=s(53293),a=s(17103),n=s(76405);class o extends i{static isSupported(){return r.isObject(n)&&Boolean(n.UserManager)}static async signinCallback(e=null,t={}){let s=a.getUrl();e||(e=new o(null,{}),e.setGrant(s.includes("?")?"authorization_code+pkce":"implicit"));let r=e.getOptions(t),i=new n.UserManager(r);return await i.signinCallback(s)}constructor(e,t){super("oidc",e,t),this.manager=null,this.listeners={},this.user=null,this.clientId=null,this.grant="authorization_code+pkce",this.issuer=t.issuer||"",this.scopes=Array.isArray(t.scopes)&&t.scopes.length>0?t.scopes:["openid"],this.refreshTokenScope="offline_access",this.links=Array.isArray(t.links)?t.links:[],this.defaultClients=Array.isArray(t.default_clients)?t.default_clients:[],this.defaultClient=this.detectDefaultClient()}addListener(e,t,s="default"){this.manager.events[`add${e}`](t),this.listeners[`${s}:${e}`]=t}removeListener(e,t="default"){this.manager.events[`remove${e}`](this.listeners[e]),delete this.listeners[`${t}:${e}`]}async login(e={},t=!1){if(!this.issuer||"string"!==typeof this.issuer)throw new Error("No Issuer URL available for OpenID Connect");this.manager=new n.UserManager(this.getOptions(e,t)),this.addListener("UserLoaded",(async()=>this.setUser(await this.manager.getUser())),"js-client"),this.addListener("AccessTokenExpired",(()=>this.setUser(null)),"js-client"),"popup"===o.uiMethod?await this.manager.signinPopup():await this.manager.signinRedirect()}async logout(){if(null!==this.manager){try{"popup"===o.uiMethod?await this.manager.signoutPopup():await this.manager.signoutRedirect({post_logout_redirect_uri:a.getUrl()})}catch(e){console.warn(e)}super.logout(),this.removeListener("UserLoaded","js-client"),this.removeListener("AccessTokenExpired","js-client"),this.manager=null,this.setUser(null)}}getOptions(e={},t=!1){let s=this.getResponseType(),r=this.scopes.slice(0);return t&&!r.includes(this.refreshTokenScope)&&r.push(this.refreshTokenScope),Object.assign({client_id:this.clientId,redirect_uri:o.redirectUrl,authority:this.issuer.replace("/.well-known/openid-configuration",""),scope:r.join(" "),validateSubOnSilentRenew:!0,response_type:s,response_mode:s.includes("code")?"query":"fragment"},e)}getResponseType(){switch(this.grant){case"authorization_code+pkce":return"code";case"implicit":return"token id_token";default:throw new Error("Grant Type not supported")}}setGrant(e){switch(e){case"authorization_code+pkce":case"implicit":this.grant=e;break;default:throw new Error("Grant Type not supported")}}setClientId(e){this.clientId=e}setUser(e){e?(this.user=e,this.setToken(e.access_token)):(this.user=null,this.setToken(null))}getDisplayName(){return this.user&&r.isObject(this.user.profile)&&(this.user.profile.name||this.user.profile.preferred_username||this.user.profile.email)||null}detectDefaultClient(){for(let e of o.grants){let t=this.defaultClients.find((t=>Boolean(t.grant_types.includes(e)&&Array.isArray(t.redirect_urls)&&t.redirect_urls.find((e=>e.startsWith(o.redirectUrl))))));if(t)return this.setGrant(e),this.setClientId(t.id),this.defaultClient=t,t}return null}}o.uiMethod="redirect",o.redirectUrl=a.getUrl().split("#")[0].split("?")[0].replace(/\/$/,""),o.grants=["authorization_code+pkce","implicit"],e.exports=o},73902:(e,t,s)=>{const r=s(86425),i=s(60768),a=s(53304),n=s(32454),o=s(88519),l=s(25477),c=s(30895),p=s(97616),u=s(99167),d=s(53293),h=s(59388),f=s(7698),m=s(26352),g=s(99387),y=s(1675),b=s(71114),v=s(1467),w=s(20826),A="1.0.0-rc.2",_="1.x.x";class x{static async connect(e,t={}){let s=i.normalizeUrl(e,"/.well-known/openeo"),n=e,o=null;try{if(o=await r.get(s,{timeout:5e3}),!i.isObject(o.data)||!Array.isArray(o.data.versions))throw new Error("Well-Known Document doesn't list any versions.")}catch(c){console.warn("Can't read well-known document, connecting directly to the specified URL as fallback mechanism. Reason: "+c.message)}if(i.isObject(o)){let e=a.findLatest(o.data.versions,!0,A,_);if(null===e)throw new Error("Server not supported. Client only supports the API versions between "+A+" and "+_);n=e.url}let l=await x.connectDirect(n,t);return l.url=e,l}static async connectDirect(e,t={}){let s=new n(e,t),r=await s.init();if(a.compare(r.apiVersion(),A,"<")||a.compare(r.apiVersion(),_,">"))throw new Error("Client only supports the API versions between "+A+" and "+_);return s}static clientVersion(){return"2.6.0"}}x.Environment=s(17103),e.exports={AbortController,AuthProvider:d,BasicProvider:h,Capabilities:m,Connection:n,FileTypes:g,Job:o,Logs:l,OidcProvider:f,OpenEO:x,Service:u,UserFile:c,UserProcess:p,Builder:y,BuilderNode:b,Parameter:v,Formula:w}},99167:(e,t,s)=>{const r=s(27644),i=s(25477);class a extends r{constructor(e,t){super(e,["id","title","description","process","url","type","enabled","configuration","attributes","created","plan","costs","budget","usage",["log_level","logLevel"],"links"]),this.id=t,this.title=void 0,this.description=void 0,this.process=void 0,this.url=void 0,this.type=void 0,this.enabled=void 0,this.configuration=void 0,this.attributes=void 0,this.created=void 0,this.plan=void 0,this.costs=void 0,this.budget=void 0}async describeService(){let e=await this.connection._get("/services/"+this.id);return this.setAll(e.data)}async updateService(e){return await this.connection._patch("/services/"+this.id,this._convertToRequest(e)),this._supports("describeService")?await this.describeService():this.setAll(e)}async deleteService(){await this.connection._delete("/services/"+this.id)}debugService(e=null){return new i(this.connection,"/services/"+this.id+"/logs",e)}monitorService(e,t=60,s=!0){if("function"!==typeof e||t<1)return;let r=this.connection.capabilities();if(!r.hasFeature("describeService"))throw new Error("Monitoring Services not supported by the back-end.");let i=this.enabled,a=null,n=null;r.hasFeature("debugService")&&s&&(n=this.debugService());let o=async()=>{this.getDataAge()>1&&await this.describeService();let t=n?await n.nextLogs():[];(i!==this.enabled||t.length>0)&&e(this,t),i=this.enabled};setTimeout(o,0),a=setInterval(o,1e3*t);let l=()=>{a&&(clearInterval(a),a=null)};return l}}e.exports=a},30895:(e,t,s)=>{const r=s(17103),i=s(27644);class a extends i{constructor(e,t){super(e,["path","size","modified"]),this.path=t,this.size=void 0,this.modified=void 0}async retrieveFile(){return await this.connection.download("/files/"+this.path,!0)}async downloadFile(e){let t=await this.connection.download("/files/"+this.path,!0);return await r.saveToFile(t,e)}async uploadFile(e,t=null,s=null){let i={method:"put",url:"/files/"+this.path,data:r.dataForUpload(e),headers:{"Content-Type":"application/octet-stream"}};"function"===typeof t&&(i.onUploadProgress=e=>{let s=Math.round(100*e.loaded/e.total);t(s,this)});let a=await this.connection._send(i,s);return this.setAll(a.data)}async deleteFile(){await this.connection._delete("/files/"+this.path)}}e.exports=a},97616:(e,t,s)=>{const r=s(27644),i=s(60768);class a extends r{constructor(e,t){super(e,["id","summary","description","categories","parameters","returns","deprecated","experimental","exceptions","examples","links",["process_graph","processGraph"]]),this.id=t,this.summary=void 0,this.description=void 0,this.categories=void 0,this.parameters=void 0,this.returns=void 0,this.deprecated=void 0,this.experimental=void 0,this.exceptions=void 0,this.examples=void 0,this.links=void 0,this.processGraph=void 0}async describeUserProcess(){let e=await this.connection._get("/process_graphs/"+this.id);if(!i.isObject(e.data)||"string"!==typeof e.data.id)throw new Error("Invalid response received for user process");return this.connection.processes.add(e.data,"user"),this.setAll(e.data)}async replaceUserProcess(e){if(await this.connection._put("/process_graphs/"+this.id,this._convertToRequest(e)),this._supports("describeUserProcess"))return this.describeUserProcess();{let t=this.setAll(e);return this.connection.processes.add(t.toJSON(),"user"),t}}async deleteUserProcess(){await this.connection._delete("/process_graphs/"+this.id),this.connection.processes.remove(this.id,"user")}}e.exports=a},31572:(e,t,s)=>{const r=s(98857),i=s(66862),a=s(68394),n=s(72288),o=s(47421),l=s(86051),c=s(20779),p=s(73659),u=s(53304),d=s(60768);e.exports={MigrateCapabilities:r,MigrateCollections:i,MigrateProcesses:a,ProcessDataType:n,ProcessParameter:o,ProcessSchema:l,ProcessUtils:c,ProcessRegistry:p,Versions:u,Utils:d}},98857:(e,t,s)=>{const r=s(60768),i=s(53304),a=s(33305),n="0.0.0";class o{static guessApiVersion(e){if(!r.isObject(e))return n;if(i.validate(e.api_version))return e.api_version;if(i.validate(e.version))return e.version;if(Array.isArray(e.endpoints)){if(e.endpoints.find((e=>"/file_formats"===e.path||"/conformance"===e.path||"/files"===e.path)))return"1.0.0";if(e.endpoints.find((e=>"/output_formats"===e.path||"/files/{user_id}"===e.path)))return"0.4.2";if(!e.backend_version&&!e.title&&!e.description&&!e.links)return"0.3.1"}return n}static convertCapabilitiesToLatestSpec(e,t=null,s=!0,o=!0,l="unknown",c="Unknown",p="0.0.0"){if(null===t&&(t=this.guessApiVersion(e)),t===n)return{};if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";let u=r.deepClone(e);return u.api_version=s?"1.0.0":t,r.isObject(u.billing)?u.billing=this.convertBillingToLatestSpec(u.billing,t):delete u.billing,u.endpoints=this.convertEndpointsToLatestSpec(u.endpoints,t,o),!s&&i.compare(t,"0.4.x","=")?u.stac_version="0.6.2":(s||"string"!==typeof u.stac_version)&&(u.stac_version="0.9.0"),"boolean"!==typeof u.production&&(u.production=!(!i.compare(t,"1.0.0-rc.1","=")&&!i.compare(t,"1.0.0-rc.2","="))),"string"!==typeof u.backend_version&&(u.backend_version=p),"string"!==typeof u.id&&(u.id=l),"string"!==typeof u.title&&(u.title=c),"string"!==typeof u.description&&(u.description=""),u.links=a.migrateLinks(u.links,t),u}static convertBillingToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";return e=r.isObject(e)?r.deepClone(e):{},"string"!==typeof e.currency&&(e.currency=null),e}static convertEndpointsToLatestSpec(e,t,s=!1){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";if(!Array.isArray(e))return[];if(e=r.deepClone(e),s){let s=i.compare(t,"0.4.x","="),r=i.compare(t,"1.0.0-rc.2","<"),n=function(e){let t="/process_graphs/{process_graph_id}",s=e.findIndex((e=>e.path===t));return s>=0?-1===e[s].methods.indexOf("PUT")&&e[s].methods.push("PUT"):e.push({path:t,methods:["PUT"]}),e};for(var a in e){let t=e[a];if(s)switch(t.path){case"/output_formats":t.path="/file_formats";break;case"/files/{user_id}":t.path="/files";break;case"/files/{user_id}/{path}":t.path="/files/{path}";break}if(r)switch(t.path){case"/process_graphs":let s=t.methods.indexOf("POST");s>=0&&(t.methods.splice(s,1),n(e));break;case"/process_graphs/{process_graph_id}":let r=t.methods.indexOf("PATCH");r>=0&&(t.methods.splice(r,1),n(e));break}}}return e}static convertOutputFormatsToLatestSpec(e,t){return this.convertFileFormatsToLatestSpec(e,t)}static convertFileFormatsToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";return e=r.isObject(e)?r.deepClone(e):{},i.compare(t,"0.4.x","=")&&r.isObject(e)&&(e={output:e}),e.input=c(e.input,t),e.output=c(e.output,t),e}static convertServiceTypesToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";if(!r.isObject(e))return{};e=r.deepClone(e);for(let s in e)r.isObject(e[s])||(e[s]={}),i.compare(t,"0.4.x","=")&&(delete e[s].attributes,r.isObject(e[s].parameters)&&(e[s].configuration=e[s].parameters),delete e[s].parameters,Array.isArray(e[s].variables)&&(e[s].process_parameters=e[s].variables.map((e=>{let t={name:e.variable_id,description:"string"===typeof e.description?e.description:"",schema:{type:["string"===typeof e.type?e.type:"string","null"]}};return"undefined"!==typeof e.default&&(t.default=e.default),t}))),delete e[s].variables),r.isObject(e[s].configuration)?e[s].configuration=a.migrateDiscoveryParameters(e[s].configuration,t):e[s].configuration={},Array.isArray(e[s].process_parameters)||(e[s].process_parameters=[]),"undefined"!==typeof e[s].links&&(e[s].links=a.migrateLinks(e[s].links,t));return e}static convertUdfRuntimesToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";if(!r.isObject(e))return{};e=r.deepClone(e);for(let s in e){if(i.compare(t,"0.4.x","=")){if(!r.isObject(e[s])){delete e[s];continue}null===e[s].description&&(e[s].description="")}"string"!==typeof e[s].type&&("string"===typeof e[s].docker?e[s].type="docker":e[s].type="language"),"undefined"!==typeof e[s].links&&(e[s].links=a.migrateLinks(e[s].links,t))}return e}}const l=["raster","vector","table","other"];function c(e,t){r.isObject(e)||(e={});for(let s in e)r.isObject(e[s].parameters)?e[s].parameters=a.migrateDiscoveryParameters(e[s].parameters,t):e[s].parameters={},Array.isArray(e[s].gis_data_types)?e[s].gis_data_types=e[s].gis_data_types.filter((e=>l.includes(e))):e[s].gis_data_types=[],"undefined"!==typeof e[s].links&&(e[s].links=a.migrateLinks(e[s].links,t));return e}e.exports=o},66862:(e,t,s)=>{const r=s(60768),i=s(53304),a=s(33305),n={cube:"datacube",eo:"eo",label:"label",pc:"pointcloud",proj:"projection",sar:"sar",sat:"sat",sci:"scientific",view:"view"},o={"item:license":"license","item:providers":"providers","eo:instrument":"instruments","eo:platform":"platform","eo:constellation":"constellation","eo:epsg":"proj:epsg","eo:off_nadir":"view:off_nadir","eo:azimuth":"view:azimuth","eo:sun_azimuth":"view:sun_azimuth","eo:sun_elevation":"view:sun_elevation","dtr:start_datetime":"start_datetime","dtr:end_datetime":"end_datetime","pc:schema":"pc:schemas","sar:type":"sar:product_type","sar:polarization":"sar:polarizations","sar:instrument":"instruments","sar:platform":"platform","sar:constellation":"constellation","sar:off_nadir":"sat:off_nadir_angle","sar:relative_orbit":"sat:relative_orbit","sar:pass_direction":"sat:orbit_state"},l=["cube:dimensions","sci:publications","sci:doi","sci:citation"],c=["spatial","temporal","bands","other"];class p{static convertCollectionsToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";return e=r.deepClone(e),Array.isArray(e.collections)?e.collections=e.collections.map((e=>p.convertCollectionToLatestSpec(e,t))).filter((e=>"string"===typeof e.id)):e.collections=[],e.links=a.migrateLinks(e.links,t),e}static convertCollectionToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";let s=r.deepClone(e);if("string"!==typeof s.id||0===s.id.length)return{};if(i.validate(s.stac_version)&&!i.compare(s.stac_version,"0.9.0","<")||(s.stac_version="0.9.0"),r.isObject(s.extent)||(s.extent={}),i.compare(t,"0.4.x","=")){if(Array.isArray(s.extent.spatial)&&(s.extent.spatial={bbox:[s.extent.spatial]}),Array.isArray(s.extent.temporal)&&(s.extent.temporal={interval:[s.extent.temporal]}),r.isObject(s.properties)){r.isObject(s.other_properties)||(s.other_properties={});for(let e in s.properties)s.other_properties[e]={values:[s.properties[e]]}}delete s.properties;let e=r.isObject(s.other_properties)?s.other_properties:{};for(let t in e){let i=e[t];r.isObject(i)&&(Array.isArray(i.extent)||Array.isArray(i.values))?Array.isArray(i.extent)?e[t]={min:i.extent[0],max:i.extent[1]}:-1===i.values.findIndex((e=>!Array.isArray(e)))?i.values.length<=1?e[t]=i.values[0]:e[t]=i.values.reduce(((e,t)=>e.concat(t))):e[t]=i.values:("undefined"===typeof s[t]&&(s[t]=i),delete e[t])}delete s.other_properties,r.isObject(s.summaries)||(s.summaries={});for(let t in e){let r=e[t];"sar:pass_direction"===t&&(r=r.map((e=>null===e?"geostationary":e))),("sar:resolution"===t||"sar:pixel_spacing"===t||"sar:looks"===t)&&Array.isArray(r)&&r.length>=2?(s.summaries[t+"_range"]=r.slice(0,1),s.summaries[t+"_azimuth"]=r.slice(1,2),r.length>2&&(s.summaries[t+"_equivalent_number"]=r.slice(2,3))):"string"===typeof o[t]?s.summaries[o[t]]=r:l.includes(t)&&Array.isArray(r)&&1===r.length?s[t]=r[0]:s.summaries[t]=r}}if("string"!==typeof s.description&&(s.description=""),r.isObject(s.extent.spatial)||(s.extent.spatial={}),r.isObject(s.extent.temporal)||(s.extent.temporal={}),"string"!==typeof s.license&&(s.license="proprietary"),r.isObject(s.summaries)||(s.summaries={}),r.isObject(s["cube:dimensions"]))for(var p in s["cube:dimensions"])r.isObject(s["cube:dimensions"][p])&&!c.includes(s["cube:dimensions"][p].type)&&(s["cube:dimensions"][p].type="other");else s["cube:dimensions"]={};s.links=a.migrateLinks(s.links);var u=Array.isArray(s.stac_extensions)?s.stac_extensions:[];for(var d in s){let e=null,t=d.split(":",1);"deprecated"===d||"version"===d?e="version":"string"===typeof n[t]&&(e=n[t]),null===e||u.includes(e)||u.push(e)}return u.sort(),s.stac_extensions=u,s}}e.exports=p},33305:(e,t,s)=>{const r=s(60768),i=s(53304);class a{static migrateLinks(e,t,s="related"){return Array.isArray(e)?e.filter((e=>r.isObject(e)&&"string"===typeof e.href)).map((e=>("string"!==typeof e.rel&&(e.rel=s),e))):[]}static migrateDiscoveryParameters(e,t){if(i.compare(t,"1.0.0-rc.2","<="))for(var s in e){if(!r.isObject(e[s])){delete e[s];continue}let t=e[s].type;"string"===typeof t&&(e[s].type=[t,"null"]);let i=e[s].example;"undefined"!==typeof i&&(e[s].examples=[i],delete e[s].example)}return e}}e.exports=a},68394:(e,t,s)=>{const r=s(60768),i=s(53304),a=s(33305);class n{static convertProcessesToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";return e=r.deepClone(e),Array.isArray(e.processes)?e.processes=e.processes.map((e=>n.convertProcessToLatestSpec(e,t))).filter((e=>"string"===typeof e.id)):e.processes=[],e.links=a.migrateLinks(e.links,t),e}static convertProcessToLatestSpec(e,t){if(i.compare(t,"0.3.x","<="))throw"Migrating from API version 0.3.0 and older is not supported.";if(e=r.deepClone(e),"string"!==typeof e.id||0===e.id.length)return{};if(i.compare(t,"0.4.x","=")){if(!Array.isArray(e.parameter_order)||0===e.parameter_order.length){e.parameter_order=[];for(let t in e.parameters)e.parameter_order.push(t)}let t=[];for(let s of e.parameter_order){let i={name:s};r.isObject(e.parameters[s])&&Object.assign(i,e.parameters[s]),i.required||(i.optional=!0),delete i.required,t.push(i)}delete e.parameter_order,e.parameters=t}if("string"!==typeof e.description&&(e.description=""),Array.isArray(e.parameters))for(var s=e.parameters.length-1;s>=0;s--){let i=e.parameters[s];r.isObject(i)?("string"!==typeof i.description&&(i.description=""),e.parameters[s]=o(i,t)):e.parameters.splice(s,1)}else e.parameters=[];return r.isObject(e.returns)||(e.returns={}),e.returns=o(e.returns,t,!1),Array.isArray(e.examples)&&(e.examples=e.examples.filter((e=>r.isObject(e)&&r.isObject(e.arguments)))),"undefined"!==typeof e.links&&(e.links=a.migrateLinks(e.links,t)),e}}function o(e,t,s=!0){var r={};if(e.schema&&"object"===typeof e.schema&&(r=e.schema),i.compare(t,"0.4.x","=")){for(let t of["anyOf","oneOf"])if(Array.isArray(r[t])){s&&"undefined"!==typeof r.default&&(e.default=r.default),r=r[t];break}let a=i.compare(t,"0.4.x")<=0&&"undefined"!==typeof e.media_type,n=Array.isArray(r)?r:[r];for(let t of n)t=l(t),s&&"undefined"!==typeof t.default&&(e.default=t.default,delete t.default),a&&(t.contentMediaType=e.media_type);a&&delete e.media_type}return i.compare(t,"0.4.x",">")&&"undefined"!==typeof e.default&&(e.optional=!0),e.schema=r,e}function l(e){if(r.isObject(e)&&"undefined"!==typeof e.type&&"string"===typeof e.format){switch(e.format){case"url":e.format="uri";break;case"proj-definition":e.deprecated=!0;break;case"callback":if(e.format="process-graph",r.isObject(e.parameters)){let t=[];for(let s in e.parameters){let r=e.parameters[s],i={name:s,description:"string"===typeof r.description?r.description:"",schema:r};t.push(i)}e.parameters=t}break}e.subtype=e.format,["date-time","time","date","uri"].includes(e.format)||delete e.format}for(let t in e)e[t]&&"object"===typeof e[t]&&(e[t]=l(e[t]));return e}e.exports=n},72288:(e,t,s)=>{const r=s(60768);class i{constructor(e,t=null,s=void 0){this.schema=e,"undefined"===typeof this.schema.default&&(this.schema.default=s),this.parent=t}toJSON(){return Object.assign({},this.schema,{default:this.default()})}isAny(){return"any"===this.dataType()}isNull(){return"null"===this.schema.type}nullable(){return this.isNull()||this.isAny()}isEditable(){return!i.NON_EDITABLE.includes(this.dataType())}dataType(e=!1){let t=this.schema.type||"any";return e?t:this.schema.subtype||t}nativeDataType(){return this.dataType(!0)}isEnum(){return Array.isArray(this.schema.enum)&&this.schema.enum.length>0}getEnumChoices(){return this.isEnum()?this.schema.enum:[]}getCallbackParameters(){return Array.isArray(this.schema.parameters)?this.schema.parameters:r.isObject(this.schema.additionalProperties)&&Array.isArray(this.schema.additionalProperties.parameters)?this.schema.additionalProperties.parameters:[]}group(){return r.hasText(this.schema.group)?this.schema.group:i.DEFAULT_GROUP}title(){return r.hasText(this.schema.title)?this.schema.title:r.prettifyString(this.dataType())}description(){return r.hasText(this.schema.description)?this.schema.description:""}default(){return"function"===typeof this.schema.default?this.schema.default():this.schema.default}}i.DEFAULT_GROUP="Other",i.NON_EDITABLE=["raster-cube","vector-cube","labeled-array"],e.exports=i},47421:(e,t,s)=>{const r=s(86051);class i extends r{constructor(e){super(e.schema,e.default),Object.assign(this,e)}}e.exports=i},73659:(e,t,s)=>{const r=s(60768);class i{constructor(e=[],t=!1){if(this.listeners=[],this.processes={},this.addNamespace=t,e instanceof i)for(let s in e.processes)this.addAll(e.processes[s]);else this.addAll(e)}onChange(e,t,s){for(let r of this.listeners)r(e,t,s)}addAll(e,t="backend"){for(var s in e)this.add(e[s],t,!1);this.onChange("addAll",e,t)}add(e,t="backend",s=!0){if(!r.isObject(e))throw new Error("Invalid process; not an object.");if("string"!==typeof e.id)throw new Error("Invalid process; no id specified.");if("string"!==typeof t)throw new Error("Invalid namespace; not a string.");this.processes[t]||(this.processes[t]={}),e=Object.assign(this.addNamespace?{namespace:t}:{},e),this.processes[t][e.id]=e,s&&this.onChange("add",e,t)}count(){return r.size(this.all())}all(){let e=[];for(let t in this.processes)e=e.concat(Object.values(this.processes[t]));return e}hasNamespace(e){return"string"===typeof e&&Boolean(this.processes[e])}namespaces(){return Object.keys(this.processes).sort()}namespace(e){if("string"!==typeof e)return[];let t=this.processes[e];return t?Object.values(t):[]}has(e,t=null){return Boolean(this.get(e,t))}get(e,t=null){return"string"!==typeof e?null:null===t?this.get(e,"user")||this.get(e,"backend"):this.processes[t]&&this.processes[t][e]||null}remove(e=null,t="user"){if("string"!==typeof t)return!1;if(this.processes[t]){if("string"!==typeof e)return delete this.processes[t],this.onChange("remove",null,t),!0;if(this.processes[t][e]){let s=this.processes[t][e];return delete this.processes[t][e],0===r.size(this.processes[t])&&delete this.processes[t],this.onChange("remove",s,t),!0}}return!1}}e.exports=i},86051:(e,t,s)=>{const r=s(20779),i=s(72288),a=s(60768);class n{constructor(e=null,t=void 0){if(a.isObject(e)||Array.isArray(e))if(this.unspecified=!1,this.schemas=r.normalizeJsonSchema(e,!0).map((e=>new i(e,this,t))),"undefined"===typeof t){let e=this.schemas.map((e=>e.default())).filter((e=>"undefined"!==typeof e));this.default=e[0]}else this.default=t;else this.unspecified=!0,this.schemas=[];this.refs=[]}toJSON(){return this.schemas.map((e=>e.toJSON()))}isEditable(){return this.unspecified||this.schemas.filter((e=>e.isEditable()&&!e.isNull())).length>0}is(e){var t=this.dataTypes();return 1===t.length&&t[0]===e}nativeDataType(){return this.dataType(!0)}dataType(e=!1){var t=this.dataTypes(!0,e),s=t.indexOf("null");return 1===t.length?t[0]:2===t.length&&-1!==s?t[0===s?1:0]:"mixed"}dataTypes(e=!1,t=!1){var s=this.schemas.map((e=>e.dataType(t))).filter(((e,t,s)=>s.indexOf(e)===t));return 0===s.length||s.includes("any")?["any"]:e?s:s.filter((e=>"null"!==e))}nullable(){return this.unspecified||this.schemas.filter((e=>e.nullable())).length>0}}e.exports=n},20779:(e,t,s)=>{const r=s(60768);class i{static normalizeJsonSchema(e,t=!1){r.isObject(e)?e=[e]:Array.isArray(e)||(e=[]);let s=[];for(let i of e)if(Array.isArray(i.allOf))s.push(Object.assign({},...i.allOf));else if(Array.isArray(i.oneOf)||Array.isArray(i.anyOf)){let e=r.omitFromObject(i,["oneOf","anyOf"]),t=i.oneOf||i.anyOf;for(let r of t)s.push(Object.assign({},e,r))}else s.push(i);if(!t)return s;e=[];for(let r of s)Array.isArray(r.type)?e=e.concat(r.type.map((e=>Object.assign({},r,{type:e})))):e.push(r);return e}static getCallbackParameters(e,t=[]){if(!r.isObject(e)||!e.schema)return[];let s,a=i.normalizeJsonSchema(e.schema);while(s=t.shift())a=a.map((e=>i.normalizeJsonSchema(i.getElementJsonSchema(e,s)))),a=a.concat(...a);let n=[];for(let i of a){let e=null;if(Array.isArray(i.parameters)?e=i.parameters:r.isObject(i.additionalProperties)&&Array.isArray(i.additionalProperties.parameters)&&(e=i.additionalProperties.parameters),Array.isArray(e)){if(n.length>0&&!r.equals(n,e))throw new Error("Multiple schemas with different callback parameters found.");n=e}}return n}static getCallbackParametersForProcess(e,t,s=[]){if(!r.isObject(e)||!Array.isArray(e.parameters))return[];let a=e.parameters.find((e=>e.name===t));return i.getCallbackParameters(a,s)}static getNativeTypesForJsonSchema(e,t=!1){if(r.isObject(e)&&Array.isArray(e.type)){let s=r.unique(e.type).filter((e=>i.JSON_SCHEMA_TYPES.includes(e)));return s.length>0&&s.length{var r=s(29252);class i{static isObject(e){return"object"===typeof e&&e===Object(e)&&!Array.isArray(e)}static hasText(e){return"string"===typeof e&&e.length>0}static equals(e,t){return r(e,t)}static pickFromObject(e,t){e=Object(e),"string"===typeof t&&(t=[t]);const s={};return t.forEach((t=>s[t]=e[t])),s}static omitFromObject(e,t){e=Object(e),"string"===typeof t&&(t=[t]);var s=Object.assign({},e);for(let r of t)delete s[r];return s}static mapObject(e,t){const s=Object.keys(e),r=new Array(s.length);return s.forEach(((s,i)=>{r[i]=t(e[s],s,e)})),r}static mapObjectValues(e,t){e=Object(e);const s={};return Object.keys(e).forEach((r=>{s[r]=t(e[r],r,e)})),s}static unique(e,t=!1){return t?e.filter(((e,t,s)=>s.findIndex((t=>i.equals(e,t)))===t)):[...new Set(e)]}static size(e){return"object"===typeof e&&null!==e?Array.isArray(e)?e.length:Object.keys(e).length:0}static isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}static deepClone(e){return JSON.parse(JSON.stringify(e))}static normalizeUrl(e,t=null){let s=e.replace(/\/$/,"");return"string"===typeof t&&("/"!==t.substr(0,1)&&(t="/"+t),s+=t.replace(/\/$/,"")),s}static replacePlaceholders(e,t={}){if("string"===typeof e&&i.isObject(t))for(var s in t){let r=t[s];e=e.replace("{"+s+"}",Array.isArray(r)?r.join("; "):r)}return e}static compareStringCaseInsensitive(e,t){return"string"!==typeof e&&(e=String(e)),"string"!==typeof t&&(t=String(t)),e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}static prettifyString(e,t="; "){return Array.isArray(e)||(e=[String(e)]),e=e.map((e=>{if(e.length>=3){const t=(e,t,s)=>t+" "+s.toUpperCase();return e=e.includes("_")?e.replace(/([a-zA-Z\d])_([a-zA-Z\d])/g,t):e.includes("-")?e.replace(/([a-zA-Z\d])-([a-zA-Z\d])/g,t):e.replace(/([a-z])([A-Z])/g,t),e.charAt(0).toUpperCase()+e.substr(1)}return e})),e.join(t)}static friendlyLinks(e,t=!0,s=["self"]){let r=[];if(!Array.isArray(e))return r;for(let a of e)a=Object.assign({},a),"string"===typeof a.rel&&s.includes(a.rel.toLowerCase())||("string"===typeof a.title&&0!==a.title.length||("string"===typeof a.rel&&a.rel.length>1?a.title=i.prettifyString(a.rel):a.title=a.href.replace(/^https?:\/\/(www.)?/i,"").replace(/\/$/i,"")),r.push(a));return t&&r.sort(((e,t)=>i.compareStringCaseInsensitive(e.title,t.title))),r}}e.exports=i},53304:(e,t,s)=>{const r=s(36246);class i{static compare(e,t,s=null){return null!==s?r.compare(e,t,s):r(e,t)}static validate(e){return r.validate(e)}static findCompatible(e,t=!0,s=null,r=null){if(!Array.isArray(e)||0===e.length)return[];let a=e.filter((e=>{if("string"===typeof e.url&&i.validate(e.api_version)){let t=i.validate(s),a=i.validate(r);return t&&a?i.compare(e.api_version,s,">=")&&i.compare(e.api_version,r,"<="):t?i.compare(e.api_version,s,">="):!a||i.compare(e.api_version,r,"<=")}return!1}));return 0===a.length?[]:a.sort(((e,s)=>{let r=!0===e.production,a=!0===s.production;return t&&r!==a?r?-1:1:-1*i.compare(e.api_version,s.api_version)}))}static findLatest(e,t=!0,s=null,r=null){let a=i.findCompatible(e,t,s,r);return a.length>0?a[0]:null}}e.exports=i}}]); -//# sourceMappingURL=chunk-vendors-6766e1df.ec70147a.js.map \ No newline at end of file diff --git a/js/chunk-vendors-6766e1df.ec70147a.js.map b/js/chunk-vendors-6766e1df.ec70147a.js.map deleted file mode 100644 index 669a714c..00000000 --- a/js/chunk-vendors-6766e1df.ec70147a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/chunk-vendors-6766e1df.ec70147a.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@openeo/js-client/node_modules/@radiantearth/stac-migrate/migrate.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/authprovider.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/baseentity.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/basicprovider.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/browser.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/builder.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/formula.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/node.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/parameter.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/builder/tapdigit.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/capabilities.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/connection.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/env.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/filetypes.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/job.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/logs.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/node.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/oidcprovider.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/openeo.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/service.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/userfile.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-client/src/userprocess.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/main.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/migrate/capabilities.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/migrate/collections.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/migrate/commons.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/migrate/processes.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processDataType.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processParameter.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processRegistry.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processSchema.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/processUtils.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/utils.js","webpack://@openeo/web-editor/./node_modules/@openeo/js-commons/src/versions.js"],"sourcesContent":["// Migration rules partly based on PySTAC and @openeo/js-commons,\n// see https://github.com/stac-utils/pystac/tree/v0.5.4/pystac/serialization/migrate.py\n// and https://github.com/Open-EO/openeo-js-commons/tree/v1.2.0/src/migrate/collections.js\n\nvar compareVersions = require('compare-versions');\n\nconst LATEST_VERSION = '1.0.0';\nconst DONE = true; // This is used to verify in code coverage whether something has been used or not\nconst SCHEMAS = {\n\t'classification': 'https://stac-extensions.github.io/classification/v1.1.0/schema.json',\n\t'datacube': 'https://stac-extensions.github.io/datacube/v2.1.0/schema.json',\n\t'eo': 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n\t'file': 'https://stac-extensions.github.io/file/v1.0.0/schema.json',\n\t'item-assets': 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n\t'label': 'https://stac-extensions.github.io/label/v1.0.1/schema.json',\n\t'pointcloud': 'https://stac-extensions.github.io/pointcloud/v1.0.0/schema.json',\n\t'processing': 'https://stac-extensions.github.io/processing/v1.1.0/schema.json',\n\t'projection': 'https://stac-extensions.github.io/projection/v1.0.0/schema.json',\n\t'raster': 'https://stac-extensions.github.io/raster/v1.1.0/schema.json',\n\t'sar': 'https://stac-extensions.github.io/sar/v1.0.0/schema.json',\n\t'sat': 'https://stac-extensions.github.io/sat/v1.0.0/schema.json',\n\t'scientific': 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n\t'table': 'https://stac-extensions.github.io/table/v1.2.0/schema.json',\n\t'timestamps': 'https://stac-extensions.github.io/timestamps/v1.0.0/schema.json',\n\t'version': 'https://stac-extensions.github.io/version/v1.0.0/schema.json',\n\t'view': 'https://stac-extensions.github.io/view/v1.0.0/schema.json'\n};\nconst EXTENSIONS = {\n\t// Add a : at the end to indicate it has a prefix, otherwise list all fields separately (see version extension for example).\n\titemAndCollection: {\n\t\t// with prefix\n\t\t'cube:': SCHEMAS.datacube,\n\t\t'eo:': SCHEMAS.eo,\n\t\t'file:': SCHEMAS.file,\n\t\t'label:': SCHEMAS.label,\n\t\t'pc:': SCHEMAS.pointcloud,\n\t\t'processing:': SCHEMAS.processing,\n\t\t'proj:': SCHEMAS.projection,\n\t\t'raster:': SCHEMAS.raster,\n\t\t'sar:': SCHEMAS.sar,\n\t\t'sat:': SCHEMAS.sat,\n\t\t'sci:': SCHEMAS.scientific,\n\t\t'view:': SCHEMAS.view,\n\t\t// without prefix\n\t\t'version': SCHEMAS.version,\n\t\t'deprecated': SCHEMAS.version,\n\t\t'published': SCHEMAS.timestamps,\n\t\t'expires': SCHEMAS.timestamps,\n\t\t'unpublished': SCHEMAS.timestamps\n\t},\n\tcatalog: {\n\t\t// None yet\n\t},\n\tcollection: {\n\t\t'item_assets': SCHEMAS['item-assets']\n\t},\n\titem: {\n\t\t// None yet\n\t},\n};\nEXTENSIONS.collection = Object.assign(EXTENSIONS.collection, EXTENSIONS.itemAndCollection);\nEXTENSIONS.item = Object.assign(EXTENSIONS.item, EXTENSIONS.itemAndCollection);\n\nvar Ext = {\n\tparseUrl(url) {\n\t\tlet match = url.match(/^https?:\\/\\/stac-extensions.github.io\\/([^\\/]+)\\/v([^\\/]+)\\/[^.]+.json$/i);\n\t\tif (match) {\n\t\t\treturn {\n\t\t\t\tid: match[1],\n\t\t\t\tversion: match[2]\n\t\t\t};\n\t\t}\n\t}\n};\n\nvar V = {\n\tversion: LATEST_VERSION,\n\textensions: {},\n\n\tset(stac) {\n\t\tif (typeof stac.stac_version !== 'string') {\n\t\t\tV.version = '0.6.0'; // Assume the worst case, it doesn't seem there's a clear indicator for 0.7.0\n\t\t}\n\t\telse {\n\t\t\tV.version = stac.stac_version;\n\t\t}\n\n\t\tif (Array.isArray(stac.stac_extensions)) {\n\t\t\tfor(let ext of stac.stac_extensions) {\n\t\t\t\tlet e = Ext.parseUrl(ext);\n\t\t\t\tif (e) {\n\t\t\t\t\tV.extensions[e.id] = e.version;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tbefore(version, ext = null) {\n\t\tlet compareTo = ext ? V.extensions[ext] : V.version;\n\t\tif (typeof compareTo === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\t\telse {\n\t\t\treturn compareVersions.compare(compareTo, version, '<');\n\t\t}\n\t}\n};\n\nvar _ = {\n\n\ttype(val) {\n\t\tlet type = typeof val;\n\t\tif (type === 'object') {\n\t\t\tif (val === null) {\n\t\t\t\treturn 'null';\n\t\t\t}\n\t\t\telse if (Array.isArray(val)) {\n\t\t\t\treturn 'array';\n\t\t\t}\n\t\t}\n\t\treturn type;\n\t},\n\n\tis(val, type) {\n\t\treturn (_.type(val) === type);\n\t},\n\n\tisDefined(val) {\n\t\treturn (typeof val !== 'undefined');\n\t},\n\n\tisObject(obj) {\n\t\treturn (typeof obj === 'object' && obj === Object(obj) && !Array.isArray(obj));\n\t},\n\n\trename(obj, oldKey, newKey) {\n\t\tif (typeof obj[oldKey] !== 'undefined' && typeof obj[newKey] === 'undefined') {\n\t\t\tobj[newKey] = obj[oldKey];\n\t\t\tdelete obj[oldKey];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tforAll(obj, key, fn) {\n\t\tif (obj[key] && typeof obj[key] === 'object') {\n\t\t\tfor(let i in obj[key]) {\n\t\t\t\tfn(obj[key][i]);\n\t\t\t}\n\t\t}\n\t},\n\n\ttoArray(obj, key) {\n\t\tif (typeof obj[key] !== 'undefined' && !Array.isArray(obj[key])) {\n\t\t\tobj[key] = [obj[key]];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tflattenArray(obj, key, newKeys, summary = false) {\n\t\tif (Array.isArray(obj[key])) {\n\t\t\tfor(let i in obj[key]) {\n\t\t\t\tif (typeof newKeys[i] === 'string') {\n\t\t\t\t\tlet value = obj[key][i];\n\t\t\t\t\tobj[newKeys[i]] = summary ? [value] : value;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdelete obj[key];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tflattenOneElementArray(obj, key, summary = false) {\n\t\tif (!summary && Array.isArray(obj[key])) {\n\t\t\tif (obj[key].length === 1) {\n\t\t\t\tobj[key] = obj[key][0];\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn false; // It's still an array and we don't know which element to choose\n\t\t\t}\n\t\t}\n\t\treturn true; // It's already a single element\n\t},\n\n\tremoveFromArray(obj, key, valueToRemove) {\n\t\tif (Array.isArray(obj[key])) {\n\t\t\tlet index = obj[key].indexOf(valueToRemove);\n\t\t\tif (index > -1) {\n\t\t\t\tobj[key].splice(index, 1);\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tensure(obj, key, defaultValue) {\n\t\tif (_.type(defaultValue) !== _.type(obj[key])) {\n\t\t\tobj[key] = defaultValue;\n\t\t}\n\t\treturn true;\n\t},\n\n\tupgradeExtension(context, extension) {\n\t\tlet {id, version} = Ext.parseUrl(extension);\n\t\tlet index = context.stac_extensions.findIndex(url => {\n\t\t\tlet old = Ext.parseUrl(url);\n\t\t\treturn (old && old.id === id && compareVersions.compare(old.version, version, '<'));\n\t\t});\n\t\tif (index !== -1) {\n\t\t\tcontext.stac_extensions[index] = extension;\n\t\t\treturn true;\n\t\t}\n\t\telse {\n\t\t\treturn false;\n\t\t}\n\t},\n\n\taddExtension(context, newExtension) {\n\t\tlet {id, version} = Ext.parseUrl(newExtension);\n\t\tlet index = context.stac_extensions.findIndex(url => {\n\t\t\tif (url === newExtension) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tlet old = Ext.parseUrl(url);\n\t\t\tif (old && old.id === id && compareVersions.compare(old.version, version, '<')) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\tif (index === -1) {\n\t\t\tcontext.stac_extensions.push(newExtension);\n\t\t}\n\t\telse {\n\t\t\tcontext.stac_extensions[index] = newExtension;\n\t\t}\n\n\t\tcontext.stac_extensions.sort();\n\t\treturn true;\n\t},\n\n\tremoveExtension(context, oldExtension) {\n\t\treturn _.removeFromArray(context, 'stac_extensions', oldExtension);\n\t},\n\n\tmigrateExtensionShortnames(context) {\n\t\tlet oldShortnames = Object.keys(SCHEMAS);\n\t\tlet newSchemas = Object.values(SCHEMAS);\n\t\treturn _.mapValues(context, 'stac_extensions', oldShortnames, newSchemas);\n\t},\n\n\tpopulateExtensions(context, type) {\n\t\tlet objectsToCheck = [];\n\t\tif (type == 'catalog' || type == 'collection') {\n\t\t\tobjectsToCheck.push(context);\n\t\t}\n\t\tif ((type == 'item' || type == 'collection') && _.isObject(context.assets)) {\n\t\t\tobjectsToCheck = objectsToCheck.concat(Object.values(context.assets));\n\t\t}\n\t\tif (type == 'collection' && _.isObject(context.item_assets)) {\n\t\t\tobjectsToCheck = objectsToCheck.concat(Object.values(context.item_assets));\n\t\t}\n\t\tif (type == 'collection' && _.isObject(context.summaries)) {\n\t\t\tobjectsToCheck.push(context.summaries);\n\t\t}\n\t\tif (type == 'item' && _.isObject(context.properties)) {\n\t\t\tobjectsToCheck.push(context.properties);\n\t\t}\n\n\t\tfor (let obj of objectsToCheck) {\n\t\t\tObject.keys(obj).forEach(key => {\n\t\t\t\tlet prefix = key.match(/^(\\w+:|[^:]+$)/i);\n\t\t\t\tif (Array.isArray(prefix)) {\n\t\t\t\t\tlet ext = EXTENSIONS[type][prefix[0]];\n\t\t\t\t\t_.is(ext, 'string') && _.addExtension(context, ext) && DONE;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\tmapValues(obj, key, oldValues, newValues) {\n\t\tlet fn = value => {\n\t\t\tlet index = oldValues.indexOf(value);\n\t\t\tif (index >= 0) {\n\t\t\t\treturn newValues[index];\n\t\t\t}\n\t\t\treturn value;\t\n\t\t};\n\t\tif (Array.isArray(obj[key])) {\n\t\t\tobj[key] = obj[key].map(fn);\n\t\t}\n\t\telse if (typeof obj[key] !== 'undefined') {\n\t\t\tobj[key] = fn(obj[key]);\n\t\t}\n\t\treturn true;\n\t},\n\n\tmapObject(obj, fn) {\n\t\tfor(let key in obj) {\n\t\t\tobj[key] = fn(obj[key], key);\n\t\t}\n\t},\n\n\tmoveTo(obj, key, context, fromSummary = false, mergedSummary = false) {\n\t\tlet condition;\n\t\tif (fromSummary) {\n\t\t\tif (mergedSummary) {\n\t\t\t\tcondition = val => Array.isArray(val);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcondition = val => Array.isArray(val) && val.length === 1;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tcondition = _.isDefined\n\t\t}\n\t\tif (condition(obj[key])) {\n\t\t\tcontext[key] = fromSummary && !mergedSummary ? obj[key][0] : obj[key];\n\t\t\tdelete obj[key];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\trunAll(migrations, obj, context, summaries) {\n\t\tfor(let fn in migrations) {\n\t\t\tif (!fn.startsWith('migrate')) {\n\t\t\t\tmigrations[fn](obj, context, summaries);\n\t\t\t}\n\t\t}\n\t},\n\n\ttoUTC(obj, key) {\n\t\tif (typeof obj[key] === 'string') {\n\t\t\ttry {\n\t\t\t\tobj[key] = this.toISOString(obj[key]);\n\t\t\t\treturn true;\n\t\t\t} catch(error) {}\n\t\t}\n\t\tdelete obj[key];\n\t\treturn false;\n\t},\n\n\ttoISOString(date) {\n\t\tif (!(date instanceof Date)) {\n\t\t\tdate = new Date(date);\n\t\t}\n\t\treturn date.toISOString().replace('.000', ''); // Don't export milliseconds if not needed\n\t}\n\n};\n\nvar Checksum = {\n\n\tmultihash: null,\n\n\thexToUint8(hexString) {\n\t\tif(hexString.length === 0 || hexString.length % 2 !== 0){\n\t\t\tthrow new Error(`The string \"${hexString}\" is not valid hex.`)\n\t\t}\n\t\treturn new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));\n\t},\n\n\tuint8ToHex(bytes) {\n\t\treturn bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n\t},\n\n\ttoMultihash(obj, key, algo) {\n\t\tif (!Checksum.multihash || !_.is(obj[key], 'string')) {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\tconst encoded = Checksum.multihash.encode(Checksum.hexToUint8(obj[key]), algo);\n\t\t\tobj[key] = Checksum.uint8ToHex(encoded);\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tconsole.warn(error);\n\t\t\treturn false;\n\t\t}\n\t}\n\n};\n\nvar Catalog = {\n\n\tmigrate(catalog, updateVersionNumber = true) {\n\t\tV.set(catalog);\n\t\tif (updateVersionNumber) {\n\t\t\tcatalog.stac_version = LATEST_VERSION;\n\t\t}\n\t\tcatalog.type = 'Catalog';\n\n\t\t_.ensure(catalog, 'stac_extensions', []) && DONE;\n\t\tV.before('1.0.0-rc.1') && _.migrateExtensionShortnames(catalog) && DONE;\n\n\t\t_.ensure(catalog, 'id', '') && DONE;\n\t\t_.ensure(catalog, 'description', '') && DONE;\n\t\t_.ensure(catalog, 'links', []) && DONE;\n\n\t\t_.runAll(Catalog, catalog, catalog);\n\n\t\tV.before('0.8.0') && _.populateExtensions(catalog, 'catalog') && DONE;\n\n\t\treturn catalog;\n\t},\n\n};\n\nvar Collection = {\n\n\tmigrate(collection, updateVersionNumber = true) {\n\t\tCatalog.migrate(collection, updateVersionNumber); // Migrates stac_version, stac_extensions, id, title, description, links\n\t\tcollection.type = 'Collection';\n\t\t\n\t\tV.before('1.0.0-rc.1') && _.migrateExtensionShortnames(collection) && DONE;\n\n\t\t_.ensure(collection, 'license', 'proprietary') && DONE;\n\t\t_.ensure(collection, 'extent', {\n\t\t\tspatial: {\n\t\t\t\tbbox: []\n\t\t\t},\n\t\t\ttemporal: {\n\t\t\t\tinterval: []\n\t\t\t}\n\t\t}) && DONE;\n\n\t\t_.runAll(Collection, collection, collection);\n\n\t\t// Migrate Commons extension - part 3\n\t\tif (_.isObject(collection.properties)) {\n\t\t\t_.removeFromArray(collection, 'stac_extensions', 'commons') && DONE;\n\t\t\tdelete collection.properties;\n\t\t}\n\n\t\tV.before('0.8.0') && _.populateExtensions(collection, 'collection') && DONE;\n\t\tV.before('1.0.0-beta.1') && _.mapValues(collection, 'stac_extensions', ['assets'], ['item-assets']) && DONE;\n\n\t\treturn collection;\n\t},\n\n\textent(collection) {\n\t\t_.ensure(collection, \"extent\", {});\n\n\t\tif (V.before('0.8.0')) {\n\t\t\t// Restructure spatial extent\n\t\t\tif (Array.isArray(collection.extent.spatial)) {\n\t\t\t\tcollection.extent.spatial = {\n\t\t\t\t\tbbox: [\n\t\t\t\t\t\tcollection.extent.spatial\n\t\t\t\t\t]\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Restructure temporal extent\n\t\t\tif (Array.isArray(collection.extent.temporal)) {\n\t\t\t\tcollection.extent.temporal = {\n\t\t\t\t\tinterval: [\n\t\t\t\t\t\tcollection.extent.temporal\n\t\t\t\t\t]\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t_.ensure(collection.extent, \"spatial\", {});\n\t\t_.ensure(collection.extent.spatial, \"bbox\", []);\n\t\t_.ensure(collection.extent, \"temporal\", {});\n\t\t_.ensure(collection.extent.temporal, \"interval\", []);\n\n\t\tif (V.before('1.0.0-rc.3')) {\n\t\t\t// The first extent in a Collection is always the overall extent, followed by more specific extents.\n\t\t\tif (collection.extent.temporal.interval.length > 1) {\n\t\t\t\tlet min, max;\n\t\t\t\tfor(let interval of collection.extent.temporal.interval) {\n\t\t\t\t\tif (interval[0] === null) {\n\t\t\t\t\t\tmin = null;\n\t\t\t\t\t}\n\t\t\t\t\telse if (typeof interval[0] === 'string' && min !== null) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tlet start = new Date(interval[0]);\n\t\t\t\t\t\t\tif (typeof min === 'undefined' || start < min) {\n\t\t\t\t\t\t\t\tmin = start;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (interval[1] === null) {\n\t\t\t\t\t\tmax = null;\n\t\t\t\t\t}\n\t\t\t\t\telse if (typeof interval[1] === 'string' && max !== null) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tlet end = new Date(interval[1]);\n\t\t\t\t\t\t\tif (typeof max === 'undefined' || end > max) {\n\t\t\t\t\t\t\t\tmax = end;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {}\n\t\t\t\t\t} \n\t\t\t\t}\n\t\t\t\tcollection.extent.temporal.interval.unshift([\n\t\t\t\t\tmin ? _.toISOString(min) : null,\n\t\t\t\t\tmax ? _.toISOString(max) : null\n\t\t\t\t]);\n\t\t\t}\n\t\t\tif (collection.extent.spatial.bbox.length > 1) {\n\t\t\t\tlet count = collection.extent.spatial.bbox.reduce((val, bbox) => Array.isArray(bbox) ? Math.max(bbox.length, val) : val, 4);\n\t\t\t\tif (count >= 4) {\n\t\t\t\t\tlet union = new Array(count).fill(null);\n\t\t\t\t\tlet middle = count / 2;\n\t\t\t\t\tfor(let bbox of collection.extent.spatial.bbox) {\n\t\t\t\t\t\tif (!Array.isArray(bbox) || bbox.length < 4) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor(let i in bbox) {\n\t\t\t\t\t\t\tlet c = bbox[i];\n\t\t\t\t\t\t\tif (union[i] === null) {\n\t\t\t\t\t\t\t\tunion[i] = c;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (i < middle) {\n\t\t\t\t\t\t\t\tunion[i] = Math.min(c, union[i]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tunion[i] = Math.max(c, union[i]);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (union.findIndex(c => c === null) === -1) {\n\t\t\t\t\t\tcollection.extent.spatial.bbox.unshift(union);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tcollectionAssets(collection) {\n\t\tV.before('1.0.0-rc.1') && _.removeExtension(collection, 'collection-assets') && DONE;\n\n\t\tAsset.migrateAll(collection);\n\t},\n\n\titemAsset(collection) {\n\t\tV.before('1.0.0-beta.2') && _.rename(collection, 'item_assets', 'assets');\n\n\t\tAsset.migrateAll(collection, 'item_assets');\n\t},\n\n\tsummaries(collection) {\n\t\t_.ensure(collection, 'summaries', {});\n\n\t\t// other_properties: An early version of the Collection summaries with a similar structure\n\t\t// Was mostly used in standalone collections from openEO and GEE. Move other_properties to summaries.\n\t\tif (V.before('0.8.0') && _.isObject(collection.other_properties)) {\n\t\t\tfor(let key in collection.other_properties) {\n\t\t\t\tlet prop = collection.other_properties[key];\n\t\t\t\tif (Array.isArray(prop.extent) && prop.extent.length === 2) {\n\t\t\t\t\tcollection.summaries[key] = {\n\t\t\t\t\t\tminimum: prop.extent[0],\n\t\t\t\t\t\tmaximum: prop.extent[1],\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (Array.isArray(prop.values)) {\n\t\t\t\t\tif (prop.values.filter(v => Array.isArray(v)).length === prop.values.length) {\n\t\t\t\t\t\t// If it is an array of arrays, merge the arrays\n\t\t\t\t\t\tcollection.summaries[key] = prop.values.reduce((a, b) => a.concat(b), []);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tcollection.summaries[key] = prop.values;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdelete collection.other_properties;\n\t\t}\n\n\t\t// Migrate Commons extension - part 2\n\t\t// Move properties to (single element) summaries if the Collection is standalone\n\t\t// see also https://github.com/stac-utils/stac-migrate/issues/3\n\t\tif (V.before('1.0.0-beta.1') && _.isObject(collection.properties) && !collection.links.find(link => ['child', 'item'].includes(link.rel))) {\n\t\t\tfor(let key in collection.properties) {\n\t\t\t\tlet value = collection.properties[key];\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tvalue = [value];\n\t\t\t\t}\n\t\t\t\tcollection.summaries[key] = value;\n\t\t\t}\n\t\t}\n\n\t\tif (V.before('1.0.0-rc.1')) {\n\t\t\t_.mapObject(collection.summaries, val => {\n\t\t\t\t_.rename(val, 'min', 'minimum') && DONE;\n\t\t\t\t_.rename(val, 'max', 'maximum') && DONE;\n\t\t\t\treturn val;\n\t\t\t});\n\t\t}\n\n\t\t// now we can work on all summaries and migrate them\n\t\tFields.migrate(collection.summaries, collection, true);\n\n\t\t// Some fields should usually be on root-level if there's only one element\n\t\t_.moveTo(collection.summaries, 'sci:doi', collection, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n\t\t_.moveTo(collection.summaries, 'sci:publications', collection, true, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n\t\t_.moveTo(collection.summaries, 'sci:citation', collection, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n\t\t_.moveTo(collection.summaries, 'cube:dimensions', collection, true) && _.addExtension(collection, SCHEMAS.datacube) && DONE;\n\n\t\t// Remove summary field if empty\n\t\tif (Object.keys(collection.summaries).length === 0) {\n\t\t\tdelete collection.summaries;\n\t\t}\n\t}\n\n};\n\nvar Item = {\n\n\tmigrate(item, collection = null, updateVersionNumber = true) {\n\t\tV.set(item);\n\t\tif (updateVersionNumber) {\n\t\t\titem.stac_version = LATEST_VERSION;\n\t\t}\n\n\t\t_.ensure(item, 'stac_extensions', []) && DONE;\n\t\tV.before('1.0.0-rc.1') && _.migrateExtensionShortnames(item) && DONE;\n\n\t\t_.ensure(item, 'id', '') && DONE;\n\t\t_.ensure(item, 'type', 'Feature') && DONE;\n\t\tif (!_.isObject(item.geometry)) {\n\t\t\titem.geometry = null;\n\t\t}\n\t\tif (item.geometry !== null) {\n\t\t\t_.ensure(item, 'bbox', []) && DONE;\n\t\t}\n\t\t_.ensure(item, 'properties', {}) && DONE;\n\t\t_.ensure(item, 'links', []) && DONE;\n\t\t_.ensure(item, 'assets', {}) && DONE;\n\n\t\t// Migrate Commons extension - part 1\n\t\tlet commons = false;\n\t\tif (_.isObject(collection) && _.isObject(collection.properties)) {\n\t\t\t_.removeFromArray(item, 'stac_extensions', 'commons');\n\t\t\titem.properties = Object.assign({}, collection.properties, item.properties);\n\t\t\tcommons = true;\n\t\t}\n\n\t\t_.runAll(Item, item, item);\n\n\t\tFields.migrate(item.properties, item);\n\n\t\tAsset.migrateAll(item);\n\n\t\t// Also populate extensions if commons has been implemented\n\t\t(V.before('0.8.0') || commons) && _.populateExtensions(item, 'item') && DONE;\n\n\t\treturn item;\n\t}\n\n};\n\nvar CollectionCollection = {\n\n\tmigrate(object, updateVersionNumber = true) {\n\t\t_.ensure(object, 'collections', []) && DONE;\n\t\t_.ensure(object, 'links', []) && DONE;\n\n\t\t_.runAll(CollectionCollection, object, object);\n\n\t\tobject.collections = object.collections.map(collection => Collection.migrate(collection, updateVersionNumber));\n\n\t\treturn object;\n\t},\n\n};\n\nvar ItemCollection = {\n\n\tmigrate(itemCollection, updateVersionNumber = true) {\n\t\t_.ensure(itemCollection, 'type', 'FeatureCollection') && DONE;\n\t\t_.ensure(itemCollection, 'features', []) && DONE;\n\t\t_.ensure(itemCollection, 'links', []) && DONE;\n\n\t\t_.runAll(ItemCollection, itemCollection, itemCollection);\n\n\t\titemCollection.features = itemCollection.features.map(feature => Item.migrate(feature, null, updateVersionNumber));\n\n\t\treturn itemCollection;\n\t},\n\n};\n\nvar Asset = {\n\n\tmigrateAll(context, field = 'assets') {\n\t\tfor(let key in context[field]) {\n\t\t\tAsset.migrate(context[field][key], context);\n\t\t}\n\t},\n\n\tmigrate(asset, context) {\n\t\t_.runAll(Asset, asset, context);\n\n\t\tFields.migrate(asset, context);\n\n\t\treturn asset;\n\t},\n\n\tmediaTypes(asset) {\n\t\t_.is(asset.type, 'string') && _.mapValues(\n\t\t\tasset, 'type',\n\t\t\t['image/vnd.stac.geotiff', \t\t\t'image/vnd.stac.geotiff; cloud-optimized=true'],\n\t\t\t['image/tiff; application=geotiff',\t'image/tiff; application=geotiff; profile=cloud-optimized']\n\t\t);\n\t},\n\n\teo(asset, context) {\n\t\tlet bands = _.isObject(context.properties) && Array.isArray(context.properties['eo:bands']) ? context.properties['eo:bands'] : [];\n\t\tif (Array.isArray(asset['eo:bands'])) {\n\t\t\tfor(let i in asset['eo:bands']) {\n\t\t\t\tlet band = asset['eo:bands'][i];\n\t\t\t\tif (_.is(band, 'number') && _.isObject(bands[band])) {\n\t\t\t\t\tband = bands[band];\n\t\t\t\t}\n\t\t\t\telse if (!_.isObject(band)) {\n\t\t\t\t\tband = {}; // \"Fix\" invalid band index\n\t\t\t\t}\n\t\t\t\tasset['eo:bands'][i] = band;\n\t\t\t}\n\t\t}\n\t}\n\n};\n\nvar Fields = {\n\n\tmigrate(obj, context, summaries = false) {\n\t\t_.runAll(Fields, obj, context, summaries);\n\n\t\treturn obj;\n\t},\n\n\t_commonMetadata(obj) {\n\t\t// Timestamps must be always in UTC\n\t\t// datetime, start_datetime and end_datetime already required UTC before\n\t\tif (V.before('1.0.0-rc.3')) {\n\t\t\t_.toUTC(obj, 'created') && DONE;\n\t\t\t_.toUTC(obj, 'updated') && DONE;\n\t\t}\n\t},\n\n\t_timestamps(obj, context) {\n\t\t// Timestamps must be always in UTC\n\t\t_.toUTC(obj, 'published') && DONE;\n\t\t_.toUTC(obj, 'expires') && DONE;\n\t\t_.toUTC(obj, 'unpublished') && DONE;\n\n\t\t_.upgradeExtension(context, SCHEMAS.timestamps);\n\t},\n\n\t_versioningIndicator(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.version);\n\t},\n\n\tchecksum(obj, context) {\n\t\tif (V.before('0.9.0') && Checksum.multihash) {\n\t\t\t_.rename(obj, 'checksum:md5', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'md5') && DONE;\n\t\t\t_.rename(obj, 'checksum:sha1', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha1') && DONE;\n\t\t\t// We assume sha2/3-256 although that may fail in some cases and other lengths are chosen\n\t\t\t// Never seen this implemtned in the wild, so let's try this until another use case comes up\n\t\t\t_.rename(obj, 'checksum:sha2', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha2-256') && DONE;\n\t\t\t_.rename(obj, 'checksum:sha3', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha3-256') && DONE;\n\t\t}\n\n\t\tV.before('1.0.0-rc.1') && _.rename(obj, 'checksum:multihash', 'file:checksum') && _.addExtension(context, SCHEMAS.file) && DONE;\n\n\t\t_.removeExtension(context, 'checksum');\n\t},\n\n\tclassification(obj, context) {\n\t\tif (V.before('1.1.0', 'classification')) {\n\t\t\t_.forAll(obj, 'classification:classes', o => _.rename(o, 'color-hint', 'color_hint')) && DONE;\n\t\t}\n\n\t\t_.upgradeExtension(context, SCHEMAS.classification);\n\t},\n\n\tcube(obj, context) {\n\t\t// We'd need to convert proj strings to something else for v1.0 -> v2.0, but that's unfeasible here.\n\t\t// Nothing else to do here.\n\n\t\t_.upgradeExtension(context, SCHEMAS.datacube);\n\t},\n\n\tdtr(obj, context) {\n\t\tif (V.before('0.9.0')) {\n\t\t\t_.rename(obj, 'dtr:start_datetime', 'start_datetime') && DONE;\n\t\t\t_.rename(obj, 'dtr:end_datetime', 'end_datetime') && DONE;\n\t\t\t_.removeExtension(context, 'datetime-range') && DONE;\n\t\t}\n\t},\n\n\teo(obj, context) {\n\t\tif (V.before('0.9.0')) {\n\t\t\t_.rename(obj, 'eo:epsg', 'proj:epsg') && _.addExtension(context, SCHEMAS.projection) && DONE;\n\t\t\t_.rename(obj, 'eo:platform', 'platform') && DONE;\n\t\t\t_.rename(obj, 'eo:instrument', 'instruments') && _.toArray(obj, 'instruments') && DONE;\n\t\t\t_.rename(obj, 'eo:constellation', 'constellation') && DONE;\n\t\t\t_.rename(obj, 'eo:off_nadir', 'view:off_nadir') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t\t_.rename(obj, 'eo:azimuth', 'view:azimuth') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t\t_.rename(obj, 'eo:incidence_angle', 'view:incidence_angle') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t\t_.rename(obj, 'eo:sun_azimuth', 'view:sun_azimuth') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t\t_.rename(obj, 'eo:sun_elevation', 'view:sun_elevation') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t}\n\n\t\tV.before('1.0.0-beta.1') && _.rename(obj, 'eo:gsd', 'gsd') && DONE;\n\n\t\t_.upgradeExtension(context, SCHEMAS.eo);\n\t},\n\n\tfile(obj, context) {\n\t\t// TODO: Migrate to v2.1.0 - https://github.com/stac-utils/stac-migrate/issues/7\n\n\t\t_.upgradeExtension(context, SCHEMAS.file);\n\t},\n\n\tlabel(obj, context) {\n\t\t// Migrate 0.8.0-rc1 non-pluralized forms\n\t\tif (V.before('0.8.0')) {\n\t\t\t_.rename(obj, 'label:property', 'label:properties') && DONE;\n\t\t\t_.rename(obj, 'label:task', 'label:tasks') && DONE;\n\t\t\t_.rename(obj, 'label:overview', 'label:overviews') && _.toArray(obj, 'label:overviews') && DONE;\n\t\t\t_.rename(obj, 'label:method', 'label:methods') && DONE;\n\t\t\t_.toArray(obj, 'label:classes') && DONE;\n\t\t}\n\n\t\t_.upgradeExtension(context, SCHEMAS.label);\n\t},\n\n\tpc(obj, context) {\n\t\tV.before('0.8.0') && _.rename(obj, 'pc:schema', 'pc:schemas') && DONE;\n\n\t\t_.upgradeExtension(context, SCHEMAS.pointcloud);\n\t},\n\n\tprocessing(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.processing);\n\t},\n\n\tproj(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.projection);\n\t},\n\n\traster(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.raster);\n\t},\n\n\tsar(obj, context, summary) {\n\t\t// Which version have they been (re)moved?\n\t\t_.rename(obj, 'sar:incidence_angle', 'view:incidence_angle') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t_.rename(obj, 'sar:pass_direction', 'sat:orbit_state') && _.mapValues(obj, 'sat:orbit_state', [null], ['geostationary']) && _.addExtension(context, SCHEMAS.sat) && DONE;\n\n\t\tif (V.before('0.7.0')) {\n\t\t\t_.flattenArray(obj, 'sar:resolution', ['sar:resolution_range', 'sar:resolution_azimuth'], summary) && DONE;\n\t\t\t_.flattenArray(obj, 'sar:pixel_spacing', ['sar:pixel_spacing_range', 'sar:pixel_spacing_azimuth'], summary) && DONE;\n\t\t\t_.flattenArray(obj, 'sar:looks', ['sar:looks_range', 'sar:looks_azimuth', 'sar:looks_equivalent_number'], summary) && DONE;\n\t\t\t_.rename(obj, 'sar:off_nadir', 'view:off_nadir') && _.addExtension(context, SCHEMAS.view) && DONE;\n\t\t}\n\n\t\tif (V.before('0.9.0')) {\n\t\t\t_.rename(obj, 'sar:platform', 'platform') && DONE;\n\t\t\t_.rename(obj, 'sar:instrument', 'instruments') && _.toArray(obj, 'instruments') && DONE;\n\t\t\t_.rename(obj, 'sar:constellation', 'constellation') && DONE;\n\t\t\t_.rename(obj, 'sar:type', 'sar:product_type') && DONE;\n\t\t\t_.rename(obj, 'sar:polarization', 'sar:polarizations') && DONE;\n\t\t\t_.flattenOneElementArray(obj, 'sar:absolute_orbit', summary) && _.rename(obj, 'sar:absolute_orbit', 'sat:absolute_orbit') && _.addExtension(context, SCHEMAS.sat) && DONE;\n\t\t\t_.flattenOneElementArray(obj, 'sar:relative_orbit', summary) && _.rename(obj, 'sar:relative_orbit', 'sat:relative_orbit') && _.addExtension(context, SCHEMAS.sat) && DONE;\n\t\t}\n\n\t\t_.upgradeExtension(context, SCHEMAS.sar);\n\t},\n\n\tsat(obj, context) {\n\t\t// Migrate 0.9.0-rc _angle suffixes\n\t\tif (V.before('0.9.0')) {\n\t\t\t_.rename(obj, 'sat:off_nadir_angle', 'sat:off_nadir') && DONE;\n\t\t\t_.rename(obj, 'sat:azimuth_angle', 'sat:azimuth') && DONE;\n\t\t\t_.rename(obj, 'sat:sun_azimuth_angle', 'sat:sun_azimuth') && DONE;\n\t\t\t_.rename(obj, 'sat:sun_elevation_angle', 'sat:sun_elevation') && DONE;\n\t\t}\n\n\t\t_.upgradeExtension(context, SCHEMAS.sat);\n\t},\n\n\tsci(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.scientific);\n\t},\n\n\titem(obj) { // Single Item\n\t\tif (V.before('0.8.0')) {\n\t\t\t_.rename(obj, 'item:license', 'license') && DONE;\n\t\t\t_.rename(obj, 'item:providers', 'providers') && DONE;\n\t\t\t// No need to remove the extension from stac_extensions as it was not available before 0.8.0\n\t\t}\n\t},\n\n\ttable(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.table);\n\t},\n\n\tview(obj, context) {\n\t\t// Nothing to do\n\n\t\t_.upgradeExtension(context, SCHEMAS.view);\n\t}\n\n};\n\nvar Migrate = {\n\n\titem(item, collection = null, updateVersionNumber = true) {\n\t\treturn Item.migrate(item, collection, updateVersionNumber);\n\t},\n\t\n\tcatalog(catalog, updateVersionNumber = true) {\n\t\treturn Catalog.migrate(catalog, updateVersionNumber);\n\t},\n\t\n\tcollection(collection, updateVersionNumber = true) {\n\t\treturn Collection.migrate(collection, updateVersionNumber);\n\t},\n\n\tcollectionCollection(collections, updateVersionNumber = true) {\n\t\treturn CollectionCollection.migrate(collections, updateVersionNumber);\n\t},\n\n\titemCollection(itemCollection, updateVersionNumber = true) {\n\t\treturn ItemCollection.migrate(itemCollection, updateVersionNumber);\n\t},\n\t\n\tstac(object, updateVersionNumber = true) {\n\t\tif (object.type === 'Feature') {\n\t\t\treturn Migrate.item(object, null, updateVersionNumber);\n\t\t}\n\t\telse if (object.type === 'FeatureCollection') {\n\t\t\treturn Migrate.itemCollection(object, updateVersionNumber);\n\t\t}\n\t\telse if (object.type === 'Collection' || (!object.type && _.isDefined(object.extent) && _.isDefined(object.license))) {\n\t\t\treturn Migrate.collection(object, updateVersionNumber);\n\t\t}\n\t\telse if (!object.type && Array.isArray(object.collections)) {\n\t\t\treturn Migrate.collectionCollection(object, updateVersionNumber);\n\t\t}\n\t\telse {\n\t\t\treturn Migrate.catalog(object, updateVersionNumber);\n\t\t}\n\t},\n\n\tenableMultihash(multihash) {\n\t\tChecksum.multihash = multihash;\n\t}\n\n};\n\nmodule.exports = Migrate;\n","/**\n * The base class for authentication providers such as Basic and OpenID Connect.\n * \n * @abstract\n */\nclass AuthProvider {\n\n\t/**\n\t * Creates a new OidcProvider instance to authenticate using OpenID Connect.\n\t * \n\t * @param {string} type - The type of the authentication procedure as specified by the API, e.g. `oidc` or `basic`.\n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {AuthProviderMeta} options - Options\n\t */\n\tconstructor(type, connection, options) {\n\t\tthis.id = options.id || null;\n\t\tthis.title = options.title || \"\";\n\t\tthis.description = options.description || \"\";\n\t\tthis.type = type;\n\t\t/**\n\t\t * @protected\n\t\t * @type {Connection}\n\t\t */\n\t\tthis.connection = connection;\n\t\tthis.token = null;\n\t}\n\n\t/**\n\t * Get an identifier for the auth provider (combination of the type + provider identifier).\n\t * \n\t * @returns {string}\n\t */\n\tgetId() {\n\t\tlet id = this.getType();\n\t\tif (this.getProviderId().length > 0) {\n\t\t\tid += '.' + this.getProviderId();\n\t\t}\n\t\treturn id;\n\t}\n\n\t/**\n\t * Returns a display name for the authenticated user.\n\t * \n\t * @returns {string?} Name of the user or `null`\n\t */\n\tgetDisplayName() {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Returns the type of the authentication procedure as specified by the API, e.g. `oidc` or `basic`.\n\t * \n\t * @returns {string}\n\t */\n\tgetType() {\n\t\treturn this.type;\n\t}\n\n\t/**\n\t * Returns the provider identifier, may not be available for all authentication methods.\n\t * \n\t * @returns {string}\n\t */\n\tgetProviderId() {\n\t\treturn typeof this.id === 'string' ? this.id : \"\";\n\t}\n\n\t/**\n\t * Returns the human-readable title for the authentication method / provider.\n\t * \n\t * @returns {string}\n\t */\n\tgetTitle() {\n\t\treturn this.title;\n\t}\n\n\t/**\n\t * Returns the human-readable description for the authentication method / provider.\n\t * \n\t * @returns {string}\n\t */\n\tgetDescription() {\n\t\treturn this.description;\n\t}\n\n\t/**\n\t * Returns the access token that is used as Bearer Token in API requests.\n\t * \n\t * Returns `null` if no access token has been set yet (i.e. not authenticated any longer).\n\t * \n\t * @returns {string | null}\n\t */\n\tgetToken() {\n\t\tif (typeof this.token === 'string') {\n\t\t\treturn this.getType() + \"/\" + this.getProviderId() + \"/\" + this.token;\n\t\t}\n\t\telse {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Sets the access token that is used as Bearer Token in API requests.\n\t * \n\t * Set to `null` to remove the access token.\n\t * \n\t * This also manages which auth provider is set for the connection.\n\t * \n\t * @param {?string} token \n\t */\n\tsetToken(token) {\n\t\tthis.token = token;\n\t\tthis.connection.emit('tokenChanged', token);\n\t\tif (this.token !== null) {\n\t\t\tthis.connection.setAuthProvider(this);\n\t\t}\n\t\telse {\n\t\t\tthis.connection.setAuthProvider(null);\n\t\t}\n\t}\n\n\t/**\n\t * Abstract method that extending classes implement the login process with.\n\t * \n\t * @async\n\t * @param {...*} args \n\t * @throws {Error}\n\t */\n\tasync login(...args) {\n\t\tthrow new Error(\"Not implemented.\", args);\n\t}\n\n\t/**\n\t * Logout from the established session.\n\t * \n\t * This is experimental and just removes the token for now.\n\t * May need to be overridden by sub-classes.\n\t * \n\t * @async\n\t */\n\tasync logout() {\n\t\tthis.setToken(null);\n\t}\n\n}\n\nmodule.exports = AuthProvider;\n","/**\n * The base class for entities such as Job, Process Graph, Service etc.\n * \n * @abstract\n */\nclass BaseEntity {\n\n\t/**\n\t * Creates an instance of this object.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {Array.>} properties - A mapping from the API property names to the JS client property names (usually to convert between snake_case and camelCase), e.g. `[\"id\", \"title\", [\"process_graph\", \"processGraph\"]]`\n\t */\n\tconstructor(connection, properties = []) {\n\t\t/**\n\t\t * @protected\n\t\t * @type {Connection}\n\t\t */\n\t\tthis.connection = connection;\n\t\t/**\n\t\t * @protected\n\t\t * @type {object.}\n\t\t */\n\t\tthis.apiToClientNames = {};\n\t\t/**\n\t\t * @protected\n\t\t * @type {object.}\n\t\t */\n\t\tthis.clientToApiNames = {};\n\t\t/**\n\t\t * @protected\n\t\t * @type {number}\n\t\t */\n\t\tthis.lastRefreshTime = 0;\n\t\t/**\n\t\t * Additional (non-standardized) properties received from the API.\n\t\t * \n\t\t * @protected\n\t\t * @type {object.}\n\t\t */\n\t\tthis.extra = {};\n\t\t\n\t\tfor(let i in properties) {\n\t\t\tlet backend, client;\n\t\t\tif (Array.isArray(properties[i])) {\n\t\t\t\tbackend = properties[i][0];\n\t\t\t\tclient = properties[i][1];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tbackend = properties[i];\n\t\t\t\tclient = properties[i];\n\t\t\t}\n\t\t\tthis.apiToClientNames[backend] = client;\n\t\t\tthis.clientToApiNames[client] = backend;\n\t\t}\n\t}\n\n\t/**\n\t * Returns a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {object.}\n\t */\n\ttoJSON() {\n\t\tlet obj = {};\n\t\tfor(let key in this.clientToApiNames) {\n\t\t\tlet apiKey = this.clientToApiNames[key];\n\t\t\tif (typeof this[key] !== 'undefined') {\n\t\t\t\tobj[apiKey] = this[key];\n\t\t\t}\n\t\t}\n\t\treturn Object.assign(obj, this.extra);\n\t}\n\n\t/**\n\t * Converts the data from an API response into data suitable for our JS client models.\n\t * \n\t * @param {object.} metadata - JSON object originating from an API response.\n\t * @returns {BaseEntity} Returns the object itself.\n\t */\n\tsetAll(metadata) {\n\t\tfor(let name in metadata) {\n\t\t\tif (typeof this.apiToClientNames[name] === 'undefined') {\n\t\t\t\tthis.extra[name] = metadata[name];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis[this.apiToClientNames[name]] = metadata[name];\n\t\t\t}\n\t\t}\n\t\tthis.lastRefreshTime = Date.now();\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns the age of the data in seconds.\n\t * \n\t * @returns {number} Age of the data in seconds as integer.\n\t */\n\tgetDataAge() {\n\t\treturn (Date.now() - this.lastRefreshTime) / 1000;\n\t}\n\n\t/**\n\t * Returns all data in the model.\n\t * \n\t * @returns {object.}\n\t */\n\tgetAll() {\n\t\tlet obj = {};\n\t\tfor(let backend in this.apiToClientNames) {\n\t\t\tlet client = this.apiToClientNames[backend];\n\t\t\tif (typeof this[client] !== 'undefined') {\n\t\t\t\tobj[client] = this[client];\n\t\t\t}\n\t\t}\n\t\treturn Object.assign(obj, this.extra);\n\t}\n\n\t/**\n\t * Get a value from the additional data that is not part of the core model, i.e. from proprietary extensions.\n\t * \n\t * @param {string} name - Name of the property.\n\t * @returns {*} The value, which could be of any type.\n\t */\n\tget(name) {\n\t\treturn typeof this.extra[name] !== 'undefined' ? this.extra[name] : null;\n\t}\n\n\t/**\n\t * Converts the object to a valid objects for API requests.\n\t * \n\t * @param {object.} parameters\n\t * @returns {object.}\n\t * @protected\n\t */\n\t_convertToRequest(parameters) {\n\t\tlet request = {};\n\t\tfor(let key in parameters) {\n\t\t\tif (typeof this.clientToApiNames[key] === 'undefined') {\n\t\t\t\trequest[key] = parameters[key];\n\t\t\t}\n\t\t\telse {\n\t\t\t\trequest[this.clientToApiNames[key]] = parameters[key];\n\t\t\t}\n\t\t}\n\t\treturn request;\n\t}\n\n\t/**\n\t * Checks whether a features is supported by the API.\n\t * \n\t * @param {string} feature\n\t * @returns {boolean}\n\t * @protected\n\t * @see Capabilities#hasFeature\n\t */\n\t_supports(feature) {\n\t\treturn this.connection.capabilities().hasFeature(feature);\n\t}\n\n}\n\nmodule.exports = BaseEntity;\n","const Environment = require('./env');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst AuthProvider = require('./authprovider');\n\n/**\n * The Authentication Provider for HTTP Basic.\n * \n * @augments AuthProvider\n */\nclass BasicProvider extends AuthProvider {\n\n\t/**\n\t * Creates a new BasicProvider instance to authenticate using HTTP Basic.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t */\n\tconstructor(connection) {\n\t\tsuper(\"basic\", connection, {\n\t\t\tid: null,\n\t\t\ttitle: \"HTTP Basic\",\n\t\t\tdescription: \"Login with username and password using the method HTTP Basic.\"\n\t\t});\n\t\tthis.username = null;\n\t}\n\n\t/**\n\t * Authenticate with HTTP Basic.\n\t * \n\t * @async\n\t * @param {string} username \n\t * @param {string} password \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync login(username, password) {\n\t\tlet response = await this.connection._send({\n\t\t\tmethod: 'get',\n\t\t\tresponseType: 'json',\n\t\t\turl: '/credentials/basic',\n\t\t\theaders: {'Authorization': 'Basic ' + Environment.base64encode(username + ':' + password)}\n\t\t});\n\t\tif (!Utils.isObject(response.data) || typeof response.data.access_token !== 'string') {\n\t\t\tthrow new Error(\"No access_token returned.\");\n\t\t}\n\t\tthis.username = username;\n\t\tthis.setToken(response.data.access_token);\n\t}\n\n\t/**\n\t * Returns a display name for the authenticated user.\n\t * \n\t * @returns {string?} Name of the user or `null`\n\t */\n\tgetDisplayName() {\n\t\treturn this.username;\n\t}\n\n\t/**\n\t * Logout from the established session.\n\t * \n\t * @async\n\t */\n\tasync logout() {\n\t\tthis.username = null;\n\t\tawait super.logout();\n\t}\n\n}\n\nmodule.exports = BasicProvider;","/**\n * Platform dependant utilities for the openEO JS Client.\n * \n * Browser implementation, don't use in other environments.\n * \n * @hideconstructor\n */\nclass Environment {\n\n\t/**\n\t * Returns the name of the Environment, here `Browser`.\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getName() {\n\t\treturn 'Browser';\n\t}\n\n\t/**\n\t * Returns the current URL of the browser window.\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getUrl() {\n\t\treturn window.location.toString();\n\t}\n\n\t/**\n\t * Sets the URL.\n\t * \n\t * Not supported in Browsers and only throws an Error!\n\t * \n\t * @param {string} uri\n\t * @static\n\t */\n\tstatic setUrl(uri) { // eslint-disable-line no-unused-vars\n\t\tthrow new Error(\"setUrl is not supported in a browser environment.\");\n\t}\n\n\t/**\n\t * Handles errors from the API that are returned as Blobs.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {Blob} error \n\t * @returns {Promise}\n\t */\n\tstatic handleErrorResponse(error) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet fileReader = new FileReader();\n\t\t\tfileReader.onerror = event => {\n\t\t\t\tfileReader.abort();\n\t\t\t\treject(event.target.error);\n\t\t\t};\n\t\t\tfileReader.onload = () => {\n\t\t\t\t// ArrayBuffer to String conversion is from https://developers.google.com/web/updates/2012/06/How-to-convert-ArrayBuffer-to-and-from-String\n\t\t\t\tlet res = fileReader.result instanceof ArrayBuffer ? String.fromCharCode.apply(null, new Uint16Array(fileReader.result)) : fileReader.result;\n\t\t\t\tlet obj = typeof res === 'string' ? JSON.parse(res) : res;\n\t\t\t\tresolve(obj);\n\t\t\t};\n\t\t\tfileReader.readAsText(error.response.data);\n\t\t});\n\t}\n\n\t/**\n\t * Returns how binary responses from the servers are returned (`stream` or `blob`).\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getResponseType() {\n\t\treturn 'blob';\n\t}\n\n\t/**\n\t * Encodes a string into Base64 encoding.\n\t * \n\t * @static\n\t * @param {string} str - String to encode.\n\t * @returns {string} String encoded in Base64.\n\t */\n\tstatic base64encode(str) {\n\t\t// btoa is JS's ugly name for encodeBase64\n\t\treturn btoa(str);\n\t}\n\n\t/**\n\t * Detect the file name for the given data source.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {*} source - An object from a file upload form.\n\t * @returns {string}\n\t */\n\tstatic fileNameForUpload(source) {\n\t\treturn source.name.split(/(\\\\|\\/)/g).pop();\n\t}\n\n\t/**\n\t * Get the data from the source that should be uploaded.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {*} source - An object from a file upload form.\n\t * @returns {*}\n\t */\n\tstatic dataForUpload(source) {\n\t\treturn source;\n\t}\n\n\t/**\n\t * Downloads files to local storage and returns a list of file paths.\n\t * \n\t * Not supported in Browsers and only throws an Error!\n\t * \n\t * @static\n\t * @param {Connection} con \n\t * @param {Array.>} assets \n\t * @param {string} targetFolder \n\t * @throws {Error}\n\t */\n\tstatic async downloadResults(con, assets, targetFolder) { // eslint-disable-line no-unused-vars\n\t\tthrow new Error(\"downloadResults is not supported in a browser environment.\");\n\t}\n\n\t/**\n\t * Offers data to download in the browser.\n\t * \n\t * This method may fail with overly big data.\n\t * \n\t * @async\n\t * @static\n\t * @param {*} data - Data to download.\n\t * @param {string} filename - File name that is suggested to the user.\n\t * @returns {Promise}\n\t * @see https://github.com/kennethjiang/js-file-download/blob/master/file-download.js\n\t */\n\tstatic saveToFile(data, filename) {\n\t\t/* istanbul ignore next */\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!(data instanceof Blob)) {\n\t\t\t\t\tdata = new Blob([data], {type: 'application/octet-stream'});\n\t\t\t\t}\n\t\t\t\tlet blobURL = window.URL.createObjectURL(data);\n\t\t\t\tlet tempLink = document.createElement('a');\n\t\t\t\ttempLink.style.display = 'none';\n\t\t\t\ttempLink.href = blobURL;\n\t\t\t\ttempLink.setAttribute('download', filename || 'download');\n\t\t\t\tif (typeof tempLink.download === 'undefined') {\n\t\t\t\t\ttempLink.setAttribute('target', '_blank');\n\t\t\t\t}\n\t\t\t\tdocument.body.appendChild(tempLink);\n\t\t\t\ttempLink.click();\n\t\t\t\tdocument.body.removeChild(tempLink);\n\t\t\t\twindow.URL.revokeObjectURL(blobURL);\n\t\t\t\tresolve();\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error);\n\t\t\t\treject(error);\n\t\t\t}\n\t\t});\n\t}\n}\n\nmodule.exports = Environment;\n","const BuilderNode = require('./node');\nconst Parameter = require('./parameter');\nconst axios = require('axios');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst ProcessUtils = require(\"@openeo/js-commons/src/processUtils\");\nconst ProcessRegistry = require('@openeo/js-commons/src/processRegistry');\n\nconst PROCESS_META = [\n\t\"id\", \"summary\", \"description\", \"categories\", \"parameters\", \"returns\",\n\t\"deprecated\", \"experimental\", \"exceptions\", \"examples\", \"links\"\n];\n\n/**\n * A class to construct processes easily.\n * \n * An example (`con` is a object of type `Connection`):\n * \n * ```\n * var builder = await con.buildProcess();\n * \n * var datacube = builder.load_collection(\n * new Parameter(\"collection-id\", \"string\", \"The ID of the collection to load\"), // collection-id is then a process parameter that can be specified by users.\n * { \"west\": 16.1, \"east\": 16.6, \"north\": 48.6, \"south\": 47.2 },\n * [\"2018-01-01\", \"2018-02-01\"],\n * [\"B02\", \"B04\", \"B08\"]\n * );\n * \n * // Alternative 1 - using the Formula class\n * var eviAlgorithm = new Formula('2.5 * (($B08 - $B04) / (1 + $B08 + 6 * $B04 + -7.5 * $B02))');\n * // Alternative 2 - \"by hand\"\n * var eviAlgorithm = function(data) {\n * var nir = data[\"B08\"]; // Array access by label, accessing label \"B08\" here\n * var red = data[\"B04\"];\n * var blue = data[\"B02\"];\n * return this.multiply(\n * 2.5,\n * this.divide(\n * this.subtract(nir, red),\n * this.sum([\n * 1,\n * nir,\n * this.multiply(6, red),\n * this.multiply(-7.5, blue)\n * ])\n * )\n * );\n * };\n * datacube = builder.reduce_dimension(datacube, eviAlgorithm, \"bands\")\n * .description(\"Compute the EVI. Formula: 2.5 * (NIR - RED) / (1 + NIR + 6*RED + -7.5*BLUE)\");\n * \n * var min = function(data) { return this.min(data); };\n * datacube = builder.reduce_dimension(datacube, min, \"t\");\n * \n * datacube = builder.save_result(datacube, \"PNG\");\n * \n * var storedProcess = await con.setUserProcess(\"evi\", datacube);\n * ```\n * \n * As you can see above, the builder in callback functions is available as `this`.\n * Arrow functions do not support rebinding this and therefore the builder is passed as the last argument.\n * \n * So a normal function can be defined as follows:\n * ```\n * let callback = function(data) {\n * return this.mean(data);\n * }\n * ```\n * \n * An arrow function on the other hand has to use the builder that is passed as the last parameter:\n * ```\n * let callback = (data, c, builder) => builder.mean(data);\n * ```\n * \n * Using arrow functions is available only since JS client version 1.3.0.\n * Beforehand it was not possible to use arrow functions in this context.\n */\nclass Builder {\n\n\t/**\n\t * Creates a Builder instance that can be used without connecting to a back-end.\n\t * \n\t * It requests the processes for the version specified from processes.openeo.org.\n\t * Requests the latest version if no version number is passed.\n\t * \n\t * @async\n\t * @static\n\t * @param {?string} [version=null]\n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tstatic async fromVersion(version = null) {\n\t\tlet url = 'https://processes.openeo.org/processes.json';\n\t\tif (typeof version === 'string') {\n\t\t\turl = 'https://processes.openeo.org/' + version + '/processes.json';\n\t\t}\n\t\treturn await Builder.fromURL(url);\n\t}\n\n\t/**\n\t * Creates a Builder instance that can be used without connecting to a back-end.\n\t * \n\t * It requests the processes for the version specified from the given URL.\n\t * CORS needs to be implemented on the server-side for the URL given.\n\t * \n\t * @async\n\t * @static\n\t * @param {string | null} url \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tstatic async fromURL(url) {\n\t\tlet response = await axios(url);\n\t\treturn new Builder(response.data);\n\t}\n\n\t/**\n\t * Creates a Builder instance.\n\t * \n\t * Each process passed to the constructor is made available as object method.\n\t * \n\t * @param {Array.|Processes|ProcessRegistry} processes - Either an array containing processes or an object compatible with `GET /processes` of the API.\n\t * @param {?Builder} parent - The parent builder, usually only used by the Builder itself.\n\t * @param {string} id - A unique identifier for the process.\n\t */\n\tconstructor(processes, parent = null, id = undefined) {\n\t\t/**\n\t\t * A unique identifier for the process.\n\t\t * @public\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = id;\n\t\t/**\n\t\t * The parent builder.\n\t\t * @type {Builder | null}\n\t\t */\n\t\tthis.parent = parent;\n\t\t/**\n\t\t * The parent node.\n\t\t * @type {BuilderNode | null}\n\t\t */\n\t\tthis.parentNode = null;\n\t\t/**\n\t\t * The parent parameter name.\n\t\t * @type {string | null}\n\t\t */\n\t\tthis.parentParameter = null;\n\t\t\n\t\tthis.nodes = {};\n\t\tthis.idCounter = {};\n\t\tthis.callbackParameterCache = {};\n\t\tthis.parameters = undefined;\n\n\t\t/**\n\t\t * List of all non-namespaced process specifications.\n\t\t * @type {ProcessRegistry}\n\t\t */\n\t\tthis.processes = null;\n\n\t\t// Create process registry if not available yet\n\t\tif (processes instanceof ProcessRegistry) {\n\t\t\tthis.processes = processes;\n\t\t}\n\t\telse if (Utils.isObject(processes) && Array.isArray(processes.processes)) {\n\t\t\tthis.processes = new ProcessRegistry(processes.processes);\n\t\t}\n\t\telse if (Array.isArray(processes)) {\n\t\t\tthis.processes = new ProcessRegistry(processes);\n\t\t}\n\t\telse {\n\t\t\tthrow new Error(\"Processes are invalid; must be array or object according to the API.\");\n\t\t}\n\n\t\t// Create processes\n\t\tthis.processes.all().forEach(process => this.createFunction(process));\n\t}\n\n\t/**\n\t * Creates a callable function on the builder object for a process.\n\t * \n\t * @param {Process} process\n\t * @throws {Error}\n\t */\n\tcreateFunction(process) {\n\t\tif (typeof this[process.id] !== 'undefined') {\n\t\t\tthrow new Error(\"Can't create function for process '\" + process.id + \"'. Already exists in Builder class.\");\n\t\t}\n\n\t\t/**\n\t\t * Implicitly calls the process with the given name on the back-end by adding it to the process.\n\t\t * \n\t\t * This is a shortcut for {@link Builder#process}.\n\t\t * \n\t\t * @param {...*} args - The arguments for the process.\n\t\t * @returns {BuilderNode}\n\t\t * @see Builder#process\n\t\t */\n\t\tthis[process.id] = function(...args) {\n\t\t\t// Don't use arrow functions, they don't support the arguments keyword.\n\t\t\treturn this.process(process.id, args);\n\t\t};\n\t}\n\n\t/**\n\t * Adds a process specification to the builder so that it can be used to create a process graph.\n\t * \n\t * @param {Process} process - Process specification compliant to openEO API\n\t * @param {?string} [namespace=null] - Namespace of the process (default to `null`, i.e. pre-defined processes). EXPERIMENTAL!\n\t * @throws {Error}\n\t */\n\taddProcessSpec(process, namespace = null) {\n\t\tif (!Utils.isObject(process)) {\n\t\t\tthrow new Error(\"Process '\" + process.id + \"' must be an object.\");\n\t\t}\n\n\t\tif (!namespace) {\n\t\t\tnamespace = 'backend';\n\t\t}\n\t\tthis.processes.add(process, namespace);\n\n\t\t// Create callable function for pre-defined processes\n\t\tif (namespace === 'backend') {\n\t\t\tthis.createFunction(process);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the parent for this Builder.\n\t * \n\t * @param {BuilderNode} node \n\t * @param {string} parameterName \n\t */\n\tsetParent(node, parameterName) {\n\t\tthis.parentNode = node;\n\t\tthis.parentParameter = parameterName;\n\t}\n\n\t/**\n\t * Creates a callback parameter with the given name.\n\t * \n\t * @protected\n\t * @param {string} parameterName \n\t * @returns {Proxy}\n\t */\n\tcreateCallbackParameter(parameterName) {\n\t\tif (!this.callbackParameterCache[parameterName]) {\n\t\t\tthis.callbackParameterCache[parameterName] = Parameter.create(this, parameterName);\n\t\t}\n\t\treturn this.callbackParameterCache[parameterName];\n\t}\n\n\t/**\n\t * Gets the callback parameter specifics from the parent process.\n\t * \n\t * @returns {Array.>}\n\t * @todo Should this also pass callback parameters from parents until root is reached?\n\t */\n\tgetParentCallbackParameters() {\n\t\tlet callbackParams = [];\n\t\tif (this.parentNode && this.parentParameter) {\n\t\t\ttry {\n\t\t\t\tcallbackParams = ProcessUtils.getCallbackParametersForProcess(this.parentNode.spec, this.parentParameter).map(param => this.createCallbackParameter(param.name));\n\t\t\t} catch(error) {\n\t\t\t\tconsole.warn(error);\n\t\t\t}\n\t\t}\n\t\treturn callbackParams;\n\t}\n\n\t/**\n\t * Adds a parameter to the list of process parameters.\n\t * \n\t * Doesn't add the parameter if it has the same name as a callback parameter.\n\t * \n\t * @param {object.} parameter - The parameter spec to add, must comply to the API.\n\t * @param {boolean} [root=true] - Adds the parameter to the root process if set to `true`, otherwise to the process constructed by this builder. Usually you want to add it to the root.\n\t */\n\taddParameter(parameter, root = true) {\n\t\tif (this.getParentCallbackParameters().find(p => p.name === parameter.name) !== undefined) {\n\t\t\treturn; // parameter refers to callback\n\t\t}\n\n\t\t/**\n\t\t * @type {Builder}\n\t\t */\n\t\tlet builder = this;\n\t\tif (root) {\n\t\t\twhile(builder.parent) {\n\t\t\t\tbuilder = builder.parent;\n\t\t\t}\n\t\t}\n\t\tif (!Array.isArray(builder.parameters)) {\n\t\t\tbuilder.parameters = [];\n\t\t}\n\t\tlet existing = builder.parameters.findIndex(p => p.name === parameter.name);\n\t\tif (existing !== -1) {\n\t\t\tObject.assign(builder.parameters[existing], parameter); // Merge\n\t\t}\n\t\telse {\n\t\t\tbuilder.parameters.push(parameter); // Add\n\t\t}\n\t}\n\n\t/**\n\t * Returns the process specification for the given process identifier and namespace (or `null`).\n\t * \n\t * @param {string} id - Process identifier\n\t * @param {?string} [namespace=null] - Namespace of the process (default to `null`, i.e. user or backend namespace). EXPERIMENTAL!\n\t * @returns {Process | null}\n\t */\n\tspec(id, namespace = null) {\n\t\treturn this.processes.get(id, namespace);\n\t}\n\n\t/**\n\t * Adds a mathematical formula to the process.\n\t * \n\t * See the {@link Formula} class for more information.\n\t * \n\t * @param {string} formula \n\t * @returns {BuilderNode}\n\t * @throws {Error}\n\t * @see Formula\n\t */\n\tmath(formula) {\n\t\tconst Formula = require('./formula');\n\t\tlet math = new Formula(formula);\n\t\tmath.setBuilder(this);\n\t\treturn math.generate(false);\n\t}\n\n\t/**\n\t * Checks whether a process with the given id and namespace is supported by the back-end.\n\t * \n\t * @param {string} processId - The id of the process.\n\t * @param {?string} [namespace=null] - Namespace of the process (default to `null`, i.e. pre-defined processes). EXPERIMENTAL!\n\t * @returns {boolean}\n\t */\n\tsupports(processId, namespace = null) {\n\t\treturn Boolean(this.spec(processId, namespace));\n\t}\n\n\t/**\n\t * Adds another process call to the process chain.\n\t * \n\t * @param {string} processId - The id of the process to call. To access a namespaced process, use the `process@namespace` notation.\n\t * @param {object.|Array} [args={}] - The arguments as key-value pairs or as array. For objects, they keys must be the parameter names and the values must be the arguments. For arrays, arguments must be specified in the same order as in the corresponding process.\n\t * @param {?string} [description=null] - An optional description for the process call.\n\t * @returns {BuilderNode}\n\t */\n\tprocess(processId, args = {}, description = null) {\n\t\tlet namespace = null;\n\t\tif (processId.includes('@')) {\n\t\t\tlet rest;\n\t\t\t[processId, ...rest] = processId.split('@');\n\t\t\tnamespace = rest.join('@');\n\t\t}\n\t\tlet node = new BuilderNode(this, processId, args, description, namespace);\n\t\tthis.nodes[node.id] = node;\n\t\treturn node;\n\t}\n\n\t/**\n\t * Returns a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {Process}\n\t */\n\ttoJSON() {\n\t\tlet process = {\n\t\t\tprocess_graph: Utils.mapObjectValues(this.nodes, node => node.toJSON())\n\t\t};\n\t\tPROCESS_META.forEach(key => {\n\t\t\tif (typeof this[key] !== 'undefined') {\n\t\t\t\tprocess[key] = this[key];\n\t\t\t}\n\t\t});\n\t\treturn process;\n\t}\n\t\n\t/**\n\t * Generates a unique identifier for the process nodes.\n\t * \n\t * A prefix can be given to make the identifiers more human-readable.\n\t * If the given name is empty, the id is simply an incrementing number.\n\t * \n\t * @param {string} [prefix=\"\"]\n\t * @returns {string}\n\t */\n\tgenerateId(prefix = \"\") {\n\t\tprefix = prefix.replace(\"_\", \"\").substr(0, 6);\n\t\tif (!this.idCounter[prefix]) {\n\t\t\tthis.idCounter[prefix] = 1;\n\t\t}\n\t\telse {\n\t\t\tthis.idCounter[prefix]++;\n\t\t}\n\t\treturn prefix + this.idCounter[prefix];\n\t}\n\n}\n\nmodule.exports = Builder;","const TapDigit = require(\"./tapdigit\");\nconst Parameter = require(\"./parameter\");\nconst BuilderNode = require('./node');\n\n/**\n * This converts a mathematical formula into a openEO process for you.\n * \n * Operators: - (subtract), + (add), / (divide), * (multiply), ^ (power)\n * \n * It supports all mathematical functions (i.e. expects a number and returns a number) the back-end implements, e.g. `sqrt(x)`.\n * For namespaced processes, use for example `process@namespace(x)` - EXPERIMENTAL!\n * \n * Only available if a builder is specified in the constructor:\n * You can refer to output from processes with a leading `#`, e.g. `#loadco1` if the node to refer to has the key `loadco1`.\n * \n * Only available if a parent node is set via `setNode()`:\n * Parameters can be accessed simply by name. \n * If the first parameter is a (labeled) array, the value for a specific index or label can be accessed by typing the numeric index or textual label with a `$` in front, for example `$B1` for the label `B1` or `$0` for the first element in the array. Numeric labels are not supported.\n * You can access subsequent parameters by adding additional `$` at the beginning, e.g. `$$0` to access the first element of an array in the second parameter, `$$$0` for the same in the third parameter etc.\n * \n * An example that computes an EVI (assuming the labels for the bands are `NIR`, `RED` and `BLUE`): `2.5 * ($NIR - $RED) / (1 + $NIR + 6 * $RED + (-7.5 * $BLUE))`\n */\nclass Formula {\n\n\t/**\n\t * Creates a math formula object.\n\t * \n\t * @param {string} formula - A mathematical formula to parse.y\n\t */\n\tconstructor(formula) {\n\t\tlet parser = new TapDigit.Parser();\n\t\t/**\n\t\t * @type {object.}\n\t\t */\n\t\tthis.tree = parser.parse(formula);\n\t\t/**\n\t\t * @type {Builder | null}\n\t\t */\n\t\tthis.builder = null;\n\t}\n\n\t/**\n\t * The builder instance to use.\n\t * \n\t * @param {Builder} builder - The builder instance to add the formula to.\n\t */\n\tsetBuilder(builder) {\n\t\tthis.builder = builder;\n\t}\n\n\t/**\n\t * Generates the processes for the formula specified in the constructor.\n\t * \n\t * Returns the last node that computes the result.\n\t * \n\t * @param {boolean} setResultNode - Set the `result` flag to `true`.\n\t * @returns {BuilderNode}\n\t * @throws {Error}\n\t */\n\tgenerate(setResultNode = true) {\n\t\tlet finalNode = this.parseTree(this.tree);\n\t\tif (!(finalNode instanceof BuilderNode)) {\n\t\t\tthrow new Error('Invalid formula specified.');\n\t\t}\n\t\t// Set result node\n\t\tif (setResultNode) {\n\t\t\tfinalNode.result = true;\n\t\t}\n\t\treturn finalNode;\n\t}\n\n\t/**\n\t * Walks through the tree generated by the TapDigit parser and generates process nodes.\n\t * \n\t * @protected\n\t * @param {object.} tree \n\t * @returns {object.}\n\t * @throws {Error}\n\t */\n\tparseTree(tree) {\n\t\tlet key = Object.keys(tree)[0]; // There's never more than one property so no loop required\n\t\tswitch(key) {\n\t\t\tcase 'Number':\n\t\t\t\treturn parseFloat(tree.Number);\n\t\t\tcase 'Identifier':\n\t\t\t\treturn this.getRef(tree.Identifier);\n\t\t\tcase 'Expression':\n\t\t\t\treturn this.parseTree(tree.Expression);\n\t\t\tcase 'FunctionCall': {\n\t\t\t\tlet args = [];\n\t\t\t\tfor(let i in tree.FunctionCall.args) {\n\t\t\t\t\targs.push(this.parseTree(tree.FunctionCall.args[i]));\n\t\t\t\t}\n\t\t\t\treturn this.builder.process(tree.FunctionCall.name, args);\n\t\t\t}\n\t\t\tcase 'Binary':\n\t\t\t\treturn this.addOperatorProcess(\n\t\t\t\t\ttree.Binary.operator,\n\t\t\t\t\tthis.parseTree(tree.Binary.left),\n\t\t\t\t\tthis.parseTree(tree.Binary.right)\n\t\t\t\t);\n\t\t\tcase 'Unary': {\n\t\t\t\tlet val = this.parseTree(tree.Unary.expression);\n\t\t\t\tif (tree.Unary.operator === '-') {\n\t\t\t\t\tif (typeof val === 'number') {\n\t\t\t\t\t\treturn -val;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn this.addOperatorProcess('*', -1, val);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn val;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Operation ' + key + ' not supported.');\n\t\t}\n\t}\n\n\t/**\n\t * Gets the reference for a value, e.g. from_node or from_parameter.\n\t * \n\t * @protected\n\t * @param {*} value \n\t * @returns {*}\n\t */\n\tgetRef(value) {\n\t\t// Convert native data types\n\t\tif (value === 'true') {\n\t\t\treturn true;\n\t\t}\n\t\telse if (value === 'false') {\n\t\t\treturn false;\n\t\t}\n\t\telse if (value === 'null') {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Output of a process\n\t\tif (typeof value === 'string' && value.startsWith('#')) {\n\t\t\tlet nodeId = value.substring(1);\n\t\t\tif (nodeId in this.builder.nodes) {\n\t\t\t\treturn { from_node: nodeId };\n\t\t\t}\n\t\t}\n\n\t\tlet callbackParams = this.builder.getParentCallbackParameters();\n\t\t// Array labels / indices\n\t\tif (typeof value === 'string' && callbackParams.length > 0) {\n\t\t\tlet prefix = value.match(/^\\$+/);\n\t\t\tlet count = prefix ? prefix[0].length : 0;\n\t\t\tif (count > 0 && callbackParams.length >= count) {\n\t\t\t\tlet ref = value.substring(count);\n\t\t\t\treturn callbackParams[count-1][ref];\n\t\t\t}\n\t\t}\n\n\t\t// Everything else is a parameter\n\t\tlet parameter = new Parameter(value);\n\t\t// Add new parameter if it doesn't exist\n\t\tthis.builder.addParameter(parameter);\n\t\treturn parameter;\n\t}\n\n\t/**\n\t * Adds a process node for an operator like +, -, *, / etc.\n\t * \n\t * @param {string} operator - The operator.\n\t * @param {number|object.} left - The left part for the operator.\n\t * @param {number|object.} right - The right part for the operator.\n\t * @returns {BuilderNode}\n\t * @throws {Error}\n\t */\n\taddOperatorProcess(operator, left, right) {\n\t\tlet processName = Formula.operatorMapping[operator];\n\t\tlet process = this.builder.spec(processName);\n\t\tif (processName && process) {\n\t\t\tlet args = {};\n\t\t\tif (!Array.isArray(process.parameters) || process.parameters.length < 2) {\n\t\t\t\tthrow new Error(\"Process for operator \" + operator + \" must have at least two parameters\");\n\t\t\t}\n\t\t\targs[process.parameters[0].name || 'x'] = left;\n\t\t\targs[process.parameters[1].name || 'y'] = right;\n\t\t\treturn this.builder.process(processName, args);\n\t\t}\n\t\telse {\n\t\t\tthrow new Error('Operator ' + operator + ' not supported');\n\t\t}\n\t}\n\n}\n\n/**\n * List of supported operators.\n * \n * All operators must have the parameters be name x and y.\n * \n * The key is the mathematical operator, the value is the process identifier.\n * \n * @type {object.}\n */\nFormula.operatorMapping = {\n\t\"-\": \"subtract\",\n\t\"+\": \"add\",\n\t\"/\": \"divide\",\n\t\"*\": \"multiply\",\n\t\"^\": \"power\"\n};\n\nmodule.exports = Formula;\n","const Utils = require(\"@openeo/js-commons/src/utils\");\nconst Parameter = require(\"./parameter\");\n\n/**\n * A class that represents a process node and also a result from a process.\n */\nclass BuilderNode {\n\n\t/**\n\t * Creates a new process node for the builder.\n\t * \n\t * @param {Builder} parent\n\t * @param {string} processId \n\t * @param {object.} [processArgs={}]\n\t * @param {?string} [processDescription=null]\n\t * @param {?string} [processNamespace=null]\n\t */\n\tconstructor(parent, processId, processArgs = {}, processDescription = null, processNamespace = null) {\n\t\t/**\n\t\t * The parent builder.\n\t\t * @type {Builder}\n\t\t */\n\t\tthis.parent = parent;\n\n\t\t/**\n\t\t * The specification of the process associated with this node.\n\t\t * @type {Process}\n\t\t * @readonly\n\t\t */\n\t\tthis.spec = this.parent.spec(processId, processNamespace);\n\t\tif (!this.spec) {\n\t\t\tthrow new Error(\"Process doesn't exist: \" + processId);\n\t\t}\n\n\t\t/**\n\t\t * The unique identifier for the node (not the process ID!).\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = parent.generateId(processId);\n\t\t/**\n\t\t * The namespace of the process - EXPERIMENTAL!\n\t\t * @type {string}\n\t\t */\n\t\tthis.namespace = processNamespace;\n\t\t/**\n\t\t * The arguments for the process.\n\t\t * @type {object.}\n\t\t */\n\t\tthis.arguments = Array.isArray(processArgs) ? this.namedArguments(processArgs) : processArgs;\n\t\t/**\n\t\t * @ignore\n\t\t */\n\t\tthis._description = processDescription;\n\t\t/**\n\t\t * Is this the result node?\n\t\t * @type {boolean}\n\t\t */\n\t\tthis.result = false;\n\n\t\tthis.addParametersToProcess(this.arguments);\n\t}\n\n\t/**\n\t * Converts a sorted array of arguments to an object with the respective parameter names.\n\t * \n\t * @param {Array.>} processArgs \n\t * @returns {object.}\n\t * @throws {Error}\n\t */\n\tnamedArguments(processArgs) {\n\t\tif (processArgs.length > (this.spec.parameters || []).length) {\n\t\t\tthrow new Error(\"More arguments specified than parameters available.\");\n\t\t}\n\t\tlet obj = {};\n\t\tif (Array.isArray(this.spec.parameters)) {\n\t\t\tfor(let i = 0; i < this.spec.parameters.length; i++) {\n\t\t\t\tobj[this.spec.parameters[i].name] = processArgs[i];\n\t\t\t}\n\t\t}\n\t\treturn obj;\n\t}\n\n\t/**\n\t * Checks the arguments given for parameters and add them to the process.\n\t * \n\t * @param {object.|Array} processArgs \n\t */\n\taddParametersToProcess(processArgs) {\n\t\tfor(let key in processArgs) {\n\t\t\tlet arg = processArgs[key];\n\t\t\tif (arg instanceof Parameter) {\n\t\t\t\tif (Utils.isObject(arg.spec.schema)) {\n\t\t\t\t\tthis.parent.addParameter(arg.spec);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (arg instanceof BuilderNode) {\n\t\t\t\tthis.addParametersToProcess(arg.arguments);\n\t\t\t}\n\t\t\telse if (Array.isArray(arg) || Utils.isObject(arg)) {\n\t\t\t\tthis.addParametersToProcess(arg);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets/Sets a description for the node.\n\t * \n\t * Can be used in a variety of ways:\n\t * \n\t * By default, this is a function: \n\t * `node.description()` - Returns the description.\n\t * `node.description(\"foo\")` - Sets the description to \"foo\". Returns the node itself for method chaining.\n\t * \n\t * You can also \"replace\" the function (not supported in TypeScript!),\n\t * then it acts as normal property and the function is not available any longer:\n\t * `node.description = \"foo\"` - Sets the description to \"foo\".\n\t * Afterwards you can call `node.description` as normal object property.\n\t * \n\t * @param {string|undefined} description - Optional: If given, set the value.\n\t * @returns {string|BuilderNode}\n\t */\n\tdescription(description) {\n\t\tif (typeof description === 'undefined') {\n\t\t\treturn this._description;\n\t\t}\n\t\telse {\n\t\t\tthis._description = description;\n\t\t\treturn this;\n\t\t}\n\t}\n\n\t/**\n\t * Converts the given argument into something serializable...\n\t * \n\t * @protected\n\t * @param {*} arg - Argument\n\t * @param {string} name - Parameter name\n\t * @returns {*}\n\t */\n\texportArgument(arg, name) {\n\t\tconst Formula = require('./formula');\n\t\tif (Utils.isObject(arg)) {\n\t\t\tif (arg instanceof BuilderNode || arg instanceof Parameter) {\n\t\t\t\treturn arg.ref();\n\t\t\t}\n\t\t\telse if (arg instanceof Formula) {\n\t\t\t\tlet builder = this.createBuilder(this, name);\n\t\t\t\targ.setBuilder(builder);\n\t\t\t\targ.generate();\n\t\t\t\treturn builder.toJSON();\n\t\t\t}\n\t\t\telse if (arg instanceof Date) {\n\t\t\t\treturn arg.toISOString();\n\t\t\t}\n\t\t\telse if (typeof arg.toJSON === 'function') {\n\t\t\t\treturn arg.toJSON();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet obj = {};\n\t\t\t\tfor(let key in arg) {\n\t\t\t\t\tif (typeof arg[key] !== 'undefined') {\n\t\t\t\t\t\tobj[key] = this.exportArgument(arg[key], name);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t}\n\t\telse if (Array.isArray(arg)) {\n\t\t\treturn arg.map(element => this.exportArgument(element), name);\n\t\t}\n\t\t// export child process graph\n\t\telse if (typeof arg === 'function') {\n\t\t\treturn this.exportCallback(arg, name);\n\t\t}\n\t\telse {\n\t\t\treturn arg;\n\t\t}\n\t}\n\n\t/**\n\t * Creates a new Builder, usually for a callback.\n\t * \n\t * @protected\n\t * @param {?BuilderNode} [parentNode=null]\n\t * @param {?string} [parentParameter=null]\n\t * @returns {BuilderNode}\n\t */\n\tcreateBuilder(parentNode = null, parentParameter = null) {\n\t\tconst Builder = require('./builder');\n\t\tlet builder = new Builder(this.parent.processes, this.parent);\n\t\tif (parentNode !== null && parentParameter !== null) {\n\t\t\tbuilder.setParent(parentNode, parentParameter);\n\t\t}\n\t\treturn builder;\n\t}\n\n\t/**\n\t * Returns the serializable process for the callback function given.\n\t * \n\t * @protected\n\t * @param {Function} arg - callback function\n\t * @param {string} name - Parameter name\n\t * @returns {object.}\n\t * @throws {Error}\n\t */\n\texportCallback(arg, name) {\n\t\tlet builder = this.createBuilder(this, name);\n\t\tlet params = builder.getParentCallbackParameters();\n\t\t// Bind builder to this, so that this.xxx can be used for processes\n\t\t// Also pass builder as last parameter so that we can grab it in arrow functions\n\t\tlet node = arg.bind(builder)(...params, builder);\n\t\tif (Array.isArray(node) && builder.supports('array_create')) {\n\t\t\tnode = builder.array_create(node);\n\t\t}\n\t\telse if (!Utils.isObject(node) && builder.supports('constant')) {\n\t\t\tnode = builder.constant(node);\n\t\t}\n\t\tif (node instanceof BuilderNode) {\n\t\t\tnode.result = true;\n\t\t\treturn builder.toJSON();\n\t\t}\n\t\telse {\n\t\t\tthrow new Error(\"Callback must return BuilderNode\");\n\t\t}\n\t}\n\n\t/**\n\t * Returns a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {object.}\n\t */\n\ttoJSON() {\n\t\tlet obj = {\n\t\t\tprocess_id: this.spec.id,\n\t\t\targuments: {}\n\t\t};\n\t\tif (this.namespace) {\n\t\t\tobj.namespace = this.namespace;\n\t\t}\n\t\tfor(let name in this.arguments) {\n\t\t\tif (typeof this.arguments[name] !== 'undefined') {\n\t\t\t\tobj.arguments[name] = this.exportArgument(this.arguments[name], name);\n\t\t\t}\n\t\t}\n\t\tif (typeof this.description !== 'function') {\n\t\t\tobj.description = this.description;\n\t\t}\n\t\telse if (typeof this._description === 'string') {\n\t\t\tobj.description = this._description;\n\t\t}\n\t\tif (this.result) {\n\t\t\tobj.result = true;\n\t\t}\n\t\treturn obj;\n\t}\n\n\t/**\n\t * Returns the reference object for this node.\n\t * \n\t * @returns {FromNode}\n\t */\n\tref() {\n\t\treturn { from_node: this.id };\n\t}\n\n}\n\nmodule.exports = BuilderNode;\n","\"use strict\";\n\n/**\n * A class that represents a process parameter. \n * \n * This is used for two things:\n * 1. You can create process parameters (placeholders) with `new Parameter()`.\n * 2. This is passed to functions for the parameters of the sub-process.\n * \n * For the second case, you can access array elements referred to by the parameter\n * with a simplified notation: \n * \n * ```\n * function(data, context) {\n * data['B1'] // Accesses the B1 element of the array by label\n * data[1] // Accesses the second element of the array by index\n * }\n * ```\n * \n * Those array calls create corresponding `array_element` nodes in the process. So it's\n * equivalent to\n * `this.array_element(data, undefined, 'B1')` or \n * `this.array_element(data, 1)` respectively.\n * \n * Simple access to numeric labels is not supported. You need to use `array_element` directly, e.g.\n * `this.array_element(data, undefined, 1)`.\n */\nclass Parameter {\n\n\t/**\n\t * Creates a new parameter instance, but proxies calls to it\n\t * so that array access is possible (see class description).\n\t * \n\t * @static\n\t * @param {Builder} builder \n\t * @param {string} parameterName \n\t * @returns {Proxy}\n\t */\n\tstatic create(builder, parameterName) {\n\t\tlet parameter = new Parameter(parameterName, null);\n\t\tif (typeof Proxy !== \"undefined\") {\n\t\t\treturn new Proxy(parameter, {\n\t\t\t\t// @ts-ignore\n\t\t\t\tnodeCache: {},\n\t\t\t\t/**\n\t\t\t\t * Getter for array access (see class description).\n\t\t\t\t * \n\t\t\t\t * @ignore\n\t\t\t\t * @param {object} target \n\t\t\t\t * @param {string|number|symbol} name \n\t\t\t\t * @param {?*} receiver \n\t\t\t\t * @returns {*}\n\t\t\t\t */\n\t\t\t\tget(target, name, receiver) {\n\t\t\t\t\tif (!Reflect.has(target, name)) {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tif (!this.nodeCache[name]) {\n\t\t\t\t\t\t\tlet args = {\n\t\t\t\t\t\t\t\tdata: parameter\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tif (typeof name === 'string' && name.match(/^(0|[1-9]\\d*)$/)) {\n\t\t\t\t\t\t\t\targs.index = parseInt(name, 10);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\targs.label = name;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// We assume array_element exists\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tthis.nodeCache[name] = builder.process(\"array_element\", args);\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\treturn this.nodeCache[name];\n\t\t\t\t\t}\n\t\t\t\t\treturn Reflect.get(target, name, receiver);\n\t\t\t\t},\n\t\t\t\t/**\n\t\t\t\t * Setter for array access.\n\t\t\t\t * \n\t\t\t\t * Usually fails as write access to arrays is not supported.\n\t\t\t\t * \n\t\t\t\t * @ignore\n\t\t\t\t * @param {object} target \n\t\t\t\t * @param {string|number|symbol} name \n\t\t\t\t * @param {*} value \n\t\t\t\t * @param {?*} receiver \n\t\t\t\t * @returns {boolean}\n\t\t\t\t */\n\t\t\t\tset(target, name, value, receiver) {\n\t\t\t\t\tif (!Reflect.has(target, name)) {\n\t\t\t\t\t\tthrow new Error('Simplified array access is read-only');\n\t\t\t\t\t}\n\t\t\t\t\treturn Reflect.set(target, name, value, receiver);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthrow new Error('Simplified array access not supported, use array_element directly');\n\t\t}\n\t}\n\t\n\t/**\n\t * Creates a new process parameter.\n\t * \n\t * @param {string} name - Name of the parameter.\n\t * @param {object.|string} schema - The schema for the parameter. Can be either an object compliant to JSON Schema or a string with a JSON Schema compliant data type, e.g. `string`.\n\t * @param {string} description - A description for the parameter\n\t * @param {*} defaultValue - An optional default Value for the parameter. If set, make the parameter optional. If not set, the parameter is required. Defaults to `undefined`.\n\t */\n\tconstructor(name, schema = {}, description = \"\", defaultValue = undefined) {\n\t\tthis.name = name;\n\t\tthis.spec = {\n\t\t\tname: name,\n\t\t\tschema: typeof schema === 'string' ? { type: schema } : schema,\n\t\t\tdescription: description,\n\t\t};\n\t\t// No support for experimental and deprecated yet\n\t\tif (typeof defaultValue !== 'undefined') {\n\t\t\tthis.spec.optional = true;\n\t\t\tthis.spec.default = defaultValue;\n\t\t}\n\t}\n\n\t/**\n\t * Returns a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {object.}\n\t */\n\ttoJSON() {\n\t\treturn this.spec;\n\t}\n\n\t/**\n\t * Returns the reference object for this parameter.\n\t * \n\t * @returns {FromParameter}\n\t */\n\tref() {\n\t\treturn { from_parameter: this.name };\n\t}\n\n}\n\nmodule.exports = Parameter;\n","/*\n Copyright (C) 2011 Ariya Hidayat \n Copyright (C) 2010 Ariya Hidayat \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n * Neither the name of the nor the\n names of its contributors may be used to endorse or promote products\n derived from this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n/* eslint-disable jsdoc/require-jsdoc */\n/**\n * @ignore\n */\nlet TapDigit = {\n Token: {\n Operator: 'Operator',\n Identifier: 'Identifier',\n Number: 'Number'\n }\n};\n\nconst SUP_MAPPING = {\n '⁰': 0,\n '¹': 1,\n '²': 2,\n '³': 3,\n '⁴': 4,\n '⁵': 5,\n '⁶': 6,\n '⁷': 7,\n '⁸': 8,\n '⁹': 9\n};\nconst SUP_STRING = Object.keys(SUP_MAPPING).join('');\n\nTapDigit.Lexer = function () {\n let expression = '',\n length = 0,\n index = 0,\n marker = 0,\n T = TapDigit.Token;\n\n function peekNextChar() {\n let idx = index;\n return ((idx < length) ? expression.charAt(idx) : '\\x00');\n }\n\n function getNextChar() {\n let ch = '\\x00',\n idx = index;\n if (idx < length) {\n ch = expression.charAt(idx);\n index += 1;\n }\n return ch;\n }\n\n function isWhiteSpace(ch) {\n return (ch === '\\u0009') || (ch === ' ') || (ch === '\\u00A0');\n }\n\n function isLetter(ch) {\n return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');\n }\n\n function isDecimalDigit(ch) {\n return (ch >= '0') && (ch <= '9');\n }\n\n function createToken(type, value) {\n return {\n type: type,\n value: value,\n start: marker,\n end: index - 1\n };\n }\n\n function skipSpaces() {\n let ch;\n\n while (index < length) {\n ch = peekNextChar();\n if (!isWhiteSpace(ch)) {\n break;\n }\n getNextChar();\n }\n }\n\n function scanOperator() {\n let ch = peekNextChar();\n if (('+-*/()^,' + SUP_STRING).indexOf(ch) >= 0) {\n return createToken(T.Operator, getNextChar());\n }\n return undefined;\n }\n\n function isIdentifierStart(ch) {\n return (ch === '_') || (ch === '#') || (ch === '$') || isLetter(ch);\n }\n\n function isAdditionalNamespaceChar(ch) {\n return (ch === '-') || (ch === '.') || (ch === '~') || (ch === '@');\n }\n\n function isIdentifierPart(ch, ns = false) {\n return (ch === '_') || isLetter(ch) || isDecimalDigit(ch) || (ns && isAdditionalNamespaceChar(ch));\n }\n\n function scanIdentifier() {\n let startCh = peekNextChar();\n if (!isIdentifierStart(startCh)) {\n return undefined;\n }\n\n let id = getNextChar();\n let ns = false;\n while (true) {\n let ch = peekNextChar();\n // If the first character is a $, it is allowed that more $ follow directly after\n if (startCh === '$') {\n if (ch !== '$') {\n startCh = ''; // Stop allowing $ once the first non-$ has been found\n } // else: allowed\n }\n else if (ch === '@') {\n ns = true;\n }\n else if (!isIdentifierPart(ch, ns)) {\n break;\n }\n id += getNextChar();\n }\n\n return createToken(T.Identifier, id);\n }\n\n function scanNumber() {\n let ch;\n let number;\n\n ch = peekNextChar();\n if (!isDecimalDigit(ch) && (ch !== '.')) {\n return undefined;\n }\n\n number = '';\n if (ch !== '.') {\n number = getNextChar();\n while (true) {\n ch = peekNextChar();\n if (!isDecimalDigit(ch)) {\n break;\n }\n number += getNextChar();\n }\n }\n\n if (ch === '.') {\n number += getNextChar();\n while (true) {\n ch = peekNextChar();\n if (!isDecimalDigit(ch)) {\n break;\n }\n number += getNextChar();\n }\n }\n\n if (ch === 'e' || ch === 'E') {\n number += getNextChar();\n ch = peekNextChar();\n if (ch === '+' || ch === '-' || isDecimalDigit(ch)) {\n number += getNextChar();\n while (true) {\n ch = peekNextChar();\n if (!isDecimalDigit(ch)) {\n break;\n }\n number += getNextChar();\n }\n } else {\n ch = 'character ' + ch;\n if (index >= length) {\n ch = '';\n }\n throw new SyntaxError('Unexpected ' + ch + ' after the exponent sign');\n }\n }\n\n if (number === '.') {\n throw new SyntaxError('Expecting decimal digits after the dot sign');\n }\n\n return createToken(T.Number, number);\n }\n\n function reset(str) {\n expression = str;\n length = str.length;\n index = 0;\n }\n\n function next() {\n let token;\n\n skipSpaces();\n if (index >= length) {\n return undefined;\n }\n\n marker = index;\n\n token = scanNumber();\n if (typeof token !== 'undefined') {\n return token;\n }\n\n token = scanOperator();\n if (typeof token !== 'undefined') {\n return token;\n }\n\n token = scanIdentifier();\n if (typeof token !== 'undefined') {\n return token;\n }\n\n\n throw new SyntaxError('Unknown token from character ' + peekNextChar());\n }\n\n function peek() {\n let token;\n let idx = index;\n try {\n token = next();\n delete token.start;\n delete token.end;\n } catch (e) {\n token = undefined;\n }\n index = idx;\n\n return token;\n }\n\n return {\n reset: reset,\n next: next,\n peek: peek\n };\n};\n\nTapDigit.Parser = function () {\n let lexer = new TapDigit.Lexer(),\n T = TapDigit.Token;\n\n function matchOp(token, op) {\n return (typeof token !== 'undefined') &&\n token.type === T.Operator &&\n op.includes(token.value);\n }\n\n // ArgumentList := Expression |\n // Expression ',' ArgumentList\n function parseArgumentList() {\n let token;\n let expr;\n let args = [];\n\n while (true) {\n expr = parseExpression();\n if (typeof expr === 'undefined') {\n // @todo maybe throw exception?\n break;\n }\n args.push(expr);\n token = lexer.peek();\n if (!matchOp(token, ',')) {\n break;\n }\n lexer.next();\n }\n\n return args;\n }\n\n // FunctionCall ::= Identifier '(' ')' ||\n // Identifier '(' ArgumentList ')'\n function parseFunctionCall(name) {\n let args = [];\n let token = lexer.next();\n if (!matchOp(token, '(')) {\n throw new SyntaxError('Expecting ( in a function call \"' + name + '\"');\n }\n\n token = lexer.peek();\n if (!matchOp(token, ')')) {\n args = parseArgumentList();\n }\n\n token = lexer.next();\n if (!matchOp(token, ')')) {\n throw new SyntaxError('Expecting ) in a function call \"' + name + '\"');\n }\n\n return {\n 'FunctionCall' : {\n 'name': name,\n 'args': args\n }\n };\n }\n\n // Primary ::= Identifier |\n // Number |\n // '(' Expression ')' |\n // FunctionCall\n function parsePrimary() {\n let expr;\n let token = lexer.peek();\n if (typeof token === 'undefined') {\n throw new SyntaxError('Unexpected termination of expression');\n }\n\n if (token.type === T.Identifier) {\n token = lexer.next();\n if (matchOp(lexer.peek(), '(')) {\n return parseFunctionCall(token.value);\n } else {\n return {\n 'Identifier': token.value\n };\n }\n }\n\n if (token.type === T.Number) {\n token = lexer.next();\n return {\n 'Number': token.value\n };\n }\n\n if (matchOp(token, '(')) {\n lexer.next();\n expr = parseExpression();\n token = lexer.next();\n if (!matchOp(token, ')')) {\n throw new SyntaxError('Expecting )');\n }\n return {\n 'Expression': expr\n };\n }\n\n throw new SyntaxError('Parse error, can not process token ' + token.value);\n }\n\n // Unary ::= Primary |\n // '-' Unary\n function parseUnary() {\n let expr;\n let token = lexer.peek();\n if (matchOp(token, '-+')) {\n token = lexer.next();\n expr = parseUnary();\n return {\n 'Unary': {\n operator: token.value,\n expression: expr\n }\n };\n }\n\n return parsePrimary();\n }\n\n function parseSuperscript(ch) {\n if (typeof SUP_MAPPING[ch] === 'number') {\n return {'Number': SUP_MAPPING[ch]};\n }\n return null;\n }\n\n // Power ::= Unary |\n // Power '^' Unary |\n // Power⁰¹²³⁴⁵⁶⁷⁸⁹\n function parsePower() {\n let expr = parseUnary();\n let token = lexer.peek();\n while (matchOp(token, '^' + SUP_STRING)) {\n token = lexer.next();\n expr = {\n 'Binary': {\n operator: '^',\n left: expr,\n right: token.value !== '^' ? parseSuperscript(token.value) : parseUnary()\n }\n };\n token = lexer.peek();\n }\n return expr;\n }\n\n // Multiplicative ::= Power |\n // Multiplicative '*' Power |\n // Multiplicative '/' Power |\n function parseMultiplicative() {\n let expr = parsePower();\n let token = lexer.peek();\n while (matchOp(token, '*/')) {\n token = lexer.next();\n expr = {\n 'Binary': {\n operator: token.value,\n left: expr,\n right: parsePower()\n }\n };\n token = lexer.peek();\n }\n return expr;\n }\n\n // Additive ::= Multiplicative |\n // Additive '+' Multiplicative |\n // Additive '-' Multiplicative\n function parseAdditive() {\n let expr = parseMultiplicative();\n let token = lexer.peek();\n while (matchOp(token, '+-')) {\n token = lexer.next();\n expr = {\n 'Binary': {\n operator: token.value,\n left: expr,\n right: parseMultiplicative()\n }\n };\n token = lexer.peek();\n }\n return expr;\n }\n\n // Expression ::= Additive\n function parseExpression() {\n return parseAdditive();\n }\n\n function parse(expression) {\n lexer.reset(expression);\n let expr = parseExpression();\n let token = lexer.next();\n if (typeof token !== 'undefined') {\n throw new SyntaxError('Unexpected token ' + token.value);\n }\n\n return {\n 'Expression': expr\n };\n }\n\n return {\n parse: parse\n };\n};\n\nmodule.exports = TapDigit;\n","const Utils = require('@openeo/js-commons/src/utils');\n\nconst FEATURE_MAP = {\n\t// Discovery\n\tcapabilities: true,\n\tlistFileTypes: 'get /file_formats',\n\tlistServiceTypes: 'get /service_types',\n\tlistUdfRuntimes: 'get /udf_runtimes',\n\t// Collections\n\tlistCollections: 'get /collections',\n\tdescribeCollection: 'get /collections/{}',\n\tlistCollectionItems: 'get /collections/{}/items',\n\tdescribeCollectionItem: 'get /collections/{}/items/{}',\n\tdescribeCollectionQueryables: 'get /collections/{}/queryables',\n\t// Processes\n\tlistProcesses: 'get /processes',\n\tdescribeProcess: 'get /processes',\n\t// Auth / Account\n\tlistAuthProviders: true,\n\tauthenticateOIDC: 'get /credentials/oidc',\n\tauthenticateBasic: 'get /credentials/basic',\n\tdescribeAccount: 'get /me',\n\t// Files\n\tlistFiles: 'get /files',\n\tgetFile: 'get /files', // getFile is a virtual function and doesn't request an endpoint, but get /files should be available nevertheless.\n\tuploadFile: 'put /files/{}',\n\tdownloadFile: 'get /files/{}',\n\tdeleteFile: 'delete /files/{}',\n\t// User-Defined Processes\n\tvalidateProcess: 'post /validation',\n\tlistUserProcesses: 'get /process_graphs',\n\tdescribeUserProcess: 'get /process_graphs/{}',\n\tgetUserProcess: 'get /process_graphs/{}',\n\tsetUserProcess: 'put /process_graphs/{}',\n\treplaceUserProcess: 'put /process_graphs/{}',\n\tdeleteUserProcess: 'delete /process_graphs/{}',\n\t// Processing\n\tcomputeResult: 'post /result',\n\tlistJobs: 'get /jobs',\n\tcreateJob: 'post /jobs',\n\tlistServices: 'get /services',\n\tcreateService: 'post /services',\n\tgetJob: 'get /jobs/{}',\n\tdescribeJob: 'get /jobs/{}',\n\tupdateJob: 'patch /jobs/{}',\n\tdeleteJob: 'delete /jobs/{}',\n\testimateJob: 'get /jobs/{}/estimate',\n\tdebugJob: 'get /jobs/{}/logs',\n\tstartJob: 'post /jobs/{}/results',\n\tstopJob: 'delete /jobs/{}/results',\n\tlistResults: 'get /jobs/{}/results',\n\tdownloadResults: 'get /jobs/{}/results',\n\t// Web services\n\tdescribeService: 'get /services/{}',\n\tgetService: 'get /services/{}',\n\tupdateService: 'patch /services/{}',\n\tdeleteService: 'delete /services/{}',\n\tdebugService: 'get /services/{}/logs',\n};\n\n/**\n * Capabilities of a back-end.\n */\nclass Capabilities {\n\n\t/**\n\t * Creates a new Capabilities object from an API-compatible JSON response.\n\t * \n\t * @param {object.} data - A capabilities response compatible to the API specification for `GET /`.\n\t * @throws {Error}\n\t */\n\tconstructor(data) {\n\n\t\t/**\n\t\t * @private\n\t\t * @type {object.}\n\t\t */\n\t\tthis.data = data;\n\n\t\t/**\n\t\t * @private\n\t\t * @ignore\n\t\t * @type {object.}\n\t\t */\n\t\tthis.featureMap = FEATURE_MAP;\n\n\t\t/**\n\t\t * @private\n\t\t * @type {Array.}\n\t\t */\n\t\tthis.features = [];\n\n\t\tthis.validate();\n\t\tthis.init();\n\t}\n\n\t/**\n\t * Validates the capabilities.\n\t * \n\t * Throws an error in case of an issue, otherwise just passes.\n\t * \n\t * @protected\n\t * @throws {Error}\n\t */\n\tvalidate() {\n\t\tif(!Utils.isObject(this.data)) {\n\t\t\tthrow new Error(\"No capabilities retrieved.\");\n\t\t}\n\t\telse if(!this.data.api_version) {\n\t\t\tthrow new Error(\"Invalid capabilities: No API version retrieved\");\n\t\t}\n\t\telse if(!Array.isArray(this.data.endpoints)) {\n\t\t\tthrow new Error(\"Invalid capabilities: No endpoints retrieved\");\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the class.\n\t * \n\t * @protected\n\t */\n\tinit() {\n\t\tthis.features = this.data.endpoints\n\t\t\t// Flatten features and simplify variables to be compatible with the feature map.\n\t\t\t.map(e => e.methods.map(method => {\n\t\t\t\tconst path = e.path.replace(/\\{[^}]+\\}/g, '{}');\n\t\t\t\treturn `${method} ${path}`.toLowerCase();\n\t\t\t}))\n\t\t\t.reduce((flat, next) => flat.concat(next), []); // .flat(1) once browser support for ECMAscript 10/2019 gets better\n\t}\n\n\t/**\n\t * Returns the capabilities response as a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {object.} - A reference to the capabilities response.\n\t */\n\ttoJSON() {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Returns the openEO API version implemented by the back-end.\n\t * \n\t * @returns {string} openEO API version number.\n\t */\n\tapiVersion() {\n\t\treturn this.data.api_version;\n\t}\n\n\t/**\n\t * Returns the back-end version number.\n\t * \n\t * @returns {string} openEO back-end version number.\n\t */\n\tbackendVersion() {\n\t\treturn this.data.backend_version;\n\t}\n\n\t/**\n\t * Returns the back-end title.\n\t * \n\t * @returns {string} Title\n\t */\n\ttitle() {\n\t\treturn typeof this.data.title === 'string' ? this.data.title : \"\";\n\t}\n\n\t/**\n\t * Returns the back-end description.\n\t * \n\t * @returns {string} Description\n\t */\n\tdescription() {\n\t\treturn typeof this.data.description === 'string' ? this.data.description : \"\";\n\t}\n\n\t/**\n\t * Is the back-end suitable for use in production?\n\t * \n\t * @returns {boolean} true = stable/production, false = unstable\n\t */\n\tisStable() {\n\t\treturn this.data.production === true;\n\t}\n\n\t/**\n\t * Returns the links.\n\t * \n\t * @returns {Array.} Array of link objects (href, title, rel, type)\n\t */\n\tlinks() {\n\t\treturn Array.isArray(this.data.links) ? this.data.links : [];\n\t}\n\n\t/**\n\t * Lists all supported features.\n\t * \n\t * @returns {Array.} An array of supported features.\n\t */\n\tlistFeatures() {\n\t\tlet features = [];\n\t\tfor(let feature in this.featureMap) {\n\t\t\tif (this.featureMap[feature] === true || this.features.includes(this.featureMap[feature])) {\n\t\t\t\tfeatures.push(feature);\n\t\t\t}\n\t\t}\n\t\treturn features.sort();\n\t}\n\n\t/**\n\t * Check whether a feature is supported by the back-end.\n\t * \n\t * @param {string} methodName - A feature name (corresponds to the JS client method names, see also the feature map for allowed values).\n\t * @returns {boolean} `true` if the feature is supported, otherwise `false`.\n\t */\n\thasFeature(methodName) {\n\t\tlet feature = this.featureMap[methodName];\n\t\tif (typeof feature === 'string') {\n\t\t\tfeature = feature.toLowerCase();\n\t\t}\n\t\treturn feature === true || this.features.some(e => e === feature);\n\t}\n\n\t/**\n\t * Get the billing currency.\n\t * \n\t * @returns {string | null} The billing currency or `null` if not available.\n\t */\n\tcurrency() {\n\t\treturn (Utils.isObject(this.data.billing) && typeof this.data.billing.currency === 'string' ? this.data.billing.currency : null);\n\t}\n\n\t/**\n\t * List all billing plans.\n\t * \n\t * @returns {Array.} Billing plans\n\t */\n\tlistPlans() {\n\t\tif (Utils.isObject(this.data.billing) && Array.isArray(this.data.billing.plans)) {\n\t\t\tlet defaultPlan = typeof this.data.billing.default_plan === 'string' ? this.data.billing.default_plan.toLowerCase() : null;\n\t\t\treturn this.data.billing.plans.map(plan => {\n\t\t\t\tlet addition = {\n\t\t\t\t\tdefault: (defaultPlan === plan.name.toLowerCase())\n\t\t\t\t};\n\t\t\t\treturn Object.assign({}, plan, addition);\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Migrates a response, if required.\n\t * \n\t * @param {AxiosResponse} response \n\t * @protected\n\t * @returns {AxiosResponse}\n\t */\n\tmigrate(response) { // eslint-disable-line no-unused-vars\n\t\treturn response;\n\t}\n}\n\nmodule.exports = Capabilities;\n","const Environment = require('./env');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst ProcessRegistry = require('@openeo/js-commons/src/processRegistry');\nconst axios = require('axios');\nconst StacMigrate = require('@radiantearth/stac-migrate');\n\nconst AuthProvider = require('./authprovider');\nconst BasicProvider = require('./basicprovider');\nconst OidcProvider = require('./oidcprovider');\n\nconst Capabilities = require('./capabilities');\nconst FileTypes = require('./filetypes');\nconst UserFile = require('./userfile');\nconst Job = require('./job');\nconst UserProcess = require('./userprocess');\nconst Service = require('./service');\n\nconst Builder = require('./builder/builder');\nconst BuilderNode = require('./builder/node');\n\nconst CONFORMANCE_RELS = [\n\t'conformance',\n\t'http://www.opengis.net/def/rel/ogc/1.0/conformance'\n];\n\n/**\n * A connection to a back-end.\n */\nclass Connection {\n\n\t/**\n\t * Creates a new Connection.\n\t * \n\t * @param {string} baseUrl - The versioned URL or the back-end instance.\n\t * @param {Options} [options={}] - Additional options for the connection.\n\t * @param {?string} [url=null] - User-provided URL of the backend connected to.\n\t */\n\tconstructor(baseUrl, options = {}, url = null) {\n\t\t/**\n\t\t * User-provided URL of the backend connected to.\n\t\t * \n\t\t * `null` if not given and the connection was directly made to a versioned instance of the back-end.\n\t\t * \n\t\t * @protected\n\t\t * @type {string | null}\n\t\t */\n\t\tthis.url = url;\n\t\t/**\n\t\t * The versioned URL or the back-end instance.\n\t\t * \n\t\t * @protected\n\t\t * @type {string}\n\t\t */\n\t\tthis.baseUrl = Utils.normalizeUrl(baseUrl);\n\t\t/**\n\t\t * Auth Provider cache\n\t\t * \n\t\t * @protected\n\t\t * @type {Array. | null}\n\t\t */\n\t\tthis.authProviderList = null;\n\t\t/**\n\t\t * Current auth provider\n\t\t * \n\t\t * @protected\n\t\t * @type {AuthProvider | null}\n\t\t */\n\t\tthis.authProvider = null;\n\t\t/**\n\t\t * Capability cache\n\t\t * \n\t\t * @protected\n\t\t * @type {Capabilities | null}\n\t\t */\n\t\tthis.capabilitiesObject = null;\n\t\t/**\n\t\t * Listeners for events.\n\t\t * \n\t\t * @protected\n\t\t * @type {object.}\n\t\t */\n\t\tthis.listeners = {};\n\t\t/**\n\t\t * Additional options for the connection.\n\t\t * \n\t\t * @protected\n\t\t * @type {Options}\n\t\t */\n\t\tthis.options = options;\n\t\t/**\n\t\t * Process cache\n\t\t * \n\t\t * @protected\n\t\t * @type {ProcessRegistry}\n\t\t */\n\t\tthis.processes = new ProcessRegistry([], Boolean(options.addNamespaceToProcess));\n\t\tthis.processes.listeners.push((...args) => this.emit('processesChanged', ...args));\n\t}\n\n\t/**\n\t * Initializes the connection by requesting the capabilities.\n\t * \n\t * @async\n\t * @protected\n\t * @returns {Promise} Capabilities\n\t * @throws {Error}\n\t */\n\tasync init() {\n\t\tlet response = await this._get('/');\n\t\tlet data = Object.assign({}, response.data);\n\t\tdata.links = this.makeLinksAbsolute(data.links, response);\n\n\t\tif (!Array.isArray(data.conformsTo) && Array.isArray(data.links)) {\n\t\t\tlet conformanceLink = this._getLinkHref(data.links, CONFORMANCE_RELS);\n\t\t\tif (conformanceLink) {\n\t\t\t\tlet response2 = await this._get(conformanceLink);\n\t\t\t\tif (Utils.isObject(response2.data) && Array.isArray(response2.data.conformsTo)) {\n\t\t\t\t\tdata.conformsTo = response2.data.conformsTo;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.capabilitiesObject = new Capabilities(data);\n\t\treturn this.capabilitiesObject;\n\t}\n\n\t/**\n\t * Refresh the cache for processes.\n\t * \n\t * @async\n\t * @protected\n\t * @returns {Promise}\n\t */\n\tasync refreshProcessCache() {\n\t\tif (this.processes.count() === 0) {\n\t\t\treturn;\n\t\t}\n\t\tlet promises = this.processes.namespaces().map(namespace => {\n\t\t\tlet fn = () => Promise.resolve();\n\t\t\tif (namespace === 'user') {\n\t\t\t\tlet userProcesses = this.processes.namespace('user');\n\t\t\t\tif (!this.isAuthenticated()) {\n\t\t\t\t\tfn = () => (this.processes.remove(null, 'user') ? Promise.resolve() : Promise.reject(new Error(\"Can't clear user processes\")));\n\t\t\t\t}\n\t\t\t\telse if (this.capabilities().hasFeature('listUserProcesses')) {\n\t\t\t\t\tfn = () => this.listUserProcesses(userProcesses);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (this.capabilities().hasFeature('listProcesses')) {\n\t\t\t\tfn = () => this.listProcesses(namespace);\n\t\t\t}\n\t\t\treturn fn().catch(error => console.warn(`Could not update processes for namespace '${namespace}' due to an error: ${error.message}`));\n\t\t});\n\t\treturn await Promise.all(promises);\n\t}\n\n\t/**\n\t * Returns the URL of the versioned back-end instance currently connected to.\n\t * \n\t * @returns {string} The versioned URL or the back-end instance.\n\t */\n\tgetBaseUrl() {\n\t\treturn this.baseUrl;\n\t}\n\n\t/**\n\t * Returns the user-provided URL of the back-end currently connected to.\n\t * \n\t * @returns {string} The URL or the back-end.\n\t */\n\tgetUrl() {\n\t\treturn this.url || this.baseUrl;\n\t}\n\n\t/**\n\t * Returns the capabilities of the back-end.\n\t * \n\t * @returns {Capabilities} Capabilities\n\t */\n\tcapabilities() {\n\t\treturn this.capabilitiesObject;\n\t}\n\n\t/**\n\t * List the supported output file formats.\n\t * \n\t * @async\n\t * @returns {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listFileTypes() {\n\t\tlet response = await this._get('/file_formats');\n\t\treturn new FileTypes(response.data);\n\t}\n\n\t/**\n\t * List the supported secondary service types.\n\t * \n\t * @async\n\t * @returns {Promise>} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listServiceTypes() {\n\t\tlet response = await this._get('/service_types');\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * List the supported UDF runtimes.\n\t * \n\t * @async\n\t * @returns {Promise>} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listUdfRuntimes() {\n\t\tlet response = await this._get('/udf_runtimes');\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * List all collections available on the back-end.\n\t * \n\t * The collections returned always comply to the latest STAC version (currently 1.0.0). \n\t * \n\t * @async\n\t * @returns {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listCollections() {\n\t\tlet response = await this._get('/collections');\n\t\tif (Utils.isObject(response.data) && Array.isArray(response.data.collections)) {\n\t\t\tresponse.data.collections = response.data.collections.map(collection => {\n\t\t\t\tif (collection.stac_version) {\n\t\t\t\t\treturn StacMigrate.collection(collection);\n\t\t\t\t}\n\t\t\t\treturn collection;\n\t\t\t});\n\t\t}\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * Get further information about a single collection.\n\t * \n\t * The collection returned always complies to the latest STAC version (currently 1.0.0). \n\t * \n\t * @async\n\t * @param {string} collectionId - Collection ID to request further metadata for.\n\t * @returns {Promise} - A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync describeCollection(collectionId) {\n\t\tlet response = await this._get('/collections/' + collectionId);\n\t\tif (response.data.stac_version) {\n\t\t\treturn StacMigrate.collection(response.data);\n\t\t}\n\t\telse {\n\t\t\treturn response.data;\n\t\t}\n\t}\n\n\t/**\n\t * Loads items for a specific image collection.\n\t * May not be available for all collections.\n\t * \n\t * The items returned always comply to the latest STAC version (currently 1.0.0). \n\t * \n\t * This is an experimental API and is subject to change.\n\t * \n\t * @async\n\t * @param {string} collectionId - Collection ID to request items for.\n\t * @param {?Array.} [spatialExtent=null] - Limits the items to the given bounding box in WGS84:\n\t * 1. Lower left corner, coordinate axis 1\n\t * 2. Lower left corner, coordinate axis 2\n\t * 3. Upper right corner, coordinate axis 1\n\t * 4. Upper right corner, coordinate axis 2\n\t * @param {?Array} [temporalExtent=null] - Limits the items to the specified temporal interval.\n\t * The interval has to be specified as an array with exactly two elements (start, end) and\n\t * each must be either an RFC 3339 compatible string or a Date object.\n\t * Also supports open intervals by setting one of the boundaries to `null`, but never both.\n\t * @param {?number} [limit=null] - The amount of items per request/page as integer. If `null` (default), the back-end decides.\n\t * @yields {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync * listCollectionItems(collectionId, spatialExtent = null, temporalExtent = null, limit = null) {\n\t\tlet page = 1;\n\t\tlet nextUrl = '/collections/' + collectionId + '/items';\n\t\twhile(nextUrl) {\n\t\t\tlet params = {};\n\t\t\tif (page === 1) {\n\t\t\t\tif (Array.isArray(spatialExtent)) {\n\t\t\t\t\tparams.bbox = spatialExtent.join(',');\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(temporalExtent)) {\n\t\t\t\t\tparams.datetime = temporalExtent\n\t\t\t\t\t\t.map(e => {\n\t\t\t\t\t\t\tif (e instanceof Date) {\n\t\t\t\t\t\t\t\treturn e.toISOString();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (typeof e === 'string') {\n\t\t\t\t\t\t\t\treturn e;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn '..'; // Open date range\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.join('/');\n\t\t\t\t}\n\t\t\t\tif (limit > 0) {\n\t\t\t\t\tparams.limit = limit;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet response = await this._get(nextUrl, params);\n\t\t\tif (Utils.isObject(response.data) && Array.isArray(response.data.features)) {\n\t\t\t\tresponse.data.features = response.data.features.map(item => {\n\t\t\t\t\tif (item.stac_version) {\n\t\t\t\t\t\treturn StacMigrate.item(item);\n\t\t\t\t\t}\n\t\t\t\t\treturn item;\n\t\t\t\t});\n\t\t\t}\n\t\t\tyield response.data;\n\n\t\t\tpage++;\n\t\t\tlet links = this.makeLinksAbsolute(response.data.links);\n\t\t\tnextUrl = this._getLinkHref(links, 'next');\n\t\t}\n\t}\n\n\t/**\n\t * Normalisation of the namespace to a value that is compatible with the OpenEO specs - EXPERIMENTAL.\n\t *\n\t * This is required to support UDP that are shared as public. These can only be executed with providing the full URL\n\t * (e.g. https:///processes//) as the namespace value in the processing graph. For other\n\t * parts of the API (such as the listing of the processes, only the name of the namespace is required.\n\t *\n\t * This function will extract the short name of the namespace from a shareable URL.\n\t * \n\t * @protected\n\t * @param {?string} namespace - Namespace of the process\n\t * @returns {?string}\n\t */\n\tnormalizeNamespace(namespace) {\n\t\t// The pattern in https://github.com/Open-EO/openeo-api/pull/348 doesn't include the double colon yet - the regexp may change in the future\n\t\tconst matches = namespace.match( /^https?:\\/\\/.*\\/processes\\/(@?[\\w\\-.~:]+)\\/?/i);\n\t\treturn matches && matches.length > 1 ? matches[1] : namespace;\n\t}\n\n\t/**\n\t * List processes available on the back-end.\n\t * \n\t * Requests pre-defined processes by default.\n\t * Set the namespace parameter to request processes from a specific namespace.\n\t * \n\t * Note: The list of namespaces can be retrieved by calling `listProcesses` without a namespace given.\n\t * The namespaces are then listed in the property `namespaces`.\n\t * \n\t * @async\n\t * @param {?string} [namespace=null] - Namespace of the processes (default to `null`, i.e. pre-defined processes). EXPERIMENTAL!\n\t * @returns {Promise} - A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync listProcesses(namespace = null) {\n\t\tif (!namespace) {\n\t\t\tnamespace = 'backend';\n\t\t}\n\t\tlet path = (namespace === 'backend') ? '/processes' : `/processes/${this.normalizeNamespace(namespace)}`;\n\t\tlet response = await this._get(path);\n\n\t\tif (!Utils.isObject(response.data) || !Array.isArray(response.data.processes)) {\n\t\t\tthrow new Error('Invalid response received for processes');\n\t\t}\n\n\t\t// Store processes in cache\n\t\tthis.processes.remove(null, namespace);\n\t\tthis.processes.addAll(response.data.processes, namespace);\n\t\t\n\t\treturn Object.assign(response.data, {processes: this.processes.namespace(namespace)});\n\t}\n\n\t/**\n\t * Get information about a single process.\n\t * \n\t * @async\n\t * @param {string} processId - Collection ID to request further metadata for.\n\t * @param {?string} [namespace=null] - Namespace of the process (default to `null`, i.e. pre-defined processes). EXPERIMENTAL!\n\t * @returns {Promise} - A single process as object, or `null` if none is found.\n\t * @throws {Error}\n\t * @see Connection#listProcesses\n\t */\n\tasync describeProcess(processId, namespace = null) {\n\t\tif (!namespace) {\n\t\t\tnamespace = 'backend';\n\t\t}\n\t\tif (namespace === 'backend') {\n\t\t\tawait this.listProcesses();\n\t\t}\n\t\telse {\n\t\t\tlet response = await this._get(`/processes/${this.normalizeNamespace(namespace)}/${processId}`);\n\t\t\tif (!Utils.isObject(response.data) || typeof response.data.id !== 'string') {\n\t\t\t\tthrow new Error('Invalid response received for process');\n\t\t\t}\n\t\t\tthis.processes.add(response.data, namespace);\n\t\t}\n\t\treturn this.processes.get(processId, namespace);\n\t}\n\n\t/**\n\t * Returns an object to simply build user-defined processes based upon pre-defined processes.\n\t * \n\t * @async\n\t * @param {string} id - A name for the process.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see Connection#listProcesses\n\t */\n\tasync buildProcess(id) {\n\t\tawait this.listProcesses();\n\t\treturn new Builder(this.processes, null, id);\n\t}\n\n\t/**\n\t * List all authentication methods supported by the back-end.\n\t * \n\t * @async\n\t * @returns {Promise>} An array containing all supported AuthProviders (including all OIDC providers and HTTP Basic).\n\t * @throws {Error}\n\t * @see AuthProvider\n\t */\n\tasync listAuthProviders() {\n\t\tif (this.authProviderList !== null) {\n\t\t\treturn this.authProviderList;\n\t\t}\n\n\t\tthis.authProviderList = [];\n\t\tlet cap = this.capabilities();\n\n\t\t// Add OIDC providers\n\t\tif (cap.hasFeature('authenticateOIDC')) {\n\t\t\tlet res = await this._get('/credentials/oidc');\n\t\t\tlet oidcFactory = this.getOidcProviderFactory();\n\t\t\tif (Utils.isObject(res.data) && Array.isArray(res.data.providers) && typeof oidcFactory === 'function') {\n\t\t\t\tfor(let i in res.data.providers) {\n\t\t\t\t\tlet obj = oidcFactory(res.data.providers[i]);\n\t\t\t\t\tif (obj instanceof AuthProvider) {\n\t\t\t\t\t\tthis.authProviderList.push(obj);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Add Basic provider\n\t\tif (cap.hasFeature('authenticateBasic')) {\n\t\t\tthis.authProviderList.push(new BasicProvider(this));\n\t\t}\n\n\t\treturn this.authProviderList;\n\t}\n\n\t/**\n\t * This function is meant to create the OIDC providers used for authentication.\n\t * \n\t * The function gets passed a single argument that contains the\n\t * provider information as provided by the API, e.g. having the properties\n\t * `id`, `issuer`, `title` etc.\n\t * \n\t * The function must return an instance of AuthProvider or any derived class.\n\t * May return `null` if the instance can't be created.\n\t *\n\t * @callback oidcProviderFactoryFunction\n\t * @param {object.} providerInfo - The provider information as provided by the API, having the properties `id`, `issuer`, `title` etc.\n\t * @returns {AuthProvider | null}\n\t */\n\n\t/**\n\t * Sets a factory function that creates custom OpenID Connect provider instances.\n\t * \n\t * You only need to call this if you have implemented a new AuthProvider based\n\t * on the AuthProvider interface (or OIDCProvider class), e.g. to use a\n\t * OIDC library other than oidc-client-js.\n\t * \n\t * @param {?oidcProviderFactoryFunction} [providerFactoryFunc=null]\n\t * @see AuthProvider\n\t */\n\tsetOidcProviderFactory(providerFactoryFunc) {\n\t\tthis.oidcProviderFactory = providerFactoryFunc;\n\t}\n\n\t/**\n\t * Get the OpenID Connect provider factory.\n\t * \n\t * Returns `null` if OIDC is not supported by the client or an instance\n\t * can't be created for whatever reason.\n\t * \n\t * @returns {oidcProviderFactoryFunction | null}\n\t * @see AuthProvider\n\t */\n\tgetOidcProviderFactory() {\n\t\tif (typeof this.oidcProviderFactory === 'function') {\n\t\t\treturn this.oidcProviderFactory;\n\t\t}\n\t\telse {\n\t\t\tif (OidcProvider.isSupported()) {\n\t\t\t\treturn providerInfo => new OidcProvider(this, providerInfo);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Authenticates with username and password against a back-end supporting HTTP Basic Authentication.\n\t * \n\t * DEPRECATED in favor of using `listAuthProviders` and `BasicProvider`.\n\t * \n\t * @async\n\t * @deprecated\n\t * @param {string} username \n\t * @param {string} password \n\t * @see BasicProvider\n\t * @see Connection#listAuthProviders\n\t */\n\tasync authenticateBasic(username, password) {\n\t\tlet basic = new BasicProvider(this);\n\t\tawait basic.login(username, password);\n\t}\n\n\t/**\n\t * Returns whether the user is authenticated (logged in) at the back-end or not.\n\t * \n\t * @returns {boolean} `true` if authenticated, `false` if not.\n\t */\n\tisAuthenticated() {\n\t\treturn (this.authProvider !== null);\n\t}\n\n\t/**\n\t * Emits the given event.\n\t * \n\t * @protected\n\t * @param {string} event \n\t * @param {...*} args\n\t */\n\temit(event, ...args) {\n\t\tif (typeof this.listeners[event] === 'function') {\n\t\t\tthis.listeners[event](...args);\n\t\t}\n\t}\n\n\t/**\n\t * Registers a listener with the given event.\n\t * \n\t * Currently supported:\n\t * - authProviderChanged(provider): Raised when the auth provider has changed.\n\t * - tokenChanged(token): Raised when the access token has changed.\n\t * - processesChanged(type, data, namespace): Raised when the process registry has changed (i.e. a process was added, updated or deleted).\n\t * \n\t * @param {string} event \n\t * @param {Function} callback \n\t */\n\ton(event, callback) {\n\t\tthis.listeners[event] = callback;\n\t}\n\n\t/**\n\t * Removes a listener from the given event.\n\t * \n\t * @param {string} event \n\t */\n\toff(event) {\n\t\tdelete this.listeners[event];\n\t}\n\n\t/**\n\t * Returns the AuthProvider.\n\t * \n\t * @returns {AuthProvider | null} \n\t */\n\tgetAuthProvider() {\n\t\treturn this.authProvider;\n\t}\n\n\t/**\n\t * Sets the AuthProvider.\n\t * \n\t * @param {AuthProvider} provider\n\t */\n\tsetAuthProvider(provider) {\n\t\tif (provider === this.authProvider) {\n\t\t\treturn;\n\t\t}\n\t\tif (provider instanceof AuthProvider) {\n\t\t\tthis.authProvider = provider;\n\t\t}\n\t\telse {\n\t\t\tthis.authProvider = null;\n\t\t}\n\t\tthis.emit('authProviderChanged', this.authProvider);\n\t\t// Update process cache on auth changes: https://github.com/Open-EO/openeo-js-client/issues/55\n\t\tthis.refreshProcessCache();\n\t}\n\n\t/**\n\t * Sets the authentication token for the connection.\n\t * \n\t * This creates a new custom `AuthProvider` with the given details and returns it.\n\t * After calling this function you can make requests against the API.\n\t * \n\t * This is NOT recommended to use. Only use if you know what you are doing.\n\t * It is recommended to authenticate through `listAuthProviders` or related functions.\n\t * \n\t * @param {string} type - The authentication type, e.g. `basic` or `oidc`.\n\t * @param {string} providerId - The provider identifier. For OIDC the `id` of the provider.\n\t * @param {string} token - The actual access token as given by the authentication method during the login process.\n\t * @returns {AuthProvider}\n\t */\n\tsetAuthToken(type, providerId, token) {\n\t\tlet provider = new AuthProvider(type, this, {\n\t\t\tid: providerId,\n\t\t\ttitle: \"Custom\",\n\t\t\tdescription: \"\"\n\t\t});\n\t\tprovider.setToken(token);\n\t\tthis.setAuthProvider(provider);\n\t\treturn provider;\n\t}\n\n\t/**\n\t * Get information about the authenticated user.\n\t * \n\t * Updates the User ID if available.\n\t * \n\t * @async\n\t * @returns {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync describeAccount() {\n\t\tlet response = await this._get('/me');\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * Lists all files from the user workspace. \n\t * \n\t * @async\n\t * @returns {Promise>} A list of files.\n\t * @throws {Error}\n\t */\n\tasync listFiles() {\n\t\tlet response = await this._get('/files');\n\t\tlet files = response.data.files.map(\n\t\t\tf => new UserFile(this, f.path).setAll(f)\n\t\t);\n\t\treturn this._toResponseArray(files, response.data);\n\t}\n\n\t/**\n\t * A callback that is executed on upload progress updates.\n\t * \n\t * @callback uploadStatusCallback\n\t * @param {number} percentCompleted - The percent (0-100) completed.\n\t * @param {UserFile} file - The file object corresponding to the callback.\n\t */\n\n\t/**\n\t * Uploads a file to the user workspace.\n\t * If a file with the name exists, overwrites it.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * In a nodeJS environment the source must be a path to a file as string.\n\t * In a browser environment the source must be an object from a file upload form.\n\t * \n\t * @async\n\t * @param {*} source - The source, see method description for details.\n\t * @param {?string} [targetPath=null] - The target path on the server, relative to the user workspace. Defaults to the file name of the source file.\n\t * @param {?uploadStatusCallback} [statusCallback=null] - Optionally, a callback that is executed on upload progress updates.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the upload process.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync uploadFile(source, targetPath = null, statusCallback = null, abortController = null) {\n\t\tif (targetPath === null) {\n\t\t\ttargetPath = Environment.fileNameForUpload(source);\n\t\t}\n\t\tlet file = await this.getFile(targetPath);\n\t\treturn await file.uploadFile(source, statusCallback, abortController);\n\t}\n\n\t/**\n\t * Opens a (existing or non-existing) file without reading any information or creating a new file at the back-end. \n\t * \n\t * @async\n\t * @param {string} path - Path to the file, relative to the user workspace.\n\t * @returns {Promise} A file.\n\t * @throws {Error}\n\t */\n\tasync getFile(path) {\n\t\treturn new UserFile(this, path);\n\t}\n\n\t/**\n\t * Takes a UserProcess, BuilderNode or a plain object containing process nodes\n\t * and converts it to an API compliant object.\n\t * \n\t * @param {UserProcess|BuilderNode|object.} process - Process to be normalized.\n\t * @param {object.} additional - Additional properties to be merged with the resulting object.\n\t * @returns {object.}\n\t * @protected\n\t */\n\t_normalizeUserProcess(process, additional = {}) {\n\t\tif (process instanceof UserProcess) {\n\t\t\tprocess = process.toJSON();\n\t\t}\n\t\telse if (process instanceof BuilderNode) {\n\t\t\tprocess.result = true;\n\t\t\tprocess = process.parent.toJSON();\n\t\t}\n\t\telse if (Utils.isObject(process) && !Utils.isObject(process.process_graph)) {\n\t\t\tprocess = {\n\t\t\t\tprocess_graph: process\n\t\t\t};\n\t\t}\n\t\treturn Object.assign({}, additional, {process: process});\n\t}\n\n\t/**\n\t * Validates a user-defined process at the back-end.\n\t * \n\t * @async\n\t * @param {Process} process - User-defined process to validate.\n\t * @returns {Promise>} errors - A list of API compatible error objects. A valid process returns an empty list.\n\t * @throws {Error}\n\t */\n\tasync validateProcess(process) {\n\t\tlet response = await this._post('/validation', this._normalizeUserProcess(process).process);\n\t\tif (Array.isArray(response.data.errors)) {\n\t\t\treturn response.data.errors;\n\t\t}\n\t\telse {\n\t\t\tthrow new Error(\"Invalid validation response received.\");\n\t\t}\n\t}\n\n\t/**\n\t * Lists all user-defined processes of the authenticated user.\n\t * \n\t * @async\n\t * @param {Array.} [oldProcesses=[]] - A list of existing user-defined processes to update.\n\t * @returns {Promise>} A list of user-defined processes.\n\t * @throws {Error}\n\t */\n\tasync listUserProcesses(oldProcesses = []) {\n\t\tlet response = await this._get('/process_graphs');\n\n\t\tif (!Utils.isObject(response.data) || !Array.isArray(response.data.processes)) {\n\t\t\tthrow new Error('Invalid response received for processes');\n\t\t}\n\n\t\t// Remove existing processes from cache\n\t\tthis.processes.remove(null, 'user');\n\n\t\t// Update existing processes if needed\n\t\tlet newProcesses = response.data.processes.map(newProcess => {\n\t\t\tlet process = oldProcesses.find(oldProcess => oldProcess.id === newProcess.id);\n\t\t\tif (!process) {\n\t\t\t\tprocess = new UserProcess(this, newProcess.id);\n\t\t\t}\n\t\t\treturn process.setAll(newProcess);\n\t\t});\n\t\t\n\t\t// Store plain JS variant (i.e. no Job objects involved) of processes in cache\n\t\tlet jsonProcesses = oldProcesses.length > 0 ? newProcesses.map(p => p.toJSON()) : response.data.processes;\n\t\tthis.processes.addAll(jsonProcesses, 'user');\n\n\t\treturn this._toResponseArray(newProcesses, response.data);\n\t}\n\n\t/**\n\t * Creates a new stored user-defined process at the back-end.\n\t * \n\t * @async\n\t * @param {string} id - Unique identifier for the process.\n\t * @param {Process} process - A user-defined process.\n\t * @returns {Promise} The new user-defined process.\n\t * @throws {Error}\n\t */\n\tasync setUserProcess(id, process) {\n\t\tlet pg = new UserProcess(this, id);\n\t\treturn await pg.replaceUserProcess(process);\n\t}\n\n\t/**\n\t * Get all information about a user-defined process.\n\t * \n\t * @async\n\t * @param {string} id - Identifier of the user-defined process. \n\t * @returns {Promise} The user-defined process.\n\t * @throws {Error}\n\t */\n\tasync getUserProcess(id) {\n\t\tlet pg = new UserProcess(this, id);\n\t\treturn await pg.describeUserProcess();\n\t}\n\n\t/**\n\t * Executes a process synchronously and returns the result as the response.\n\t * \n\t * Please note that requests can take a very long time of several minutes or even hours.\n\t * \n\t * @async\n\t * @param {Process} process - A user-defined process.\n\t * @param {?string} [plan=null] - The billing plan to use for this computation.\n\t * @param {?number} [budget=null] - The maximum budget allowed to spend for this computation.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the processing request.\n\t * @param {object.} [additional={}] - Other parameters to pass for the batch job, e.g. `log_level`.\n\t * @returns {Promise} - An object with the data and some metadata.\n\t */\n\tasync computeResult(process, plan = null, budget = null, abortController = null, additional = {}) {\n\t\tlet requestBody = this._normalizeUserProcess(\n\t\t\tprocess,\n\t\t\tObject.assign({}, additional, {\n\t\t\t\tplan: plan,\n\t\t\t\tbudget: budget\n\t\t\t})\n\t\t);\n\t\tlet response = await this._post('/result', requestBody, Environment.getResponseType(), abortController);\n\t\tlet syncResult = {\n\t\t\tdata: response.data,\n\t\t\tcosts: null,\n\t\t\ttype: null,\n\t\t\tlogs: []\n\t\t};\n\t\t\n\t\tif (typeof response.headers['openeo-costs'] === 'number') {\n\t\t\tsyncResult.costs = response.headers['openeo-costs'];\n\t\t}\n\t\t\n\t\tif (typeof response.headers['content-type'] === 'string') {\n\t\t\tsyncResult.type = response.headers['content-type'];\n\t\t}\n\n\t\tlet links = Array.isArray(response.headers.link) ? response.headers.link : [response.headers.link];\n\t\tfor(let link of links) {\n\t\t\tif (typeof link !== 'string') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet logs = link.match(/^<([^>]+)>;\\s?rel=\"monitor\"/i);\n\t\t\tif (Array.isArray(logs) && logs.length > 1) {\n\t\t\t\ttry {\n\t\t\t\t\tlet logsResponse = await this._get(logs[1]);\n\t\t\t\t\tif (Utils.isObject(logsResponse.data) && Array.isArray(logsResponse.data.logs)) {\n\t\t\t\t\t\tsyncResult.logs = logsResponse.data.logs;\n\t\t\t\t\t}\n\t\t\t\t} catch(error) {\n\t\t\t\t\tconsole.warn(error);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn syncResult;\n\t}\n\n\t/**\n\t * Executes a process synchronously and downloads to result the given path.\n\t * \n\t * Please note that requests can take a very long time of several minutes or even hours.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * If a NodeJs environment, writes the downloaded file to the target location on the file system.\n\t * In a browser environment, offers the file for downloading using the specified name (folders are not supported).\n\t * \n\t * @async\n\t * @param {Process} process - A user-defined process.\n\t * @param {string} targetPath - The target, see method description for details.\n\t * @param {?string} [plan=null] - The billing plan to use for this computation.\n\t * @param {?number} [budget=null] - The maximum budget allowed to spend for this computation.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the processing request.\n\t * @throws {Error}\n\t */\n\tasync downloadResult(process, targetPath, plan = null, budget = null, abortController = null) {\n\t\tlet response = await this.computeResult(process, plan, budget, abortController);\n\t\t// @ts-ignore\n\t\tawait Environment.saveToFile(response.data, targetPath);\n\t}\n\n\t/**\n\t * Lists all batch jobs of the authenticated user.\n\t * \n\t * @async\n\t * @param {Array.} [oldJobs=[]] - A list of existing jobs to update.\n\t * @returns {Promise>} A list of jobs.\n\t * @throws {Error}\n\t */\n\tasync listJobs(oldJobs = []) {\n\t\tlet response = await this._get('/jobs');\n\t\tlet newJobs = response.data.jobs.map(newJob => {\n\t\t\tlet job = oldJobs.find(oldJob => oldJob.id === newJob.id);\n\t\t\tif (!job) {\n\t\t\t\tjob = new Job(this, newJob.id);\n\t\t\t}\n\t\t\treturn job.setAll(newJob);\n\t\t});\n\t\treturn this._toResponseArray(newJobs, response.data);\n\t}\n\n\t/**\n\t * Creates a new batch job at the back-end.\n\t * \n\t * @async\n\t * @param {Process} process - A user-define process to execute.\n\t * @param {?string} [title=null] - A title for the batch job.\n\t * @param {?string} [description=null] - A description for the batch job.\n\t * @param {?string} [plan=null] - The billing plan to use for this batch job.\n\t * @param {?number} [budget=null] - The maximum budget allowed to spend for this batch job.\n\t * @param {object.} [additional={}] - Other parameters to pass for the batch job, e.g. `log_level`.\n\t * @returns {Promise} The stored batch job.\n\t * @throws {Error}\n\t */\n\tasync createJob(process, title = null, description = null, plan = null, budget = null, additional = {}) {\n\t\tadditional = Object.assign({}, additional, {\n\t\t\ttitle: title,\n\t\t\tdescription: description,\n\t\t\tplan: plan,\n\t\t\tbudget: budget\n\t\t});\n\t\tlet requestBody = this._normalizeUserProcess(process, additional);\n\t\tlet response = await this._post('/jobs', requestBody);\n\t\tif (typeof response.headers['openeo-identifier'] !== 'string') {\n\t\t\tthrow new Error(\"Response did not contain a Job ID. Job has likely been created, but may not show up yet.\");\n\t\t}\n\t\tlet job = new Job(this, response.headers['openeo-identifier']).setAll(requestBody);\n\t\tif (this.capabilities().hasFeature('describeJob')) {\n\t\t\treturn await job.describeJob();\n\t\t}\n\t\telse {\n\t\t\treturn job;\n\t\t}\n\t}\n\n\t/**\n\t * Get all information about a batch job.\n\t * \n\t * @async\n\t * @param {string} id - Batch Job ID. \n\t * @returns {Promise} The batch job.\n\t * @throws {Error}\n\t */\n\tasync getJob(id) {\n\t\tlet job = new Job(this, id);\n\t\treturn await job.describeJob();\n\t}\n\n\t/**\n\t * Lists all secondary web services of the authenticated user.\n\t * \n\t * @async\n\t * @param {Array.} [oldServices=[]] - A list of existing services to update.\n\t * @returns {Promise>} A list of services.\n\t * @throws {Error}\n\t */\n\tasync listServices(oldServices = []) {\n\t\tlet response = await this._get('/services');\n\t\tlet newServices = response.data.services.map(newService => {\n\t\t\tlet service = oldServices.find(oldService => oldService.id === newService.id);\n\t\t\tif (!service) {\n\t\t\t\tservice = new Service(this, newService.id);\n\t\t\t}\n\t\t\treturn service.setAll(newService);\n\t\t});\n\t\treturn this._toResponseArray(newServices, response.data);\n\t}\n\n\t/**\n\t * Creates a new secondary web service at the back-end. \n\t * \n\t * @async\n\t * @param {Process} process - A user-defined process.\n\t * @param {string} type - The type of service to be created (see `Connection.listServiceTypes()`).\n\t * @param {?string} [title=null] - A title for the service.\n\t * @param {?string} [description=null] - A description for the service.\n\t * @param {boolean} [enabled=true] - Enable the service (`true`, default) or not (`false`).\n\t * @param {object.} [configuration={}] - Configuration parameters to pass to the service.\n\t * @param {?string} [plan=null] - The billing plan to use for this service.\n\t * @param {?number} [budget=null] - The maximum budget allowed to spend for this service.\n\t * @param {object.} [additional={}] - Other parameters to pass for the service, e.g. `log_level`.\n\t * @returns {Promise} The stored service.\n\t * @throws {Error}\n\t */\n\tasync createService(process, type, title = null, description = null, enabled = true, configuration = {}, plan = null, budget = null, additional = {}) {\n\t\tlet requestBody = this._normalizeUserProcess(process, Object.assign({\n\t\t\ttitle: title,\n\t\t\tdescription: description,\n\t\t\ttype: type,\n\t\t\tenabled: enabled,\n\t\t\tconfiguration: configuration,\n\t\t\tplan: plan,\n\t\t\tbudget: budget\n\t\t}, additional));\n\t\tlet response = await this._post('/services', requestBody);\n\t\tif (typeof response.headers['openeo-identifier'] !== 'string') {\n\t\t\tthrow new Error(\"Response did not contain a Service ID. Service has likely been created, but may not show up yet.\");\n\t\t}\n\t\tlet service = new Service(this, response.headers['openeo-identifier']).setAll(requestBody);\n\t\tif (this.capabilities().hasFeature('describeService')) {\n\t\t\treturn service.describeService();\n\t\t}\n\t\telse {\n\t\t\treturn service;\n\t\t}\n\t}\n\n\t/**\n\t * Get all information about a secondary web service.\n\t * \n\t * @async\n\t * @param {string} id - Service ID. \n\t * @returns {Promise} The service.\n\t * @throws {Error}\n\t */\n\tasync getService(id) {\n\t\tlet service = new Service(this, id);\n\t\treturn await service.describeService();\n\t}\n\n\t/**\n\t * Adds additional response details to the array.\n\t * \n\t * Adds links and federation:missing.\n\t * \n\t * @protected\n\t * @param {Array.<*>} arr \n\t * @param {object.} response \n\t * @returns {ResponseArray}\n\t */\n\t_toResponseArray(arr, response) {\n\t\tarr.links = Array.isArray(response.links) ? response.links : [];\n\t\tarr['federation:missing'] = Array.isArray(response['federation:missing']) ? response['federation:missing'] : [];\n\t\treturn arr;\n\t}\n\n\t/**\n\t * Get the a link with the given rel type.\n\t * \n\t * @protected\n\t * @param {Array.} links - An array of links.\n\t * @param {string|Array.} rel - Relation type(s) to find.\n\t * @returns {string | null}\n\t * @throws {Error}\n\t */\n\t_getLinkHref(links, rel) {\n\t\tif (!Array.isArray(rel)) {\n\t\t\trel = [rel];\n\t\t}\n\t\tif (Array.isArray(links)) {\n\t\t\tlet link = links.find(l => Utils.isObject(l) && rel.includes(l.rel) && typeof l.href === 'string');\n\t\t\tif (link) {\n\t\t\t\treturn link.href;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Makes all links in the list absolute.\n\t * \n\t * @param {Array.} links - An array of links.\n\t * @param {?string|AxiosResponse} [base=null] - The base url to use for relative links, or an response to derive the url from.\n\t * @returns {Array.}\n\t */\n\tmakeLinksAbsolute(links, base = null) {\n\t\tif (!Array.isArray(links)) {\n\t\t\treturn links;\n\t\t}\n\t\tlet baseUrl = null;\n\t\tif (Utils.isObject(base) && base.headers && base.config && base.request) { // AxiosResponse\n\t\t\tbaseUrl = base.config.baseURL + base.config.url;\n\t\t}\n\t\telse if (typeof base !== 'string') {\n\t\t\tbaseUrl = this._getLinkHref(links, 'self');\n\t\t}\n\t\telse {\n\t\t\tbaseUrl = base;\n\t\t}\n\t\tif (!baseUrl) {\n\t\t\treturn links;\n\t\t}\n\t\treturn links.map((link) => {\n\t\t\tif (!Utils.isObject(link) || typeof link.href !== 'string') {\n\t\t\t\treturn link;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tlet url = new URL(link.href, baseUrl);\n\t\t\t\treturn Object.assign({}, link, {href: url.toString()});\n\t\t\t} catch(error) {\n\t\t\t\treturn link;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Sends a GET request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @param {object.} query \n\t * @param {string} responseType - Response type according to axios, defaults to `json`.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the request.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see https://github.com/axios/axios#request-config\n\t */\n\tasync _get(path, query, responseType, abortController = null) {\n\t\treturn await this._send({\n\t\t\tmethod: 'get',\n\t\t\tresponseType: responseType,\n\t\t\turl: path,\n\t\t\t// Timeout for capabilities requests as they are used for a quick first discovery to check whether the server is a openEO back-end.\n\t\t\t// Without timeout connecting with a wrong server url may take forever.\n\t\t\ttimeout: path === '/' ? 5000 : 0,\n\t\t\tparams: query\n\t\t}, abortController);\n\t}\n\n\t/**\n\t * Sends a POST request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @param {*} body \n\t * @param {string} responseType - Response type according to axios, defaults to `json`.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the request.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see https://github.com/axios/axios#request-config\n\t */\n\tasync _post(path, body, responseType, abortController = null) {\n\t\tlet options = {\n\t\t\tmethod: 'post',\n\t\t\tresponseType: responseType,\n\t\t\turl: path,\n\t\t\tdata: body\n\t\t};\n\t\treturn await this._send(options, abortController);\n\t}\n\n\t/**\n\t * Sends a PUT request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @param {*} body \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync _put(path, body) {\n\t\treturn await this._send({\n\t\t\tmethod: 'put',\n\t\t\turl: path,\n\t\t\tdata: body\n\t\t});\n\t}\n\n\t/**\n\t * Sends a PATCH request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @param {*} body \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync _patch(path, body) {\n\t\treturn await this._send({\n\t\t\tmethod: 'patch',\n\t\t\turl: path,\n\t\t\tdata: body\n\t\t});\n\t}\n\n\t/**\n\t * Sends a DELETE request.\n\t * \n\t * @protected\n\t * @async\n\t * @param {string} path \n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync _delete(path) {\n\t\treturn await this._send({\n\t\t\tmethod: 'delete',\n\t\t\turl: path\n\t\t});\n\t}\n\n\t/**\n\t * Downloads data from a URL.\n\t * \n\t * May include authorization details where required.\n\t * \n\t * @param {string} url - An absolute or relative URL to download data from.\n\t * @param {boolean} authorize - Send authorization details (`true`) or not (`false`).\n\t * @returns {Promise} - Returns the data as `Stream` in NodeJS environments or as `Blob` in browsers\n\t * @throws {Error}\n\t */\n\tasync download(url, authorize) {\n\t\tlet result = await this._send({\n\t\t\tmethod: 'get',\n\t\t\tresponseType: Environment.getResponseType(),\n\t\t\turl: url,\n\t\t\tauthorization: authorize\n\t\t});\n\t\treturn result.data;\n\t}\n\n\t/**\n\t * Get the authorization header for requests.\n\t * \n\t * @protected\n\t * @returns {object.}\n\t */\n\t_getAuthHeaders() {\n\t\tconst headers = {};\n\t\tif (this.isAuthenticated()) {\n\t\t\theaders.Authorization = 'Bearer ' + this.authProvider.getToken();\n\t\t}\n\t\treturn headers;\n\t}\n\n\t/**\n\t * Sends a HTTP request.\n\t * \n\t * Options mostly conform to axios,\n\t * see {@link https://github.com/axios/axios#request-config}.\n\t * \n\t * Automatically sets a baseUrl and the authorization information.\n\t * Default responseType is `json`.\n\t * \n\t * Tries to smoothly handle error responses by providing an object for all response types,\n\t * instead of Streams or Blobs for non-JSON response types.\n\t * \n\t * @protected\n\t * @async\n\t * @param {object.} options \n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the request.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see https://github.com/axios/axios\n\t */\n\tasync _send(options, abortController = null) {\n\t\toptions.baseURL = this.baseUrl;\n\t\tif (typeof options.authorization === 'undefined' || options.authorization === true) {\n\t\t\tif (!options.headers) {\n\t\t\t\toptions.headers = {};\n\t\t\t}\n\t\t\tObject.assign(options.headers, this._getAuthHeaders());\n\t\t}\n\t\tif (!options.responseType) {\n\t\t\toptions.responseType = 'json';\n\t\t}\n\t\tif (abortController) {\n\t\t\toptions.signal = abortController.signal;\n\t\t}\n\n\t\ttry {\n\t\t\tlet response = await axios(options);\n\t\t\tlet capabilities = this.capabilities();\n\t\t\tif (capabilities) {\n\t\t\t\tresponse = capabilities.migrate(response);\n\t\t\t}\n\t\t\treturn response;\n\t\t} catch(error) {\n\t\t\tif (axios.isCancel(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst checkContentType = type => (typeof type === 'string' && type.indexOf('/json') !== -1);\n\t\t\tconst enrichError = (origin, response) => {\n\t\t\t\tif (typeof response.message === 'string') {\n\t\t\t\t\torigin.message = response.message;\n\t\t\t\t}\n\t\t\t\torigin.code = typeof response.code === 'string' ? response.code : \"\";\n\t\t\t\torigin.id = response.id;\n\t\t\t\torigin.links = Array.isArray(response.links) ? response.links : [];\n\t\t\t\treturn origin;\n\t\t\t};\n\t\t\tif (Utils.isObject(error.response) && Utils.isObject(error.response.data) && (checkContentType(error.response.data.type) || (Utils.isObject(error.response.headers) && checkContentType(error.response.headers['content-type'])))) {\n\t\t\t\t// JSON error responses are Blobs and streams if responseType is set as such, so convert to JSON if required.\n\t\t\t\t// See: https://github.com/axios/axios/issues/815\n\t\t\t\tif (options.responseType === Environment.getResponseType()) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet errorResponse = await Environment.handleErrorResponse(error);\n\t\t\t\t\t\tthrow enrichError(error, errorResponse);\n\t\t\t\t\t} catch (error2) {\n\t\t\t\t\t\tconsole.error(error2);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow enrichError(error, error.response.data);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n}\n\nmodule.exports = Connection;\n","if (typeof window === 'undefined') {\n\tmodule.exports = require('./node');\n}\nelse {\n\tmodule.exports = require('./browser');\n}","const Utils = require('@openeo/js-commons/src/utils');\n\n/**\n * Manages the files types supported by the back-end.\n */\nclass FileTypes {\n\n\t/**\n\t * Creates a new FileTypes object from an API-compatible JSON response.\n\t * \n\t * @param {FileTypesAPI} data - A capabilities response compatible to the API specification for `GET /file_formats`.\n\t */\n\tconstructor(data) {\n\t\t/**\n\t\t * @protected\n\t\t * @type {FileTypesAPI}\n\t\t */\n\t\tthis.data = {\n\t\t\tinput: {},\n\t\t\toutput: {}\n\t\t};\n\t\tif(!Utils.isObject(data)) {\n\t\t\treturn;\n\t\t}\n\t\tfor(let io of ['input', 'output']) {\n\t\t\tfor(let type in data[io]) {\n\t\t\t\tif(!Utils.isObject(data[io])) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthis.data[io][type.toUpperCase()] = data[io][type];\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * A list of backends from the federation that are missing in the response data.\n\t\t * \n\t\t * @public\n\t\t * @type {Array.}\n\t\t */\n\t\tthis['federation:missing'] = data['federation:missing'];\n\t}\n\n\t/**\n\t * Returns the file types response as a JSON serializable representation of the data that is API compliant.\n\t * \n\t * @returns {FileTypesAPI}\n\t */\n\ttoJSON() {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Returns the input file formats.\n\t * \n\t * @returns {object.}\n\t */\n\tgetInputTypes() {\n\t\treturn this.data.input;\n\t}\n\n\t/**\n\t * Returns the output file formats.\n\t * \n\t * @returns {object.}\n\t */\n\tgetOutputTypes() {\n\t\treturn this.data.output;\n\t}\n\n\t/**\n\t * Returns a single input file format for a given identifier.\n\t * \n\t * Returns null if no input file format was found for the given identifier.\n\t * \n\t * @param {string} type - Case-insensitive file format identifier\n\t * @returns {FileType | null}\n\t */\n\tgetInputType(type) {\n\t\treturn this._findType(type, 'input');\n\t}\n\n\t/**\n\t * Returns a single output file format for a given identifier.\n\t * \n\t * Returns null if no output file format was found for the given identifier.\n\t * \n\t * @param {string} type - Case-insensitive file format identifier\n\t * @returns {FileType | null}\n\t */\n\tgetOutputType(type) {\n\t\treturn this._findType(type, 'output');\n\t}\n\n\t/**\n\t * Get a file type object from the list of input or output file formats.\n\t * \n\t * @param {string} type - Identifier of the file type\n\t * @param {string} io - Either `input` or `output`\n\t * @returns {FileType | null}\n\t * @protected\n\t */\n\t_findType(type, io) {\n\t\ttype = type.toUpperCase();\n\t\tif (type in this.data[io]) {\n\t\t\treturn this.data[io][type];\n\t\t}\n\t\treturn null;\n\t}\n\n}\n\nmodule.exports = FileTypes;\n","const Environment = require('./env');\nconst BaseEntity = require('./baseentity');\nconst Logs = require('./logs');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst StacMigrate = require('@radiantearth/stac-migrate');\n\nconst STOP_STATUS = ['finished', 'canceled', 'error'];\n\n/**\n * A Batch Job.\n * \n * @augments BaseEntity\n */\nclass Job extends BaseEntity {\n\n\t/**\n\t * Creates an object representing a batch job stored at the back-end.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} jobId - The batch job ID.\n\t */\n\tconstructor(connection, jobId) {\n\t\tsuper(connection, [\"id\", \"title\", \"description\", \"process\", \"status\", \"progress\", \"created\", \"updated\", \"plan\", \"costs\", \"budget\", \"usage\", [\"log_level\", \"logLevel\"], \"links\"]);\n\t\t/**\n\t\t * The identifier of the batch job.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = jobId;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.title = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.description = undefined;\n\t\t/**\n\t\t * The process chain to be executed.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Process}\n\t\t */\n\t\tthis.process = undefined;\n\t\t/**\n\t\t * The current status of a batch job.\n\t\t * One of \"created\", \"queued\", \"running\", \"canceled\", \"finished\" or \"error\".\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.status = undefined;\n\t\t/**\n\t\t * Indicates the process of a running batch job in percent. \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.progress = undefined;\n\t\t/**\n\t\t * Date and time of creation, formatted as a RFC 3339 date-time.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.created = undefined;\n\t\t/**\n\t\t * Date and time of the last status change, formatted as a RFC 3339 date-time.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.updated = undefined;\n\t\t/**\n\t\t * The billing plan to process and charge the batch job with.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.plan = undefined;\n\t\t/**\n\t\t * An amount of money or credits in the currency specified by the back-end.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.costs = undefined;\n\t\t/**\n\t\t * Maximum amount of costs the request is allowed to produce in the currency specified by the back-end.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.budget = undefined;\n\t}\n\n\t/**\n\t * Updates the batch job data stored in this object by requesting the metadata from the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The update job object (this).\n\t * @throws {Error}\n\t */\n\tasync describeJob() {\n\t\tlet response = await this.connection._get('/jobs/' + this.id);\n\t\treturn this.setAll(response.data);\n\t}\n\n\t/**\n\t * Modifies the batch job at the back-end and afterwards updates this object, too.\n\t * \n\t * @async\n\t * @param {object} parameters - An object with properties to update, each of them is optional, but at least one of them must be specified. Additional properties can be set if the server supports them.\n\t * @param {Process} parameters.process - A new process.\n\t * @param {string} parameters.title - A new title.\n\t * @param {string} parameters.description - A new description.\n\t * @param {string} parameters.plan - A new plan.\n\t * @param {number} parameters.budget - A new budget.\n\t * @returns {Promise} The updated job object (this).\n\t * @throws {Error}\n\t */\n\tasync updateJob(parameters) {\n\t\tawait this.connection._patch('/jobs/' + this.id, this._convertToRequest(parameters));\n\t\tif (this._supports('describeJob')) {\n\t\t\treturn await this.describeJob();\n\t\t}\n\t\telse {\n\t\t\treturn this.setAll(parameters);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes the batch job from the back-end.\n\t * \n\t * @async\n\t * @throws {Error}\n\t */\n\tasync deleteJob() {\n\t\tawait this.connection._delete('/jobs/' + this.id);\n\t}\n\n\t/**\n\t * Calculate an estimate (potentially time/costs/volume) for a batch job.\n\t * \n\t * @async\n\t * @returns {Promise} A response compatible to the API specification.\n\t * @throws {Error}\n\t */\n\tasync estimateJob() {\n\t\tlet response = await this.connection._get('/jobs/' + this.id + '/estimate');\n\t\treturn response.data;\n\t}\n\n\t/**\n\t * Get logs for the batch job from the back-end.\n\t * \n\t * @param {?string} [level=null] - Minimum level of logs to return.\n\t * @returns {Logs}\n\t */\n\tdebugJob(level = null) {\n\t\treturn new Logs(this.connection, '/jobs/' + this.id + '/logs', level);\n\t}\n\n\t/**\n\t * Checks for status changes and new log entries every x seconds.\n\t * \n\t * On every status change observed or on new log entries (if supported by the\n\t * back-end and not disabled via `requestLogs`), the callback is executed.\n\t * It may also be executed once at the beginning.\n\t * The callback receives the updated job (this object) and the logs (array) passed.\n\t * \n\t * The monitoring stops once the job has finished, was canceled or errored out.\n\t * \n\t * This is only supported if describeJob is supported by the back-end.\n\t * \n\t * Returns a function that can be called to stop monitoring the job manually.\n\t * \n\t * @param {Function} callback \n\t * @param {number} [interval=60] - Interval between update requests, in seconds as integer.\n\t * @param {boolean} [requestLogs=true] - Enables/Disables requesting logs\n\t * @returns {Function}\n\t * @throws {Error}\n\t */\n\tmonitorJob(callback, interval = 60, requestLogs = true) {\n\t\tif (typeof callback !== 'function' || interval < 1) {\n\t\t\treturn;\n\t\t}\n\t\tlet capabilities = this.connection.capabilities();\n\t\tif (!capabilities.hasFeature('describeJob')) {\n\t\t\tthrow new Error('Monitoring Jobs not supported by the back-end.');\n\t\t}\n\n\t\tlet lastStatus = this.status;\n\t\tlet intervalId = null;\n\t\tlet logIterator = null;\n\t\tif (capabilities.hasFeature('debugJob') && requestLogs) {\n\t\t\tlogIterator = this.debugJob();\n\t\t}\n\t\tlet monitorFn = async () => {\n\t\t\tif (this.getDataAge() > 1) {\n\t\t\t\tawait this.describeJob();\n\t\t\t}\n\t\t\tlet logs = logIterator ? await logIterator.nextLogs() : [];\n\t\t\tif (lastStatus !== this.status || logs.length > 0) {\n\t\t\t\tcallback(this, logs);\n\t\t\t}\n\t\t\tlastStatus = this.status;\n\t\t\tif (STOP_STATUS.includes(this.status)) {\n\t\t\t\tstopFn(); // eslint-disable-line no-use-before-define\n\t\t\t}\n\t\t};\n\t\tsetTimeout(monitorFn, 0);\n\t\tintervalId = setInterval(monitorFn, interval * 1000);\n\t\tlet stopFn = () => {\n\t\t\tif (intervalId) {\n\t\t\t\tclearInterval(intervalId);\n\t\t\t\tintervalId = null;\n\t\t\t}\n\t\t};\n\t\treturn stopFn;\n\t}\n\n\t/**\n\t * Starts / queues the batch job for processing at the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The updated job object (this).\n\t * @throws {Error}\n\t */\n\tasync startJob() {\n\t\tawait this.connection._post('/jobs/' + this.id + '/results', {});\n\t\tif (this._supports('describeJob')) {\n\t\t\treturn await this.describeJob();\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Stops / cancels the batch job processing at the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The updated job object (this).\n\t * @throws {Error}\n\t */\n\tasync stopJob() {\n\t\tawait this.connection._delete('/jobs/' + this.id + '/results');\n\t\tif (this._supports('describeJob')) {\n\t\t\treturn await this.describeJob();\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Retrieves the STAC Item or Collection produced for the job results.\n\t * \n\t * The Item or Collection returned always complies to the latest STAC version (currently 1.0.0). \n\t * \n\t * @async\n\t * @returns {Promise>} The JSON-based response compatible to the API specification, but also including a `costs` property if present in the headers.\n\t * @throws {Error}\n\t */\n\tasync getResultsAsStac() {\n\t\tlet response = await this.connection._get('/jobs/' + this.id + '/results');\n\t\tif (!Utils.isObject(response) || !Utils.isObject(response.data)) {\n\t\t\tthrow new Error(\"Results received from the back-end are invalid\");\n\t\t}\n\t\tlet data = StacMigrate.stac(response.data);\n\t\tif (!Utils.isObject(data.assets)) {\n\t\t\tdata.assets = {};\n\t\t}\n\t\tif (data.type === 'Feature') { // Item\n\t\t\tif (typeof response.headers['openeo-costs'] === 'number') {\n\t\t\t\tdata.properties.costs = response.headers['openeo-costs'];\n\t\t\t}\n\t\t}\n\t\telse { // Collection\n\t\t\tif (typeof response.headers['openeo-costs'] === 'number') {\n\t\t\t\tdata.costs = response.headers['openeo-costs'];\n\t\t\t}\n\t\t}\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Retrieves download links.\n\t * \n\t * @async\n\t * @returns {Promise>} A list of links (object with href, rel, title, type and roles).\n\t * @throws {Error}\n\t */\n\tasync listResults() {\n\t\tlet item = await this.getResultsAsStac();\n\t\tif (Utils.isObject(item.assets)) {\n\t\t\treturn Object.values(item.assets);\n\t\t}\n\t\telse {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Downloads the results to the specified target folder. The specified target folder must already exist!\n\t * \n\t * NOTE: This method is only supported in a NodeJS environment. In a browser environment this method throws an exception!\n\t * \n\t * @async\n\t * @param {string} targetFolder - A target folder to store the file to, which must already exist.\n\t * @returns {Promise|void>} Depending on the environment: A list of file paths of the newly created files (Node), throws in Browsers.\n\t * @throws {Error}\n\t */\n\tasync downloadResults(targetFolder) {\n\t\tlet list = await this.listResults();\n\t\treturn await Environment.downloadResults(this.connection, list, targetFolder);\n\t}\n}\n\nmodule.exports = Job;\n","const Utils = require('@openeo/js-commons/src/utils');\n\n/**\n * Interface to loop through the logs.\n */\nclass Logs {\n\n\t/**\n\t * Creates a new Logs instance to retrieve logs from a back-end.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} endpoint - The relative endpoint to request the logs from, usually `/jobs/.../logs` or `/services/.../logs` with `...` being the actual job or service id.\n\t * @param {?string} [level=null] - Minimum level of logs to return.\n\t */\n\tconstructor(connection, endpoint, level = null) {\n\t\t/**\n\t\t * @protected\n\t\t * @type {Connection}\n\t\t */\n\t\tthis.connection = connection;\n\t\tthis.endpoint = endpoint;\n\t\tthis.lastId = \"\";\n\t\tthis.level = level;\n\t}\n\n\t/**\n\t * Retrieves the next log entries since the last request.\n\t * \n\t * Retrieves log entries only.\n\t * \n\t * @async\n\t * @param {number} limit - The number of log entries to retrieve per request, as integer.\n\t * @returns {Promise>}\n\t */\n\tasync nextLogs(limit = null) {\n\t\tlet response = await this.next(limit);\n\t\treturn Array.isArray(response.logs) ? response.logs : [];\n\t}\n\n\t/**\n\t * Retrieves the next log entries since the last request.\n\t * \n\t * Retrieves the full response compliant to the API, including log entries and links.\n\t * \n\t * @async\n\t * @param {number} limit - The number of log entries to retrieve per request, as integer.\n\t * @returns {Promise}\n\t */\n\tasync next(limit = null) {\n\t\tlet query = {\n\t\t\toffset: this.lastId\n\t\t};\n\t\tif (limit > 0) {\n\t\t\tquery.limit = limit;\n\t\t}\n\t\tif (this.level) {\n\t\t\tquery.level = this.level;\n\t\t}\n\t\tlet response = await this.connection._get(this.endpoint, query);\n\t\tif (Array.isArray(response.data.logs) && response.data.logs.length > 0) {\n\t\t\tresponse.data.logs = response.data.logs.filter(log => Utils.isObject(log) && typeof log.id === 'string');\n\t\t\tthis.lastId = response.data.logs[response.data.logs.length - 1].id;\n\t\t}\n\t\telse {\n\t\t\tresponse.data.logs = [];\n\t\t}\n\t\tresponse.data.links = Array.isArray(response.data.links) ? response.data.links : [];\n\t\treturn response.data;\n\t}\n\n}\n\nmodule.exports = Logs;\n","const fs = require('fs');\nconst url = require(\"url\");\nconst path = require(\"path\");\nconst Stream = require('stream');\n\n/**\n * Platform dependant utilities for the openEO JS Client.\n * \n * Node.js implementation, don't use in other environments.\n * \n * @hideconstructor\n */\nclass Environment {\n\n\t/**\n\t * Returns the name of the Environment, here `Node`.\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getName() {\n\t\treturn 'Node';\n\t}\n\n\t/**\n\t * Returns the URL of the server instance.\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getUrl() {\n\t\treturn Environment.url;\n\t}\n\n\t/**\n\t * Sets the URL of the server instance.\n\t * \n\t * @param {string} uri\n\t * @static\n\t */\n\tstatic setUrl(uri) {\n\t\tEnvironment.url = uri;\n\t}\n\n\t/**\n\t * Handles errors from the API that are returned as Streams.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {Stream.Readable} error \n\t * @returns {Promise}\n\t */\n\tstatic handleErrorResponse(error) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet chunks = [];\n\t\t\terror.response.data.on(\"data\", chunk => chunks.push(chunk));\n\t\t\terror.response.data.on(\"error\", streamError => reject(streamError));\n\t\t\terror.response.data.on(\"end\", () => resolve(JSON.parse(Buffer.concat(chunks).toString())));\n\t\t});\n\t}\n\n\t/**\n\t * Returns how binary responses from the servers are returned (`stream` or `blob`).\n\t * \n\t * @returns {string}\n\t * @static\n\t */\n\tstatic getResponseType() {\n\t\treturn 'stream';\n\t}\n\n\t/**\n\t * Encodes a string into Base64 encoding.\n\t * \n\t * @static\n\t * @param {string|Buffer} str - String to encode.\n\t * @returns {string} String encoded in Base64.\n\t */\n\tstatic base64encode(str) {\n\t\tlet buffer;\n\t\tif (str instanceof Buffer) {\n\t\t\tbuffer = str;\n\t\t} else {\n\t\t\tbuffer = Buffer.from(str.toString(), 'binary');\n\t\t}\n\t\treturn buffer.toString('base64');\n\t}\n\n\t/**\n\t * Detect the file name for the given data source.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {string} source - A path to a file as string.\n\t * @returns {string}\n\t */\n\tstatic fileNameForUpload(source) {\n\t\treturn path.basename(source);\n\t}\n\n\t/**\n\t * Get the data from the source that should be uploaded.\n\t * \n\t * @ignore\n\t * @static\n\t * @param {string} source - A path to a file as string.\n\t * @returns {Stream.Readable}\n\t */\n\tstatic dataForUpload(source) {\n\t\treturn fs.createReadStream(source);\n\t}\n\n\t/**\n\t * Downloads files to local storage and returns a list of file paths.\n\t * \n\t * @static\n\t * @param {Connection} con \n\t * @param {Array.>} assets \n\t * @param {string} targetFolder \n\t * @returns {Promise>}\n\t * @throws {Error}\n\t */\n\tstatic async downloadResults(con, assets, targetFolder) {\n\t\tlet files = [];\n\t\tconst promises = assets.map(async (link) => {\n\t\t\tlet parsedUrl = url.parse(link.href);\n\t\t\tlet targetPath = path.join(targetFolder, path.basename(parsedUrl.pathname));\n\t\t\tlet data = await con.download(link.href, false);\n\t\t\tif (data instanceof Stream.Readable) {\n\t\t\t\tawait Environment.saveToFile(data, targetPath);\n\t\t\t\tfiles.push(targetPath);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error(\"Data retrieved is not a Stream\");\n\t\t\t}\n\t\t});\n\n\t\tawait Promise.all(promises);\n\t\treturn files;\n\t}\n\n\t/**\n\t * Streams data into a file.\n\t *\n\t * @static\n\t * @async\n\t * @param {Stream.Readable} data - Data stream to read from.\n\t * @param {string} filename - File path to store the data at.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tstatic saveToFile(data, filename) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet writeStream = fs.createWriteStream(filename);\n\t\t\twriteStream.on('close', (err) => {\n\t\t\t\tif (err) {\n\t\t\t\t\treturn reject(err);\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t\tdata.pipe(writeStream);\n\t\t});\n\t}\n}\n\nEnvironment.url = '';\n\nmodule.exports = Environment;\n","const Utils = require('@openeo/js-commons/src/utils');\nconst AuthProvider = require('./authprovider');\nconst Environment = require('./env');\nconst Oidc = require('oidc-client');\n\n/**\n * The Authentication Provider for OpenID Connect.\n * \n * See the openid-connect-popup.html and openid-connect-redirect.html files in\n * the `/examples/oidc` folder for usage examples in the browser.\n * \n * If you want to implement OIDC in a non-browser environment, you can override \n * the OidcProvider or AuthProvider classes with custom behavior.\n * In this case you must provide a function that creates your new class to the\n * `Connection.setOidcProviderFactory()` method.\n * \n * @augments AuthProvider\n * @see Connection#setOidcProviderFactory\n */\nclass OidcProvider extends AuthProvider {\n\n\t/**\n\t * Checks whether the required OIDC client library `openid-client-js` is available.\n\t * \n\t * @static\n\t * @returns {boolean}\n\t */\n\tstatic isSupported() {\n\t\treturn Utils.isObject(Oidc) && Boolean(Oidc.UserManager);\n\t}\n\n\t/**\n\t * Finishes the OpenID Connect sign in (authentication) workflow.\n\t * \n\t * Must be called in the page that OpenID Connect redirects to after logging in.\n\t * \n\t * Supported only in Browser environments.\n\t * \n\t * @async\n\t * @static\n\t * @param {OidcProvider} provider - A OIDC provider to assign the user to.\n\t * @param {object.} [options={}] - Object with additional options.\n\t * @returns {Promise} For uiMethod = 'redirect' only: OIDC User\n\t * @throws {Error}\n\t * @see https://github.com/IdentityModel/oidc-client-js/wiki#other-optional-settings\n\t */\n\tstatic async signinCallback(provider = null, options = {}) {\n\t\tlet url = Environment.getUrl();\n\t\tif (!provider) {\n\t\t\t// No provider options available, try to detect response mode from URL\n\t\t\tprovider = new OidcProvider(null, {});\n\t\t\tprovider.setGrant(url.includes('?') ? 'authorization_code+pkce' : 'implicit');\n\t\t}\n\t\tlet providerOptions = provider.getOptions(options);\n\t\tlet oidc = new Oidc.UserManager(providerOptions);\n\t\treturn await oidc.signinCallback(url);\n\t}\n\n\t/**\n\t * Creates a new OidcProvider instance to authenticate using OpenID Connect.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {OidcProviderMeta} options - OpenID Connect Provider details as returned by the API.\n\t */\n\tconstructor(connection, options) {\n\t\tsuper(\"oidc\", connection, options);\n\n\t\tthis.manager = null;\n\t\tthis.listeners = {};\n\n\t\t/**\n\t\t * The authenticated OIDC user.\n\t\t * \n\t\t * @type {Oidc.User}\n\t\t */\n\t\tthis.user = null;\n\t\t\n\t\t/**\n\t\t * The client ID to use for authentication.\n\t\t * \n\t\t * @type {string | null}\n\t\t */\n\t\tthis.clientId = null;\n\n\t\t/**\n\t\t * The grant type (flow) to use for this provider.\n\t\t * \n\t\t * Either \"authorization_code+pkce\" (default) or \"implicit\"\n\t\t * \n\t\t * @type {string}\n\t\t */\n\t\tthis.grant = \"authorization_code+pkce\"; // Set this before calling detectDefaultClient\n\n\t\t/**\n\t\t * The issuer, i.e. the link to the identity provider.\n\t\t * \n\t\t * @type {string}\n\t\t */\n\t\tthis.issuer = options.issuer || \"\";\n\n\t\t/**\n\t\t * The scopes to be requested.\n\t\t * \n\t\t * @type {Array.}\n\t\t */\n\t\tthis.scopes = Array.isArray(options.scopes) && options.scopes.length > 0 ? options.scopes : ['openid'];\n\n\t\t/**\n\t\t * The scope that is used to request a refresh token.\n\t\t * \n\t\t * @type {string}\n\t\t */\n\t\tthis.refreshTokenScope = \"offline_access\";\n\n\t\t/**\n\t\t * Any additional links.\n\t\t * \n\t\t * \n\t\t * @type {Array.}\n\t\t */\n\t\tthis.links = Array.isArray(options.links) ? options.links : [];\n\n\t\t/**\n\t\t * The default clients made available by the back-end.\n\t\t * \n\t\t * @type {Array.}\n\t\t */\n\t\tthis.defaultClients = Array.isArray(options.default_clients) ? options.default_clients : [];\n\n\t\t/**\n\t\t * The detected default Client.\n\t\t * \n\t\t * @type {OidcClient}\n\t\t */\n\t\tthis.defaultClient = this.detectDefaultClient();\n\t}\n\n\t/**\n\t * Adds a listener to one of the following events:\n\t * \n\t * - AccessTokenExpiring: Raised prior to the access token expiring.\n\t * - AccessTokenExpired: Raised after the access token has expired.\n\t * - SilentRenewError: Raised when the automatic silent renew has failed.\n\t * \n\t * @param {string} event \n\t * @param {Function} callback\n\t * @param {string} [scope=\"default\"]\n\t */\n\taddListener(event, callback, scope = 'default') {\n\t\tthis.manager.events[`add${event}`](callback);\n\t\tthis.listeners[`${scope}:${event}`] = callback;\n\t}\n\n\t/**\n\t * Removes the listener for the given event that has been set with addListener.\n\t * \n\t * @param {string} event \n\t * @param {string} [scope=\"default\"]\n\t * @see OidcProvider#addListener\n\t */\n\tremoveListener(event, scope = 'default') {\n\t\tthis.manager.events[`remove${event}`](this.listeners[event]);\n\t\tdelete this.listeners[`${scope}:${event}`];\n\t}\n\n\t/**\n\t * Authenticate with OpenID Connect (OIDC).\n\t * \n\t * Supported only in Browser environments.\n\t * \n\t * @async\n\t * @param {object.} [options={}] - Object with authentication options.\n\t * @param {boolean} [requestRefreshToken=false] - If set to `true`, adds a scope to request a refresh token.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @see https://github.com/IdentityModel/oidc-client-js/wiki#other-optional-settings\n\t * @see {OidcProvider#refreshTokenScope}\n\t */\n\tasync login(options = {}, requestRefreshToken = false) {\n\t\tif (!this.issuer || typeof this.issuer !== 'string') {\n\t\t\tthrow new Error(\"No Issuer URL available for OpenID Connect\");\n\t\t}\n\n\t\tthis.manager = new Oidc.UserManager(this.getOptions(options, requestRefreshToken));\n\t\tthis.addListener('UserLoaded', async () => this.setUser(await this.manager.getUser()), 'js-client');\n\t\tthis.addListener('AccessTokenExpired', () => this.setUser(null), 'js-client');\n\t\tif (OidcProvider.uiMethod === 'popup') {\n\t\t\tawait this.manager.signinPopup();\n\t\t}\n\t\telse {\n\t\t\tawait this.manager.signinRedirect();\n\t\t}\n\t}\n\n\t/**\n\t * Logout from the established session.\n\t * \n\t * @async\n\t */\n\tasync logout() {\n\t\tif (this.manager !== null) {\n\t\t\ttry {\n\t\t\t\tif (OidcProvider.uiMethod === 'popup') {\n\t\t\t\t\tawait this.manager.signoutPopup();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tawait this.manager.signoutRedirect({\n\t\t\t\t\t\tpost_logout_redirect_uri: Environment.getUrl()\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(error);\n\t\t\t}\n\t\t\tsuper.logout();\n\t\t\tthis.removeListener('UserLoaded', 'js-client');\n\t\t\tthis.removeListener('AccessTokenExpired', 'js-client');\n\t\t\tthis.manager = null;\n\t\t\tthis.setUser(null);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the options for the OIDC client library.\n\t * \n\t * Options can be overridden by custom options via the options parameter.\n\t * \n\t * @protected\n\t * @param {object.} options \n\t * @param {boolean} [requestRefreshToken=false] - If set to `true`, adds a scope to request a refresh token.\n\t * @returns {object.}\n\t * @see {OidcProvider#refreshTokenScope}\n\t */\n\tgetOptions(options = {}, requestRefreshToken = false) {\n\t\tlet response_type = this.getResponseType();\n\t\tlet scope = this.scopes.slice(0);\n\t\tif (requestRefreshToken && !scope.includes(this.refreshTokenScope)) {\n\t\t\tscope.push(this.refreshTokenScope);\n\t\t}\n\n\t\treturn Object.assign({\n\t\t\tclient_id: this.clientId,\n\t\t\tredirect_uri: OidcProvider.redirectUrl,\n\t\t\tauthority: this.issuer.replace('/.well-known/openid-configuration', ''),\n\t\t\tscope: scope.join(' '),\n\t\t\tvalidateSubOnSilentRenew: true,\n\t\t\tresponse_type,\n\t\t\tresponse_mode: response_type.includes('code') ? 'query' : 'fragment'\n\t\t}, options);\n\t}\n\n\t/**\n\t * Get the response_type based on the grant type.\n\t * \n\t * @protected\n\t * @returns {string}\n\t * @throws {Error}\n\t */\n\tgetResponseType() {\n\t\tswitch(this.grant) {\n\t\t\tcase 'authorization_code+pkce':\n\t\t\t\treturn 'code';\n\t\t\tcase 'implicit':\n\t\t\t\treturn 'token id_token';\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Grant Type not supported');\n\t\t}\n\t}\n\n\t/**\n\t * Sets the grant type (flow) used for OIDC authentication.\n\t * \n\t * @param {string} grant - Grant Type\n\t * @throws {Error}\n\t */\n\tsetGrant(grant) { // \n\t\tswitch(grant) {\n\t\t\tcase 'authorization_code+pkce':\n\t\t\tcase 'implicit':\n\t\t\t\tthis.grant = grant;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Grant Type not supported');\n\t\t}\n\t}\n\n\t/**\n\t * Sets the Client ID for OIDC authentication.\n\t * \n\t * This may override a detected default client ID.\n\t * \n\t * @param {string | null} clientId\n\t */\n\tsetClientId(clientId) {\n\t\tthis.clientId = clientId;\n\t}\n\n\t/**\n\t * Sets the OIDC User.\n\t * \n\t * @see https://github.com/IdentityModel/oidc-client-js/wiki#user\n\t * @param {Oidc.User | null} user - The OIDC User. Passing `null` resets OIDC authentication details.\n\t */\n\tsetUser(user) {\n\t\tif (!user) {\n\t\t\tthis.user = null;\n\t\t\tthis.setToken(null);\n\t\t}\n\t\telse {\n\t\t\tthis.user = user;\n\t\t\tthis.setToken(user.access_token);\n\t\t}\n\t}\n\n\t/**\n\t * Returns a display name for the authenticated user.\n\t * \n\t * @returns {string?} Name of the user or `null`\n\t */\n\tgetDisplayName() {\n\t\tif (this.user && Utils.isObject(this.user.profile)) {\n\t\t\treturn this.user.profile.name || this.user.profile.preferred_username || this.user.profile.email || null;\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Detects the default OIDC client ID for the given redirect URL.\n\t * \n\t * Sets the grant and client ID accordingly.\n\t * \n\t * @returns {OidcClient | null}\n\t * @see OidcProvider#setGrant\n\t * @see OidcProvider#setClientId\n\t */\n\tdetectDefaultClient() {\n\t\tfor(let grant of OidcProvider.grants) {\n\t\t\tlet defaultClient = this.defaultClients.find(client => Boolean(client.grant_types.includes(grant) && Array.isArray(client.redirect_urls) && client.redirect_urls.find(url => url.startsWith(OidcProvider.redirectUrl))));\n\t\t\tif (defaultClient) {\n\t\t\t\tthis.setGrant(grant);\n\t\t\t\tthis.setClientId(defaultClient.id);\n\t\t\t\tthis.defaultClient = defaultClient;\n\t\t\t\treturn defaultClient;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n}\n\n/**\n * The global \"UI\" method to use to open the login URL, either \"redirect\" (default) or \"popup\".\n * \n * @type {string}\n */\nOidcProvider.uiMethod = 'redirect';\n\n/**\n * The global redirect URL to use.\n * \n * By default uses the location of the browser, but removes fragment, query and\n * trailing slash.\n * The fragment conflicts with the fragment appended by the Implicit Flow and\n * the query conflicts with the query appended by the Authorization Code Flow.\n * The trailing slash is removed for consistency.\n * \n * @type {string}\n */\nOidcProvider.redirectUrl = Environment.getUrl().split('#')[0].split('?')[0].replace(/\\/$/, '');\n\n/**\n * The supported OpenID Connect grants (flows).\n * \n * The grants are given as defined in openEO API, e.g. `implicit` and/or `authorization_code+pkce`\n * If not defined there, consult the OpenID Connect Discovery documentation.\n * \n * Lists the grants by priority so that the first grant is the default grant.\n * The default grant type since client version 2.0.0 is 'authorization_code+pkce'.\n * \n * @type {Array.}\n */\nOidcProvider.grants = [\n\t'authorization_code+pkce',\n\t'implicit'\n];\n\nmodule.exports = OidcProvider;\n","const axios = require('axios');\nconst Utils = require('@openeo/js-commons/src/utils');\nconst Versions = require('@openeo/js-commons/src/versions');\n\n// API wrapper\nconst Connection = require('./connection');\nconst Job = require('./job');\nconst Logs = require('./logs');\nconst UserFile = require('./userfile');\nconst UserProcess = require('./userprocess');\nconst Service = require('./service');\n\n// Auth Providers\nconst AuthProvider = require('./authprovider');\nconst BasicProvider = require('./basicprovider');\nconst OidcProvider = require('./oidcprovider');\n\n// Response wrapper\nconst Capabilities = require('./capabilities');\nconst FileTypes = require('./filetypes');\n\n// Builder\nconst Builder = require('./builder/builder');\nconst BuilderNode = require('./builder/node');\nconst Parameter = require('./builder/parameter');\nconst Formula = require('./builder/formula');\n\nconst MIN_API_VERSION = '1.0.0-rc.2';\nconst MAX_API_VERSION = '1.x.x';\n\n/**\n * Main class to start with openEO. Allows to connect to a server.\n * \n * @hideconstructor\n */\nclass OpenEO {\n\n\t/**\n\t * Connect to a back-end with version discovery (recommended).\n\t * \n\t * Includes version discovery (request to `GET /well-known/openeo`) and connects to the most suitable version compatible to this JS client version.\n\t * Requests the capabilities and authenticates where required.\n\t * \n\t * @async\n\t * @param {string} url - The server URL to connect to.\n\t * @param {Options} [options={}] - Additional options for the connection.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @static\n\t */\n\tstatic async connect(url, options = {}) {\n\t\tlet wellKnownUrl = Utils.normalizeUrl(url, '/.well-known/openeo');\n\t\tlet versionedUrl = url;\n\t\tlet response = null;\n\t\ttry {\n\t\t\tresponse = await axios.get(wellKnownUrl, {timeout: 5000});\n\n\t\t\tif (!Utils.isObject(response.data) || !Array.isArray(response.data.versions)) {\n\t\t\t\tthrow new Error(\"Well-Known Document doesn't list any versions.\");\n\t\t\t}\n\t\t} catch(error) {\n\t\t\tconsole.warn(\"Can't read well-known document, connecting directly to the specified URL as fallback mechanism. Reason: \" + error.message);\n\t\t}\n\t\n\t\tif (Utils.isObject(response)) {\n\t\t\tlet version = Versions.findLatest(response.data.versions, true, MIN_API_VERSION, MAX_API_VERSION);\n\t\t\tif (version !== null) {\n\t\t\t\tversionedUrl = version.url;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new Error(\"Server not supported. Client only supports the API versions between \" + MIN_API_VERSION + \" and \" + MAX_API_VERSION);\n\t\t\t}\n\t\t}\n\n\t\tlet connection = await OpenEO.connectDirect(versionedUrl, options);\n\t\tconnection.url = url;\n\t\treturn connection;\n\t}\n\n\t/**\n\t * Connects directly to a back-end instance, without version discovery (NOT recommended).\n\t * \n\t * Doesn't do version discovery, therefore a URL of a versioned API must be specified. Requests the capabilities and authenticates where required.\n\t * \n\t * @async\n\t * @param {string} versionedUrl - The server URL to connect to.\n\t * @param {Options} [options={}] - Additional options for the connection.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t * @static\n\t */\n\tstatic async connectDirect(versionedUrl, options = {}) {\n\t\tlet connection = new Connection(versionedUrl, options);\n\n\t\t// Check whether back-end is accessible and supports a compatible version.\n\t\tlet capabilities = await connection.init();\n\t\tif (Versions.compare(capabilities.apiVersion(), MIN_API_VERSION, \"<\") || Versions.compare(capabilities.apiVersion(), MAX_API_VERSION, \">\")) {\n\t\t\tthrow new Error(\"Client only supports the API versions between \" + MIN_API_VERSION + \" and \" + MAX_API_VERSION);\n\t\t}\n\n\t\treturn connection;\n\t}\n\n\t/**\n\t * Returns the version number of the client.\n\t * \n\t * Not to confuse with the API version(s) supported by the client.\n\t * \n\t * @returns {string} Version number (according to SemVer).\n\t */\n\tstatic clientVersion() {\n\t\treturn \"2.6.0\";\n\t}\n\n}\n\nOpenEO.Environment = require('./env');\n\nmodule.exports = {\n\tAbortController,\n\tAuthProvider,\n\tBasicProvider,\n\tCapabilities,\n\tConnection,\n\tFileTypes,\n\tJob,\n\tLogs,\n\tOidcProvider,\n\tOpenEO,\n\tService,\n\tUserFile,\n\tUserProcess,\n\tBuilder,\n\tBuilderNode,\n\tParameter,\n\tFormula\n};\n","const BaseEntity = require('./baseentity');\nconst Logs = require('./logs');\n\n/**\n * A Secondary Web Service.\n * \n * @augments BaseEntity\n */\nclass Service extends BaseEntity {\n\n\t/**\n\t * Creates an object representing a secondary web service stored at the back-end.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} serviceId - The service ID.\n\t */\n\tconstructor(connection, serviceId) {\n\t\tsuper(connection, [\"id\", \"title\", \"description\", \"process\", \"url\", \"type\", \"enabled\", \"configuration\", \"attributes\", \"created\", \"plan\", \"costs\", \"budget\", \"usage\", [\"log_level\", \"logLevel\"], \"links\"]);\n\t\t/**\n\t\t * The identifier of the service.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = serviceId;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.title = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.description = undefined;\n\t\t/**\n\t\t * The process chain to be executed.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Process}\n\t\t */\n\t\tthis.process = undefined;\n\t\t/**\n\t\t * URL at which the secondary web service is accessible\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.url = undefined;\n\t\t/**\n\t\t * Web service type (protocol / standard) that is exposed.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.type = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?boolean}\n\t\t */\n\t\tthis.enabled = undefined;\n\t\t/**\n\t\t * Map of configuration settings, i.e. the setting names supported by the secondary web service combined with actual values. \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.configuration = undefined;\n\t\t/**\n\t\t * Additional attributes of the secondary web service, e.g. available layers for a WMS based on the bands in the underlying GeoTiff.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.attributes = undefined;\n\t\t/**\n\t\t * Date and time of creation, formatted as a RFC 3339 date-time.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.created = undefined;\n\t\t/**\n\t\t * The billing plan to process and charge the service with.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.plan = undefined;\n\t\t/**\n\t\t * An amount of money or credits in the currency specified by the back-end.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.costs = undefined;\n\t\t/**\n\t\t * Maximum amount of costs the request is allowed to produce in the currency specified by the back-end.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?number}\n\t\t */\n\t\tthis.budget = undefined;\n\t}\n\n\t/**\n\t * Updates the data stored in this object by requesting the secondary web service metadata from the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The updates service object (this).\n\t * @throws {Error}\n\t */\n\tasync describeService() {\n\t\tlet response = await this.connection._get('/services/' + this.id);\n\t\treturn this.setAll(response.data);\n\t}\n\n\t/**\n\t * Modifies the secondary web service at the back-end and afterwards updates this object, too.\n\t * \n\t * @async\n\t * @param {object} parameters - An object with properties to update, each of them is optional, but at least one of them must be specified. Additional properties can be set if the server supports them.\n\t * @param {Process} parameters.process - A new process.\n\t * @param {string} parameters.title - A new title.\n\t * @param {string} parameters.description - A new description.\n\t * @param {boolean} parameters.enabled - Enables (`true`) or disables (`false`) the service.\n\t * @param {object.} parameters.configuration - A new set of configuration parameters to set for the service.\n\t * @param {string} parameters.plan - A new plan.\n\t * @param {number} parameters.budget - A new budget.\n\t * @returns {Promise} The updated service object (this).\n\t * @throws {Error}\n\t */\n\tasync updateService(parameters) {\n\t\tawait this.connection._patch('/services/' + this.id, this._convertToRequest(parameters));\n\t\tif (this._supports('describeService')) {\n\t\t\treturn await this.describeService();\n\t\t}\n\t\telse {\n\t\t\treturn this.setAll(parameters);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes the secondary web service from the back-end.\n\t * \n\t * @async\n\t * @throws {Error}\n\t */\n\tasync deleteService() {\n\t\tawait this.connection._delete('/services/' + this.id);\n\t}\n\n\t/**\n\t * Get logs for the secondary web service from the back-end.\n\t * \n\t * @param {?string} [level=null] - Minimum level of logs to return.\n\t * @returns {Logs}\n\t */\n\tdebugService(level = null) {\n\t\treturn new Logs(this.connection, '/services/' + this.id + '/logs', level);\n\t}\n\n\t/**\n\t * Checks for new log entries every x seconds.\n\t * \n\t * On every status change (enabled/disabled) observed or on new log entries\n\t * (if supported by the back-end and not disabled via `requestLogs`), the\n\t * callback is executed. It may also be executed once at the beginning.\n\t * The callback receives the updated service (this object) and the logs (array) passed.\n\t * \n\t * Returns a function that can be called to stop monitoring the service manually.\n\t * The monitoring must be stopped manually, otherwise it runs forever.\n\t * \n\t * This is only supported if describeService is supported by the back-end.\n\t * \n\t * @param {Function} callback \n\t * @param {number} [interval=60] - Interval between update requests, in seconds as integer.\n\t * @param {boolean} [requestLogs=true] - Enables/Disables requesting logs\n\t * @returns {Function}\n\t * @throws {Error}\n\t */\n\tmonitorService(callback, interval = 60, requestLogs = true) {\n\t\tif (typeof callback !== 'function' || interval < 1) {\n\t\t\treturn;\n\t\t}\n\t\tlet capabilities = this.connection.capabilities();\n\t\tif (!capabilities.hasFeature('describeService')) {\n\t\t\tthrow new Error('Monitoring Services not supported by the back-end.');\n\t\t}\n\n\t\tlet wasEnabled = this.enabled;\n\t\tlet intervalId = null;\n\t\tlet logIterator = null;\n\t\tif (capabilities.hasFeature('debugService') && requestLogs) {\n\t\t\tlogIterator = this.debugService();\n\t\t}\n\t\tlet monitorFn = async () => {\n\t\t\tif (this.getDataAge() > 1) {\n\t\t\t\tawait this.describeService();\n\t\t\t}\n\t\t\tlet logs = logIterator ? await logIterator.nextLogs() : [];\n\t\t\tif (wasEnabled !== this.enabled || logs.length > 0) {\n\t\t\t\tcallback(this, logs);\n\t\t\t}\n\t\t\twasEnabled = this.enabled;\n\t\t};\n\t\tsetTimeout(monitorFn, 0);\n\t\tintervalId = setInterval(monitorFn, interval * 1000);\n\t\tlet stopFn = () => {\n\t\t\tif (intervalId) {\n\t\t\t\tclearInterval(intervalId);\n\t\t\t\tintervalId = null;\n\t\t\t}\n\t\t};\n\t\treturn stopFn;\n\t}\n}\n\nmodule.exports = Service;\n","const Environment = require('./env');\nconst BaseEntity = require('./baseentity');\n\n/**\n * A File on the user workspace.\n * \n * @augments BaseEntity\n */\nclass UserFile extends BaseEntity {\n\n\t/**\n\t * Creates an object representing a file on the user workspace.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} path - The path to the file, relative to the user workspace and without user ID.\n\t */\n\tconstructor(connection, path) {\n\t\tsuper(connection, [\"path\", \"size\", \"modified\"]);\n\t\t/**\n\t\t * Path to the file, relative to the user's directory.\n\t\t * @readonly\n\t\t * @public\n\t\t * @type {string}\n\t\t */\n\t\tthis.path = path;\n\t\t/** \n\t\t * File size in bytes as integer.\n\t\t * @readonly\n\t\t * @public\n\t\t * @type {number}\n\t\t */\n\t\tthis.size = undefined;\n\t\t/**\n\t\t * Date and time the file has lastly been modified, formatted as a RFC 3339 date-time.\n\t\t * @readonly\n\t\t * @public\n\t\t * @type {string}\n\t\t */\n\t\tthis.modified = undefined;\n\t}\n\n\t/**\n\t * Downloads a file from the user workspace into memory.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * Returns a stream in a NodeJS environment or a Blob in a browser environment.\n\t * \n\t * @async\n\t * @returns {Promise} - Return value depends on the target and environment, see method description for details.\n\t * @throws {Error}\n\t */\n\tasync retrieveFile() {\n\t\treturn await this.connection.download('/files/' + this.path, true);\n\t}\n\n\t/**\n\t * Downloads a file from the user workspace and saves it.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * In a NodeJS environment writes the downloaded file to the target location on the file system.\n\t * In a browser environment offers the file for downloading using the specified name (folders are not supported).\n\t * \n\t * @async\n\t * @param {string} target - The target, see method description for details.\n\t * @returns {Promise|void>} - Return value depends on the target and environment, see method description for details.\n\t * @throws {Error}\n\t */\n\tasync downloadFile(target) {\n\t\tlet data = await this.connection.download('/files/' + this.path, true);\n\t\t// @ts-ignore\n\t\treturn await Environment.saveToFile(data, target);\n\t}\n\n\t/**\n\t * A callback that is executed on upload progress updates.\n\t * \n\t * @callback uploadStatusCallback\n\t * @param {number} percentCompleted - The percent (0-100) completed.\n\t * @param {UserFile} file - The file object corresponding to the callback.\n\t */\n\n\t/**\n\t * Uploads a file to the user workspace.\n\t * If a file with the name exists, overwrites it.\n\t * \n\t * This method has different behaviour depending on the environment.\n\t * In a nodeJS environment the source must be a path to a file as string.\n\t * In a browser environment the source must be an object from a file upload form.\n\t * \n\t * @async\n\t * @param {*} source - The source, see method description for details.\n\t * @param {?uploadStatusCallback} statusCallback - Optionally, a callback that is executed on upload progress updates.\n\t * @param {?AbortController} [abortController=null] - An AbortController object that can be used to cancel the upload process.\n\t * @returns {Promise}\n\t * @throws {Error}\n\t */\n\tasync uploadFile(source, statusCallback = null, abortController = null) {\n\t\tlet options = {\n\t\t\tmethod: 'put',\n\t\t\turl: '/files/' + this.path,\n\t\t\tdata: Environment.dataForUpload(source),\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/octet-stream'\n\t\t\t}\n\t\t};\n\t\tif (typeof statusCallback === 'function') {\n\t\t\toptions.onUploadProgress = (progressEvent) => {\n\t\t\t\tlet percentCompleted = Math.round( (progressEvent.loaded * 100) / progressEvent.total );\n\t\t\t\tstatusCallback(percentCompleted, this);\n\t\t\t};\n\t\t}\n\n\t\tlet response = await this.connection._send(options, abortController);\n\t\treturn this.setAll(response.data);\n\t}\n\n\t/**\n\t * Deletes the file from the user workspace.\n\t * \n\t * @async\n\t * @throws {Error}\n\t */\n\tasync deleteFile() {\n\t\tawait this.connection._delete('/files/' + this.path);\n\t}\n}\n\nmodule.exports = UserFile;\n","const BaseEntity = require('./baseentity');\nconst Utils = require('@openeo/js-commons/src/utils');\n\n/**\n * A Stored Process Graph.\n * \n * @augments BaseEntity\n */\nclass UserProcess extends BaseEntity {\n\n\t/**\n\t * Creates an object representing a process graph stored at the back-end.\n\t * \n\t * @param {Connection} connection - A Connection object representing an established connection to an openEO back-end.\n\t * @param {string} id - ID of a stored process graph.\n\t */\n\tconstructor(connection, id) {\n\t\tsuper(connection, [\n\t\t\t\"id\",\n\t\t\t\"summary\",\n\t\t\t\"description\",\n\t\t\t\"categories\",\n\t\t\t\"parameters\",\n\t\t\t\"returns\",\n\t\t\t\"deprecated\",\n\t\t\t\"experimental\",\n\t\t\t\"exceptions\",\n\t\t\t\"examples\",\n\t\t\t\"links\",\n\t\t\t[\"process_graph\", \"processGraph\"]\n\t\t]);\n\t\t/**\n\t\t * The identifier of the process.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {string}\n\t\t */\n\t\tthis.id = id;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.summary = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?string}\n\t\t */\n\t\tthis.description = undefined;\n\t\t/**\n\t\t * A list of categories.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Array.}\n\t\t */\n\t\tthis.categories = undefined;\n\t\t/**\n\t\t * A list of parameters.\n\t\t * \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Array.>}\n\t\t */\n\t\tthis.parameters = undefined;\n\t\t/**\n\t\t * Description of the data that is returned by this process.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.returns = undefined;\n\t\t/**\n\t\t * Specifies that the process or parameter is deprecated with the potential to be removed in any of the next versions. \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?boolean}\n\t\t */\n\t\tthis.deprecated = undefined;\n\t\t/**\n\t\t * Declares the process or parameter to be experimental, which means that it is likely to change or may produce unpredictable behaviour. \n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?boolean}\n\t\t */\n\t\tthis.experimental = undefined;\n\t\t/**\n\t\t * Declares any exceptions (errors) that might occur during execution of this process.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.exceptions = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Array.>}\n\t\t */\n\t\tthis.examples = undefined;\n\t\t/**\n\t\t * Links related to this process.\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?Array.}\n\t\t */\n\t\tthis.links = undefined;\n\t\t/**\n\t\t * @public\n\t\t * @readonly\n\t\t * @type {?object.}\n\t\t */\n\t\tthis.processGraph = undefined;\n\t}\n\n\t/**\n\t * Updates the data stored in this object by requesting the process graph metadata from the back-end.\n\t * \n\t * @async\n\t * @returns {Promise} The updated process graph object (this).\n\t * @throws {Error}\n\t */\n\tasync describeUserProcess() {\n\t\tlet response = await this.connection._get('/process_graphs/' + this.id);\n\t\tif (!Utils.isObject(response.data) || typeof response.data.id !== 'string') {\n\t\t\tthrow new Error('Invalid response received for user process');\n\t\t}\n\t\tthis.connection.processes.add(response.data, 'user');\n\t\treturn this.setAll(response.data);\n\t}\n\n\t/**\n\t * Modifies the stored process graph at the back-end and afterwards updates this object, too.\n\t * \n\t * @async\n\t * @param {object} parameters - An object with properties to update, each of them is optional, but at least one of them must be specified. Additional properties can be set if the server supports them.\n\t * @param {Process} parameters.process - A new process.\n\t * @param {string} parameters.title - A new title.\n\t * @param {string} parameters.description - A new description.\n\t * @returns {Promise} The updated process graph object (this).\n\t * @throws {Error}\n\t */\n\tasync replaceUserProcess(parameters) {\n\t\tawait this.connection._put('/process_graphs/' + this.id, this._convertToRequest(parameters));\n\t\tif (this._supports('describeUserProcess')) {\n\t\t\treturn this.describeUserProcess();\n\t\t}\n\t\telse {\n\t\t\tlet obj = this.setAll(parameters);\n\t\t\tthis.connection.processes.add(obj.toJSON(), 'user');\n\t\t\treturn obj;\n\t\t}\n\t}\n\n\t/**\n\t * Deletes the stored process graph from the back-end.\n\t * \n\t * @async\n\t * @throws {Error}\n\t */\n\tasync deleteUserProcess() {\n\t\tawait this.connection._delete('/process_graphs/' + this.id);\n\t\tthis.connection.processes.remove(this.id, 'user');\n\t}\n}\n\nmodule.exports = UserProcess;\n","// Migrations\r\nconst MigrateCapabilities = require('./migrate/capabilities');\r\nconst MigrateCollections = require('./migrate/collections');\r\nconst MigrateProcesses = require('./migrate/processes');\r\n// Processes\r\nconst ProcessDataType = require('./processDataType');\r\nconst ProcessParameter = require('./processParameter');\r\nconst ProcessSchema = require('./processSchema');\r\nconst ProcessUtils = require('./processUtils');\r\nconst ProcessRegistry = require('./processRegistry');\r\n// Others\r\nconst Versions = require('./versions');\r\nconst Utils = require('./utils');\r\n\r\nmodule.exports = {\r\n\tMigrateCapabilities,\r\n\tMigrateCollections,\r\n\tMigrateProcesses,\r\n\tProcessDataType,\r\n\tProcessParameter,\r\n\tProcessSchema,\r\n\tProcessUtils,\r\n\tProcessRegistry,\r\n\tVersions,\r\n\tUtils,\r\n};","const Utils = require('../utils.js');\r\nconst Versions = require('../versions.js');\r\nconst MigrateCommons = require('./commons.js');\r\n\r\nconst NO_VERSION = \"0.0.0\";\r\n\r\n/** Migrate capabilities related responses to the latest version. */\r\nclass MigrateCapabilities {\r\n\r\n /**\r\n * Tries to determine the API version from the capabilities object.\r\n * \r\n * Returns the version number, e.g. \"0.4.2\", \"1.0.0\" or \"0.0.0\" (if unknown).\r\n * \r\n * @param {object} capabilities \r\n * @returns {string}\r\n */\r\n static guessApiVersion(capabilities) {\r\n // No object passed\r\n if (!Utils.isObject(capabilities)) {\r\n return NO_VERSION;\r\n }\r\n\r\n // Get exact info from version fields\r\n if (Versions.validate(capabilities.api_version)) {\r\n return capabilities.api_version;\r\n }\r\n else if (Versions.validate(capabilities.version)) {\r\n return capabilities.version;\r\n }\r\n // Now we are really guessing\r\n else if (Array.isArray(capabilities.endpoints)) {\r\n if (capabilities.endpoints.find(e => e.path === '/file_formats' || e.path === '/conformance' || e.path === '/files')) {\r\n return \"1.0.0\";\r\n }\r\n else if (capabilities.endpoints.find(e => e.path === '/output_formats' || e.path === '/files/{user_id}')) {\r\n return \"0.4.2\";\r\n }\r\n else if (!capabilities.backend_version && !capabilities.title && !capabilities.description && !capabilities.links) {\r\n return \"0.3.1\";\r\n }\r\n }\r\n\r\n // Can't determine version\r\n return NO_VERSION;\r\n }\r\n\r\n /**\r\n * Converts a `GET /` response to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {object} response - The response to convert\r\n * @param {string|null} version - Version number of the API, which the response conforms to. If `null`, tries to guess the version with `guessApiVersion()`.\r\n * @param {boolean} updateVersionNumbers - Should version numbers in the response be updated?\r\n * @param {boolean} updateEndpointPaths - Should the endpoint paths be updated to their recent equivalents?\r\n * @param {string} id - If no id is set in the response, sets it to the value specified here. Defaults to `unknown`.\r\n * @param {string} title - If no title is set in the response, sets it to the value specified here. Defaults to `Unknown`.\r\n * @param {string} title - If no backend_version is set in the response, sets it to the value specified here. Defaults to `0.0.0`.\r\n * @returns {object}\r\n */\r\n static convertCapabilitiesToLatestSpec(originalCapabilities, version = null, updateVersionNumbers = true, updateEndpointPaths = true, id = \"unknown\", title = \"Unknown\", backend_version = \"0.0.0\") {\r\n if (version === null) {\r\n version = this.guessApiVersion(originalCapabilities);\r\n }\r\n // Return empty if version number is not available\r\n if (version === NO_VERSION) {\r\n return {};\r\n }\r\n\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n\r\n let capabilities = Utils.deepClone(originalCapabilities);\r\n // Fill & Update version number\r\n if (!updateVersionNumbers) {\r\n capabilities.api_version = version;\r\n }\r\n else {\r\n capabilities.api_version = \"1.0.0\";\r\n }\r\n\r\n // Convert billing plans\r\n if (Utils.isObject(capabilities.billing)) {\r\n capabilities.billing = this.convertBillingToLatestSpec(capabilities.billing, version);\r\n }\r\n else {\r\n delete capabilities.billing;\r\n }\r\n\r\n // Convert endpoints\r\n capabilities.endpoints = this.convertEndpointsToLatestSpec(capabilities.endpoints, version, updateEndpointPaths);\r\n\r\n // Fill STAC Version field\r\n if (!updateVersionNumbers && Versions.compare(version, \"0.4.x\", \"=\")) {\r\n capabilities.stac_version = \"0.6.2\";\r\n }\r\n else if (updateVersionNumbers || typeof capabilities.stac_version !== 'string') {\r\n capabilities.stac_version = \"0.9.0\";\r\n }\r\n\r\n // Add missing fields with somewhat useful data\r\n if (typeof capabilities.production !== 'boolean') {\r\n capabilities.production = Versions.compare(version, \"1.0.0-rc.1\", \"=\") || Versions.compare(version, \"1.0.0-rc.2\", \"=\") ? true : false;\r\n }\r\n if (typeof capabilities.backend_version !== 'string') {\r\n capabilities.backend_version = backend_version;\r\n }\r\n if (typeof capabilities.id !== 'string') {\r\n capabilities.id = id;\r\n }\r\n if (typeof capabilities.title !== 'string') {\r\n capabilities.title = title;\r\n }\r\n if (typeof capabilities.description !== 'string') {\r\n capabilities.description = \"\";\r\n }\r\n capabilities.links = MigrateCommons.migrateLinks(capabilities.links, version);\r\n\r\n return capabilities;\r\n }\r\n\r\n /**\r\n * Converts the billing part of the `GET /` response to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {object} billing - The response to convert\r\n * @param {string} version - Version number of the API, which the response conforms to\r\n * @returns {object}\r\n */\r\n static convertBillingToLatestSpec(billing, version) {\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n if (Utils.isObject(billing)) {\r\n billing = Utils.deepClone(billing);\r\n }\r\n else {\r\n billing = {};\r\n }\r\n\r\n if (typeof billing.currency !== 'string') {\r\n billing.currency = null;\r\n }\r\n\r\n return billing;\r\n }\r\n\r\n /**\r\n * Converts the endpoints part of the `GET /` response to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {array} endpoints - The response to convert\r\n * @param {string} version - Version number of the API, which the response conforms to\r\n * @param {boolean} updatePaths - Should the endpoint paths be updated to their recent equivalents?\r\n * @returns {array}\r\n */\r\n static convertEndpointsToLatestSpec(endpoints, version, updatePaths = false) {\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n if (!Array.isArray(endpoints)) {\r\n return [];\r\n }\r\n endpoints = Utils.deepClone(endpoints);\r\n // convert v0.4 endpoints to v1.0\r\n if (updatePaths) {\r\n let isV04 = Versions.compare(version, \"0.4.x\", \"=\");\r\n let isLtV100RC2 = Versions.compare(version, \"1.0.0-rc.2\", \"<\");\r\n\r\n let addPutToPg = function(endpoints) {\r\n let newPgPath = '/process_graphs/{process_graph_id}';\r\n let i = endpoints.findIndex(e => e.path === newPgPath);\r\n if (i >= 0) {\r\n if (endpoints[i].methods.indexOf('PUT') === -1) {\r\n endpoints[i].methods.push('PUT');\r\n }\r\n }\r\n else {\r\n endpoints.push({\r\n path: newPgPath,\r\n methods: ['PUT']\r\n });\r\n }\r\n return endpoints;\r\n };\r\n\r\n for(var i in endpoints) {\r\n let e = endpoints[i];\r\n if (isV04) {\r\n switch (e.path) {\r\n case '/output_formats':\r\n e.path = '/file_formats';\r\n break;\r\n case '/files/{user_id}':\r\n e.path = '/files';\r\n break;\r\n case '/files/{user_id}/{path}':\r\n e.path = '/files/{path}';\r\n break;\r\n }\r\n }\r\n if (isLtV100RC2) {\r\n switch (e.path) {\r\n case '/process_graphs':\r\n let post = e.methods.indexOf('POST');\r\n if (post >= 0) {\r\n e.methods.splice(post, 1);\r\n addPutToPg(endpoints);\r\n }\r\n break;\r\n case '/process_graphs/{process_graph_id}':\r\n let patch = e.methods.indexOf('PATCH');\r\n if (patch >= 0) {\r\n e.methods.splice(patch, 1);\r\n addPutToPg(endpoints);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return endpoints;\r\n }\r\n\r\n /**\r\n * Alias for `convertFileFormatsToLatestSpec()`.\r\n * \r\n * @alias MigrateCapabilities.convertFileFormatsToLatestSpec\r\n * @deprecated\r\n * @param {object} formats - The response to convert\r\n * @param {string} version - Version number of the API, which the response conforms to\r\n * @returns {object}\r\n */\r\n static convertOutputFormatsToLatestSpec(formats, version) {\r\n return this.convertFileFormatsToLatestSpec(formats, version);\r\n }\r\n\r\n /**\r\n * Converts a `GET /file_formats` response to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {object} formats - The response to convert\r\n * @param {string} version - Version number of the API, which the response conforms to\r\n * @returns {object}\r\n */\r\n static convertFileFormatsToLatestSpec(formats, version) {\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n if (Utils.isObject(formats)) {\r\n formats = Utils.deepClone(formats);\r\n }\r\n else {\r\n formats = {};\r\n }\r\n\r\n if (Versions.compare(version, \"0.4.x\", \"=\") && Utils.isObject(formats)) {\r\n formats = {\r\n output: formats\r\n };\r\n }\r\n\r\n formats.input = upgradeFileFormats(formats.input, version);\r\n formats.output = upgradeFileFormats(formats.output, version);\r\n\r\n return formats;\r\n }\r\n\r\n /**\r\n * Converts a `GET /service_types` response to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {object} types - The response to convert\r\n * @param {string} version - Version number of the API, which the response conforms to\r\n * @returns {object}\r\n */\r\n static convertServiceTypesToLatestSpec(types, version) {\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n if (!Utils.isObject(types)) {\r\n return {};\r\n }\r\n\r\n types = Utils.deepClone(types);\r\n for(let t in types) {\r\n if (!Utils.isObject(types[t])) {\r\n types[t] = {};\r\n }\r\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\r\n // Remove attributes\r\n delete types[t].attributes;\r\n\r\n // Rename parameters to configuration\r\n if (Utils.isObject(types[t].parameters)) {\r\n types[t].configuration = types[t].parameters;\r\n }\r\n delete types[t].parameters;\r\n\r\n // Rename variables to process_parameters\r\n if (Array.isArray(types[t].variables)) {\r\n types[t].process_parameters = types[t].variables.map(v => {\r\n let param = {\r\n name: v.variable_id,\r\n description: typeof v.description === 'string' ? v.description : \"\",\r\n schema: {\r\n type: [\r\n typeof v.type === 'string' ? v.type : \"string\",\r\n \"null\"\r\n ]\r\n }\r\n };\r\n if (typeof v.default !== 'undefined') {\r\n param.default = v.default;\r\n }\r\n return param;\r\n });\r\n }\r\n delete types[t].variables;\r\n }\r\n\r\n if (!Utils.isObject(types[t].configuration)) {\r\n types[t].configuration = {};\r\n }\r\n else {\r\n types[t].configuration = MigrateCommons.migrateDiscoveryParameters(types[t].configuration, version);\r\n }\r\n\r\n if (!Array.isArray(types[t].process_parameters)) {\r\n types[t].process_parameters = [];\r\n }\r\n\r\n if (typeof types[t].links !== 'undefined') { // links not required, so only apply if defined anyway\r\n types[t].links = MigrateCommons.migrateLinks(types[t].links, version);\r\n }\r\n }\r\n return types;\r\n }\r\n\r\n /**\r\n * Converts a `GET /udf_runtimes` response to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {object} runtimes - The response to convert\r\n * @param {string} version - Version number of the API, which the response conforms to\r\n * @returns {object}\r\n */\r\n static convertUdfRuntimesToLatestSpec(runtimes, version) {\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n if (!Utils.isObject(runtimes)) {\r\n return {};\r\n }\r\n\r\n runtimes = Utils.deepClone(runtimes);\r\n for(let r in runtimes) {\r\n // Nothing to do, was not supported in 0.3 and nothing changed in 0.4.\r\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\r\n if (!Utils.isObject(runtimes[r])) {\r\n delete runtimes[r];\r\n continue;\r\n }\r\n\r\n // null is not allowed any longer, replace with empty string\r\n if (runtimes[r].description === null) {\r\n runtimes[r].description = \"\";\r\n }\r\n }\r\n\r\n if (typeof runtimes[r].type !== 'string') {\r\n if (typeof runtimes[r].docker === 'string') {\r\n runtimes[r].type = 'docker';\r\n }\r\n else {\r\n runtimes[r].type = 'language';\r\n }\r\n }\r\n\r\n if (typeof runtimes[r].links !== 'undefined') { // links not required, so only apply if defined anyway\r\n runtimes[r].links = MigrateCommons.migrateLinks(runtimes[r].links, version);\r\n }\r\n }\r\n\r\n return runtimes;\r\n }\r\n\r\n}\r\n\r\nconst GIS_DATA_TYPES = ['raster', 'vector', 'table', 'other'];\r\n\r\nfunction upgradeFileFormats(formats, version) {\r\n if (!Utils.isObject(formats)) {\r\n formats = {};\r\n }\r\n for(let id in formats) {\r\n if (!Utils.isObject(formats[id].parameters)) {\r\n formats[id].parameters = {};\r\n }\r\n else {\r\n formats[id].parameters = MigrateCommons.migrateDiscoveryParameters(formats[id].parameters, version);\r\n }\r\n\r\n // Can be empty: https://github.com/Open-EO/openeo-api/issues/325\r\n if (!Array.isArray(formats[id].gis_data_types)) {\r\n formats[id].gis_data_types = [];\r\n }\r\n else {\r\n formats[id].gis_data_types = formats[id].gis_data_types.filter(t => GIS_DATA_TYPES.includes(t));\r\n }\r\n\r\n if (typeof formats[id].links !== 'undefined') { // links not required, so only apply if defined anyway\r\n formats[id].links = MigrateCommons.migrateLinks(formats[id].links, version);\r\n }\r\n }\r\n return formats;\r\n}\r\n\r\nmodule.exports = MigrateCapabilities;","const Utils = require('../utils.js');\r\nconst Versions = require('../versions.js');\r\nconst MigrateCommons = require('./commons.js');\r\n\r\nconst extMap = {\r\n \"cube\": \"datacube\",\r\n \"eo\": \"eo\",\r\n \"label\": \"label\",\r\n \"pc\": \"pointcloud\",\r\n \"proj\": \"projection\",\r\n \"sar\": \"sar\",\r\n \"sat\": \"sat\",\r\n \"sci\": \"scientific\",\r\n \"view\": \"view\"\r\n};\r\n\r\nconst fieldMap = {\r\n // Item to core\r\n 'item:license': 'license',\r\n 'item:providers': 'providers',\r\n // EO to core\r\n 'eo:instrument': 'instruments',\r\n 'eo:platform': 'platform',\r\n 'eo:constellation': 'constellation',\r\n // EO to proj\r\n 'eo:epsg': 'proj:epsg',\r\n // EO to view\r\n 'eo:off_nadir': 'view:off_nadir',\r\n 'eo:azimuth': 'view:azimuth',\r\n 'eo:sun_azimuth': 'view:sun_azimuth',\r\n 'eo:sun_elevation': 'view:sun_elevation',\r\n // Datetime Range to core\r\n 'dtr:start_datetime': 'start_datetime',\r\n 'dtr:end_datetime': 'end_datetime',\r\n // Point Cloud\r\n 'pc:schema': 'pc:schemas',\r\n // SAR rename\r\n 'sar:type': 'sar:product_type',\r\n 'sar:polarization': 'sar:polarizations',\r\n // SAR to core\r\n 'sar:instrument': 'instruments',\r\n 'sar:platform': 'platform',\r\n 'sar:constellation': 'constellation',\r\n // SAR to sat\r\n 'sar:off_nadir': 'sat:off_nadir_angle',\r\n 'sar:relative_orbit': 'sat:relative_orbit',\r\n// The following four fields don't translate directly, see code below\r\n 'sar:pass_direction': 'sat:orbit_state',\r\n// sar:resolution => sar:resolution_range, sar:resolution_azimuth\r\n// sar:pixel_spacing => sar:pixel_spacing_range, sar:pixel_spacing_azimuth\r\n// sar:looks => sar:looks_range, sar:looks_azimuth, sar:looks_equivalent_number (opt)\r\n};\r\n\r\nconst moveToRoot = [\r\n 'cube:dimensions',\r\n 'sci:publications',\r\n 'sci:doi',\r\n 'sci:citation'\r\n];\r\n\r\nconst DIMENSION_TYPES = [\r\n 'spatial',\r\n 'temporal',\r\n 'bands',\r\n 'other'\r\n];\r\n\r\n\r\n/** Migrate Collections related responses to the latest version. */\r\nclass MigrateCollections {\r\n\r\n /**\r\n * Converts a `GET /collections` response to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {object} response - The response to convert\r\n * @param {string} version - Version number of the API, which the response conforms to\r\n * @returns {object}\r\n */\r\n static convertCollectionsToLatestSpec(response, version) {\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n\r\n // Make sure we don't alter the original object\r\n response = Utils.deepClone(response);\r\n\r\n if (Array.isArray(response.collections)) {\r\n response.collections = response.collections\r\n .map(c => MigrateCollections.convertCollectionToLatestSpec(c, version))\r\n .filter(c => typeof c.id === 'string');\r\n }\r\n else {\r\n response.collections = [];\r\n }\r\n\r\n response.links = MigrateCommons.migrateLinks(response.links, version);\r\n\r\n return response;\r\n }\r\n\r\n /**\r\n * Converts a single collection to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {object} process - The collection to convert\r\n * @param {string} version - Version number of the API, which the collection conforms to\r\n * @returns {object}\r\n */\r\n static convertCollectionToLatestSpec(originalCollection, version) {\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n\r\n // Make sure we don't alter the original object\r\n let collection = Utils.deepClone(originalCollection);\r\n\r\n // If collection has no id => seems to be an invalid collection => abort\r\n if (typeof collection.id !== 'string' || collection.id.length === 0) {\r\n return {};\r\n }\r\n\r\n // Update stac_version\r\n if (!Versions.validate(collection.stac_version) || Versions.compare(collection.stac_version, \"0.9.0\", \"<\")) {\r\n collection.stac_version = \"0.9.0\";\r\n }\r\n\r\n // Add missing extent upfront. Makes the following code simpler as it works on the object.\r\n if (!Utils.isObject(collection.extent)) {\r\n collection.extent = {};\r\n }\r\n\r\n // convert v0.4 collections to latest version\r\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\r\n // Restructure spatial extent\r\n if (Array.isArray(collection.extent.spatial)) {\r\n collection.extent.spatial = {\r\n bbox: [\r\n collection.extent.spatial\r\n ]\r\n };\r\n }\r\n // Restructure temporal extent\r\n if (Array.isArray(collection.extent.temporal)) {\r\n collection.extent.temporal = {\r\n interval: [\r\n collection.extent.temporal\r\n ]\r\n };\r\n }\r\n\r\n // move properties to other_properties\r\n if (Utils.isObject(collection.properties)) {\r\n if (!Utils.isObject(collection.other_properties)) {\r\n collection.other_properties = {};\r\n }\r\n for(let key in collection.properties) {\r\n collection.other_properties[key] = {\r\n values: [\r\n collection.properties[key]\r\n ]\r\n };\r\n }\r\n }\r\n delete collection.properties;\r\n\r\n // now we can work on all properties and migrate to summaries\r\n let props = Utils.isObject(collection.other_properties) ? collection.other_properties : {};\r\n for(let key in props) {\r\n let val = props[key];\r\n if (Utils.isObject(val) && (Array.isArray(val.extent) || Array.isArray(val.values))) {\r\n if (Array.isArray(val.extent)) {\r\n props[key] = {\r\n min: val.extent[0],\r\n max: val.extent[1]\r\n };\r\n }\r\n else { // val.values is an array\r\n if (val.values.findIndex(v => !Array.isArray(v)) === -1) {\r\n if (val.values.length <= 1) {\r\n props[key] = val.values[0];\r\n }\r\n else {\r\n props[key] = val.values.reduce((a, b) => a.concat(b));\r\n }\r\n }\r\n else {\r\n props[key] = val.values;\r\n }\r\n }\r\n }\r\n else {\r\n // If not valid, move to top-level\r\n if (typeof collection[key] === 'undefined') {\r\n collection[key] = val;\r\n }\r\n delete props[key];\r\n }\r\n }\r\n delete collection.other_properties;\r\n\r\n if (!Utils.isObject(collection.summaries)) {\r\n collection.summaries = {};\r\n }\r\n for(let key in props) {\r\n let val = props[key];\r\n\r\n if (key === 'sar:pass_direction') {\r\n // Convert null to geostationary\r\n val = val.map(v => v === null ? 'geostationary' : v);\r\n }\r\n\r\n // Convert arrays into separate fields as needed for some SAR fields\r\n if ((key === 'sar:resolution' || key === 'sar:pixel_spacing' || key === 'sar:looks') && Array.isArray(val) && val.length >= 2) {\r\n collection.summaries[key + '_range'] = val.slice(0,1);\r\n collection.summaries[key + '_azimuth'] = val.slice(1,2);\r\n if (val.length > 2) {\r\n collection.summaries[key + '_equivalent_number'] = val.slice(2,3);\r\n }\r\n }\r\n // Do the renaming of fields\r\n else if (typeof fieldMap[key] === 'string') {\r\n collection.summaries[fieldMap[key]] = val;\r\n }\r\n // Move invalid summaries to the top level\r\n else if (moveToRoot.includes(key) && Array.isArray(val) && val.length === 1) {\r\n collection[key] = val[0];\r\n }\r\n // Do the general conversion\r\n else {\r\n collection.summaries[key] = val;\r\n }\r\n }\r\n }\r\n\r\n // Add missing required fields\r\n if (typeof collection.description !== 'string') {\r\n collection.description = \"\";\r\n }\r\n if (!Utils.isObject(collection.extent.spatial)) {\r\n collection.extent.spatial = {};\r\n }\r\n if (!Utils.isObject(collection.extent.temporal)) {\r\n collection.extent.temporal = {};\r\n }\r\n if (typeof collection.license !== 'string') {\r\n collection.license = \"proprietary\";\r\n }\r\n if (!Utils.isObject(collection.summaries)) {\r\n collection.summaries = {};\r\n }\r\n if (!Utils.isObject(collection['cube:dimensions'])) {\r\n collection['cube:dimensions'] = {};\r\n }\r\n else {\r\n for(var name in collection['cube:dimensions']) {\r\n if (Utils.isObject(collection['cube:dimensions'][name]) && !DIMENSION_TYPES.includes(collection['cube:dimensions'][name].type)) {\r\n collection['cube:dimensions'][name].type = 'other';\r\n }\r\n }\r\n }\r\n\r\n // Fix links\r\n collection.links = MigrateCommons.migrateLinks(collection.links);\r\n\r\n // Fix stac_extensions\r\n var extensions = Array.isArray(collection.stac_extensions) ? collection.stac_extensions : [];\r\n for(var key in collection) {\r\n let ext = null;\r\n let prefix = key.split(':', 1);\r\n if (key === 'deprecated' || key === 'version') {\r\n ext = 'version';\r\n }\r\n else if (typeof extMap[prefix] === 'string') {\r\n ext = extMap[prefix];\r\n }\r\n\r\n if (ext !== null && !extensions.includes(ext)) {\r\n extensions.push(ext);\r\n }\r\n }\r\n extensions.sort();\r\n collection.stac_extensions = extensions;\r\n\r\n return collection;\r\n }\r\n\r\n}\r\n\r\nmodule.exports = MigrateCollections;","const Utils = require('../utils.js');\r\nconst Versions = require('../versions.js');\r\n\r\nclass MigrateCommons {\r\n\r\n\tstatic migrateLinks(links, version, fallbackRel = 'related') {\r\n\t\tif (!Array.isArray(links)) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\treturn links\r\n\t\t\t.filter(link => Utils.isObject(link) && typeof link.href === 'string')\r\n\t\t\t.map(link => {\r\n\t\t\t\tif (typeof link.rel !== 'string') {\r\n\t\t\t\t\tlink.rel = fallbackRel;\r\n\t\t\t\t}\r\n\t\t\t\treturn link;\r\n\t\t\t});\r\n\t}\r\n\r\n\tstatic migrateDiscoveryParameters(parameters, version) {\r\n\t\tif (Versions.compare(version, \"1.0.0-rc.2\", \"<=\")) {\r\n\t\t\tfor(var name in parameters) {\r\n\t\t\t\tif (!Utils.isObject(parameters[name])) {\r\n\t\t\t\t\tdelete parameters[name];\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet type = parameters[name].type;\r\n\t\t\t\tif (typeof type === 'string') {\r\n\t\t\t\t\tparameters[name].type = [type, \"null\"];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet example = parameters[name].example;\r\n\t\t\t\tif (typeof example !== 'undefined') {\r\n\t\t\t\t\tparameters[name].examples = [example];\r\n\t\t\t\t\tdelete parameters[name].example;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn parameters;\r\n\t}\r\n\r\n}\r\n\r\nmodule.exports = MigrateCommons;","const Utils = require('../utils.js');\r\nconst Versions = require('../versions.js');\r\nconst MigrateCommons = require('./commons.js');\r\n\r\n/** Migrate processes related responses to the latest version. */\r\nclass MigrateProcesses {\r\n\r\n /**\r\n * Converts a `GET /process` response to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {object} response - The response to convert\r\n * @param {string} version - Version number of the API, which the response conforms to\r\n * @returns {object}\r\n */\r\n static convertProcessesToLatestSpec(response, version) {\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n\r\n // Make sure we don't alter the original object\r\n response = Utils.deepClone(response);\r\n\r\n if (Array.isArray(response.processes)) {\r\n response.processes = response.processes\r\n .map(p => MigrateProcesses.convertProcessToLatestSpec(p, version))\r\n .filter(p => typeof p.id === 'string');\r\n }\r\n else {\r\n response.processes = [];\r\n }\r\n\r\n response.links = MigrateCommons.migrateLinks(response.links, version);\r\n\r\n return response;\r\n }\r\n\r\n /**\r\n * Converts a single process to the latest version.\r\n * \r\n * Always returns a deep copy of the input object.\r\n * \r\n * @param {object} process - The process to convert\r\n * @param {string} version - Version number of the API, which the process conforms to\r\n * @returns {object}\r\n */\r\n static convertProcessToLatestSpec(process, version) {\r\n if (Versions.compare(version, \"0.3.x\", \"<=\")) {\r\n throw \"Migrating from API version 0.3.0 and older is not supported.\";\r\n }\r\n\r\n // Make sure we don't alter the original object\r\n process = Utils.deepClone(process);\r\n\r\n // If process has no id => seems to be an invalid process => abort\r\n if (typeof process.id !== 'string' || process.id.length === 0) {\r\n return {};\r\n }\r\n\r\n // Convert the parameters from object to array\r\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\r\n // Determine the parameter order\r\n if (!Array.isArray(process.parameter_order) || process.parameter_order.length === 0) {\r\n process.parameter_order = [];\r\n for(let param in process.parameters) {\r\n process.parameter_order.push(param);\r\n }\r\n }\r\n \r\n // Upgrade parameters and convert from array to object\r\n let params = [];\r\n for(let name of process.parameter_order) {\r\n // Add name \r\n let obj = {name: name};\r\n if (Utils.isObject(process.parameters[name])) {\r\n Object.assign(obj, process.parameters[name]);\r\n }\r\n\r\n // Migrate from required to optional\r\n if (!obj.required) {\r\n obj.optional = true;\r\n }\r\n delete obj.required;\r\n\r\n // Add to list of ordered params\r\n params.push(obj);\r\n }\r\n delete process.parameter_order;\r\n process.parameters = params;\r\n }\r\n\r\n // Set required field description if not a string\r\n if (typeof process.description !== 'string') {\r\n process.description = \"\";\r\n }\r\n\r\n // Update parameters\r\n if (Array.isArray(process.parameters)) {\r\n for (var i = process.parameters.length-1; i >= 0; i--) {\r\n let param = process.parameters[i];\r\n if (!Utils.isObject(param)) {\r\n process.parameters.splice(i, 1);\r\n continue;\r\n }\r\n\r\n // Set required field description if not a string\r\n if (typeof param.description !== 'string') {\r\n param.description = \"\";\r\n }\r\n\r\n // Upgrade parameter schema\r\n process.parameters[i] = upgradeSchema(param, version);\r\n }\r\n }\r\n else {\r\n process.parameters = [];\r\n }\r\n\r\n // Update return value\r\n if (!Utils.isObject(process.returns)) {\r\n process.returns = {};\r\n }\r\n process.returns = upgradeSchema(process.returns, version, false);\r\n\r\n // Remove process graphs from examples (and ensure there are arguments given)\r\n if (Array.isArray(process.examples)) {\r\n process.examples = process.examples.filter(example => Utils.isObject(example) && Utils.isObject(example.arguments));\r\n }\r\n\r\n if (typeof process.links !== 'undefined') { // links not required, so only apply if defined anyway\r\n process.links = MigrateCommons.migrateLinks(process.links, version);\r\n }\r\n\r\n // Update process graph -> nothing to do yet\r\n\r\n return process;\r\n }\r\n\r\n}\r\n \r\nfunction upgradeSchema(obj, version, isParam = true) {\r\n var schema = {};\r\n if (obj.schema && typeof obj.schema === 'object') { // array or object?\r\n schema = obj.schema;\r\n }\r\n\r\n if (Versions.compare(version, \"0.4.x\", \"=\")) {\r\n // Remove anyOf/oneOf wrapper\r\n for(let type of ['anyOf', 'oneOf']) {\r\n if (Array.isArray(schema[type])) {\r\n // Parameters only: Move default value to parameter-level\r\n if (isParam && typeof schema.default !== 'undefined') {\r\n obj.default = schema.default;\r\n }\r\n // Move array one level up, removing anyOf and oneOf\r\n schema = schema[type];\r\n break;\r\n }\r\n }\r\n\r\n let moveMediaType = (Versions.compare(version, \"0.4.x\") <= 0 && typeof obj.media_type !== 'undefined');\r\n let schemas = Array.isArray(schema) ? schema : [schema];\r\n for(let subSchema of schemas) {\r\n // Rename format to subtype recursively\r\n subSchema = renameFormat(subSchema);\r\n\r\n // Parameters only: Move default value to parameter-level\r\n if (isParam && typeof subSchema.default !== 'undefined') {\r\n obj.default = subSchema.default;\r\n delete subSchema.default;\r\n }\r\n\r\n // Replace media_type field with contentMediaType from JSON Schemas\r\n if (moveMediaType) {\r\n subSchema.contentMediaType = obj.media_type;\r\n }\r\n }\r\n\r\n // Remove the media type\r\n if (moveMediaType) {\r\n delete obj.media_type;\r\n }\r\n }\r\n\r\n // Clients SHOULD automatically set `optional` to `true`, if a default value is specified.\r\n if (Versions.compare(version, \"0.4.x\", \">\")) {\r\n if (typeof obj.default !== 'undefined') {\r\n obj.optional = true;\r\n }\r\n }\r\n\r\n obj.schema = schema;\r\n return obj;\r\n}\r\n\r\nfunction renameFormat(schema) {\r\n if (Utils.isObject(schema) && typeof schema.type !== 'undefined' && typeof schema.format === 'string') {\r\n switch(schema.format) {\r\n case 'url':\r\n schema.format = 'uri';\r\n break;\r\n case 'proj-definition':\r\n schema.deprecated = true;\r\n break;\r\n case 'callback':\r\n schema.format = 'process-graph';\r\n if (Utils.isObject(schema.parameters)) {\r\n let params = [];\r\n for(let name in schema.parameters) {\r\n let paramSchema = schema.parameters[name];\r\n let param = {\r\n name: name,\r\n description: typeof paramSchema.description === 'string' ? paramSchema.description : \"\",\r\n schema: paramSchema\r\n };\r\n params.push(param);\r\n }\r\n schema.parameters = params;\r\n }\r\n break;\r\n }\r\n\r\n schema.subtype = schema.format;\r\n // Leave format for \"well-known\" formats defined in JSON Schema\r\n if (!['date-time', 'time', 'date', 'uri'].includes(schema.format)) {\r\n delete schema.format;\r\n }\r\n }\r\n for(let i in schema) {\r\n if (schema[i] && typeof schema[i] === 'object') {\r\n schema[i] = renameFormat(schema[i]);\r\n }\r\n }\r\n return schema;\r\n}\r\n\r\nmodule.exports = MigrateProcesses;","const Utils = require('./utils');\r\n\r\n/**\r\n * Wrapper class for a single data type definition in a schema (e.g. process parameter schema, return value schema).\r\n * \r\n * @class\r\n */\r\nclass ProcessDataType {\r\n\t\r\n\t/**\r\n\t * Constructs a new process data type based on JSON Schema.\r\n\t * \r\n\t * @param {object} schema\r\n\t * @param {?ProcessSchema} [parent=null]\r\n\t * @param {*} [defaultValue=undefined]\r\n\t */\r\n\tconstructor(schema, parent = null, defaultValue = undefined) {\r\n\t\tthis.schema = schema;\r\n\t\tif (typeof this.schema.default === 'undefined') {\r\n\t\t\tthis.schema.default = defaultValue;\r\n\t\t}\r\n\t\tthis.parent = parent;\r\n\t}\r\n\r\n\t/**\r\n\t * Converts the schema to a JSON-serializable representation.\r\n\t * \r\n\t * @returns {object}\r\n\t */\r\n\ttoJSON() {\r\n\t\treturn Object.assign({}, this.schema, {default: this.default()});\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether the data type is only `null`.\r\n\t * \r\n\t * @returns {boolean}\r\n\t */\r\n\tisAny() {\r\n\t\treturn this.dataType() === 'any';\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether the data type is only `null`.\r\n\t * \r\n\t * @returns {boolean}\r\n\t */\r\n\tisNull() {\r\n\t\treturn this.schema.type === 'null';\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether the data type allows `null`.\r\n\t * \r\n\t * @returns {boolean}\r\n\t */\r\n\tnullable() {\r\n\t\treturn this.isNull() || this.isAny();\r\n\t}\r\n\r\n\t/**\r\n\t * Returns whether the data type is editable.\r\n\t * \r\n\t * This means it returns `true`, unless certain data types are detected that\r\n\t * can't be transmitted via JSON in the openEO API (e.g. data cubes or labeled arrays).\r\n\t * \r\n\t * @returns {boolean}\r\n\t */\r\n\tisEditable() {\r\n\t\treturn !ProcessDataType.NON_EDITABLE.includes(this.dataType());\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the data type.\r\n\t * \r\n\t * The priority is as such:\r\n\t * - subtype\r\n\t * - native data type\r\n\t * - \"any\"\r\n\t * \r\n\t * @param {boolean} [native=false] - Set to true to only return the native data type.\r\n\t * @returns {string}\r\n\t */\r\n\tdataType(native = false) {\r\n\t\tlet nativeType = this.schema.type || \"any\";\r\n\t\treturn native ? nativeType : (this.schema.subtype || nativeType);\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the native data type of the schema.\r\n\t * \r\n\t * One of: array, object, null, string, boolean, number or any\r\n\t * \r\n\t * @returns {string}\r\n\t */\r\n\tnativeDataType() {\r\n\t\treturn this.dataType(true);\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether the data type contains an enumeration of values.\r\n\t * \r\n\t * @returns {boolean}\r\n\t * @see ProcessDataType#getEnumChoices\r\n\t */\r\n\tisEnum() {\r\n\t\treturn Array.isArray(this.schema.enum) && this.schema.enum.length > 0;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the allowed enumeration of values.\r\n\t * \r\n\t * @returns {array}\r\n\t * @see ProcessDataType#isEnum\r\n\t */\r\n\tgetEnumChoices() {\r\n\t\treturn this.isEnum() ? this.schema.enum : [];\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the parameters for a \"child process\" that is defined for the data type.\r\n\t * \r\n\t * @returns {array}\r\n\t */\r\n\tgetCallbackParameters() {\r\n\t\tif (Array.isArray(this.schema.parameters)) { // For \"normal\" callbacks\r\n\t\t\treturn this.schema.parameters;\r\n\t\t}\r\n\t\telse if (Utils.isObject(this.schema.additionalProperties) && Array.isArray(this.schema.additionalProperties.parameters)) {\r\n\t\t\treturn this.schema.additionalProperties.parameters; // Used for metadata-filter\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the group of the data type.\r\n\t * \r\n\t * Group is a \"extension\" of JSON Schema, which allows to group schemas by certain criteria.\r\n\t * \r\n\t * @returns {string}\r\n\t */\r\n\tgroup() {\r\n\t\treturn Utils.hasText(this.schema.group) ? this.schema.group : ProcessDataType.DEFAULT_GROUP;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the title of the data type.\r\n\t * \r\n\t * If no title is present, returns a \"prettified\" version of the data type\r\n\t * (e.g. \"Temporal Interval\" for the data type \"temporal-interval\").\r\n\t * \r\n\t * @returns {string}\r\n\t */\r\n\ttitle() {\r\n\t\tif (Utils.hasText(this.schema.title)) {\r\n\t\t\treturn this.schema.title;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn Utils.prettifyString(this.dataType());\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the description of the data type.\r\n\t * \r\n\t * @returns {string}\r\n\t */\r\n\tdescription() {\r\n\t\treturn Utils.hasText(this.schema.description) ? this.schema.description : \"\";\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the default value of the data type.\r\n\t * \r\n\t * This may return `undefined`.\r\n\t * \r\n\t * @returns {*}\r\n\t */\r\n\tdefault() {\r\n\t\tif (typeof this.schema.default === 'function') {\r\n\t\t\treturn this.schema.default();\r\n\t\t}\r\n\t\treturn this.schema.default;\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * The name of the default group for schemas.\r\n * \r\n * Defaults to `Other`.\r\n * \r\n * @type {string}\r\n */\r\nProcessDataType.DEFAULT_GROUP = 'Other';\r\n/**\r\n * A list of data types that can't be edited.\r\n * \r\n * Non-editable data types can't be transmitted via JSON through the openEO API\r\n * (e.g. data cubes or labeled arrays).\r\n * \r\n * @type {array}\r\n */\r\nProcessDataType.NON_EDITABLE = [\r\n\t'raster-cube',\r\n\t'vector-cube',\r\n\t'labeled-array'\r\n];\r\n\r\nmodule.exports = ProcessDataType;","const ProcessSchema = require('./processSchema');\r\n\r\n/**\r\n * Wrapper class for a process parameter.\r\n * \r\n * @class\r\n */\r\nclass ProcessParameter extends ProcessSchema {\r\n\r\n\t/**\r\n\t * Constructs a new process parameter based on the openEO API representation.\r\n\t * \r\n\t * @param {object} parameter \r\n\t */\r\n\tconstructor(parameter) {\r\n\t\tsuper(parameter.schema, parameter.default);\r\n\r\n\t\tObject.assign(this, parameter);\r\n\t}\r\n\r\n}\r\n\r\nmodule.exports = ProcessParameter;","const Utils = require('./utils');\r\n\r\n/**\r\n * Central registry for processes.\r\n * \r\n * @class\r\n */\r\nclass ProcessRegistry {\r\n\r\n\t/**\r\n\t * Creates a new registry of all processes.\r\n\t * \r\n\t * @param {Array.|ProcessRegistry} [processes=[]] - Optionally, a list of predefined processes.\r\n\t * @param {boolean} [addNamespace=false] - Add a namespace property to processes if set to `true`.\r\n\t */\r\n\tconstructor(processes = [], addNamespace = false) {\r\n\t\t/**\r\n\t\t * List of listeners for change events.\r\n\t\t * @public\r\n\t\t */\r\n\t\tthis.listeners = [];\r\n\t\t/**\r\n\t\t * Object of namespaces and processes.\r\n\t\t * @protected\r\n\t\t * @type {object.>}\r\n\t\t */\r\n\t\tthis.processes = {};\r\n\t\t/**\r\n\t\t * Add a namespace property to processes if set to `true`.\r\n\t\t * @protected\r\n\t\t * @type {boolean}\r\n\t\t */\r\n\t\tthis.addNamespace = addNamespace;\r\n\r\n\t\t// Fill process list\r\n\t\tif (processes instanceof ProcessRegistry) {\r\n\t\t\tfor(let namespace in processes.processes) {\r\n\t\t\t\tthis.addAll(processes.processes[namespace]);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.addAll(processes);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Event that is fired on changes, notifies listeners.\r\n\t * \r\n\t * @param {string} event - One of 'add', 'addAll' or 'remove'.\r\n\t * @param {*} data \r\n\t * @param {string} namespace \r\n\t */\r\n\tonChange(event, data, namespace) {\r\n\t\tfor(let listener of this.listeners) {\r\n\t\t\tlistener(event, data, namespace);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Adds a list of processes for a given namespace.\r\n\t * \r\n\t * Replaces an existing process in the given namespace if it exists.\r\n\t * \r\n\t * Fires 'addAll' event.\r\n\t * \r\n\t * @param {Array.} processes Optionally, a list of processes\r\n\t * @param {string} [namespace=\"backend\"] The namespace for the processes (defaults to 'backend', i.e. pre-defined processes)\r\n\t */\r\n\taddAll(processes, namespace = 'backend') {\r\n\t\tfor(var i in processes) {\r\n\t\t\tthis.add(processes[i], namespace, false);\r\n\t\t}\r\n\t\tthis.onChange('addAll', processes, namespace);\r\n\t}\r\n\r\n\t/**\r\n\t * Adds a single process to a given namespace.\r\n\t * \r\n\t * Replaces an existing process in the given namespace if it exists.\r\n\t * \r\n\t * Fires 'add' event.\r\n\t * \r\n\t * @param {object} processes A process definition\r\n\t * @param {string} [namespace=\"backend\"] The namespace for the process (defaults to 'backend', i.e. pre-defined processes)\r\n\t */\r\n\tadd(process, namespace = 'backend', fireEvent = true) {\r\n\t\tif (!Utils.isObject(process)) {\r\n\t\t\tthrow new Error(\"Invalid process; not an object.\");\r\n\t\t}\r\n\t\tif (typeof process.id !== 'string') {\r\n\t\t\tthrow new Error(\"Invalid process; no id specified.\");\r\n\t\t}\r\n\t\tif (typeof namespace !== 'string') {\r\n\t\t\tthrow new Error(\"Invalid namespace; not a string.\");\r\n\t\t}\r\n\r\n\t\tif (!this.processes[namespace]) {\r\n\t\t\tthis.processes[namespace] = {};\r\n\t\t}\r\n\t\tprocess = Object.assign(this.addNamespace ? {namespace} : {}, process);\r\n\t\tthis.processes[namespace][process.id] = process;\r\n\t\tif (fireEvent) {\r\n\t\t\tthis.onChange('add', process, namespace);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the count of all processes independant of the namespaces.\r\n\t * \r\n\t * @returns {number} \r\n\t */\r\n\tcount() {\r\n\t\treturn Utils.size(this.all());\r\n\t}\r\n\r\n\t/**\r\n\t * Returns all processes as a list, independant of the namespaces.\r\n\t * \r\n\t * @returns {Array.} \r\n\t */\r\n\tall() {\r\n\t\tlet processes = [];\r\n\t\tfor(let ns in this.processes) {\r\n\t\t\tprocesses = processes.concat(Object.values(this.processes[ns]));\r\n\t\t}\r\n\t\treturn processes;\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether a namespace exists (i.e. at least one process for the namespace exists)\r\n\t * \r\n\t * @param {string} namespace The namespace\r\n\t * @returns {boolean}\r\n\t */\r\n\thasNamespace(namespace) {\r\n\t\tif(typeof namespace !== 'string') {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn Boolean(this.processes[namespace]);\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a (sorted) list of all available namespaces.\r\n\t * \r\n\t * @returns {Array.} \r\n\t */\r\n\tnamespaces() {\r\n\t\treturn Object.keys(this.processes).sort();\r\n\t}\r\n\r\n\t/**\r\n\t * Returns all processes from a specific namespace.\r\n\t * \r\n\t * Returns an empty list if the namespace is not defined.\r\n\t * \r\n\t * @param {string} namespace The namespace of the processes to return (e.g. 'backend' for pre-defined processes)\r\n\t * @returns {Array.} \r\n\t */\r\n\tnamespace(namespace) {\r\n\t\tif(typeof namespace !== 'string') {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t\tlet processes = this.processes[namespace];\r\n\t\treturn processes ? Object.values(processes) : [];\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether a process with the given ID exists in the given namespace.\r\n\t * \r\n\t * If the namespace is set to `null` (default) then it checks both user processes and backend processes.\r\n\t * The default namespace for pre-defined processes is `backend`.\r\n\t * \r\n\t * @param {string} id The process identifier\r\n\t * @param {?string} [namespace=null] The namespace of the process\r\n\t * @returns {boolean} \r\n\t */\r\n\thas(id, namespace = null) {\r\n\t\treturn Boolean(this.get(id, namespace));\r\n\t}\r\n\t\r\n\t/**\r\n\t * Retrieve the process with the given ID fron the given namespace.\r\n\t * \r\n\t * If the namespace is set to `null` (default) then it retrieces from both (1) `user` processes and (2) `backend` processes\r\n\t * with preference to user processes on conflict. The default namespace for pre-defined processes is `backend`.\r\n\t * \r\n\t * @param {string} id The process identifier\r\n\t * @param {?string} [namespace=null] The namespace of the process\r\n\t * @returns {object} \r\n\t */\r\n\tget(id, namespace = null) {\r\n\t\tif (typeof id !== 'string') {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\t// If no namespace is set, prefer the user namespace over backend namespace\r\n\t\tif (namespace === null) {\r\n\t\t\treturn this.get(id, 'user') || this.get(id, 'backend');\r\n\t\t}\r\n\r\n\t\tif (this.processes[namespace]) {\r\n\t\t\treturn this.processes[namespace][id] || null;\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\t/**\r\n\t * Removes a single process or a complete namespace from the registry.\r\n\t * \r\n\t * If nothing is given, removes the namespace 'user'.\r\n\t * If only a namespace is given, removes the whole namespace.\r\n\t * If only a process is given, removes a process from the namespace `user`.\r\n\t * If both parameters are given, removes a process from the given namespace.\r\n\t * \r\n\t * Returns `true` on succes, `false` on failure.\r\n\t * \r\n\t * Fires 'remove' event.\r\n\t * \r\n\t * @param {?string} [id=null] The process identifier\r\n\t * @param {?string} [namespace=\"user\"] The namespace, defaults to `user`\r\n\t * @returns {boolean}\r\n\t */\r\n\tremove(id = null, namespace = 'user') {\r\n\t\tif (typeof namespace !== 'string') {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (this.processes[namespace]) {\r\n\t\t\tif (typeof id === 'string') {\r\n\t\t\t\tif (this.processes[namespace][id]) {\r\n\t\t\t\t\tlet process = this.processes[namespace][id];\r\n\t\t\t\t\tdelete this.processes[namespace][id];\r\n\t\t\t\t\tif (Utils.size(this.processes[namespace]) === 0) {\r\n\t\t\t\t\t\tdelete this.processes[namespace];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.onChange('remove', process, namespace);\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tdelete this.processes[namespace];\r\n\t\t\t\tthis.onChange('remove', null, namespace);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n}\r\n\r\nmodule.exports = ProcessRegistry;","const ProcessUtils = require('./processUtils');\r\nconst ProcessDataType = require('./processDataType');\r\nconst Utils = require('./utils');\r\n\r\n/**\r\n * Wrapper class for the process schemas (i.e. from parameters or return value).\r\n * \r\n * @class\r\n */\r\nclass ProcessSchema {\r\n\t\r\n\t/**\r\n\t * Constructs a new process schema based on the openEO API representation.\r\n\t * \r\n\t * Can be array or JSON Schema object. The array consists of multiple JSON Schemas then.\r\n\t * \r\n\t * @param {?object|array} [schema=null]\r\n\t * @param {*} [defaultValue=undefined]\r\n\t */\r\n\tconstructor(schema = null, defaultValue = undefined) {\r\n\t\tif (!Utils.isObject(schema) && !Array.isArray(schema)) {\r\n\t\t\tthis.unspecified = true;\r\n\t\t\tthis.schemas = [];\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.unspecified = false;\r\n\t\t\tthis.schemas = ProcessUtils.normalizeJsonSchema(schema, true).map(s => new ProcessDataType(s, this, defaultValue));\r\n\r\n\t\t\t// Find and assign the default value from sub-schemas if no defaultValue was given\r\n\t\t\tif (typeof defaultValue === 'undefined') {\r\n\t\t\t\tlet defaults = this.schemas\r\n\t\t\t\t\t.map(s => s.default())\r\n\t\t\t\t\t.filter(d => typeof d !== 'undefined');\r\n\t\t\t\tthis.default = defaults[0];\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.default = defaultValue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.refs = [];\r\n\t}\r\n\r\n\t/**\r\n\t * Converts the schemas to a JSON-serializable representation.\r\n\t * \r\n\t * @returns {object}\r\n\t */\r\n\ttoJSON() {\r\n\t\treturn this.schemas.map(s => s.toJSON());\r\n\t}\r\n\r\n\t/**\r\n\t * Returns whether the schema is editable.\r\n\t * \r\n\t * This means it returns `true`, unless certain data types are detected that\r\n\t * can't be transmitted via JSON in the openEO API (e.g. data cubes or labeled arrays).\r\n\t * \r\n\t * @returns {boolean}\r\n\t */\r\n\tisEditable() {\r\n\t\treturn (this.unspecified || this.schemas.filter(s => s.isEditable() && !s.isNull()).length > 0);\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether the schema is exactly and only of the given data type.\r\n\t * \r\n\t * Can be a native type or a openEO \"subtype\".\r\n\t * \r\n\t * @param {string} type \r\n\t * @returns {boolean}\r\n\t */\r\n\tis(type) {\r\n\t\tvar types = this.dataTypes();\r\n\t\treturn (types.length === 1 && types[0] === type);\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the native data type of the schema.\r\n\t * \r\n\t * One of: array, object, null, string, boolean, number\r\n\t * \r\n\t * @returns {string}\r\n\t */\r\n\tnativeDataType() {\r\n\t\treturn this.dataType(true);\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the data type of the associated schemas.\r\n\t * \r\n\t * Setting `native` to `true` will only consider native JSON data types and \"any\".\r\n\t * Otherwise, subtypes will also be considered.\r\n\t * \r\n\t * If the schema has a two data types and one of them is `null`, \r\n\t * `null` is ignored and just the other data type is returned.\r\n\t * \r\n\t * `nullable()` can be used to check whether a schema allows `null`.\r\n\t * \r\n\t * Returns `mixed` if multiple data types are allowed.\r\n\t * \r\n\t * @param {boolean} [native=false]\r\n\t * @returns {string}\r\n\t * @see ProcessSchema#nullable\r\n\t */\r\n\tdataType(native = false) {\r\n\t\tvar types = this.dataTypes(true, native);\r\n\t\tvar nullIndex = types.indexOf('null');\r\n\t\tif (types.length === 1) {\r\n\t\t\treturn types[0];\r\n\t\t}\r\n\t\telse if (types.length === 2 && nullIndex !== -1) {\r\n\t\t\treturn types[nullIndex === 0 ? 1 : 0];\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn 'mixed';\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a set of all supported distinct data types (or 'any').\r\n\t * \r\n\t * By default, `null` is not included in the list of data types.\r\n\t * Setting `includeNull` to `true` to include `null` in the list.\r\n\t * \r\n\t * Setting `native` to `true` will only consider native JSON data types and \"any\".\r\n\t * Otherwise, subtypes will also be considered.\r\n\t * \r\n\t * @param {boolean} [includeNull=false]\r\n\t * @param {boolean} [native=false]\r\n\t * @returns {array}\r\n\t */\r\n\tdataTypes(includeNull = false, native = false) {\r\n\t\tvar types = this.schemas\r\n\t\t\t.map(s => s.dataType(native))\r\n\t\t\t.filter((v, i, a) => a.indexOf(v) === i); // Return each type only once\r\n\t\tif (types.length === 0 || types.includes('any')) {\r\n\t\t\treturn ['any'];\r\n\t\t}\r\n\t\treturn includeNull ? types : types.filter(s => s !== 'null');\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether one of the schemas allows the value to be `null`.\r\n\t * \r\n\t * @returns {boolean}\r\n\t */\r\n\tnullable() {\r\n\t\treturn (this.unspecified || this.schemas.filter(s => s.nullable()).length > 0);\r\n\t}\r\n\r\n}\r\n\r\nmodule.exports = ProcessSchema;","const Utils = require('./utils');\r\n\r\n/**\r\n * Utilities to parse process specs and JSON schemas.\r\n * \r\n * @class\r\n */\r\nclass ProcessUtils {\r\n\r\n\t/**\r\n\t * From a \"complex\" JSON Schema with allOf/anyOf/oneOf, make separate schemas.\r\n\t * \r\n\t * So afterwards each schema has it's own array entry.\r\n\t * It merges allOf, resolves anyOf/oneOf into separate schemas.\r\n\t * May also split the JSON Schema type arrays into separate entries by setting `splitTypes` to `true`.\r\n\t * \r\n\t * @param {object|array} schemas - The JSON Schema(s) to convert\r\n\t * @returns {array}\r\n\t */\r\n\tstatic normalizeJsonSchema(schemas, splitTypes = false) {\r\n\t\t// Make schemas always an array\r\n\t\tif (Utils.isObject(schemas)) {\r\n\t\t\tschemas = [schemas];\r\n\t\t}\r\n\t\telse if (Array.isArray(schemas)) {\r\n\t\t\tschemas = schemas;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tschemas = [];\r\n\t\t}\r\n\r\n\t\t// Merge allOf, resolve anyOf/oneOf into separate schemas\r\n\t\tlet normalized = [];\r\n\t\tfor(let schema of schemas) {\r\n\t\t\tif (Array.isArray(schema.allOf)) {\r\n\t\t\t\tnormalized.push(Object.assign({}, ...schema.allOf));\r\n\t\t\t}\r\n\t\t\telse if (Array.isArray(schema.oneOf) || Array.isArray(schema.anyOf)) {\r\n\t\t\t\tlet copy = Utils.omitFromObject(schema, ['oneOf', 'anyOf']);\r\n\t\t\t\tlet subSchemas = schema.oneOf || schema.anyOf;\r\n\t\t\t\tfor(let subSchema of subSchemas) {\r\n\t\t\t\t\tnormalized.push(Object.assign({}, copy, subSchema));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tnormalized.push(schema);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!splitTypes) {\r\n\t\t\treturn normalized;\r\n\t\t}\r\n\r\n\t\t// Split type field into separate schemas\r\n\t\tschemas = [];\r\n\t\tfor(let schema of normalized) {\r\n\t\t\tif (Array.isArray(schema.type)) {\r\n\t\t\t\t/* jshint ignore:start */\r\n\t\t\t\tschemas = schemas.concat(schema.type.map(type => Object.assign({}, schema, {type: type})));\r\n\t\t\t\t/* jshint ignore:end */\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tschemas.push(schema);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn schemas;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the callback parameters for a given process parameter.\r\n\t * \r\n\t * @param {object} processParameter - The process parameter spec to parse.\r\n\t * @returns {array}\r\n\t * @throws {Error}\r\n\t */\r\n\tstatic getCallbackParameters(processParameter, keyPath = []) {\r\n\t\tif (!Utils.isObject(processParameter) || !processParameter.schema) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\tlet schemas = ProcessUtils.normalizeJsonSchema(processParameter.schema);\r\n\t\tlet key;\r\n\t\twhile(key = keyPath.shift()) { // jshint ignore:line\r\n\t\t\tschemas = schemas.map(schema => ProcessUtils.normalizeJsonSchema(ProcessUtils.getElementJsonSchema(schema, key))); // jshint ignore:line\r\n\t\t\tschemas = schemas.concat(...schemas);\r\n\t\t}\r\n\r\n\r\n\t\tlet cbParams = [];\r\n\t\tfor(let schema of schemas) {\r\n\t\t\tlet params = null;\r\n\t\t\tif (Array.isArray(schema.parameters)) { // For \"normal\" callbacks\r\n\t\t\t\tparams = schema.parameters;\r\n\t\t\t}\r\n\t\t\telse if (Utils.isObject(schema.additionalProperties) && Array.isArray(schema.additionalProperties.parameters)) {\r\n\t\t\t\tparams = schema.additionalProperties.parameters; // Used for metadata-filter\r\n\t\t\t}\r\n\t\t\tif (Array.isArray(params)) {\r\n\t\t\t\tif (cbParams.length > 0 && !Utils.equals(cbParams, params)) {\r\n\t\t\t\t\tthrow new Error(\"Multiple schemas with different callback parameters found.\");\r\n\t\t\t\t}\r\n\t\t\t\tcbParams = params;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn cbParams;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the callback parameters for a given process parameter from a full process spec.\r\n\t * \r\n\t * @param {object} process - The process to parse.\r\n\t * @param {string} parameterName - The name of the parameter to get the callback parameters for.\r\n\t * @returns {array}\r\n\t * @throws {Error}\r\n\t */\r\n\tstatic getCallbackParametersForProcess(process, parameterName, path = []) {\r\n\t\tif (!Utils.isObject(process) || !Array.isArray(process.parameters)) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\tlet param = process.parameters.find(p => p.name === parameterName);\r\n\t\treturn ProcessUtils.getCallbackParameters(param, path);\r\n\t}\r\n\r\n\t/**\r\n\t * Returns *all* the native JSON data types allowed for the schema.\r\n\t * \r\n\t * @param {object} schema \r\n\t * @param {boolean} anyIsEmpty\r\n\t * @returns {array}\r\n\t */\r\n\tstatic getNativeTypesForJsonSchema(schema, anyIsEmpty = false) {\r\n\t\tif (Utils.isObject(schema) && Array.isArray(schema.type)) {\r\n\t\t\t// Remove duplicate and invalid types\r\n\t\t\tlet validTypes = Utils.unique(schema.type).filter(type => ProcessUtils.JSON_SCHEMA_TYPES.includes(type));\r\n\t\t\tif (validTypes.length > 0 && validTypes.length < ProcessUtils.JSON_SCHEMA_TYPES.length) {\r\n\t\t\t\treturn validTypes;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn anyIsEmpty ? [] : ProcessUtils.JSON_SCHEMA_TYPES;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (Utils.isObject(schema) && typeof schema.type === 'string' && ProcessUtils.JSON_SCHEMA_TYPES.includes(schema.type)) {\r\n\t\t\treturn [schema.type];\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn anyIsEmpty ? [] : ProcessUtils.JSON_SCHEMA_TYPES;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the schema for a property of an object or an element of an array.\r\n\t * \r\n\t * If you want to retrieve the schema for a specific key, use the parameter `key`.\r\n\t * \r\n\t * @param {object} schema - The JSON schema to parse.\r\n\t * @param {string|integer|null} key - If you want to retrieve the schema for a specific key, otherwise null.\r\n\t * @returns {object} - JSON Schema\r\n\t */\r\n\tstatic getElementJsonSchema(schema, key = null) {\r\n\t\tlet types = ProcessUtils.getNativeTypesForJsonSchema(schema);\r\n\t\tif (Utils.isObject(schema) && types.includes('array') && typeof key !== 'string') {\r\n\t\t\tif (Utils.isObject(schema.items)) {\r\n\t\t\t\t// Array with one schema for all items: https://json-schema.org/understanding-json-schema/reference/array.html#id5\r\n\t\t\t\treturn schema.items;\r\n\t\t\t}\r\n\t\t\telse if (Array.isArray(schema.items)) {\r\n\t\t\t\t// Tuple validation: https://json-schema.org/understanding-json-schema/reference/array.html#id6\r\n\t\t\t\tif (key !== null && Utils.isObject(schema.items[key])) {\r\n\t\t\t\t\treturn schema.items[key];\r\n\t\t\t\t}\r\n\t\t\t\telse if (Utils.isObject(schema.additionalItems)) {\r\n\t\t\t\t\treturn schema.additionalItems;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (Utils.isObject(schema) && types.includes('object')) {\r\n\t\t\tif (key !== null && Utils.isObject(schema.properties) && Utils.isObject(schema.properties[key])) {\r\n\t\t\t\treturn schema.properties[key];\r\n\t\t\t}\r\n\t\t\telse if (Utils.isObject(schema.additionalProperties)) {\r\n\t\t\t\treturn schema.additionalProperties;\r\n\t\t\t}\r\n\t\t\t// ToDo: No support for patternProperties yet\r\n\t\t}\r\n\r\n\t\treturn {};\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * A list of all allowed JSON Schema type values.\r\n * \r\n * @type {array}\r\n */\r\nProcessUtils.JSON_SCHEMA_TYPES = ['string', 'number', 'integer', 'boolean', 'array', 'object', 'null'];\r\n\r\nmodule.exports = ProcessUtils;","var equal = require('fast-deep-equal/es6');\r\n\r\n/**\r\n * General utilities\r\n * \r\n * @class\r\n */\r\nclass Utils {\r\n\r\n\t/**\r\n\t * Checks whether a variable is a real object or not.\r\n\t * \r\n\t * This is a more strict version of `typeof x === 'object'` as this example would also succeeds for arrays and `null`.\r\n\t * This function only returns `true` for real objects and not for arrays, `null` or any other data types.\r\n\t * \r\n\t * @param {*} obj - A variable to check.\r\n\t * @returns {boolean} - `true` is the given variable is an object, `false` otherwise.\r\n\t */\r\n\tstatic isObject(obj) {\r\n\t\treturn (typeof obj === 'object' && obj === Object(obj) && !Array.isArray(obj));\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether a variable is a string and contains at least one character.\r\n\t * \r\n\t * @param {*} string - A variable to check.\r\n\t * @returns {boolean} - `true` is the given variable is an string with length > 0, `false` otherwise.\r\n\t */\r\n\tstatic hasText(string) {\r\n\t\treturn (typeof string === 'string' && string.length > 0);\r\n\t}\r\n\r\n\t/**\r\n\t * Performs a deep comparison between two values to determine if they are equivalent.\r\n\t * \r\n\t * @param {*} x - The value to compare.\r\n\t * @param {*} y - The other value to compare.\r\n\t * @returns {boolean} - Returns true if the values are equivalent, else false.\r\n\t */\r\n\tstatic equals(x, y) {\r\n\t\treturn equal(x, y);\r\n\t}\r\n\r\n\t/**\r\n\t * Creates an object composed of the picked object properties.\r\n\t * \r\n\t * Returns a shallow copy!\r\n\t * \r\n\t * @param {object} obj - The source object.\r\n\t * @param {string|array} toPick - The properties to pick.\r\n\t * @returns {object}\r\n\t */\r\n\tstatic pickFromObject(obj, toPick) {\r\n\t\tobj = Object(obj);\r\n\t\tif (typeof toPick === 'string') {\r\n\t\t\ttoPick = [toPick];\r\n\t\t}\r\n\t\tconst copy = {};\r\n\t\ttoPick.forEach(key => copy[key] = obj[key]);\r\n\t\treturn copy;\r\n\t}\r\n\r\n\t/**\r\n\t * This method creates an object composed of the own and inherited enumerable property paths of object that are not omitted.\r\n\t * \r\n\t * Returns a shallow copy!\r\n\t * \r\n\t * @param {object} obj - The source object.\r\n\t * @param {string|array} toOmit - The properties to omit.\r\n\t * @returns {object}\r\n\t */\r\n\tstatic omitFromObject(obj, toOmit) {\r\n\t\tobj = Object(obj);\r\n\t\tif (typeof toOmit === 'string') {\r\n\t\t\ttoOmit = [toOmit];\r\n\t\t}\r\n\t\tvar copy = Object.assign({}, obj);\r\n\t\tfor(let key of toOmit) {\r\n\t\t\tdelete copy[key];\r\n\t\t}\r\n\t\treturn copy;\r\n\t}\r\n\r\n\t/**\r\n\t * Creates an array of values by running each property of `object` thru function.\r\n\t * \r\n\t * The function is invoked with three arguments: (value, key, object).\r\n\t * \r\n\t * @param {object} obj \r\n\t * @param {function} func \r\n\t * @returns {object}\r\n\t */\r\n\tstatic mapObject(obj, func) {\r\n\t\t// Taken from lodash, see https://github.com/lodash/lodash/blob/master/mapObject.js\r\n\t\tconst props = Object.keys(obj);\r\n\t\tconst result = new Array(props.length);\r\n\t\tprops.forEach((key, index) => {\r\n\t\t\tresult[index] = func(obj[key], key, obj);\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * Creates an object with the same keys as object and values generated by running each own enumerable string keyed property of object thru the function.\r\n\t * \r\n\t * The function is invoked with three arguments: (value, key, object).\r\n\t * \r\n\t * @param {object} obj \r\n\t * @param {function} func \r\n\t * @returns {object}\r\n\t */\r\n\tstatic mapObjectValues(obj, func) {\r\n\t\t// Taken from lodash, see https://github.com/lodash/lodash/blob/master/mapValue.js\r\n\t\tobj = Object(obj);\r\n\t\tconst result = {};\r\n\t\tObject.keys(obj).forEach((key) => {\r\n\t\t\tresult[key] = func(obj[key], key, obj);\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * Creates a duplicate-free version of an array.\r\n\t * \r\n\t * If useEquals is set to true, uses the `Utils.equals` function for comparison instead of \r\n\t * the JS === operator. Thus, if the array contains objects, you likely want to set \r\n\t * `useEquals` to `true`.\r\n\t * \r\n\t * @param {array} array\r\n\t * @param {boolean} useEquals\r\n\t * @returns {array}\r\n\t */\r\n\tstatic unique(array, useEquals = false) {\r\n\t\tif (useEquals) {\r\n\t\t\treturn array.filter((s1, pos, arr) => arr.findIndex(s2 => Utils.equals(s1, s2)) === pos);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn [...new Set(array)];\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * Computes the size of an array (number of array elements) or object (number of key-value-pairs).\r\n\t * \r\n\t * Returns 0 for all other data types.\r\n\t * \r\n\t * @param {*} obj \r\n\t * @returns {integer}\r\n\t */\r\n\tstatic size(obj) {\r\n\t\tif (typeof obj === 'object' && obj !== null) {\r\n\t\t\tif (Array.isArray(obj)) {\r\n\t\t\t\treturn obj.length;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn Object.keys(obj).length;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\r\n\t/**\r\n\t * Checks whether a variable is numeric.\r\n\t * \r\n\t * Numeric is every string with numeric data or a number, excluding NaN and finite numbers.\r\n\t * \r\n\t * @param {*} n - A variable to check.\r\n\t * @returns {boolean} - `true` is the given variable is numeric, `false` otherwise.\r\n\t */\r\n\tstatic isNumeric(n) {\r\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\r\n }\r\n \r\n /**\r\n * Deep clone for JSON-compatible data.\r\n * \r\n * @param {*} x - The data to clone.\r\n * @returns {*} - The cloned data.\r\n */\r\n static deepClone(x) {\r\n\t\treturn JSON.parse(JSON.stringify(x));\r\n }\r\n\r\n\t/**\r\n\t * Normalize a URL (mostly handling leading and trailing slashes).\r\n\t * \r\n\t * @static\r\n\t * @param {string} baseUrl - The URL to normalize\r\n\t * @param {string} path - An optional path to add to the URL\r\n\t * @returns {string} Normalized URL.\r\n\t */\r\n\tstatic normalizeUrl(baseUrl, path = null) {\r\n\t\tlet url = baseUrl.replace(/\\/$/, \"\"); // Remove trailing slash from base URL\r\n\t\tif (typeof path === 'string') {\r\n\t\t\tif (path.substr(0, 1) !== '/') {\r\n\t\t\t\tpath = '/' + path; // Add leading slash to path\r\n\t\t\t}\r\n\t\t\turl = url + path.replace(/\\/$/, \"\"); // Remove trailing slash from path\r\n\t\t}\r\n\t\treturn url;\r\n\t}\r\n\r\n\t/**\r\n\t * Replaces placeholders in this format: `{var}`.\r\n\t * \r\n\t * This can be used for the placeholders/variables in the openEO API's errors.json file.\r\n\t * \r\n\t * @param {string} message - The string to replace the placeholders in.\r\n\t * @param {object} variables - A map with the placeholder names as keys and the replacement value as value.\r\n\t */\r\n\tstatic replacePlaceholders(message, variables = {}) {\r\n\t\tif (typeof message === 'string' && Utils.isObject(variables)) {\r\n\t\t\tfor(var placeholder in variables) {\r\n\t\t\t\tlet vars = variables[placeholder];\r\n\t\t\t\tmessage = message.replace('{' + placeholder + '}', Array.isArray(vars) ? vars.join(\"; \") : vars);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn message;\r\n\t}\r\n\r\n\t/**\r\n\t * Compares two strings case-insensitive, including natural ordering for numbers.\r\n\t * \r\n\t * @param {string} a \r\n\t * @param {string} b \r\n\t * @returns {integer} Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\r\n\t */\r\n static compareStringCaseInsensitive(a, b) {\r\n if (typeof a !== 'string') {\r\n a = String(a);\r\n }\r\n if (typeof b !== 'string') {\r\n b = String(b);\r\n }\r\n return a.localeCompare(b, undefined, {numeric: true, sensitivity: 'base'});\r\n }\r\n\r\n\t/**\r\n\t * Tries to make a string more readable by capitalizing it.\r\n\t * Only applies to words with more than two characters.\r\n\t * \r\n\t * Supports converting from:\r\n\t * - Snake Case (abc_def => Abc Def)\r\n\t * - Kebab Case (abc-def => Abc Def)\r\n\t * - Camel Case (abcDef => Abc Def)\r\n\t * \r\n\t * Doesn't capitalize if the words are not in any of the casing formats above.\r\n\t * \r\n\t * @param {*} strings - String(s) to make readable\r\n\t * @param {string} arraySep - String to separate array elements with\r\n\t * @returns {string}\r\n\t */\r\n static prettifyString(strings, arraySep = '; ') {\r\n\t\tif (!Array.isArray(strings)) {\r\n\t\t\tstrings = [String(strings)];\r\n\t\t}\r\n\t\tstrings = strings.map(str => {\r\n\t\t\tif (str.length >= 3) {\r\n\t\t\t\tconst replacer = (_,a,b) => a + ' ' + b.toUpperCase();\r\n\t\t\t\tif (str.includes('_')) {\r\n\t\t\t\t\t// Snake case converter\r\n\t\t\t\t\tstr = str.replace(/([a-zA-Z\\d])_([a-zA-Z\\d])/g, replacer);\r\n\t\t\t\t}\r\n\t\t\t\telse if (str.includes('-')) {\r\n\t\t\t\t\t// Kebab case converter\r\n\t\t\t\t\tstr = str.replace(/([a-zA-Z\\d])-([a-zA-Z\\d])/g, replacer);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t// Camelcase converter\r\n\t\t\t\t\tstr = str.replace(/([a-z])([A-Z])/g, replacer);\r\n\t\t\t\t}\r\n\t\t\t\t// Uppercase the first letter in the first word, too.\r\n\t\t\t\treturn str.charAt(0).toUpperCase() + str.substr(1);\r\n\t\t\t}\r\n\t\t\treturn str;\r\n\t\t});\r\n\t\treturn strings.join(arraySep);\t\r\n }\r\n\r\n\t/**\r\n\t * Makes link lists from the openEO API more user-friendly.\r\n\t * \r\n\t * Supports:\r\n\t * - Set a reasonable title, if not available. Make title more readable.\r\n\t * - Sorting by title (see `sort` parameter)\r\n\t * - Removing given relation types (`rel` property, see `ignoreRel` parameter)\r\n\t * \r\n\t * @param {array} linkList - List of links\r\n\t * @param {boolean} sort - Enable/Disable sorting by title. Enabled (true) by default.\r\n\t * @param {array} ignoreRel - A list of rel types to remove. By default, removes the self links (rel type = `self`).\r\n\t * @returns {array}\r\n\t */\r\n static friendlyLinks(linkList, sort = true, ignoreRel = ['self']) {\r\n let links = [];\r\n if (!Array.isArray(linkList)) {\r\n return links;\r\n }\r\n\r\n for(let link of linkList) {\r\n link = Object.assign({}, link); // Make sure to work on a copy\r\n if (typeof link.rel === 'string' && ignoreRel.includes(link.rel.toLowerCase())) {\r\n continue;\r\n }\r\n if (typeof link.title !== 'string' || link.title.length === 0) {\r\n if (typeof link.rel === 'string' && link.rel.length > 1) {\r\n link.title = Utils.prettifyString(link.rel);\r\n }\r\n else {\r\n link.title = link.href.replace(/^https?:\\/\\/(www.)?/i, '').replace(/\\/$/i, '');\r\n }\r\n }\r\n links.push(link);\r\n }\r\n if (sort) {\r\n links.sort((a, b) => Utils.compareStringCaseInsensitive(a.title, b.title));\r\n }\r\n return links;\r\n }\r\n\r\n}\r\n\r\nmodule.exports = Utils;","const VersionCompare = require('compare-versions');\r\n\r\n/** Version Number related methods */\r\nclass Versions {\r\n\r\n /**\r\n * Compare [semver](https://semver.org/) version strings.\r\n * \r\n * @param {string} firstVersion First version to compare\r\n * @param {string} secondVersion Second version to compare\r\n * @param {string|null} operator Optional; Arithmetic operator to use (>, >=, =, <=, <, !=). Defaults to `null`.\r\n * @returns {boolean|integer} If operator is not `null`: true` if the comparison between the firstVersion and the secondVersion satisfies the operator, `false` otherwise. If operator is `null`: Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\r\n * ```\r\n */\r\n static compare(v1, v2, operator = null) {\r\n\t\tif (operator !== null) {\r\n\t\t\treturn VersionCompare.compare(v1, v2, operator);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn VersionCompare(v1, v2);\r\n\t\t}\r\n\t}\r\n\r\n /**\r\n * Validate [semver](https://semver.org/) version strings.\r\n * \r\n * @param {*} version - Version number to validate\r\n * @returns - `true` if the version number is a valid semver version number, `false` otherwise.\r\n */\r\n\tstatic validate(version) {\r\n\t\treturn VersionCompare.validate(version);\r\n\t}\r\n\r\n\t/**\r\n\t * Tries to determine the most suitable version from a well-known discovery document that software is compatible to.\r\n\t * \r\n\t * @static\r\n\t * @param {array} wkVersions - A well-known discovery document compliant to the API specification.\r\n\t * @param {boolean} preferProduction - Set to `false` to make no difference between production and non-production versions.\r\n\t * @param {string|null} minVersion - The minimum version that should be returned.\r\n\t * @param {string|null} maxVersion - The maximum version that should be returned.\r\n\t * @returns {object[]} - Gives a list that lists all compatible versions (as still API compliant objects) ordered from the most suitable to the least suitable.\r\n\t */\r\n\tstatic findCompatible(wkVersions, preferProduction = true, minVersion = null, maxVersion = null) {\r\n\t\tif (!Array.isArray(wkVersions) || wkVersions.length === 0) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\tlet compatible = wkVersions.filter(c => {\r\n\t\t\tif (typeof c.url === 'string' && Versions.validate(c.api_version)) {\r\n\t\t\t\tlet hasMinVer = Versions.validate(minVersion);\r\n\t\t\t\tlet hasMaxVer = Versions.validate(maxVersion);\r\n\t\t\t\tif (hasMinVer && hasMaxVer) {\r\n\t\t\t\t\treturn Versions.compare(c.api_version, minVersion, \">=\") && Versions.compare(c.api_version, maxVersion, \"<=\");\r\n\t\t\t\t}\r\n\t\t\t\telse if (hasMinVer) {\r\n\t\t\t\t\treturn Versions.compare(c.api_version, minVersion, \">=\");\r\n\t\t\t\t}\r\n\t\t\t\telse if (hasMaxVer) {\r\n\t\t\t\t\treturn Versions.compare(c.api_version, maxVersion, \"<=\");\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t });\r\n\t\tif (compatible.length === 0) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\treturn compatible.sort((c1, c2) => {\r\n\t\t\tlet p1 = c1.production === true;\r\n\t\t\tlet p2 = c2.production === true;\r\n\t\t\tif (!preferProduction || p1 === p2) {\r\n\t\t\t\treturn Versions.compare(c1.api_version, c2.api_version) * -1; // `* -1` to sort in descending order.\r\n\t\t\t}\r\n\t\t\telse if (p1) {\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Find the latest version from well-known discovery that applies to the specified rules.\r\n\t * \r\n\t * This is basically the same as calling `findCompatible` and using the first element from the result.\r\n\t * \r\n\t * @param {array} wkVersions - A well-known discovery document compliant to the API specification.\r\n\t * @param {boolean} preferProduction - Set to `false` to make no difference between production and non-production versions.\r\n\t * @param {string|null} minVersion - The minimum version that should be returned.\r\n\t * @param {string|null} maxVersion - The maximum version that should be returned.\r\n\t * @returns {object|null}\r\n\t */\r\n\tstatic findLatest(wkVersions, preferProduction = true, minVersion = null, maxVersion = null) {\r\n\t\tlet versions = Versions.findCompatible(wkVersions, preferProduction, minVersion, maxVersion);\r\n\t\tif (versions.length > 0) {\r\n\t\t\treturn versions[0];\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n\t\r\n}\r\n\r\nmodule.exports = Versions;"],"names":["compareVersions","LATEST_VERSION","SCHEMAS","EXTENSIONS","itemAndCollection","datacube","eo","file","label","pointcloud","processing","projection","raster","sar","sat","scientific","view","version","timestamps","catalog","collection","item","Object","assign","Ext","parseUrl","url","match","id","V","extensions","set","stac","stac_version","Array","isArray","stac_extensions","ext","e","before","compareTo","compare","_","type","val","is","isDefined","isObject","obj","rename","oldKey","newKey","forAll","key","fn","i","toArray","flattenArray","newKeys","summary","value","flattenOneElementArray","length","removeFromArray","valueToRemove","index","indexOf","splice","ensure","defaultValue","upgradeExtension","context","extension","findIndex","old","addExtension","newExtension","push","sort","removeExtension","oldExtension","migrateExtensionShortnames","oldShortnames","keys","newSchemas","values","mapValues","populateExtensions","objectsToCheck","assets","concat","item_assets","summaries","properties","forEach","prefix","oldValues","newValues","map","mapObject","moveTo","fromSummary","mergedSummary","condition","runAll","migrations","startsWith","toUTC","this","toISOString","error","date","Date","replace","Checksum","multihash","hexToUint8","hexString","Error","Uint8Array","byte","parseInt","uint8ToHex","bytes","reduce","str","toString","padStart","toMultihash","algo","encoded","encode","console","warn","Catalog","migrate","updateVersionNumber","Collection","spatial","bbox","temporal","interval","extent","min","max","start","end","unshift","count","Math","union","fill","middle","c","collectionAssets","Asset","migrateAll","itemAsset","other_properties","prop","minimum","maximum","filter","v","a","b","links","find","link","includes","rel","Fields","Item","geometry","commons","CollectionCollection","object","collections","ItemCollection","itemCollection","features","feature","field","asset","mediaTypes","bands","band","_commonMetadata","_timestamps","_versioningIndicator","checksum","classification","o","cube","dtr","pc","proj","sci","table","Migrate","collectionCollection","license","enableMultihash","module","exports","AuthProvider","constructor","connection","options","title","description","token","getId","getType","getProviderId","getDisplayName","getTitle","getDescription","getToken","setToken","emit","setAuthProvider","login","args","logout","BaseEntity","apiToClientNames","clientToApiNames","lastRefreshTime","extra","backend","client","toJSON","apiKey","setAll","metadata","name","now","getDataAge","getAll","get","_convertToRequest","parameters","request","_supports","capabilities","hasFeature","Environment","Utils","BasicProvider","super","username","password","response","_send","method","responseType","headers","base64encode","data","access_token","getName","getUrl","window","location","setUrl","uri","handleErrorResponse","Promise","resolve","reject","fileReader","FileReader","onerror","event","abort","target","onload","res","result","ArrayBuffer","String","fromCharCode","apply","Uint16Array","JSON","parse","readAsText","getResponseType","btoa","fileNameForUpload","source","split","pop","dataForUpload","downloadResults","con","targetFolder","saveToFile","filename","Blob","blobURL","URL","createObjectURL","tempLink","document","createElement","style","display","href","setAttribute","download","body","appendChild","click","removeChild","revokeObjectURL","BuilderNode","Parameter","axios","ProcessUtils","ProcessRegistry","PROCESS_META","Builder","fromVersion","fromURL","processes","parent","undefined","parentNode","parentParameter","nodes","idCounter","callbackParameterCache","all","process","createFunction","addProcessSpec","namespace","add","setParent","node","parameterName","createCallbackParameter","create","getParentCallbackParameters","callbackParams","getCallbackParametersForProcess","spec","param","addParameter","parameter","root","p","builder","existing","math","formula","Formula","setBuilder","generate","supports","processId","Boolean","rest","join","process_graph","mapObjectValues","generateId","substr","TapDigit","parser","Parser","tree","setResultNode","finalNode","parseTree","parseFloat","Number","getRef","Identifier","Expression","FunctionCall","addOperatorProcess","Binary","operator","left","right","Unary","expression","nodeId","substring","from_node","ref","processName","operatorMapping","processArgs","processDescription","processNamespace","arguments","namedArguments","_description","addParametersToProcess","arg","schema","exportArgument","createBuilder","element","exportCallback","params","bind","array_create","constant","process_id","Proxy","nodeCache","receiver","Reflect","has","optional","default","from_parameter","Token","Operator","SUP_MAPPING","SUP_STRING","Lexer","marker","T","peekNextChar","idx","charAt","getNextChar","ch","isWhiteSpace","isLetter","isDecimalDigit","createToken","skipSpaces","scanOperator","isIdentifierStart","isAdditionalNamespaceChar","isIdentifierPart","ns","scanIdentifier","startCh","scanNumber","number","SyntaxError","reset","next","peek","lexer","matchOp","op","parseArgumentList","expr","parseExpression","parseFunctionCall","parsePrimary","parseUnary","parseSuperscript","parsePower","parseMultiplicative","parseAdditive","FEATURE_MAP","listFileTypes","listServiceTypes","listUdfRuntimes","listCollections","describeCollection","listCollectionItems","describeCollectionItem","describeCollectionQueryables","listProcesses","describeProcess","listAuthProviders","authenticateOIDC","authenticateBasic","describeAccount","listFiles","getFile","uploadFile","downloadFile","deleteFile","validateProcess","listUserProcesses","describeUserProcess","getUserProcess","setUserProcess","replaceUserProcess","deleteUserProcess","computeResult","listJobs","createJob","listServices","createService","getJob","describeJob","updateJob","deleteJob","estimateJob","debugJob","startJob","stopJob","listResults","describeService","getService","updateService","deleteService","debugService","Capabilities","featureMap","validate","init","api_version","endpoints","methods","path","toLowerCase","flat","apiVersion","backendVersion","backend_version","isStable","production","listFeatures","methodName","some","currency","billing","listPlans","plans","defaultPlan","default_plan","plan","addition","StacMigrate","OidcProvider","FileTypes","UserFile","Job","UserProcess","Service","CONFORMANCE_RELS","Connection","baseUrl","normalizeUrl","authProviderList","authProvider","capabilitiesObject","listeners","addNamespaceToProcess","_get","makeLinksAbsolute","conformsTo","conformanceLink","_getLinkHref","response2","refreshProcessCache","promises","namespaces","userProcesses","isAuthenticated","remove","catch","message","getBaseUrl","collectionId","spatialExtent","temporalExtent","limit","page","nextUrl","datetime","normalizeNamespace","matches","addAll","buildProcess","cap","oidcFactory","getOidcProviderFactory","providers","setOidcProviderFactory","providerFactoryFunc","oidcProviderFactory","isSupported","providerInfo","basic","on","callback","off","getAuthProvider","provider","setAuthToken","providerId","files","f","_toResponseArray","targetPath","statusCallback","abortController","_normalizeUserProcess","additional","_post","errors","oldProcesses","newProcesses","newProcess","oldProcess","jsonProcesses","pg","budget","requestBody","syncResult","costs","logs","logsResponse","downloadResult","oldJobs","newJobs","jobs","newJob","job","oldJob","oldServices","newServices","services","newService","service","oldService","enabled","configuration","arr","l","base","config","baseURL","query","timeout","_put","_patch","_delete","authorize","authorization","_getAuthHeaders","Authorization","signal","isCancel","checkContentType","enrichError","origin","code","errorResponse","error2","input","output","io","toUpperCase","getInputTypes","getOutputTypes","getInputType","_findType","getOutputType","Logs","STOP_STATUS","jobId","status","progress","created","updated","level","monitorJob","requestLogs","lastStatus","intervalId","logIterator","monitorFn","async","nextLogs","stopFn","setTimeout","setInterval","clearInterval","getResultsAsStac","list","endpoint","lastId","offset","log","fs","Stream","chunks","chunk","streamError","Buffer","buffer","from","basename","createReadStream","parsedUrl","pathname","Readable","writeStream","createWriteStream","err","pipe","Oidc","UserManager","signinCallback","setGrant","providerOptions","getOptions","oidc","manager","user","clientId","grant","issuer","scopes","refreshTokenScope","defaultClients","default_clients","defaultClient","detectDefaultClient","addListener","scope","events","removeListener","requestRefreshToken","setUser","getUser","uiMethod","signinPopup","signinRedirect","signoutPopup","signoutRedirect","post_logout_redirect_uri","response_type","slice","client_id","redirect_uri","redirectUrl","authority","validateSubOnSilentRenew","response_mode","setClientId","profile","preferred_username","email","grants","grant_types","redirect_urls","Versions","MIN_API_VERSION","MAX_API_VERSION","OpenEO","connect","wellKnownUrl","versionedUrl","versions","findLatest","connectDirect","clientVersion","AbortController","serviceId","attributes","monitorService","wasEnabled","size","modified","retrieveFile","onUploadProgress","progressEvent","percentCompleted","round","loaded","total","categories","returns","deprecated","experimental","exceptions","examples","processGraph","MigrateCapabilities","MigrateCollections","MigrateProcesses","ProcessDataType","ProcessParameter","ProcessSchema","MigrateCommons","NO_VERSION","guessApiVersion","convertCapabilitiesToLatestSpec","originalCapabilities","updateVersionNumbers","updateEndpointPaths","deepClone","convertBillingToLatestSpec","convertEndpointsToLatestSpec","migrateLinks","updatePaths","isV04","isLtV100RC2","addPutToPg","newPgPath","post","patch","convertOutputFormatsToLatestSpec","formats","convertFileFormatsToLatestSpec","upgradeFileFormats","convertServiceTypesToLatestSpec","types","t","variables","process_parameters","variable_id","migrateDiscoveryParameters","convertUdfRuntimesToLatestSpec","runtimes","r","docker","GIS_DATA_TYPES","gis_data_types","extMap","fieldMap","moveToRoot","DIMENSION_TYPES","convertCollectionsToLatestSpec","convertCollectionToLatestSpec","originalCollection","props","fallbackRel","example","convertProcessesToLatestSpec","convertProcessToLatestSpec","parameter_order","required","upgradeSchema","isParam","moveMediaType","media_type","schemas","subSchema","renameFormat","contentMediaType","format","paramSchema","subtype","isAny","dataType","isNull","nullable","isEditable","NON_EDITABLE","native","nativeType","nativeDataType","isEnum","enum","getEnumChoices","getCallbackParameters","additionalProperties","group","hasText","DEFAULT_GROUP","prettifyString","addNamespace","onChange","listener","fireEvent","hasNamespace","unspecified","normalizeJsonSchema","s","defaults","d","refs","dataTypes","nullIndex","includeNull","splitTypes","normalized","allOf","oneOf","anyOf","copy","omitFromObject","subSchemas","processParameter","keyPath","shift","getElementJsonSchema","cbParams","equals","getNativeTypesForJsonSchema","anyIsEmpty","validTypes","unique","JSON_SCHEMA_TYPES","items","additionalItems","equal","string","x","y","pickFromObject","toPick","toOmit","func","array","useEquals","s1","pos","s2","Set","isNumeric","n","isNaN","isFinite","stringify","replacePlaceholders","placeholder","vars","compareStringCaseInsensitive","localeCompare","numeric","sensitivity","strings","arraySep","replacer","friendlyLinks","linkList","ignoreRel","VersionCompare","v1","v2","findCompatible","wkVersions","preferProduction","minVersion","maxVersion","compatible","hasMinVer","hasMaxVer","c1","c2","p1","p2"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-vendors-8cbd2506.a42b4cb3.js b/js/chunk-vendors-8cbd2506.6822866d.js similarity index 81% rename from js/chunk-vendors-8cbd2506.a42b4cb3.js rename to js/chunk-vendors-8cbd2506.6822866d.js index 4f93e0bd..889ae40a 100644 --- a/js/chunk-vendors-8cbd2506.a42b4cb3.js +++ b/js/chunk-vendors-8cbd2506.6822866d.js @@ -1,6 +1,6 @@ -(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[6937],{71321:(e,t,r)=>{var n=r(36246);const i="1.1.0-beta.1",a={classification:"https://stac-extensions.github.io/classification/v2.0.0/schema.json",datacube:"https://stac-extensions.github.io/datacube/v2.2.0/schema.json",eo:"https://stac-extensions.github.io/eo/v2.0.0-beta.1/schema.json",file:"https://stac-extensions.github.io/file/v2.1.0/schema.json","item-assets":"https://stac-extensions.github.io/item-assets/v1.0.0/schema.json",label:"https://stac-extensions.github.io/label/v1.0.1/schema.json",pointcloud:"https://stac-extensions.github.io/pointcloud/v1.0.0/schema.json",processing:"https://stac-extensions.github.io/processing/v1.2.0/schema.json",projection:"https://stac-extensions.github.io/projection/v2.0.0/schema.json",raster:"https://stac-extensions.github.io/raster/v2.0.0-beta.1/schema.json",sar:"https://stac-extensions.github.io/sar/v1.0.0/schema.json",sat:"https://stac-extensions.github.io/sat/v1.0.0/schema.json",scientific:"https://stac-extensions.github.io/scientific/v1.0.0/schema.json",table:"https://stac-extensions.github.io/table/v1.2.0/schema.json",timestamps:"https://stac-extensions.github.io/timestamps/v1.1.0/schema.json",version:"https://stac-extensions.github.io/version/v1.2.0/schema.json",view:"https://stac-extensions.github.io/view/v1.0.0/schema.json"},o={itemAndCollection:{"classification:":a.classification,"cube:":a.datacube,"eo:":a.eo,"file:":a.file,"label:":a.label,"pc:":a.pointcloud,"processing:":a.processing,"proj:":a.projection,"raster:":a.raster,"sar:":a.sar,"sat:":a.sat,"sci:":a.scientific,"view:":a.view,version:a.version,deprecated:a.version,published:a.timestamps,expires:a.timestamps,unpublished:a.timestamps},catalog:{},collection:{},item:{}};o.collection=Object.assign(o.collection,o.itemAndCollection),o.item=Object.assign(o.item,o.itemAndCollection);var s={parseUrl(e){let t=e.match(/^https?:\/\/stac-extensions.github.io\/([^\/]+)\/v([^\/]+)\/[^.]+.json$/i);if(t)return{id:t[1],version:t[2]}}},l={version:i,extensions:{},set(e){if("string"!==typeof e.stac_version?l.version="0.6.0":l.version=e.stac_version,Array.isArray(e.stac_extensions))for(let t of e.stac_extensions){let e=s.parseUrl(t);e&&(l.extensions[e.id]=e.version)}},before(e,t=null){return l.compare("<",e,t)},compare(e,t,r=null){let i=r?l.extensions[r]:l.version;return"undefined"!==typeof i&&n.compare(i,t,e)}},u={type(e){let t=typeof e;if("object"===t){if(null===e)return"null";if(Array.isArray(e))return"array"}return t},is(e,t){return Array.isArray(t)?t.includes(u.type(e)):u.type(e)===t},isDefined(e){return"undefined"!==typeof e},isObject(e){return"object"===typeof e&&e===Object(e)&&!Array.isArray(e)},rename(e,t,r){return"undefined"!==typeof e[t]&&"undefined"===typeof e[r]&&(e[r]=e[t],delete e[t],!0)},copy(e,t,r){return"undefined"!==typeof e[t]&&"undefined"===typeof e[r]&&(e[r]=e[t],!0)},forAll(e,t,r){if(e[t]&&"object"===typeof e[t])for(let n in e[t])r(e[t][n])},toArray(e,t){return"undefined"!==typeof e[t]&&!Array.isArray(e[t])&&(e[t]=[e[t]],!0)},flattenArray(e,t,r,n=!1){if(Array.isArray(e[t])){for(let i in e[t])if("string"===typeof r[i]){let a=e[t][i];e[r[i]]=n?[a]:a}return delete e[t],!0}return!1},flattenOneElementArray(e,t,r=!1){return!(!r&&Array.isArray(e[t]))||1===e[t].length&&(e[t]=e[t][0],!0)},removeFromArray(e,t,r){if(Array.isArray(e[t])){let n=e[t].indexOf(r);return n>-1&&e[t].splice(n,1),!0}return!1},pickFirst(e,t){return Array.isArray(e[t])&&e[t].length>0?(e[t]=e[t][0],!0):(delete e[t],!1)},ensure(e,t,r){return u.type(r)!==u.type(e[t])&&(e[t]=r),!0},upgradeExtension(e,t){let{id:r,version:i}=s.parseUrl(t),a=e.stac_extensions.findIndex((e=>{let t=s.parseUrl(e);return t&&t.id===r&&n.compare(t.version,i,"<")}));return-1!==a&&(e.stac_extensions[a]=t,!0)},addExtension(e,t){let{id:r,version:i}=s.parseUrl(t),a=e.stac_extensions.findIndex((e=>{if(e===t)return!0;let a=s.parseUrl(e);return!(!a||a.id!==r||!n.compare(a.version,i,"<"))}));return-1===a?e.stac_extensions.push(t):e.stac_extensions[a]=t,e.stac_extensions.sort(),!0},removeExtension(e,t){return u.removeFromArray(e,"stac_extensions",t)},migrateExtensionShortnames(e){let t=Object.keys(a),r=Object.values(a);return u.mapValues(e,"stac_extensions",t,r)},populateExtensions(e,t){let r,n=[];"catalog"!=t&&"collection"!=t||n.push(e),"item"!=t&&"collection"!=t||!u.isObject(e.assets)||(n=n.concat(Object.values(e.assets))),"collection"==t&&u.isObject(e.item_assets)&&(n=n.concat(Object.values(e.item_assets))),"collection"==t&&u.isObject(e.summaries)&&n.push(e.summaries),"item"==t&&u.isObject(e.properties)&&n.push(e.properties),n.push(e.links);while(r=n.pop())Object.keys(r).forEach((i=>{Array.isArray(r.bands)&&(n=n.concat(r.bands));let a=i.match(/^(\w+:|[^:]+$)/i);if(Array.isArray(a)){let r=o[t][a[0]];u.is(r,"string")&&u.addExtension(e,r)}}))},mapValues(e,t,r,n){let i=e=>{let t=r.indexOf(e);return t>=0?n[t]:e};return Array.isArray(e[t])?e[t]=e[t].map(i):"undefined"!==typeof e[t]&&(e[t]=i(e[t])),!0},mapObject(e,t){for(let r in e)e[r]=t(e[r],r)},moveTo(e,t,r,n=!1,i=!1){let a;return a=n?i?e=>Array.isArray(e):e=>Array.isArray(e)&&1===e.length:u.isDefined,!!a(e[t])&&(r[t]=n&&!i?e[t][0]:e[t],delete e[t],!0)},runAll(e,t,r,n){for(let i in e)i.startsWith("migrate")||e[i](t,r,n)},toUTC(e,t){if(u.is(e[t],"string"))try{return e[t]=this.toISOString(e[t]),!0}catch(r){}return delete e[t],!1},toISOString(e){return e instanceof Date||(e=new Date(e)),e.toISOString().replace(/\.0+/,"")},formatString(e,t,r){const n=e=>u.is(e,["string","number"])?r.replaceAll("{}",e):e;Array.isArray(e[t])?e[t]=e[t].map(n):e[t]=n(e[t])}},h={multihash:null,hexToUint8(e){if(0===e.length||e.length%2!==0)throw new Error(`The string "${e}" is not valid hex.`);return new Uint8Array(e.match(/.{1,2}/g).map((e=>parseInt(e,16))))},uint8ToHex(e){return e.reduce(((e,t)=>e+t.toString(16).padStart(2,"0")),"")},toMultihash(e,t,r){if(!h.multihash||!u.is(e[t],"string"))return!1;try{const n=h.multihash.encode(h.hexToUint8(e[t]),r);return e[t]=h.uint8ToHex(n),!0}catch(n){return console.warn(n),!1}}},c={migrate(e,t=!0){return l.set(e),t&&(e.stac_version=i),e.type="Catalog",u.ensure(e,"stac_extensions",[]),l.before("1.0.0-rc.1")&&u.migrateExtensionShortnames(e),u.ensure(e,"id",""),u.ensure(e,"description",""),u.ensure(e,"links",[]),u.runAll(c,e,e),l.before("0.8.0")&&u.populateExtensions(e,"catalog"),e}},f={migrate(e,t=!0){return c.migrate(e,t),e.type="Collection",l.before("1.0.0-rc.1")&&u.migrateExtensionShortnames(e),u.ensure(e,"license","other"),u.ensure(e,"extent",{spatial:{bbox:[]},temporal:{interval:[]}}),u.runAll(f,e,e),u.isObject(e.properties)&&(u.removeFromArray(e,"stac_extensions","commons"),delete e.properties),l.before("0.8.0")&&u.populateExtensions(e,"collection"),l.before("1.0.0-beta.1")&&u.mapValues(e,"stac_extensions",["assets"],["item-assets"]),e},extent(e){if(u.ensure(e,"extent",{}),l.before("0.8.0")&&(Array.isArray(e.extent.spatial)&&(e.extent.spatial={bbox:[e.extent.spatial]}),Array.isArray(e.extent.temporal)&&(e.extent.temporal={interval:[e.extent.temporal]})),u.ensure(e.extent,"spatial",{}),u.ensure(e.extent.spatial,"bbox",[]),u.ensure(e.extent,"temporal",{}),u.ensure(e.extent.temporal,"interval",[]),l.before("1.0.0-rc.3")){if(e.extent.temporal.interval.length>1){let r,n;for(let i of e.extent.temporal.interval){if(null===i[0])r=null;else if("string"===typeof i[0]&&null!==r)try{let e=new Date(i[0]);("undefined"===typeof r||en)&&(n=e)}catch(t){}}e.extent.temporal.interval.unshift([r?u.toISOString(r):null,n?u.toISOString(n):null])}if(e.extent.spatial.bbox.length>1){let t=e.extent.spatial.bbox.reduce(((e,t)=>Array.isArray(t)?Math.max(t.length,e):e),4);if(t>=4){let r=new Array(t).fill(null),n=t/2;for(let t of e.extent.spatial.bbox){if(!Array.isArray(t)||t.length<4)break;for(let e in t){let i=t[e];null===r[e]?r[e]=i:r[e]=enull===e))&&e.extent.spatial.bbox.unshift(r)}}}},collectionAssets(e){l.before("1.0.0-rc.1")&&u.removeExtension(e,"collection-assets"),b.migrateAll(e)},itemAsset(e){l.before("1.0.0-beta.2")&&u.rename(e,"item_assets","assets"),u.removeExtension(e,a["item-assets"]),b.migrateAll(e,"item_assets")},summaries(e){if(u.ensure(e,"summaries",{}),l.before("0.8.0")&&u.isObject(e.other_properties)){for(let t in e.other_properties){let r=e.other_properties[t];Array.isArray(r.extent)&&2===r.extent.length?e.summaries[t]={minimum:r.extent[0],maximum:r.extent[1]}:Array.isArray(r.values)&&(r.values.filter((e=>Array.isArray(e))).length===r.values.length?e.summaries[t]=r.values.reduce(((e,t)=>e.concat(t)),[]):e.summaries[t]=r.values)}delete e.other_properties}if(l.before("1.0.0-beta.1")&&u.isObject(e.properties)&&!e.links.find((e=>["child","item"].includes(e.rel))))for(let t in e.properties){let r=e.properties[t];Array.isArray(r)||(r=[r]),e.summaries[t]=r}l.before("1.0.0-rc.1")&&u.mapObject(e.summaries,(e=>(u.rename(e,"min","minimum"),u.rename(e,"max","maximum"),e))),v.migrate(e.summaries,e,!0),u.moveTo(e.summaries,"sci:doi",e,!0)&&u.addExtension(e,a.scientific),u.moveTo(e.summaries,"sci:publications",e,!0,!0)&&u.addExtension(e,a.scientific),u.moveTo(e.summaries,"sci:citation",e,!0)&&u.addExtension(e,a.scientific),u.moveTo(e.summaries,"cube:dimensions",e,!0)&&u.addExtension(e,a.datacube),0===Object.keys(e.summaries).length&&delete e.summaries}},d={migrate(e,t=null,r=!0){l.set(e),r&&(e.stac_version=i),u.ensure(e,"stac_extensions",[]),l.before("1.0.0-rc.1")&&u.migrateExtensionShortnames(e),u.ensure(e,"id",""),u.ensure(e,"type","Feature"),u.isObject(e.geometry)||(e.geometry=null),null!==e.geometry&&u.ensure(e,"bbox",[]),u.ensure(e,"properties",{}),u.ensure(e,"links",[]),u.ensure(e,"assets",{});let n=!1;return u.isObject(t)&&u.isObject(t.properties)&&(u.removeFromArray(e,"stac_extensions","commons"),e.properties=Object.assign({},t.properties,e.properties),n=!0),u.runAll(d,e,e),v.migrate(e.properties,e),b.migrateAll(e),(l.before("0.8.0")||n)&&u.populateExtensions(e,"item"),e}},p={migrate(e,t=!0){return u.ensure(e,"collections",[]),u.ensure(e,"links",[]),u.runAll(p,e,e),e.collections=e.collections.map((e=>f.migrate(e,t))),e}},m={migrate(e,t=!0){return u.ensure(e,"type","FeatureCollection"),u.ensure(e,"features",[]),u.ensure(e,"links",[]),u.runAll(m,e,e),e.features=e.features.map((e=>d.migrate(e,null,t))),e}},b={migrateAll(e,t="assets"){for(let r in e[t])b.migrate(e[t][r],e)},migrate(e,t){return u.runAll(b,e,t),v.migrate(e,t),e},mediaTypes(e){u.is(e.type,"string")&&u.mapValues(e,"type",["image/vnd.stac.geotiff","image/vnd.stac.geotiff; cloud-optimized=true"],["image/tiff; application=geotiff","image/tiff; application=geotiff; profile=cloud-optimized"])}},g={migrateAll(e,t){if(l.before("1.0.0")){const r=u.isObject(t.properties)&&Array.isArray(t.properties.bands)?t.properties.bands:[];if(Array.isArray(e["eo:bands"]))for(let t in e["eo:bands"]){let n=e["eo:bands"][t];u.is(n,"number")&&u.isObject(r[n])&&(n=r[n]),u.isObject(n)||(n={}),e["eo:bands"][t]=n}}if(l.before("1.1.0-beta.1")&&(Array.isArray(e["raster:bands"])||Array.isArray(e["eo:bands"]))){u.ensure(e,"bands",[]);const r=e["raster:bands"]||[],n=e["eo:bands"]||[],i=Math.max(r.length,n.length);for(let a=0;au.rename(e,"color-hint","color_hint"))),l.before("2.0.0","classification")&&u.forAll(e,"classification:classes",(e=>u.ensure(e,"name",e.description))),u.upgradeExtension(t,a.classification)},cube(e,t){u.upgradeExtension(t,a.datacube)},dtr(e,t){l.before("0.9.0")&&(u.rename(e,"dtr:start_datetime","start_datetime"),u.rename(e,"dtr:end_datetime","end_datetime"),u.removeExtension(t,"datetime-range"))},eo(e,t){l.before("0.9.0")&&(u.rename(e,"eo:epsg","proj:epsg")&&u.addExtension(t,a.projection),u.rename(e,"eo:platform","platform"),u.rename(e,"eo:instrument","instruments")&&u.toArray(e,"instruments"),u.rename(e,"eo:constellation","constellation"),u.rename(e,"eo:off_nadir","view:off_nadir")&&u.addExtension(t,a.view),u.rename(e,"eo:azimuth","view:azimuth")&&u.addExtension(t,a.view),u.rename(e,"eo:incidence_angle","view:incidence_angle")&&u.addExtension(t,a.view),u.rename(e,"eo:sun_azimuth","view:sun_azimuth")&&u.addExtension(t,a.view),u.rename(e,"eo:sun_elevation","view:sun_elevation")&&u.addExtension(t,a.view)),l.before("1.0.0-beta.1")&&u.rename(e,"eo:gsd","gsd"),u.upgradeExtension(t,a.eo)},file(e,t,r){u.rename(e,"file:bits_per_sample","raster:bits_per_sample")&&u.addExtension(t,a.raster),u.rename(e,"file:data_type","data_type")&&u.addExtension(t,a.raster),u.rename(e,"file:unit","unit")&&u.addExtension(t,a.raster),Array.isArray(e["file:nodata"])&&e["file:nodata"].length>1&&u.copy(e,"file:nodata","nodata:values"),u.rename(e,"file:nodata","nodata")&&!r&&u.pickFirst(e,"nodata"),u.upgradeExtension(t,a.file)},label(e,t){l.before("0.8.0")&&(u.rename(e,"label:property","label:properties"),u.rename(e,"label:task","label:tasks"),u.rename(e,"label:overview","label:overviews")&&u.toArray(e,"label:overviews"),u.rename(e,"label:method","label:methods"),u.toArray(e,"label:classes")),u.upgradeExtension(t,a.label)},pc(e,t){l.before("0.8.0")&&u.rename(e,"pc:schema","pc:schemas"),u.upgradeExtension(t,a.pointcloud)},processing(e,t){u.upgradeExtension(t,a.processing)},proj(e,t){u.rename(e,"proj:epsg","proj:code")&&u.formatString(e,"proj:code","EPSG:{}"),u.upgradeExtension(t,a.projection)},raster(e,t){u.upgradeExtension(t,a.raster)},sar(e,t,r){u.rename(e,"sar:incidence_angle","view:incidence_angle")&&u.addExtension(t,a.view),u.rename(e,"sar:pass_direction","sat:orbit_state")&&u.mapValues(e,"sat:orbit_state",[null],["geostationary"])&&u.addExtension(t,a.sat),l.before("0.7.0")&&(u.flattenArray(e,"sar:resolution",["sar:resolution_range","sar:resolution_azimuth"],r),u.flattenArray(e,"sar:pixel_spacing",["sar:pixel_spacing_range","sar:pixel_spacing_azimuth"],r),u.flattenArray(e,"sar:looks",["sar:looks_range","sar:looks_azimuth","sar:looks_equivalent_number"],r),u.rename(e,"sar:off_nadir","view:off_nadir")&&u.addExtension(t,a.view)),l.before("0.9.0")&&(u.rename(e,"sar:platform","platform"),u.rename(e,"sar:instrument","instruments")&&u.toArray(e,"instruments"),u.rename(e,"sar:constellation","constellation"),u.rename(e,"sar:type","sar:product_type"),u.rename(e,"sar:polarization","sar:polarizations"),u.flattenOneElementArray(e,"sar:absolute_orbit",r)&&u.rename(e,"sar:absolute_orbit","sat:absolute_orbit")&&u.addExtension(t,a.sat),u.flattenOneElementArray(e,"sar:relative_orbit",r)&&u.rename(e,"sar:relative_orbit","sat:relative_orbit")&&u.addExtension(t,a.sat)),u.upgradeExtension(t,a.sar)},sat(e,t){l.before("0.9.0")&&(u.rename(e,"sat:off_nadir_angle","sat:off_nadir"),u.rename(e,"sat:azimuth_angle","sat:azimuth"),u.rename(e,"sat:sun_azimuth_angle","sat:sun_azimuth"),u.rename(e,"sat:sun_elevation_angle","sat:sun_elevation")),u.upgradeExtension(t,a.sat)},sci(e,t){u.upgradeExtension(t,a.scientific)},item(e){l.before("0.8.0")&&(u.rename(e,"item:license","license"),u.rename(e,"item:providers","providers"))},table(e,t){u.upgradeExtension(t,a.table)},view(e,t){u.upgradeExtension(t,a.view)}},y={item(e,t=null,r=!0){return d.migrate(e,t,r)},catalog(e,t=!0){return c.migrate(e,t)},collection(e,t=!0){return f.migrate(e,t)},collectionCollection(e,t=!0){return p.migrate(e,t)},itemCollection(e,t=!0){return m.migrate(e,t)},stac(e,t=!0){return"Feature"===e.type?y.item(e,null,t):"FeatureCollection"===e.type?y.itemCollection(e,t):"Collection"===e.type||!e.type&&u.isDefined(e.extent)&&u.isDefined(e.license)?y.collection(e,t):!e.type&&Array.isArray(e.collections)?y.collectionCollection(e,t):y.catalog(e,t)},enableMultihash(e){h.multihash=e}};e.exports=y},92861:(e,t,r)=>{ +(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[6937],{71321:(e,t,r)=>{var n=r(79139);const i="1.1.0-beta.1",a={classification:"https://stac-extensions.github.io/classification/v2.0.0/schema.json",datacube:"https://stac-extensions.github.io/datacube/v2.2.0/schema.json",eo:"https://stac-extensions.github.io/eo/v2.0.0-beta.1/schema.json",file:"https://stac-extensions.github.io/file/v2.1.0/schema.json","item-assets":"https://stac-extensions.github.io/item-assets/v1.0.0/schema.json",label:"https://stac-extensions.github.io/label/v1.0.1/schema.json",pointcloud:"https://stac-extensions.github.io/pointcloud/v1.0.0/schema.json",processing:"https://stac-extensions.github.io/processing/v1.2.0/schema.json",projection:"https://stac-extensions.github.io/projection/v2.0.0/schema.json",raster:"https://stac-extensions.github.io/raster/v2.0.0-beta.1/schema.json",sar:"https://stac-extensions.github.io/sar/v1.0.0/schema.json",sat:"https://stac-extensions.github.io/sat/v1.0.0/schema.json",scientific:"https://stac-extensions.github.io/scientific/v1.0.0/schema.json",table:"https://stac-extensions.github.io/table/v1.2.0/schema.json",timestamps:"https://stac-extensions.github.io/timestamps/v1.1.0/schema.json",version:"https://stac-extensions.github.io/version/v1.2.0/schema.json",view:"https://stac-extensions.github.io/view/v1.0.0/schema.json"},o={itemAndCollection:{"classification:":a.classification,"cube:":a.datacube,"eo:":a.eo,"file:":a.file,"label:":a.label,"pc:":a.pointcloud,"processing:":a.processing,"proj:":a.projection,"raster:":a.raster,"sar:":a.sar,"sat:":a.sat,"sci:":a.scientific,"view:":a.view,version:a.version,deprecated:a.version,published:a.timestamps,expires:a.timestamps,unpublished:a.timestamps},catalog:{},collection:{},item:{}};o.collection=Object.assign(o.collection,o.itemAndCollection),o.item=Object.assign(o.item,o.itemAndCollection);var s={parseUrl(e){let t=e.match(/^https?:\/\/stac-extensions.github.io\/([^\/]+)\/v([^\/]+)\/[^.]+.json$/i);if(t)return{id:t[1],version:t[2]}}},l={version:i,extensions:{},set(e){if("string"!==typeof e.stac_version?l.version="0.6.0":l.version=e.stac_version,Array.isArray(e.stac_extensions))for(let t of e.stac_extensions){let e=s.parseUrl(t);e&&(l.extensions[e.id]=e.version)}},before(e,t=null){return l.compare("<",e,t)},compare(e,t,r=null){let i=r?l.extensions[r]:l.version;return"undefined"!==typeof i&&n.compare(i,t,e)}},u={type(e){let t=typeof e;if("object"===t){if(null===e)return"null";if(Array.isArray(e))return"array"}return t},is(e,t){return Array.isArray(t)?t.includes(u.type(e)):u.type(e)===t},isDefined(e){return"undefined"!==typeof e},isObject(e){return"object"===typeof e&&e===Object(e)&&!Array.isArray(e)},rename(e,t,r){return"undefined"!==typeof e[t]&&"undefined"===typeof e[r]&&(e[r]=e[t],delete e[t],!0)},copy(e,t,r){return"undefined"!==typeof e[t]&&"undefined"===typeof e[r]&&(e[r]=e[t],!0)},forAll(e,t,r){if(e[t]&&"object"===typeof e[t])for(let n in e[t])r(e[t][n])},toArray(e,t){return"undefined"!==typeof e[t]&&!Array.isArray(e[t])&&(e[t]=[e[t]],!0)},flattenArray(e,t,r,n=!1){if(Array.isArray(e[t])){for(let i in e[t])if("string"===typeof r[i]){let a=e[t][i];e[r[i]]=n?[a]:a}return delete e[t],!0}return!1},flattenOneElementArray(e,t,r=!1){return!(!r&&Array.isArray(e[t]))||1===e[t].length&&(e[t]=e[t][0],!0)},removeFromArray(e,t,r){if(Array.isArray(e[t])){let n=e[t].indexOf(r);return n>-1&&e[t].splice(n,1),!0}return!1},pickFirst(e,t){return Array.isArray(e[t])&&e[t].length>0?(e[t]=e[t][0],!0):(delete e[t],!1)},ensure(e,t,r){return u.type(r)!==u.type(e[t])&&(e[t]=r),!0},upgradeExtension(e,t){let{id:r,version:i}=s.parseUrl(t),a=e.stac_extensions.findIndex((e=>{let t=s.parseUrl(e);return t&&t.id===r&&n.compare(t.version,i,"<")}));return-1!==a&&(e.stac_extensions[a]=t,!0)},addExtension(e,t){let{id:r,version:i}=s.parseUrl(t),a=e.stac_extensions.findIndex((e=>{if(e===t)return!0;let a=s.parseUrl(e);return!(!a||a.id!==r||!n.compare(a.version,i,"<"))}));return-1===a?e.stac_extensions.push(t):e.stac_extensions[a]=t,e.stac_extensions.sort(),!0},removeExtension(e,t){return u.removeFromArray(e,"stac_extensions",t)},migrateExtensionShortnames(e){let t=Object.keys(a),r=Object.values(a);return u.mapValues(e,"stac_extensions",t,r)},populateExtensions(e,t){let r,n=[];"catalog"!=t&&"collection"!=t||n.push(e),"item"!=t&&"collection"!=t||!u.isObject(e.assets)||(n=n.concat(Object.values(e.assets))),"collection"==t&&u.isObject(e.item_assets)&&(n=n.concat(Object.values(e.item_assets))),"collection"==t&&u.isObject(e.summaries)&&n.push(e.summaries),"item"==t&&u.isObject(e.properties)&&n.push(e.properties),n.push(e.links);while(r=n.pop())Object.keys(r).forEach((i=>{Array.isArray(r.bands)&&(n=n.concat(r.bands));let a=i.match(/^(\w+:|[^:]+$)/i);if(Array.isArray(a)){let r=o[t][a[0]];u.is(r,"string")&&u.addExtension(e,r)}}))},mapValues(e,t,r,n){let i=e=>{let t=r.indexOf(e);return t>=0?n[t]:e};return Array.isArray(e[t])?e[t]=e[t].map(i):"undefined"!==typeof e[t]&&(e[t]=i(e[t])),!0},mapObject(e,t){for(let r in e)e[r]=t(e[r],r)},moveTo(e,t,r,n=!1,i=!1){let a;return a=n?i?e=>Array.isArray(e):e=>Array.isArray(e)&&1===e.length:u.isDefined,!!a(e[t])&&(r[t]=n&&!i?e[t][0]:e[t],delete e[t],!0)},runAll(e,t,r,n){for(let i in e)i.startsWith("migrate")||e[i](t,r,n)},toUTC(e,t){if(u.is(e[t],"string"))try{return e[t]=this.toISOString(e[t]),!0}catch(r){}return delete e[t],!1},toISOString(e){return e instanceof Date||(e=new Date(e)),e.toISOString().replace(/\.0+/,"")},formatString(e,t,r){const n=e=>u.is(e,["string","number"])?r.replaceAll("{}",e):e;Array.isArray(e[t])?e[t]=e[t].map(n):e[t]=n(e[t])}},h={multihash:null,hexToUint8(e){if(0===e.length||e.length%2!==0)throw new Error(`The string "${e}" is not valid hex.`);return new Uint8Array(e.match(/.{1,2}/g).map((e=>parseInt(e,16))))},uint8ToHex(e){return e.reduce(((e,t)=>e+t.toString(16).padStart(2,"0")),"")},toMultihash(e,t,r){if(!h.multihash||!u.is(e[t],"string"))return!1;try{const n=h.multihash.encode(h.hexToUint8(e[t]),r);return e[t]=h.uint8ToHex(n),!0}catch(n){return console.warn(n),!1}}},c={migrate(e,t=!0){return l.set(e),t&&(e.stac_version=i),e.type="Catalog",u.ensure(e,"stac_extensions",[]),l.before("1.0.0-rc.1")&&u.migrateExtensionShortnames(e),u.ensure(e,"id",""),u.ensure(e,"description",""),u.ensure(e,"links",[]),u.runAll(c,e,e),l.before("0.8.0")&&u.populateExtensions(e,"catalog"),e}},f={migrate(e,t=!0){return c.migrate(e,t),e.type="Collection",l.before("1.0.0-rc.1")&&u.migrateExtensionShortnames(e),u.ensure(e,"license","other"),u.ensure(e,"extent",{spatial:{bbox:[]},temporal:{interval:[]}}),u.runAll(f,e,e),u.isObject(e.properties)&&(u.removeFromArray(e,"stac_extensions","commons"),delete e.properties),l.before("0.8.0")&&u.populateExtensions(e,"collection"),l.before("1.0.0-beta.1")&&u.mapValues(e,"stac_extensions",["assets"],["item-assets"]),e},extent(e){if(u.ensure(e,"extent",{}),l.before("0.8.0")&&(Array.isArray(e.extent.spatial)&&(e.extent.spatial={bbox:[e.extent.spatial]}),Array.isArray(e.extent.temporal)&&(e.extent.temporal={interval:[e.extent.temporal]})),u.ensure(e.extent,"spatial",{}),u.ensure(e.extent.spatial,"bbox",[]),u.ensure(e.extent,"temporal",{}),u.ensure(e.extent.temporal,"interval",[]),l.before("1.0.0-rc.3")){if(e.extent.temporal.interval.length>1){let r,n;for(let i of e.extent.temporal.interval){if(null===i[0])r=null;else if("string"===typeof i[0]&&null!==r)try{let e=new Date(i[0]);("undefined"===typeof r||en)&&(n=e)}catch(t){}}e.extent.temporal.interval.unshift([r?u.toISOString(r):null,n?u.toISOString(n):null])}if(e.extent.spatial.bbox.length>1){let t=e.extent.spatial.bbox.reduce(((e,t)=>Array.isArray(t)?Math.max(t.length,e):e),4);if(t>=4){let r=new Array(t).fill(null),n=t/2;for(let t of e.extent.spatial.bbox){if(!Array.isArray(t)||t.length<4)break;for(let e in t){let i=t[e];null===r[e]?r[e]=i:r[e]=enull===e))&&e.extent.spatial.bbox.unshift(r)}}}},collectionAssets(e){l.before("1.0.0-rc.1")&&u.removeExtension(e,"collection-assets"),g.migrateAll(e)},itemAsset(e){l.before("1.0.0-beta.2")&&u.rename(e,"item_assets","assets"),u.removeExtension(e,a["item-assets"]),g.migrateAll(e,"item_assets")},summaries(e){if(u.ensure(e,"summaries",{}),l.before("0.8.0")&&u.isObject(e.other_properties)){for(let t in e.other_properties){let r=e.other_properties[t];Array.isArray(r.extent)&&2===r.extent.length?e.summaries[t]={minimum:r.extent[0],maximum:r.extent[1]}:Array.isArray(r.values)&&(r.values.filter((e=>Array.isArray(e))).length===r.values.length?e.summaries[t]=r.values.reduce(((e,t)=>e.concat(t)),[]):e.summaries[t]=r.values)}delete e.other_properties}if(l.before("1.0.0-beta.1")&&u.isObject(e.properties)&&!e.links.find((e=>["child","item"].includes(e.rel))))for(let t in e.properties){let r=e.properties[t];Array.isArray(r)||(r=[r]),e.summaries[t]=r}l.before("1.0.0-rc.1")&&u.mapObject(e.summaries,(e=>(u.rename(e,"min","minimum"),u.rename(e,"max","maximum"),e))),v.migrate(e.summaries,e,!0),u.moveTo(e.summaries,"sci:doi",e,!0)&&u.addExtension(e,a.scientific),u.moveTo(e.summaries,"sci:publications",e,!0,!0)&&u.addExtension(e,a.scientific),u.moveTo(e.summaries,"sci:citation",e,!0)&&u.addExtension(e,a.scientific),u.moveTo(e.summaries,"cube:dimensions",e,!0)&&u.addExtension(e,a.datacube),0===Object.keys(e.summaries).length&&delete e.summaries}},p={migrate(e,t=null,r=!0){l.set(e),r&&(e.stac_version=i),u.ensure(e,"stac_extensions",[]),l.before("1.0.0-rc.1")&&u.migrateExtensionShortnames(e),u.ensure(e,"id",""),u.ensure(e,"type","Feature"),u.isObject(e.geometry)||(e.geometry=null),null!==e.geometry&&u.ensure(e,"bbox",[]),u.ensure(e,"properties",{}),u.ensure(e,"links",[]),u.ensure(e,"assets",{});let n=!1;return u.isObject(t)&&u.isObject(t.properties)&&(u.removeFromArray(e,"stac_extensions","commons"),e.properties=Object.assign({},t.properties,e.properties),n=!0),u.runAll(p,e,e),v.migrate(e.properties,e),g.migrateAll(e),(l.before("0.8.0")||n)&&u.populateExtensions(e,"item"),e}},d={migrate(e,t=!0){return u.ensure(e,"collections",[]),u.ensure(e,"links",[]),u.runAll(d,e,e),e.collections=e.collections.map((e=>f.migrate(e,t))),e}},m={migrate(e,t=!0){return u.ensure(e,"type","FeatureCollection"),u.ensure(e,"features",[]),u.ensure(e,"links",[]),u.runAll(m,e,e),e.features=e.features.map((e=>p.migrate(e,null,t))),e}},g={migrateAll(e,t="assets"){for(let r in e[t])g.migrate(e[t][r],e)},migrate(e,t){return u.runAll(g,e,t),v.migrate(e,t),e},mediaTypes(e){u.is(e.type,"string")&&u.mapValues(e,"type",["image/vnd.stac.geotiff","image/vnd.stac.geotiff; cloud-optimized=true"],["image/tiff; application=geotiff","image/tiff; application=geotiff; profile=cloud-optimized"])}},b={migrateAll(e,t){if(l.before("1.0.0")){const r=u.isObject(t.properties)&&Array.isArray(t.properties.bands)?t.properties.bands:[];if(Array.isArray(e["eo:bands"]))for(let t in e["eo:bands"]){let n=e["eo:bands"][t];u.is(n,"number")&&u.isObject(r[n])&&(n=r[n]),u.isObject(n)||(n={}),e["eo:bands"][t]=n}}if(l.before("1.1.0-beta.1")&&(Array.isArray(e["raster:bands"])||Array.isArray(e["eo:bands"]))){u.ensure(e,"bands",[]);const r=e["raster:bands"]||[],n=e["eo:bands"]||[],i=Math.max(r.length,n.length);for(let a=0;au.rename(e,"color-hint","color_hint"))),l.before("2.0.0","classification")&&u.forAll(e,"classification:classes",(e=>u.ensure(e,"name",e.description))),u.upgradeExtension(t,a.classification)},cube(e,t){u.upgradeExtension(t,a.datacube)},dtr(e,t){l.before("0.9.0")&&(u.rename(e,"dtr:start_datetime","start_datetime"),u.rename(e,"dtr:end_datetime","end_datetime"),u.removeExtension(t,"datetime-range"))},eo(e,t){l.before("0.9.0")&&(u.rename(e,"eo:epsg","proj:epsg")&&u.addExtension(t,a.projection),u.rename(e,"eo:platform","platform"),u.rename(e,"eo:instrument","instruments")&&u.toArray(e,"instruments"),u.rename(e,"eo:constellation","constellation"),u.rename(e,"eo:off_nadir","view:off_nadir")&&u.addExtension(t,a.view),u.rename(e,"eo:azimuth","view:azimuth")&&u.addExtension(t,a.view),u.rename(e,"eo:incidence_angle","view:incidence_angle")&&u.addExtension(t,a.view),u.rename(e,"eo:sun_azimuth","view:sun_azimuth")&&u.addExtension(t,a.view),u.rename(e,"eo:sun_elevation","view:sun_elevation")&&u.addExtension(t,a.view)),l.before("1.0.0-beta.1")&&u.rename(e,"eo:gsd","gsd"),u.upgradeExtension(t,a.eo)},file(e,t,r){u.rename(e,"file:bits_per_sample","raster:bits_per_sample")&&u.addExtension(t,a.raster),u.rename(e,"file:data_type","data_type")&&u.addExtension(t,a.raster),u.rename(e,"file:unit","unit")&&u.addExtension(t,a.raster),Array.isArray(e["file:nodata"])&&e["file:nodata"].length>1&&u.copy(e,"file:nodata","nodata:values"),u.rename(e,"file:nodata","nodata")&&!r&&u.pickFirst(e,"nodata"),u.upgradeExtension(t,a.file)},label(e,t){l.before("0.8.0")&&(u.rename(e,"label:property","label:properties"),u.rename(e,"label:task","label:tasks"),u.rename(e,"label:overview","label:overviews")&&u.toArray(e,"label:overviews"),u.rename(e,"label:method","label:methods"),u.toArray(e,"label:classes")),u.upgradeExtension(t,a.label)},pc(e,t){l.before("0.8.0")&&u.rename(e,"pc:schema","pc:schemas"),u.upgradeExtension(t,a.pointcloud)},processing(e,t){u.upgradeExtension(t,a.processing)},proj(e,t){u.rename(e,"proj:epsg","proj:code")&&u.formatString(e,"proj:code","EPSG:{}"),u.upgradeExtension(t,a.projection)},raster(e,t){u.upgradeExtension(t,a.raster)},sar(e,t,r){u.rename(e,"sar:incidence_angle","view:incidence_angle")&&u.addExtension(t,a.view),u.rename(e,"sar:pass_direction","sat:orbit_state")&&u.mapValues(e,"sat:orbit_state",[null],["geostationary"])&&u.addExtension(t,a.sat),l.before("0.7.0")&&(u.flattenArray(e,"sar:resolution",["sar:resolution_range","sar:resolution_azimuth"],r),u.flattenArray(e,"sar:pixel_spacing",["sar:pixel_spacing_range","sar:pixel_spacing_azimuth"],r),u.flattenArray(e,"sar:looks",["sar:looks_range","sar:looks_azimuth","sar:looks_equivalent_number"],r),u.rename(e,"sar:off_nadir","view:off_nadir")&&u.addExtension(t,a.view)),l.before("0.9.0")&&(u.rename(e,"sar:platform","platform"),u.rename(e,"sar:instrument","instruments")&&u.toArray(e,"instruments"),u.rename(e,"sar:constellation","constellation"),u.rename(e,"sar:type","sar:product_type"),u.rename(e,"sar:polarization","sar:polarizations"),u.flattenOneElementArray(e,"sar:absolute_orbit",r)&&u.rename(e,"sar:absolute_orbit","sat:absolute_orbit")&&u.addExtension(t,a.sat),u.flattenOneElementArray(e,"sar:relative_orbit",r)&&u.rename(e,"sar:relative_orbit","sat:relative_orbit")&&u.addExtension(t,a.sat)),u.upgradeExtension(t,a.sar)},sat(e,t){l.before("0.9.0")&&(u.rename(e,"sat:off_nadir_angle","sat:off_nadir"),u.rename(e,"sat:azimuth_angle","sat:azimuth"),u.rename(e,"sat:sun_azimuth_angle","sat:sun_azimuth"),u.rename(e,"sat:sun_elevation_angle","sat:sun_elevation")),u.upgradeExtension(t,a.sat)},sci(e,t){u.upgradeExtension(t,a.scientific)},item(e){l.before("0.8.0")&&(u.rename(e,"item:license","license"),u.rename(e,"item:providers","providers"))},table(e,t){u.upgradeExtension(t,a.table)},view(e,t){u.upgradeExtension(t,a.view)}},y={item(e,t=null,r=!0){return p.migrate(e,t,r)},catalog(e,t=!0){return c.migrate(e,t)},collection(e,t=!0){return f.migrate(e,t)},collectionCollection(e,t=!0){return d.migrate(e,t)},itemCollection(e,t=!0){return m.migrate(e,t)},stac(e,t=!0){return"Feature"===e.type?y.item(e,null,t):"FeatureCollection"===e.type?y.itemCollection(e,t):"Collection"===e.type||!e.type&&u.isDefined(e.extent)&&u.isDefined(e.license)?y.collection(e,t):!e.type&&Array.isArray(e.collections)?y.collectionCollection(e,t):y.catalog(e,t)},enableMultihash(e){h.multihash=e}};e.exports=y},79139:function(e,t){var r,n,i;(function(a,o){n=[],r=o,i="function"===typeof r?r.apply(t,n):r,void 0===i||(e.exports=i)})(0,(function(){var e=/^v?(?:\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+))?(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;function t(e,t){return-1===e.indexOf(t)?e.length:e.indexOf(t)}function r(e){var r=e.replace(/^v/,"").replace(/\+.*$/,""),n=t(r,"-"),i=r.substring(0,n).split(".");return i.push(r.substring(n+1)),i}function n(e){return isNaN(Number(e))?e:Number(e)}function i(t){if("string"!==typeof t)throw new TypeError("Invalid argument expected string");if(!e.test(t))throw new Error("Invalid argument not valid semver ('"+t+"' received)")}function a(e,t){[e,t].forEach(i);for(var a=r(e),o=r(t),s=0;su)return 1;if(u>l)return-1}var h=a[a.length-1],c=o[o.length-1];if(h&&c){var f=h.split(".").map(n),p=c.split(".").map(n);for(s=0;sp[s])return 1;if(p[s]>f[s])return-1}}else if(h||c)return h?-1:1;return 0}var o=[">",">=","=","<","<="],s={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]};function l(e){if("string"!==typeof e)throw new TypeError("Invalid operator type, expected string but got "+typeof e);if(-1===o.indexOf(e))throw new TypeError("Invalid operator, expected one of "+o.join("|"))}return a.validate=function(t){return"string"===typeof t&&e.test(t)},a.compare=function(e,t,r){l(r);var n=a(e,t);return s[r].indexOf(n)>-1},a}))},92861:(e,t,r)=>{ /*! safe-buffer. MIT License. Feross Aboukhadijeh */ -var n=r(48287),i=n.Buffer;function a(e,t){for(var r in e)t[r]=e[r]}function o(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(a(n,t),t.Buffer=o),o.prototype=Object.create(i.prototype),a(i,o),o.from=function(e,t,r){if("number"===typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},o.alloc=function(e,t,r){if("number"!==typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"===typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},o.allocUnsafe=function(e){if("number"!==typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!==typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},96897:(e,t,r)=>{"use strict";var n=r(70453),i=r(30041),a=r(30592)(),o=r(75795),s=r(69675),l=n("%Math.floor%");e.exports=function(e,t){if("function"!==typeof e)throw new s("`fn` is not a function");if("number"!==typeof t||t<0||t>4294967295||l(t)!==t)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,u=!0;if("length"in e&&o){var h=o(e,"length");h&&!h.configurable&&(n=!1),h&&!h.writable&&(u=!1)}return(n||u||!r)&&(a?i(e,"length",t,!0,!0):i(e,"length",t)),e}},920:(e,t,r)=>{"use strict";var n=r(70453),i=r(38075),a=r(58859),o=r(69675),s=n("%WeakMap%",!0),l=n("%Map%",!0),u=i("WeakMap.prototype.get",!0),h=i("WeakMap.prototype.set",!0),c=i("WeakMap.prototype.has",!0),f=i("Map.prototype.get",!0),d=i("Map.prototype.set",!0),p=i("Map.prototype.has",!0),m=function(e,t){for(var r,n=e;null!==(r=n.next);n=r)if(r.key===t)return n.next=r.next,r.next=e.next,e.next=r,r},b=function(e,t){var r=m(e,t);return r&&r.value},g=function(e,t,r){var n=m(e,t);n?n.value=r:e.next={key:t,next:e.next,value:r}},v=function(e,t){return!!m(e,t)};e.exports=function(){var e,t,r,n={assert:function(e){if(!n.has(e))throw new o("Side channel does not contain "+a(e))},get:function(n){if(s&&n&&("object"===typeof n||"function"===typeof n)){if(e)return u(e,n)}else if(l){if(t)return f(t,n)}else if(r)return b(r,n)},has:function(n){if(s&&n&&("object"===typeof n||"function"===typeof n)){if(e)return c(e,n)}else if(l){if(t)return p(t,n)}else if(r)return v(r,n);return!1},set:function(n,i){s&&n&&("object"===typeof n||"function"===typeof n)?(e||(e=new s),h(e,n,i)):l?(t||(t=new l),d(t,n,i)):(r||(r={key:{},next:null}),g(r,n,i))}};return n}},88310:(e,t,r)=>{e.exports=a;var n=r(37007).EventEmitter,i=r(56698);function a(){n.call(this)}i(a,n),a.Readable=r(46891),a.Writable=r(81999),a.Duplex=r(88101),a.Transform=r(59083),a.PassThrough=r(3681),a.finished=r(14257),a.pipeline=r(5267),a.Stream=a,a.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),e.on("drain",a),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,e.end())}function l(){o||(o=!0,"function"===typeof e.destroy&&e.destroy())}function u(e){if(h(),0===n.listenerCount(this,"error"))throw e}function h(){r.removeListener("data",i),e.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",u),e.removeListener("error",u),r.removeListener("end",h),r.removeListener("close",h),e.removeListener("close",h)}return r.on("error",u),e.on("error",u),r.on("end",h),r.on("close",h),e.on("close",h),e.emit("pipe",r),e}},12463:e=>{"use strict";function t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var r={};function n(e,n,i){function a(e,t,r){return"string"===typeof n?n:n(e,t,r)}i||(i=Error);var o=function(e){function r(t,r,n){return e.call(this,a(t,r,n))||this}return t(r,e),r}(i);o.prototype.name=i.name,o.prototype.code=e,r[e]=o}function i(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}function a(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function o(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function s(e,t,r){return"number"!==typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,r){var n,l;if("string"===typeof t&&a(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be",o(e," argument"))l="The ".concat(e," ").concat(n," ").concat(i(t,"type"));else{var u=s(e,".")?"property":"argument";l='The "'.concat(e,'" ').concat(u," ").concat(n," ").concat(i(t,"type"))}return l+=". Received type ".concat(typeof r),l}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.F=r},88101:(e,t,r)=>{"use strict";var n=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=u;var i=r(46891),a=r(81999);r(56698)(u,i);for(var o=n(a.prototype),s=0;s{"use strict";e.exports=i;var n=r(59083);function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}r(56698)(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},46891:(e,t,r)=>{"use strict";var n;e.exports=O,O.ReadableState=C;r(37007).EventEmitter;var i=function(e,t){return e.listeners(t).length},a=r(41396),o=r(48287).Buffer,s=("undefined"!==typeof r.g?r.g:"undefined"!==typeof window?window:"undefined"!==typeof self?self:{}).Uint8Array||function(){};function l(e){return o.from(e)}function u(e){return o.isBuffer(e)||e instanceof s}var h,c=r(77199);h=c&&c.debuglog?c.debuglog("stream"):function(){};var f,d,p,m=r(81766),b=r(54347),g=r(66644),v=g.getHighWaterMark,y=r(12463).F,w=y.ERR_INVALID_ARG_TYPE,_=y.ERR_STREAM_PUSH_AFTER_EOF,E=y.ERR_METHOD_NOT_IMPLEMENTED,S=y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(56698)(O,a);var x=b.errorOrDestroy,A=["error","close","destroy","pause","resume"];function R(e,t,r){if("function"===typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}function C(e,t,i){n=n||r(88101),e=e||{},"boolean"!==typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=v(this,e,"readableHighWaterMark",i),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=r(83141).I),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function O(e){if(n=n||r(88101),!(this instanceof O))return new O(e);var t=this instanceof n;this._readableState=new C(e,this,t),this.readable=!0,e&&("function"===typeof e.read&&(this._read=e.read),"function"===typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function j(e,t,r,n,i){h("readableAddChunk",t);var a,s=e._readableState;if(null===t)s.reading=!1,P(e,s);else if(i||(a=k(s,t)),a)x(e,a);else if(s.objectMode||t&&t.length>0)if("string"===typeof t||s.objectMode||Object.getPrototypeOf(t)===o.prototype||(t=l(t)),n)s.endEmitted?x(e,new S):T(e,s,t,!0);else if(s.ended)x(e,new _);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?T(e,s,t,!1):F(e,s)):T(e,s,t,!1)}else n||(s.reading=!1,F(e,s));return!s.ended&&(s.length=M?e=M:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function N(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=D(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function P(e,t){if(h("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?I(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,L(e)))}}function I(e){var t=e._readableState;h("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(L,e))}function L(e){var t=e._readableState;h("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,V(e)}function F(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(U,e,t))}function U(e,t){while(!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function W(e){h("readable nexttick read 0"),e.read(0)}function z(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(B,e,t))}function B(e,t){h("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),V(e),t.flowing&&!t.reading&&e.read(0)}function V(e){var t=e._readableState;h("flow",t.flowing);while(t.flowing&&null!==e.read());}function $(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function G(e){var t=e._readableState;h("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(Y,t,e))}function Y(e,t){if(h("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function Z(e,t){for(var r=0,n=e.length;r=t.highWaterMark:t.length>0)||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?G(this):I(this),null;if(e=N(e,t),0===e&&t.ended)return 0===t.length&&G(this),null;var n,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e0?$(e,t):null,null===n?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&G(this)),null!==n&&this.emit("data",n),n},O.prototype._read=function(e){x(this,new E("_read()"))},O.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,h("pipe count=%d opts=%j",n.pipesCount,t);var a=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr,o=a?l:g;function s(e,t){h("onunpipe"),e===r&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,f())}function l(){h("onend"),e.end()}n.endEmitted?process.nextTick(o):r.once("end",o),e.on("unpipe",s);var u=q(r);e.on("drain",u);var c=!1;function f(){h("cleanup"),e.removeListener("close",m),e.removeListener("finish",b),e.removeListener("drain",u),e.removeListener("error",p),e.removeListener("unpipe",s),r.removeListener("end",l),r.removeListener("end",g),r.removeListener("data",d),c=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||u()}function d(t){h("ondata");var i=e.write(t);h("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==Z(n.pipes,e))&&!c&&(h("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function p(t){h("onerror",t),g(),e.removeListener("error",p),0===i(e,"error")&&x(e,t)}function m(){e.removeListener("finish",b),g()}function b(){h("onfinish"),e.removeListener("close",m),g()}function g(){h("unpipe"),r.unpipe(e)}return r.on("data",d),R(e,"error",p),e.once("close",m),e.once("finish",b),e.emit("pipe",r),n.flowing||(h("pipe resume"),r.resume()),e},O.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===e&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,h("on readable",n.length,n.reading),n.length?I(this):n.reading||process.nextTick(W,this))),r},O.prototype.addListener=O.prototype.on,O.prototype.removeListener=function(e,t){var r=a.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(H,this),r},O.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(H,this),t},O.prototype.resume=function(){var e=this._readableState;return e.flowing||(h("resume"),e.flowing=!e.readableListening,z(this,e)),e.paused=!1,this},O.prototype.pause=function(){return h("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(h("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},O.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on("end",(function(){if(h("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){if(h("wrapped data"),r.decoder&&(i=r.decoder.write(i)),(!r.objectMode||null!==i&&void 0!==i)&&(r.objectMode||i&&i.length)){var a=t.push(i);a||(n=!0,e.pause())}})),e)void 0===this[i]&&"function"===typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a{"use strict";e.exports=h;var n=r(12463).F,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,l=r(88101);function u(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new a);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){B(t,e)}}var i;e.exports=C,C.WritableState=R;var a={deprecate:r(94643)},o=r(41396),s=r(48287).Buffer,l=("undefined"!==typeof r.g?r.g:"undefined"!==typeof window?window:"undefined"!==typeof self?self:{}).Uint8Array||function(){};function u(e){return s.from(e)}function h(e){return s.isBuffer(e)||e instanceof l}var c,f=r(54347),d=r(66644),p=d.getHighWaterMark,m=r(12463).F,b=m.ERR_INVALID_ARG_TYPE,g=m.ERR_METHOD_NOT_IMPLEMENTED,v=m.ERR_MULTIPLE_CALLBACK,y=m.ERR_STREAM_CANNOT_PIPE,w=m.ERR_STREAM_DESTROYED,_=m.ERR_STREAM_NULL_VALUES,E=m.ERR_STREAM_WRITE_AFTER_END,S=m.ERR_UNKNOWN_ENCODING,x=f.errorOrDestroy;function A(){}function R(e,t,a){i=i||r(88101),e=e||{},"boolean"!==typeof a&&(a=t instanceof i),this.objectMode=!!e.objectMode,a&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=p(this,e,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){P(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function C(e){i=i||r(88101);var t=this instanceof i;if(!t&&!c.call(C,this))return new C(e);this._writableState=new R(e,this,t),this.writable=!0,e&&("function"===typeof e.write&&(this._write=e.write),"function"===typeof e.writev&&(this._writev=e.writev),"function"===typeof e.destroy&&(this._destroy=e.destroy),"function"===typeof e.final&&(this._final=e.final)),o.call(this)}function O(e,t){var r=new E;x(e,r),process.nextTick(t,r)}function j(e,t,r,n){var i;return null===r?i=new _:"string"===typeof r||t.objectMode||(i=new b("chunk",["string","Buffer"],r)),!i||(x(e,i),process.nextTick(n,i),!1)}function T(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!==typeof t||(t=s.from(t,r)),t}function k(e,t,r,n,i,a){if(!r){var o=T(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length-1))throw new S(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,t,r){r(new g("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,t,r){var n=this._writableState;return"function"===typeof e?(r=e,e=null,t=null):"function"===typeof t&&(r=t,t=null),null!==e&&void 0!==e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||z(this,n,r),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),C.prototype.destroy=f.destroy,C.prototype._undestroy=f.undestroy,C.prototype._destroy=function(e,t){t(e)}},65034:(e,t,r)=>{"use strict";var n;function i(e,t,r){return t=a(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){var t=o(e,"string");return"symbol"===typeof t?t:String(t)}function o(e,t){if("object"!==typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var s=r(14257),l=Symbol("lastResolve"),u=Symbol("lastReject"),h=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),d=Symbol("handlePromise"),p=Symbol("stream");function m(e,t){return{value:e,done:t}}function b(e){var t=e[l];if(null!==t){var r=e[p].read();null!==r&&(e[f]=null,e[l]=null,e[u]=null,t(m(r,!1)))}}function g(e){process.nextTick(b,e)}function v(e,t){return function(r,n){e.then((function(){t[c]?r(m(void 0,!0)):t[d](r,n)}),n)}}var y=Object.getPrototypeOf((function(){})),w=Object.setPrototypeOf((n={get stream(){return this[p]},next:function(){var e=this,t=this[h];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(m(void 0,!0));if(this[p].destroyed)return new Promise((function(t,r){process.nextTick((function(){e[h]?r(e[h]):t(m(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(v(n,this));else{var i=this[p].read();if(null!==i)return Promise.resolve(m(i,!1));r=new Promise(this[d])}return this[f]=r,r}},i(n,Symbol.asyncIterator,(function(){return this})),i(n,"return",(function(){var e=this;return new Promise((function(t,r){e[p].destroy(null,(function(e){e?r(e):t(m(void 0,!0))}))}))})),n),y),_=function(e){var t,r=Object.create(w,(t={},i(t,p,{value:e,writable:!0}),i(t,l,{value:null,writable:!0}),i(t,u,{value:null,writable:!0}),i(t,h,{value:null,writable:!0}),i(t,c,{value:e._readableState.endEmitted,writable:!0}),i(t,d,{value:function(e,t){var n=r[p].read();n?(r[f]=null,r[l]=null,r[u]=null,e(m(n,!1))):(r[l]=e,r[u]=t)},writable:!0}),t));return r[f]=null,s(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[u];return null!==t&&(r[f]=null,r[l]=null,r[u]=null,t(e)),void(r[h]=e)}var n=r[l];null!==n&&(r[f]=null,r[l]=null,r[u]=null,n(m(void 0,!0))),r[c]=!0})),e.on("readable",g.bind(null,r)),r};e.exports=_},81766:(e,t,r)=>{"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";var t=this.head,r=""+t.data;while(t=t.next)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return f.alloc(0);var t=f.allocUnsafe(e>>>0),r=this.head,n=0;while(r)b(r.data,t,n),n+=r.data.length,r=r.next;return t}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),e-=a,0===e){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=f.allocUnsafe(e),r=this.head,n=1;r.data.copy(t),e-=r.data.length;while(r=r.next){var i=r.data,a=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,a),e-=a,0===e){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,t}},{key:m,value:function(e,t){return p(this,i(i({},t),{},{depth:0,customInspect:!1}))}}]),e}()},54347:e=>{"use strict";function t(e,t){var i=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(a,this,e)):process.nextTick(a,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?i._writableState?i._writableState.errorEmitted?process.nextTick(n,i):(i._writableState.errorEmitted=!0,process.nextTick(r,i,e)):process.nextTick(r,i,e):t?(process.nextTick(n,i),t(e)):process.nextTick(n,i)})),this)}function r(e,t){a(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function i(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function a(e,t){e.emit("error",t)}function o(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}e.exports={destroy:t,undestroy:i,errorOrDestroy:o}},14257:(e,t,r)=>{"use strict";var n=r(12463).F.ERR_STREAM_PREMATURE_CLOSE;function i(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{e.exports=function(){throw new Error("Readable.from is not available in the browser")}},5267:(e,t,r)=>{"use strict";var n;function i(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var a=r(12463).F,o=a.ERR_MISSING_ARGS,s=a.ERR_STREAM_DESTROYED;function l(e){if(e)throw e}function u(e){return e.setHeader&&"function"===typeof e.abort}function h(e,t,a,o){o=i(o);var l=!1;e.on("close",(function(){l=!0})),void 0===n&&(n=r(14257)),n(e,{readable:t,writable:a},(function(e){if(e)return o(e);l=!0,o()}));var h=!1;return function(t){if(!l&&!h)return h=!0,u(e)?e.abort():"function"===typeof e.destroy?e.destroy():void o(t||new s("pipe"))}}function c(e){e()}function f(e,t){return e.pipe(t)}function d(e){return e.length?"function"!==typeof e[e.length-1]?l:e.pop():l}function p(){for(var e=arguments.length,t=new Array(e),r=0;r0;return h(e,o,s,(function(e){n||(n=e),e&&a.forEach(c),o||(a.forEach(c),i(n))}))}));return t.reduce(f)}e.exports=p},66644:(e,t,r)=>{"use strict";var n=r(12463).F.ERR_INVALID_OPT_VALUE;function i(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}function a(e,t,r,a){var o=i(t,a,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0){var s=a?r:"highWaterMark";throw new n(s,o)}return Math.floor(o)}return e.objectMode?16:16384}e.exports={getHighWaterMark:a}},41396:(e,t,r)=>{e.exports=r(37007).EventEmitter},83141:(e,t,r)=>{"use strict";var n=r(92861).Buffer,i=n.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(e){if(!e)return"utf8";var t;while(1)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function o(e){var t=a(e);if("string"!==typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}function s(e){var t;switch(this.encoding=o(e),this.encoding){case"utf16le":this.text=p,this.end=m,t=4;break;case"utf8":this.fillLast=c,t=4;break;case"base64":this.text=b,this.end=g,t=3;break;default:return this.write=v,void(this.end=y)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function l(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function u(e,t,r){var n=t.length-1;if(n=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0))}function h(e,t,r){if(128!==(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!==(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!==(192&t[2]))return e.lastNeed=2,"�"}}function c(e){var t=this.lastTotal-this.lastNeed,r=h(this,e,t);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function f(e,t){var r=u(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function p(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function m(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function b(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function g(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function v(e){return e.toString(this.encoding)}function y(e){return e&&e.length?this.write(e):""}t.I=s,s.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),void 0===t)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r{"use strict";var n=r(70453),i=r(30041),a=r(30592)(),o=r(75795),s=r(69675),l=n("%Math.floor%");e.exports=function(e,t){if("function"!==typeof e)throw new s("`fn` is not a function");if("number"!==typeof t||t<0||t>4294967295||l(t)!==t)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,u=!0;if("length"in e&&o){var h=o(e,"length");h&&!h.configurable&&(n=!1),h&&!h.writable&&(u=!1)}return(n||u||!r)&&(a?i(e,"length",t,!0,!0):i(e,"length",t)),e}},920:(e,t,r)=>{"use strict";var n=r(70453),i=r(38075),a=r(58859),o=r(69675),s=n("%WeakMap%",!0),l=n("%Map%",!0),u=i("WeakMap.prototype.get",!0),h=i("WeakMap.prototype.set",!0),c=i("WeakMap.prototype.has",!0),f=i("Map.prototype.get",!0),p=i("Map.prototype.set",!0),d=i("Map.prototype.has",!0),m=function(e,t){for(var r,n=e;null!==(r=n.next);n=r)if(r.key===t)return n.next=r.next,r.next=e.next,e.next=r,r},g=function(e,t){var r=m(e,t);return r&&r.value},b=function(e,t,r){var n=m(e,t);n?n.value=r:e.next={key:t,next:e.next,value:r}},v=function(e,t){return!!m(e,t)};e.exports=function(){var e,t,r,n={assert:function(e){if(!n.has(e))throw new o("Side channel does not contain "+a(e))},get:function(n){if(s&&n&&("object"===typeof n||"function"===typeof n)){if(e)return u(e,n)}else if(l){if(t)return f(t,n)}else if(r)return g(r,n)},has:function(n){if(s&&n&&("object"===typeof n||"function"===typeof n)){if(e)return c(e,n)}else if(l){if(t)return d(t,n)}else if(r)return v(r,n);return!1},set:function(n,i){s&&n&&("object"===typeof n||"function"===typeof n)?(e||(e=new s),h(e,n,i)):l?(t||(t=new l),p(t,n,i)):(r||(r={key:{},next:null}),b(r,n,i))}};return n}},88310:(e,t,r)=>{e.exports=a;var n=r(37007).EventEmitter,i=r(56698);function a(){n.call(this)}i(a,n),a.Readable=r(46891),a.Writable=r(81999),a.Duplex=r(88101),a.Transform=r(59083),a.PassThrough=r(3681),a.finished=r(14257),a.pipeline=r(5267),a.Stream=a,a.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),e.on("drain",a),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,e.end())}function l(){o||(o=!0,"function"===typeof e.destroy&&e.destroy())}function u(e){if(h(),0===n.listenerCount(this,"error"))throw e}function h(){r.removeListener("data",i),e.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",u),e.removeListener("error",u),r.removeListener("end",h),r.removeListener("close",h),e.removeListener("close",h)}return r.on("error",u),e.on("error",u),r.on("end",h),r.on("close",h),e.on("close",h),e.emit("pipe",r),e}},12463:e=>{"use strict";function t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var r={};function n(e,n,i){function a(e,t,r){return"string"===typeof n?n:n(e,t,r)}i||(i=Error);var o=function(e){function r(t,r,n){return e.call(this,a(t,r,n))||this}return t(r,e),r}(i);o.prototype.name=i.name,o.prototype.code=e,r[e]=o}function i(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}function a(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function o(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function s(e,t,r){return"number"!==typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,r){var n,l;if("string"===typeof t&&a(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be",o(e," argument"))l="The ".concat(e," ").concat(n," ").concat(i(t,"type"));else{var u=s(e,".")?"property":"argument";l='The "'.concat(e,'" ').concat(u," ").concat(n," ").concat(i(t,"type"))}return l+=". Received type ".concat(typeof r),l}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.F=r},88101:(e,t,r)=>{"use strict";var n=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=u;var i=r(46891),a=r(81999);r(56698)(u,i);for(var o=n(a.prototype),s=0;s{"use strict";e.exports=i;var n=r(59083);function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}r(56698)(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},46891:(e,t,r)=>{"use strict";var n;e.exports=O,O.ReadableState=C;r(37007).EventEmitter;var i=function(e,t){return e.listeners(t).length},a=r(41396),o=r(48287).Buffer,s=("undefined"!==typeof r.g?r.g:"undefined"!==typeof window?window:"undefined"!==typeof self?self:{}).Uint8Array||function(){};function l(e){return o.from(e)}function u(e){return o.isBuffer(e)||e instanceof s}var h,c=r(77199);h=c&&c.debuglog?c.debuglog("stream"):function(){};var f,p,d,m=r(81766),g=r(54347),b=r(66644),v=b.getHighWaterMark,y=r(12463).F,w=y.ERR_INVALID_ARG_TYPE,_=y.ERR_STREAM_PUSH_AFTER_EOF,E=y.ERR_METHOD_NOT_IMPLEMENTED,x=y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(56698)(O,a);var S=g.errorOrDestroy,A=["error","close","destroy","pause","resume"];function R(e,t,r){if("function"===typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}function C(e,t,i){n=n||r(88101),e=e||{},"boolean"!==typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=v(this,e,"readableHighWaterMark",i),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=r(83141).I),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function O(e){if(n=n||r(88101),!(this instanceof O))return new O(e);var t=this instanceof n;this._readableState=new C(e,this,t),this.readable=!0,e&&("function"===typeof e.read&&(this._read=e.read),"function"===typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function j(e,t,r,n,i){h("readableAddChunk",t);var a,s=e._readableState;if(null===t)s.reading=!1,I(e,s);else if(i||(a=k(s,t)),a)S(e,a);else if(s.objectMode||t&&t.length>0)if("string"===typeof t||s.objectMode||Object.getPrototypeOf(t)===o.prototype||(t=l(t)),n)s.endEmitted?S(e,new x):T(e,s,t,!0);else if(s.ended)S(e,new _);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?T(e,s,t,!1):F(e,s)):T(e,s,t,!1)}else n||(s.reading=!1,F(e,s));return!s.ended&&(s.length=M?e=M:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function N(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=D(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function I(e,t){if(h("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?P(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,L(e)))}}function P(e){var t=e._readableState;h("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(L,e))}function L(e){var t=e._readableState;h("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,V(e)}function F(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(U,e,t))}function U(e,t){while(!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function W(e){h("readable nexttick read 0"),e.read(0)}function z(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(B,e,t))}function B(e,t){h("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),V(e),t.flowing&&!t.reading&&e.read(0)}function V(e){var t=e._readableState;h("flow",t.flowing);while(t.flowing&&null!==e.read());}function $(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function G(e){var t=e._readableState;h("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(Y,t,e))}function Y(e,t){if(h("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function Z(e,t){for(var r=0,n=e.length;r=t.highWaterMark:t.length>0)||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?G(this):P(this),null;if(e=N(e,t),0===e&&t.ended)return 0===t.length&&G(this),null;var n,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e0?$(e,t):null,null===n?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&G(this)),null!==n&&this.emit("data",n),n},O.prototype._read=function(e){S(this,new E("_read()"))},O.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,h("pipe count=%d opts=%j",n.pipesCount,t);var a=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr,o=a?l:b;function s(e,t){h("onunpipe"),e===r&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,f())}function l(){h("onend"),e.end()}n.endEmitted?process.nextTick(o):r.once("end",o),e.on("unpipe",s);var u=q(r);e.on("drain",u);var c=!1;function f(){h("cleanup"),e.removeListener("close",m),e.removeListener("finish",g),e.removeListener("drain",u),e.removeListener("error",d),e.removeListener("unpipe",s),r.removeListener("end",l),r.removeListener("end",b),r.removeListener("data",p),c=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||u()}function p(t){h("ondata");var i=e.write(t);h("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==Z(n.pipes,e))&&!c&&(h("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function d(t){h("onerror",t),b(),e.removeListener("error",d),0===i(e,"error")&&S(e,t)}function m(){e.removeListener("finish",g),b()}function g(){h("onfinish"),e.removeListener("close",m),b()}function b(){h("unpipe"),r.unpipe(e)}return r.on("data",p),R(e,"error",d),e.once("close",m),e.once("finish",g),e.emit("pipe",r),n.flowing||(h("pipe resume"),r.resume()),e},O.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===e&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,h("on readable",n.length,n.reading),n.length?P(this):n.reading||process.nextTick(W,this))),r},O.prototype.addListener=O.prototype.on,O.prototype.removeListener=function(e,t){var r=a.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(H,this),r},O.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(H,this),t},O.prototype.resume=function(){var e=this._readableState;return e.flowing||(h("resume"),e.flowing=!e.readableListening,z(this,e)),e.paused=!1,this},O.prototype.pause=function(){return h("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(h("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},O.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on("end",(function(){if(h("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){if(h("wrapped data"),r.decoder&&(i=r.decoder.write(i)),(!r.objectMode||null!==i&&void 0!==i)&&(r.objectMode||i&&i.length)){var a=t.push(i);a||(n=!0,e.pause())}})),e)void 0===this[i]&&"function"===typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a{"use strict";e.exports=h;var n=r(12463).F,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,l=r(88101);function u(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new a);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){B(t,e)}}var i;e.exports=C,C.WritableState=R;var a={deprecate:r(94643)},o=r(41396),s=r(48287).Buffer,l=("undefined"!==typeof r.g?r.g:"undefined"!==typeof window?window:"undefined"!==typeof self?self:{}).Uint8Array||function(){};function u(e){return s.from(e)}function h(e){return s.isBuffer(e)||e instanceof l}var c,f=r(54347),p=r(66644),d=p.getHighWaterMark,m=r(12463).F,g=m.ERR_INVALID_ARG_TYPE,b=m.ERR_METHOD_NOT_IMPLEMENTED,v=m.ERR_MULTIPLE_CALLBACK,y=m.ERR_STREAM_CANNOT_PIPE,w=m.ERR_STREAM_DESTROYED,_=m.ERR_STREAM_NULL_VALUES,E=m.ERR_STREAM_WRITE_AFTER_END,x=m.ERR_UNKNOWN_ENCODING,S=f.errorOrDestroy;function A(){}function R(e,t,a){i=i||r(88101),e=e||{},"boolean"!==typeof a&&(a=t instanceof i),this.objectMode=!!e.objectMode,a&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=d(this,e,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){I(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function C(e){i=i||r(88101);var t=this instanceof i;if(!t&&!c.call(C,this))return new C(e);this._writableState=new R(e,this,t),this.writable=!0,e&&("function"===typeof e.write&&(this._write=e.write),"function"===typeof e.writev&&(this._writev=e.writev),"function"===typeof e.destroy&&(this._destroy=e.destroy),"function"===typeof e.final&&(this._final=e.final)),o.call(this)}function O(e,t){var r=new E;S(e,r),process.nextTick(t,r)}function j(e,t,r,n){var i;return null===r?i=new _:"string"===typeof r||t.objectMode||(i=new g("chunk",["string","Buffer"],r)),!i||(S(e,i),process.nextTick(n,i),!1)}function T(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!==typeof t||(t=s.from(t,r)),t}function k(e,t,r,n,i,a){if(!r){var o=T(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length-1))throw new x(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,t,r){r(new b("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,t,r){var n=this._writableState;return"function"===typeof e?(r=e,e=null,t=null):"function"===typeof t&&(r=t,t=null),null!==e&&void 0!==e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||z(this,n,r),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),C.prototype.destroy=f.destroy,C.prototype._undestroy=f.undestroy,C.prototype._destroy=function(e,t){t(e)}},65034:(e,t,r)=>{"use strict";var n;function i(e,t,r){return t=a(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){var t=o(e,"string");return"symbol"===typeof t?t:String(t)}function o(e,t){if("object"!==typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var s=r(14257),l=Symbol("lastResolve"),u=Symbol("lastReject"),h=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),p=Symbol("handlePromise"),d=Symbol("stream");function m(e,t){return{value:e,done:t}}function g(e){var t=e[l];if(null!==t){var r=e[d].read();null!==r&&(e[f]=null,e[l]=null,e[u]=null,t(m(r,!1)))}}function b(e){process.nextTick(g,e)}function v(e,t){return function(r,n){e.then((function(){t[c]?r(m(void 0,!0)):t[p](r,n)}),n)}}var y=Object.getPrototypeOf((function(){})),w=Object.setPrototypeOf((n={get stream(){return this[d]},next:function(){var e=this,t=this[h];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(m(void 0,!0));if(this[d].destroyed)return new Promise((function(t,r){process.nextTick((function(){e[h]?r(e[h]):t(m(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(v(n,this));else{var i=this[d].read();if(null!==i)return Promise.resolve(m(i,!1));r=new Promise(this[p])}return this[f]=r,r}},i(n,Symbol.asyncIterator,(function(){return this})),i(n,"return",(function(){var e=this;return new Promise((function(t,r){e[d].destroy(null,(function(e){e?r(e):t(m(void 0,!0))}))}))})),n),y),_=function(e){var t,r=Object.create(w,(t={},i(t,d,{value:e,writable:!0}),i(t,l,{value:null,writable:!0}),i(t,u,{value:null,writable:!0}),i(t,h,{value:null,writable:!0}),i(t,c,{value:e._readableState.endEmitted,writable:!0}),i(t,p,{value:function(e,t){var n=r[d].read();n?(r[f]=null,r[l]=null,r[u]=null,e(m(n,!1))):(r[l]=e,r[u]=t)},writable:!0}),t));return r[f]=null,s(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[u];return null!==t&&(r[f]=null,r[l]=null,r[u]=null,t(e)),void(r[h]=e)}var n=r[l];null!==n&&(r[f]=null,r[l]=null,r[u]=null,n(m(void 0,!0))),r[c]=!0})),e.on("readable",b.bind(null,r)),r};e.exports=_},81766:(e,t,r)=>{"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";var t=this.head,r=""+t.data;while(t=t.next)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return f.alloc(0);var t=f.allocUnsafe(e>>>0),r=this.head,n=0;while(r)g(r.data,t,n),n+=r.data.length,r=r.next;return t}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),e-=a,0===e){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=f.allocUnsafe(e),r=this.head,n=1;r.data.copy(t),e-=r.data.length;while(r=r.next){var i=r.data,a=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,a),e-=a,0===e){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,t}},{key:m,value:function(e,t){return d(this,i(i({},t),{},{depth:0,customInspect:!1}))}}]),e}()},54347:e=>{"use strict";function t(e,t){var i=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(a,this,e)):process.nextTick(a,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?i._writableState?i._writableState.errorEmitted?process.nextTick(n,i):(i._writableState.errorEmitted=!0,process.nextTick(r,i,e)):process.nextTick(r,i,e):t?(process.nextTick(n,i),t(e)):process.nextTick(n,i)})),this)}function r(e,t){a(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function i(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function a(e,t){e.emit("error",t)}function o(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}e.exports={destroy:t,undestroy:i,errorOrDestroy:o}},14257:(e,t,r)=>{"use strict";var n=r(12463).F.ERR_STREAM_PREMATURE_CLOSE;function i(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{e.exports=function(){throw new Error("Readable.from is not available in the browser")}},5267:(e,t,r)=>{"use strict";var n;function i(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var a=r(12463).F,o=a.ERR_MISSING_ARGS,s=a.ERR_STREAM_DESTROYED;function l(e){if(e)throw e}function u(e){return e.setHeader&&"function"===typeof e.abort}function h(e,t,a,o){o=i(o);var l=!1;e.on("close",(function(){l=!0})),void 0===n&&(n=r(14257)),n(e,{readable:t,writable:a},(function(e){if(e)return o(e);l=!0,o()}));var h=!1;return function(t){if(!l&&!h)return h=!0,u(e)?e.abort():"function"===typeof e.destroy?e.destroy():void o(t||new s("pipe"))}}function c(e){e()}function f(e,t){return e.pipe(t)}function p(e){return e.length?"function"!==typeof e[e.length-1]?l:e.pop():l}function d(){for(var e=arguments.length,t=new Array(e),r=0;r0;return h(e,o,s,(function(e){n||(n=e),e&&a.forEach(c),o||(a.forEach(c),i(n))}))}));return t.reduce(f)}e.exports=d},66644:(e,t,r)=>{"use strict";var n=r(12463).F.ERR_INVALID_OPT_VALUE;function i(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}function a(e,t,r,a){var o=i(t,a,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0){var s=a?r:"highWaterMark";throw new n(s,o)}return Math.floor(o)}return e.objectMode?16:16384}e.exports={getHighWaterMark:a}},41396:(e,t,r)=>{e.exports=r(37007).EventEmitter},83141:(e,t,r)=>{"use strict";var n=r(92861).Buffer,i=n.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(e){if(!e)return"utf8";var t;while(1)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function o(e){var t=a(e);if("string"!==typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}function s(e){var t;switch(this.encoding=o(e),this.encoding){case"utf16le":this.text=d,this.end=m,t=4;break;case"utf8":this.fillLast=c,t=4;break;case"base64":this.text=g,this.end=b,t=3;break;default:return this.write=v,void(this.end=y)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function l(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function u(e,t,r){var n=t.length-1;if(n=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0))}function h(e,t,r){if(128!==(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!==(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!==(192&t[2]))return e.lastNeed=2,"�"}}function c(e){var t=this.lastTotal-this.lastNeed,r=h(this,e,t);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function f(e,t){var r=u(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function p(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function d(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function m(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function g(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function b(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function v(e){return e.toString(this.encoding)}function y(e){return e&&e.length?this.write(e):""}t.I=s,s.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),void 0===t)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},A=d-p,R=Math.floor,C=String.fromCharCode;function O(e){throw new RangeError(x[e])}function j(e,t){var r=[],n=e.length;while(n--)r[n]=t(e[n]);return r}function T(e,t){var r=e.split("@"),n="";r.length>1&&(n=r[0]+"@",e=r[1]),e=e.replace(S,".");var i=e.split("."),a=j(i,t).join(".");return n+a}function k(e){var t=[],r=0,n=e.length;while(r=55296&&i<=56319&&r>1,e+=R(e/t);e>A*m>>1;n+=d)e=R(e/A);return R(n+(A+1)*e/(e+b))},I=function(e){var t=[],r=e.length,n=0,i=y,a=v,o=e.lastIndexOf(w);o<0&&(o=0);for(var s=0;s=128&&O("not-basic"),t.push(e.charCodeAt(s));for(var l=o>0?o+1:0;l=r&&O("invalid-input");var b=D(e.charCodeAt(l++));(b>=d||b>R((f-n)/h))&&O("overflow"),n+=b*h;var g=c<=a?p:c>=a+m?m:c-a;if(bR(f/_)&&O("overflow"),h*=_}var E=t.length+1;a=P(n-u,E,0==u),R(n/E)>f-i&&O("overflow"),i+=R(n/E),n%=E,t.splice(n++,0,i)}return String.fromCodePoint.apply(String,t)},L=function(e){var t=[];e=k(e);var r=e.length,n=y,i=0,a=v,o=!0,s=!1,l=void 0;try{for(var u,h=e[Symbol.iterator]();!(o=(u=h.next()).done);o=!0){var c=u.value;c<128&&t.push(C(c))}}catch($){s=!0,l=$}finally{try{!o&&h.return&&h.return()}finally{if(s)throw l}}var b=t.length,g=b;b&&t.push(w);while(g=n&&T<_&&(_=T)}}catch($){S=!0,x=$}finally{try{!E&&j.return&&j.return()}finally{if(S)throw x}}var M=g+1;_-n>R((f-i)/M)&&O("overflow"),i+=(_-n)*M,n=_;var D=!0,I=!1,L=void 0;try{for(var F,U=e[Symbol.iterator]();!(D=(F=U.next()).done);D=!0){var q=F.value;if(qf&&O("overflow"),q==n){for(var H=i,W=d;;W+=d){var z=W<=a?p:W>=a+m?m:W-a;if(H>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase(),r}function z(e){var t="",r=0,n=e.length;while(r=194&&i<224){if(n-r>=6){var a=parseInt(e.substr(r+4,2),16);t+=String.fromCharCode((31&i)<<6|63&a)}else t+=e.substr(r,6);r+=6}else if(i>=224){if(n-r>=9){var o=parseInt(e.substr(r+4,2),16),s=parseInt(e.substr(r+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&o)<<6|63&s)}else t+=e.substr(r,9);r+=9}else t+=e.substr(r,3),r+=3}return t}function B(e,t){function r(e){var r=z(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,W).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,W).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,W).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,W).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,W).replace(t.PCT_ENCODED,i)),e}function V(e){return e.replace(/^0*(.*)/,"$1")||"0"}function $(e,t){var r=e.match(t.IPV4ADDRESS)||[],n=h(r,2),i=n[1];return i?i.split(".").map(V).join("."):e}function G(e,t){var r=e.match(t.IPV6ADDRESS)||[],n=h(r,3),i=n[1],a=n[2];if(i){for(var o=i.toLowerCase().split("::").reverse(),s=h(o,2),l=s[0],u=s[1],c=u?u.split(":").map(V):[],f=l.split(":").map(V),d=t.IPV4ADDRESS.test(f[f.length-1]),p=d?7:8,m=f.length-p,b=Array(p),g=0;g1){var _=b.slice(0,y.index),E=b.slice(y.index+y.length);w=_.join(":")+"::"+E.join(":")}else w=b.join(":");return a&&(w+="%"+a),w}return e}var Y=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,Z=void 0==="".match(/(){0}/)[1];function K(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},n=!1!==t.iri?u:l;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(Y);if(i){Z?(r.scheme=i[1],r.userinfo=i[3],r.host=i[4],r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=i[7],r.fragment=i[8],isNaN(r.port)&&(r.port=i[5])):(r.scheme=i[1]||void 0,r.userinfo=-1!==e.indexOf("@")?i[3]:void 0,r.host=-1!==e.indexOf("//")?i[4]:void 0,r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=-1!==e.indexOf("?")?i[7]:void 0,r.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),r.host&&(r.host=G($(r.host,n),n)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");var a=H[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||a&&a.unicodeSupport)B(r,n);else{if(r.host&&(t.domainHost||a&&a.domainHost))try{r.host=q.toASCII(r.host.replace(n.PCT_ENCODED,z).toLowerCase())}catch(o){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+o}B(r,l)}a&&a.parse&&a.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function Q(e,t){var r=!1!==t.iri?u:l,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(G($(String(e.host),r),r).replace(r.IPV6ADDRESS,(function(e,t,r){return"["+t+(r?"%25"+r:"")+"]"}))),"number"!==typeof e.port&&"string"!==typeof e.port||(n.push(":"),n.push(String(e.port))),n.length?n.join(""):void 0}var J=/^\.\.?\//,X=/^\/\.(\/|$)/,ee=/^\/\.\.(\/|$)/,te=/^\/?(?:.|\n)*?(?=\/|$)/;function re(e){var t=[];while(e.length)if(e.match(J))e=e.replace(J,"");else if(e.match(X))e=e.replace(X,"/");else if(e.match(ee))e=e.replace(ee,"/"),t.pop();else if("."===e||".."===e)e="";else{var r=e.match(te);if(!r)throw new Error("Unexpected dot segment condition");var n=r[0];e=e.slice(n.length),t.push(n)}return t.join("")}function ne(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?u:l,n=[],i=H[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(r.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?q.toUnicode(e.host):q.toASCII(e.host.replace(r.PCT_ENCODED,z).toLowerCase())}catch(s){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+s}B(e,r),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var a=Q(e,t);if(void 0!==a&&("suffix"!==t.reference&&n.push("//"),n.push(a),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var o=e.path;t.absolutePath||i&&i.absolutePath||(o=re(o)),void 0===a&&(o=o.replace(/^\/\//,"/%2F")),n.push(o)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function ie(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments[3],i={};return n||(e=K(ne(e,r),r),t=K(ne(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=re(t.path||""),i.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=re(t.path||""),i.query=t.query):(t.path?("/"===t.path.charAt(0)?i.path=re(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path:i.path="/"+t.path,i.path=re(i.path)),i.query=t.query):(i.path=e.path,void 0!==t.query?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function ae(e,t,r){var n=o({scheme:"null"},r);return ne(ie(K(e,n),K(t,n),n,!0),n)}function oe(e,t){return"string"===typeof e?e=ne(K(e,t),t):"object"===n(e)&&(e=K(ne(e,t),t)),e}function se(e,t,r){return"string"===typeof e?e=ne(K(e,r),r):"object"===n(e)&&(e=ne(e,r)),"string"===typeof t?t=ne(K(t,r),r):"object"===n(t)&&(t=ne(t,r)),e===t}function le(e,t){return e&&e.toString().replace(t&&t.iri?u.ESCAPE:l.ESCAPE,W)}function ue(e,t){return e&&e.toString().replace(t&&t.iri?u.PCT_ENCODED:l.PCT_ENCODED,z)}var he={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var r="https"===String(e.scheme).toLowerCase();return e.port!==(r?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},ce={scheme:"https",domainHost:he.domainHost,parse:he.parse,serialize:he.serialize};function fe(e){return"boolean"===typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var de={scheme:"ws",domainHost:!0,parse:function(e,t){var r=e;return r.secure=fe(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r},serialize:function(e,t){if(e.port!==(fe(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"===typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var r=e.resourceName.split("?"),n=h(r,2),i=n[0],a=n[1];e.path=i&&"/"!==i?i:void 0,e.query=a,e.resourceName=void 0}return e.fragment=void 0,e}},pe={scheme:"wss",domainHost:de.domainHost,parse:de.parse,serialize:de.serialize},me={},be=!0,ge="[A-Za-z0-9\\-\\.\\_\\~"+(be?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",ve="[0-9A-Fa-f]",ye=r(r("%[EFef]"+ve+"%"+ve+ve+"%"+ve+ve)+"|"+r("%[89A-Fa-f]"+ve+"%"+ve+ve)+"|"+r("%"+ve+ve)),we="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",_e="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",Ee=t(_e,'[\\"\\\\]'),Se="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",xe=new RegExp(ge,"g"),Ae=new RegExp(ye,"g"),Re=new RegExp(t("[^]",we,"[\\.]",'[\\"]',Ee),"g"),Ce=new RegExp(t("[^]",ge,Se),"g"),Oe=Ce;function je(e){var t=z(e);return t.match(xe)?t:e}var Te={scheme:"mailto",parse:function(e,t){var r=e,n=r.to=r.path?r.path.split(","):[];if(r.path=void 0,r.query){for(var i=!1,a={},o=r.query.split("&"),s=0,l=o.length;s= 0x80 (not a basic code point)","invalid-input":"Invalid input"},y=s-l,w=Math.floor,_=String.fromCharCode;function E(e){throw new RangeError(v[e])}function S(e,t){var r=e.length,n=[];while(r--)n[r]=t(e[r]);return n}function x(e,t){var r=e.split("@"),n="";r.length>1&&(n=r[0]+"@",e=r[1]),e=e.replace(g,".");var i=e.split("."),a=S(i,t).join(".");return n+a}function A(e){var t,r,n=[],i=0,a=e.length;while(i=55296&&t<=56319&&i65535&&(e-=65536,t+=_(e>>>10&1023|55296),e=56320|1023&e),t+=_(e),t})).join("")}function C(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:s}function O(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function j(e,t,r){var n=0;for(e=r?w(e/c):e>>1,e+=w(e/t);e>y*u>>1;n+=s)e=w(e/y);return w(n+(y+1)*e/(e+h))}function T(e){var t,r,n,i,a,h,c,m,b,g,v=[],y=e.length,_=0,S=d,x=f;for(r=e.lastIndexOf(p),r<0&&(r=0),n=0;n=128&&E("not-basic"),v.push(e.charCodeAt(n));for(i=r>0?r+1:0;i=y&&E("invalid-input"),m=C(e.charCodeAt(i++)),(m>=s||m>w((o-_)/h))&&E("overflow"),_+=m*h,b=c<=x?l:c>=x+u?u:c-x,mw(o/g)&&E("overflow"),h*=g}t=v.length+1,x=j(_-a,t,0==a),w(_/t)>o-S&&E("overflow"),S+=w(_/t),_%=t,v.splice(_++,0,S)}return R(v)}function k(e){var t,r,n,i,a,h,c,m,b,g,v,y,S,x,R,C=[];for(e=A(e),y=e.length,t=d,r=0,a=f,h=0;h=t&&vw((o-r)/S)&&E("overflow"),r+=(c-t)*S,t=c,h=0;ho&&E("overflow"),v==t){for(m=r,b=s;;b+=s){if(g=b<=a?l:b>=a+u?u:b-a,m{"use strict";var n=r(61270);function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var a=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,s=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,l=["<",">",'"',"`"," ","\r","\n","\t"],u=["{","}","|","\\","^","`"].concat(l),h=["'"].concat(u),c=["%","/","?",";","#"].concat(h),f=["/","?","#"],d=255,p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,b={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},y=r(55373);function w(e,t,r){if(e&&"object"===typeof e&&e instanceof i)return e;var n=new i;return n.parse(e,t,r),n}function _(e){return"string"===typeof e&&(e=w(e)),e instanceof i?e.format():i.prototype.format.call(e)}function E(e,t){return w(e,!1,!0).resolve(t)}function S(e,t){return e?w(e,!1,!0).resolveObject(t):t}i.prototype.parse=function(e,t,r){if("string"!==typeof e)throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),o=-1!==i&&i127?N+="x":N+=D[P];if(!N.match(p)){var L=k.slice(0,O),F=k.slice(O+1),U=D.match(m);U&&(L.push(U[1]),F.unshift(U[2])),F.length&&(w="/"+F.join(".")+w),this.hostname=L.join(".");break}}}this.hostname.length>d?this.hostname="":this.hostname=this.hostname.toLowerCase(),T||(this.hostname=n.toASCII(this.hostname));var q=this.port?":"+this.port:"",H=this.hostname||"";this.host=H+q,this.href+=this.host,T&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==w[0]&&(w="/"+w))}if(!b[S])for(O=0,M=h.length;O0)&&r.host.split("@");x&&(r.auth=x.shift(),r.hostname=x.shift(),r.host=r.hostname)}return r.search=e.search,r.query=e.query,null===r.pathname&&null===r.search||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!E.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var A=E.slice(-1)[0],R=(r.host||e.host||E.length>1)&&("."===A||".."===A)||""===A,C=0,O=E.length;O>=0;O--)A=E[O],"."===A?E.splice(O,1):".."===A?(E.splice(O,1),C++):C&&(E.splice(O,1),C--);if(!w&&!_)for(;C--;C)E.unshift("..");!w||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),R&&"/"!==E.join("/").substr(-1)&&E.push("");var j=""===E[0]||E[0]&&"/"===E[0].charAt(0);if(S){r.hostname=j?"":E.length?E.shift():"",r.host=r.hostname;x=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@");x&&(r.auth=x.shift(),r.hostname=x.shift(),r.host=r.hostname)}return w=w||r.host&&E.length,w&&!j&&E.unshift(""),E.length>0?r.pathname=E.join("/"):(r.pathname=null,r.path=null),null===r.pathname&&null===r.search||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},i.prototype.parseHost=function(){var e=this.host,t=o.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},t.parse=w,t.resolve=E,t.resolveObject=S,t.format=_,t.Url=i}}]); -//# sourceMappingURL=chunk-vendors-8cbd2506.a42b4cb3.js.map \ No newline at end of file +(function(e,r){r(t)})(0,(function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),r=0;r1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},A=p-d,R=Math.floor,C=String.fromCharCode;function O(e){throw new RangeError(S[e])}function j(e,t){var r=[],n=e.length;while(n--)r[n]=t(e[n]);return r}function T(e,t){var r=e.split("@"),n="";r.length>1&&(n=r[0]+"@",e=r[1]),e=e.replace(x,".");var i=e.split("."),a=j(i,t).join(".");return n+a}function k(e){var t=[],r=0,n=e.length;while(r=55296&&i<=56319&&r>1,e+=R(e/t);e>A*m>>1;n+=p)e=R(e/A);return R(n+(A+1)*e/(e+g))},P=function(e){var t=[],r=e.length,n=0,i=y,a=v,o=e.lastIndexOf(w);o<0&&(o=0);for(var s=0;s=128&&O("not-basic"),t.push(e.charCodeAt(s));for(var l=o>0?o+1:0;l=r&&O("invalid-input");var g=D(e.charCodeAt(l++));(g>=p||g>R((f-n)/h))&&O("overflow"),n+=g*h;var b=c<=a?d:c>=a+m?m:c-a;if(gR(f/_)&&O("overflow"),h*=_}var E=t.length+1;a=I(n-u,E,0==u),R(n/E)>f-i&&O("overflow"),i+=R(n/E),n%=E,t.splice(n++,0,i)}return String.fromCodePoint.apply(String,t)},L=function(e){var t=[];e=k(e);var r=e.length,n=y,i=0,a=v,o=!0,s=!1,l=void 0;try{for(var u,h=e[Symbol.iterator]();!(o=(u=h.next()).done);o=!0){var c=u.value;c<128&&t.push(C(c))}}catch($){s=!0,l=$}finally{try{!o&&h.return&&h.return()}finally{if(s)throw l}}var g=t.length,b=g;g&&t.push(w);while(b=n&&T<_&&(_=T)}}catch($){x=!0,S=$}finally{try{!E&&j.return&&j.return()}finally{if(x)throw S}}var M=b+1;_-n>R((f-i)/M)&&O("overflow"),i+=(_-n)*M,n=_;var D=!0,P=!1,L=void 0;try{for(var F,U=e[Symbol.iterator]();!(D=(F=U.next()).done);D=!0){var q=F.value;if(qf&&O("overflow"),q==n){for(var H=i,W=p;;W+=p){var z=W<=a?d:W>=a+m?m:W-a;if(H>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase(),r}function z(e){var t="",r=0,n=e.length;while(r=194&&i<224){if(n-r>=6){var a=parseInt(e.substr(r+4,2),16);t+=String.fromCharCode((31&i)<<6|63&a)}else t+=e.substr(r,6);r+=6}else if(i>=224){if(n-r>=9){var o=parseInt(e.substr(r+4,2),16),s=parseInt(e.substr(r+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&o)<<6|63&s)}else t+=e.substr(r,9);r+=9}else t+=e.substr(r,3),r+=3}return t}function B(e,t){function r(e){var r=z(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,W).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,W).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,W).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,W).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,W).replace(t.PCT_ENCODED,i)),e}function V(e){return e.replace(/^0*(.*)/,"$1")||"0"}function $(e,t){var r=e.match(t.IPV4ADDRESS)||[],n=h(r,2),i=n[1];return i?i.split(".").map(V).join("."):e}function G(e,t){var r=e.match(t.IPV6ADDRESS)||[],n=h(r,3),i=n[1],a=n[2];if(i){for(var o=i.toLowerCase().split("::").reverse(),s=h(o,2),l=s[0],u=s[1],c=u?u.split(":").map(V):[],f=l.split(":").map(V),p=t.IPV4ADDRESS.test(f[f.length-1]),d=p?7:8,m=f.length-d,g=Array(d),b=0;b1){var _=g.slice(0,y.index),E=g.slice(y.index+y.length);w=_.join(":")+"::"+E.join(":")}else w=g.join(":");return a&&(w+="%"+a),w}return e}var Y=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,Z=void 0==="".match(/(){0}/)[1];function K(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},n=!1!==t.iri?u:l;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(Y);if(i){Z?(r.scheme=i[1],r.userinfo=i[3],r.host=i[4],r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=i[7],r.fragment=i[8],isNaN(r.port)&&(r.port=i[5])):(r.scheme=i[1]||void 0,r.userinfo=-1!==e.indexOf("@")?i[3]:void 0,r.host=-1!==e.indexOf("//")?i[4]:void 0,r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=-1!==e.indexOf("?")?i[7]:void 0,r.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),r.host&&(r.host=G($(r.host,n),n)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");var a=H[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||a&&a.unicodeSupport)B(r,n);else{if(r.host&&(t.domainHost||a&&a.domainHost))try{r.host=q.toASCII(r.host.replace(n.PCT_ENCODED,z).toLowerCase())}catch(o){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+o}B(r,l)}a&&a.parse&&a.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function Q(e,t){var r=!1!==t.iri?u:l,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(G($(String(e.host),r),r).replace(r.IPV6ADDRESS,(function(e,t,r){return"["+t+(r?"%25"+r:"")+"]"}))),"number"!==typeof e.port&&"string"!==typeof e.port||(n.push(":"),n.push(String(e.port))),n.length?n.join(""):void 0}var J=/^\.\.?\//,X=/^\/\.(\/|$)/,ee=/^\/\.\.(\/|$)/,te=/^\/?(?:.|\n)*?(?=\/|$)/;function re(e){var t=[];while(e.length)if(e.match(J))e=e.replace(J,"");else if(e.match(X))e=e.replace(X,"/");else if(e.match(ee))e=e.replace(ee,"/"),t.pop();else if("."===e||".."===e)e="";else{var r=e.match(te);if(!r)throw new Error("Unexpected dot segment condition");var n=r[0];e=e.slice(n.length),t.push(n)}return t.join("")}function ne(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?u:l,n=[],i=H[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(r.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?q.toUnicode(e.host):q.toASCII(e.host.replace(r.PCT_ENCODED,z).toLowerCase())}catch(s){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+s}B(e,r),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var a=Q(e,t);if(void 0!==a&&("suffix"!==t.reference&&n.push("//"),n.push(a),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var o=e.path;t.absolutePath||i&&i.absolutePath||(o=re(o)),void 0===a&&(o=o.replace(/^\/\//,"/%2F")),n.push(o)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function ie(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments[3],i={};return n||(e=K(ne(e,r),r),t=K(ne(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=re(t.path||""),i.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=re(t.path||""),i.query=t.query):(t.path?("/"===t.path.charAt(0)?i.path=re(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path:i.path="/"+t.path,i.path=re(i.path)),i.query=t.query):(i.path=e.path,void 0!==t.query?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function ae(e,t,r){var n=o({scheme:"null"},r);return ne(ie(K(e,n),K(t,n),n,!0),n)}function oe(e,t){return"string"===typeof e?e=ne(K(e,t),t):"object"===n(e)&&(e=K(ne(e,t),t)),e}function se(e,t,r){return"string"===typeof e?e=ne(K(e,r),r):"object"===n(e)&&(e=ne(e,r)),"string"===typeof t?t=ne(K(t,r),r):"object"===n(t)&&(t=ne(t,r)),e===t}function le(e,t){return e&&e.toString().replace(t&&t.iri?u.ESCAPE:l.ESCAPE,W)}function ue(e,t){return e&&e.toString().replace(t&&t.iri?u.PCT_ENCODED:l.PCT_ENCODED,z)}var he={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var r="https"===String(e.scheme).toLowerCase();return e.port!==(r?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},ce={scheme:"https",domainHost:he.domainHost,parse:he.parse,serialize:he.serialize};function fe(e){return"boolean"===typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var pe={scheme:"ws",domainHost:!0,parse:function(e,t){var r=e;return r.secure=fe(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r},serialize:function(e,t){if(e.port!==(fe(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"===typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var r=e.resourceName.split("?"),n=h(r,2),i=n[0],a=n[1];e.path=i&&"/"!==i?i:void 0,e.query=a,e.resourceName=void 0}return e.fragment=void 0,e}},de={scheme:"wss",domainHost:pe.domainHost,parse:pe.parse,serialize:pe.serialize},me={},ge=!0,be="[A-Za-z0-9\\-\\.\\_\\~"+(ge?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",ve="[0-9A-Fa-f]",ye=r(r("%[EFef]"+ve+"%"+ve+ve+"%"+ve+ve)+"|"+r("%[89A-Fa-f]"+ve+"%"+ve+ve)+"|"+r("%"+ve+ve)),we="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",_e="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",Ee=t(_e,'[\\"\\\\]'),xe="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",Se=new RegExp(be,"g"),Ae=new RegExp(ye,"g"),Re=new RegExp(t("[^]",we,"[\\.]",'[\\"]',Ee),"g"),Ce=new RegExp(t("[^]",be,xe),"g"),Oe=Ce;function je(e){var t=z(e);return t.match(Se)?t:e}var Te={scheme:"mailto",parse:function(e,t){var r=e,n=r.to=r.path?r.path.split(","):[];if(r.path=void 0,r.query){for(var i=!1,a={},o=r.query.split("&"),s=0,l=o.length;s= 0x80 (not a basic code point)","invalid-input":"Invalid input"},y=s-l,w=Math.floor,_=String.fromCharCode;function E(e){throw new RangeError(v[e])}function x(e,t){var r=e.length,n=[];while(r--)n[r]=t(e[r]);return n}function S(e,t){var r=e.split("@"),n="";r.length>1&&(n=r[0]+"@",e=r[1]),e=e.replace(b,".");var i=e.split("."),a=x(i,t).join(".");return n+a}function A(e){var t,r,n=[],i=0,a=e.length;while(i=55296&&t<=56319&&i65535&&(e-=65536,t+=_(e>>>10&1023|55296),e=56320|1023&e),t+=_(e),t})).join("")}function C(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:s}function O(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function j(e,t,r){var n=0;for(e=r?w(e/c):e>>1,e+=w(e/t);e>y*u>>1;n+=s)e=w(e/y);return w(n+(y+1)*e/(e+h))}function T(e){var t,r,n,i,a,h,c,m,g,b,v=[],y=e.length,_=0,x=p,S=f;for(r=e.lastIndexOf(d),r<0&&(r=0),n=0;n=128&&E("not-basic"),v.push(e.charCodeAt(n));for(i=r>0?r+1:0;i=y&&E("invalid-input"),m=C(e.charCodeAt(i++)),(m>=s||m>w((o-_)/h))&&E("overflow"),_+=m*h,g=c<=S?l:c>=S+u?u:c-S,mw(o/b)&&E("overflow"),h*=b}t=v.length+1,S=j(_-a,t,0==a),w(_/t)>o-x&&E("overflow"),x+=w(_/t),_%=t,v.splice(_++,0,x)}return R(v)}function k(e){var t,r,n,i,a,h,c,m,g,b,v,y,x,S,R,C=[];for(e=A(e),y=e.length,t=p,r=0,a=f,h=0;h=t&&vw((o-r)/x)&&E("overflow"),r+=(c-t)*x,t=c,h=0;ho&&E("overflow"),v==t){for(m=r,g=s;;g+=s){if(b=g<=a?l:g>=a+u?u:g-a,m{"use strict";var n=r(61270);function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var a=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,s=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,l=["<",">",'"',"`"," ","\r","\n","\t"],u=["{","}","|","\\","^","`"].concat(l),h=["'"].concat(u),c=["%","/","?",";","#"].concat(h),f=["/","?","#"],p=255,d=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,"javascript:":!0},b={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},y=r(55373);function w(e,t,r){if(e&&"object"===typeof e&&e instanceof i)return e;var n=new i;return n.parse(e,t,r),n}function _(e){return"string"===typeof e&&(e=w(e)),e instanceof i?e.format():i.prototype.format.call(e)}function E(e,t){return w(e,!1,!0).resolve(t)}function x(e,t){return e?w(e,!1,!0).resolveObject(t):t}i.prototype.parse=function(e,t,r){if("string"!==typeof e)throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),o=-1!==i&&i127?N+="x":N+=D[I];if(!N.match(d)){var L=k.slice(0,O),F=k.slice(O+1),U=D.match(m);U&&(L.push(U[1]),F.unshift(U[2])),F.length&&(w="/"+F.join(".")+w),this.hostname=L.join(".");break}}}this.hostname.length>p?this.hostname="":this.hostname=this.hostname.toLowerCase(),T||(this.hostname=n.toASCII(this.hostname));var q=this.port?":"+this.port:"",H=this.hostname||"";this.host=H+q,this.href+=this.host,T&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==w[0]&&(w="/"+w))}if(!g[x])for(O=0,M=h.length;O0)&&r.host.split("@");S&&(r.auth=S.shift(),r.hostname=S.shift(),r.host=r.hostname)}return r.search=e.search,r.query=e.query,null===r.pathname&&null===r.search||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!E.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var A=E.slice(-1)[0],R=(r.host||e.host||E.length>1)&&("."===A||".."===A)||""===A,C=0,O=E.length;O>=0;O--)A=E[O],"."===A?E.splice(O,1):".."===A?(E.splice(O,1),C++):C&&(E.splice(O,1),C--);if(!w&&!_)for(;C--;C)E.unshift("..");!w||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),R&&"/"!==E.join("/").substr(-1)&&E.push("");var j=""===E[0]||E[0]&&"/"===E[0].charAt(0);if(x){r.hostname=j?"":E.length?E.shift():"",r.host=r.hostname;S=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@");S&&(r.auth=S.shift(),r.hostname=S.shift(),r.host=r.hostname)}return w=w||r.host&&E.length,w&&!j&&E.unshift(""),E.length>0?r.pathname=E.join("/"):(r.pathname=null,r.path=null),null===r.pathname&&null===r.search||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},i.prototype.parseHost=function(){var e=this.host,t=o.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},t.parse=w,t.resolve=E,t.resolveObject=x,t.format=_,t.Url=i}}]); +//# sourceMappingURL=chunk-vendors-8cbd2506.6822866d.js.map \ No newline at end of file diff --git a/js/chunk-vendors-8cbd2506.6822866d.js.map b/js/chunk-vendors-8cbd2506.6822866d.js.map new file mode 100644 index 00000000..6ec8450d --- /dev/null +++ b/js/chunk-vendors-8cbd2506.6822866d.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/chunk-vendors-8cbd2506.6822866d.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@radiantearth/stac-migrate/migrate.js","webpack://@openeo/web-editor/./node_modules/@radiantearth/stac-migrate/node_modules/compare-versions/index.js","webpack://@openeo/web-editor/./node_modules/safe-buffer/index.js","webpack://@openeo/web-editor/./node_modules/set-function-length/index.js","webpack://@openeo/web-editor/./node_modules/side-channel/index.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/index.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://@openeo/web-editor/./node_modules/string_decoder/lib/string_decoder.js","webpack://@openeo/web-editor/./node_modules/uri-js/dist/es5/uri.all.js","webpack://@openeo/web-editor/./node_modules/url/node_modules/punycode/punycode.js","webpack://@openeo/web-editor/./node_modules/url/url.js"],"sourcesContent":["// Migration rules partly based on PySTAC and @openeo/js-commons,\n// see https://github.com/stac-utils/pystac/tree/v0.5.4/pystac/serialization/migrate.py\n// and https://github.com/Open-EO/openeo-js-commons/tree/v1.2.0/src/migrate/collections.js\n\nvar compareVersions = require('compare-versions');\n\nconst LATEST_VERSION = '1.1.0-beta.1';\nconst DONE = true; // This is used to verify in code coverage whether something has been used or not\nconst SCHEMAS = {\n 'classification': 'https://stac-extensions.github.io/classification/v2.0.0/schema.json',\n 'datacube': 'https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n 'eo': 'https://stac-extensions.github.io/eo/v2.0.0-beta.1/schema.json',\n 'file': 'https://stac-extensions.github.io/file/v2.1.0/schema.json',\n 'item-assets': 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n 'label': 'https://stac-extensions.github.io/label/v1.0.1/schema.json',\n 'pointcloud': 'https://stac-extensions.github.io/pointcloud/v1.0.0/schema.json',\n 'processing': 'https://stac-extensions.github.io/processing/v1.2.0/schema.json',\n 'projection': 'https://stac-extensions.github.io/projection/v2.0.0/schema.json',\n 'raster': 'https://stac-extensions.github.io/raster/v2.0.0-beta.1/schema.json',\n 'sar': 'https://stac-extensions.github.io/sar/v1.0.0/schema.json',\n 'sat': 'https://stac-extensions.github.io/sat/v1.0.0/schema.json',\n 'scientific': 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n 'table': 'https://stac-extensions.github.io/table/v1.2.0/schema.json',\n 'timestamps': 'https://stac-extensions.github.io/timestamps/v1.1.0/schema.json',\n 'version': 'https://stac-extensions.github.io/version/v1.2.0/schema.json',\n 'view': 'https://stac-extensions.github.io/view/v1.0.0/schema.json'\n};\nconst EXTENSIONS = {\n // Add a : at the end to indicate it has a prefix, otherwise list all fields separately (see version extension for example).\n itemAndCollection: {\n // with prefix\n 'classification:': SCHEMAS.classification,\n 'cube:': SCHEMAS.datacube,\n 'eo:': SCHEMAS.eo,\n 'file:': SCHEMAS.file,\n 'label:': SCHEMAS.label,\n 'pc:': SCHEMAS.pointcloud,\n 'processing:': SCHEMAS.processing,\n 'proj:': SCHEMAS.projection,\n 'raster:': SCHEMAS.raster,\n 'sar:': SCHEMAS.sar,\n 'sat:': SCHEMAS.sat,\n 'sci:': SCHEMAS.scientific,\n 'view:': SCHEMAS.view,\n // without prefix\n 'version': SCHEMAS.version,\n 'deprecated': SCHEMAS.version,\n 'published': SCHEMAS.timestamps,\n 'expires': SCHEMAS.timestamps,\n 'unpublished': SCHEMAS.timestamps\n },\n catalog: {\n // None yet\n },\n collection: {\n // None yet\n },\n item: {\n // None yet\n },\n};\nEXTENSIONS.collection = Object.assign(EXTENSIONS.collection, EXTENSIONS.itemAndCollection);\nEXTENSIONS.item = Object.assign(EXTENSIONS.item, EXTENSIONS.itemAndCollection);\n\nvar Ext = {\n parseUrl(url) {\n let match = url.match(/^https?:\\/\\/stac-extensions.github.io\\/([^\\/]+)\\/v([^\\/]+)\\/[^.]+.json$/i);\n if (match) {\n return {\n id: match[1],\n version: match[2]\n };\n }\n }\n};\n\nvar V = {\n version: LATEST_VERSION,\n extensions: {},\n\n set(stac) {\n if (typeof stac.stac_version !== 'string') {\n V.version = '0.6.0'; // Assume the worst case, it doesn't seem there's a clear indicator for 0.7.0\n }\n else {\n V.version = stac.stac_version;\n }\n\n if (Array.isArray(stac.stac_extensions)) {\n for (let ext of stac.stac_extensions) {\n let e = Ext.parseUrl(ext);\n if (e) {\n V.extensions[e.id] = e.version;\n }\n }\n }\n },\n\n before(version, ext = null) {\n return V.compare('<', version, ext);\n },\n\n compare(comparator, version, ext = null) {\n let compareTo = ext ? V.extensions[ext] : V.version;\n if (typeof compareTo === 'undefined') {\n return false;\n }\n else {\n return compareVersions.compare(compareTo, version, comparator);\n }\n }\n\n};\n\nvar _ = {\n\n type(val) {\n let type = typeof val;\n if (type === 'object') {\n if (val === null) {\n return 'null';\n }\n else if (Array.isArray(val)) {\n return 'array';\n }\n }\n return type;\n },\n\n is(val, type) {\n if (Array.isArray(type)) {\n return type.includes(_.type(val));\n }\n else {\n return _.type(val) === type;\n }\n },\n\n isDefined(val) {\n return (typeof val !== 'undefined');\n },\n\n isObject(obj) {\n return (typeof obj === 'object' && obj === Object(obj) && !Array.isArray(obj));\n },\n\n rename(obj, oldKey, newKey) {\n if (typeof obj[oldKey] !== 'undefined' && typeof obj[newKey] === 'undefined') {\n obj[newKey] = obj[oldKey];\n delete obj[oldKey];\n return true;\n }\n return false;\n },\n\n copy(obj, oldKey, newKey) {\n if (typeof obj[oldKey] !== 'undefined' && typeof obj[newKey] === 'undefined') {\n obj[newKey] = obj[oldKey];\n return true;\n }\n return false;\n },\n\n forAll(obj, key, fn) {\n if (obj[key] && typeof obj[key] === 'object') {\n for (let i in obj[key]) {\n fn(obj[key][i]);\n }\n }\n },\n\n toArray(obj, key) {\n if (typeof obj[key] !== 'undefined' && !Array.isArray(obj[key])) {\n obj[key] = [obj[key]];\n return true;\n }\n return false;\n },\n\n flattenArray(obj, key, newKeys, summary = false) {\n if (Array.isArray(obj[key])) {\n for (let i in obj[key]) {\n if (typeof newKeys[i] === 'string') {\n let value = obj[key][i];\n obj[newKeys[i]] = summary ? [value] : value;\n }\n }\n delete obj[key];\n return true;\n }\n return false;\n },\n\n flattenOneElementArray(obj, key, summary = false) {\n if (!summary && Array.isArray(obj[key])) {\n if (obj[key].length === 1) {\n obj[key] = obj[key][0];\n return true;\n }\n else {\n return false; // It's still an array and we don't know which element to choose\n }\n }\n return true; // It's already a single element\n },\n\n removeFromArray(obj, key, valueToRemove) {\n if (Array.isArray(obj[key])) {\n let index = obj[key].indexOf(valueToRemove);\n if (index > -1) {\n obj[key].splice(index, 1);\n }\n return true;\n }\n return false;\n },\n\n pickFirst(obj, key) {\n if (Array.isArray(obj[key]) && obj[key].length > 0) {\n obj[key] = obj[key][0];\n return true;\n }\n else {\n delete obj[key];\n return false;\n }\n },\n\n ensure(obj, key, defaultValue) {\n if (_.type(defaultValue) !== _.type(obj[key])) {\n obj[key] = defaultValue;\n }\n return true;\n },\n\n upgradeExtension(context, extension) {\n let { id, version } = Ext.parseUrl(extension);\n let index = context.stac_extensions.findIndex(url => {\n let old = Ext.parseUrl(url);\n return (old && old.id === id && compareVersions.compare(old.version, version, '<'));\n });\n if (index !== -1) {\n context.stac_extensions[index] = extension;\n return true;\n }\n else {\n return false;\n }\n },\n\n addExtension(context, newExtension) {\n let { id, version } = Ext.parseUrl(newExtension);\n let index = context.stac_extensions.findIndex(url => {\n if (url === newExtension) {\n return true;\n }\n let old = Ext.parseUrl(url);\n if (old && old.id === id && compareVersions.compare(old.version, version, '<')) {\n return true;\n }\n return false;\n });\n if (index === -1) {\n context.stac_extensions.push(newExtension);\n }\n else {\n context.stac_extensions[index] = newExtension;\n }\n\n context.stac_extensions.sort();\n return true;\n },\n\n removeExtension(context, oldExtension) {\n return _.removeFromArray(context, 'stac_extensions', oldExtension);\n },\n\n migrateExtensionShortnames(context) {\n let oldShortnames = Object.keys(SCHEMAS);\n let newSchemas = Object.values(SCHEMAS);\n return _.mapValues(context, 'stac_extensions', oldShortnames, newSchemas);\n },\n\n populateExtensions(context, type) {\n let objectsToCheck = [];\n if (type == 'catalog' || type == 'collection') {\n objectsToCheck.push(context);\n }\n if ((type == 'item' || type == 'collection') && _.isObject(context.assets)) {\n objectsToCheck = objectsToCheck.concat(Object.values(context.assets));\n }\n if (type == 'collection' && _.isObject(context.item_assets)) {\n objectsToCheck = objectsToCheck.concat(Object.values(context.item_assets));\n }\n if (type == 'collection' && _.isObject(context.summaries)) {\n objectsToCheck.push(context.summaries);\n }\n if (type == 'item' && _.isObject(context.properties)) {\n objectsToCheck.push(context.properties);\n }\n objectsToCheck.push(context.links);\n\n let obj;\n while(obj = objectsToCheck.pop()) {\n Object.keys(obj).forEach(key => {\n // Add additional objects to check\n if (Array.isArray(obj.bands)) {\n objectsToCheck = objectsToCheck.concat(obj.bands);\n }\n\n // Check for fields with extension prefixes\n let prefix = key.match(/^(\\w+:|[^:]+$)/i);\n if (Array.isArray(prefix)) {\n let ext = EXTENSIONS[type][prefix[0]];\n _.is(ext, 'string') && _.addExtension(context, ext) && DONE;\n }\n });\n }\n },\n\n mapValues(obj, key, oldValues, newValues) {\n let fn = value => {\n let index = oldValues.indexOf(value);\n if (index >= 0) {\n return newValues[index];\n }\n return value;\n };\n if (Array.isArray(obj[key])) {\n obj[key] = obj[key].map(fn);\n }\n else if (typeof obj[key] !== 'undefined') {\n obj[key] = fn(obj[key]);\n }\n return true;\n },\n\n mapObject(obj, fn) {\n for (let key in obj) {\n obj[key] = fn(obj[key], key);\n }\n },\n\n moveTo(obj, key, context, fromSummary = false, mergedSummary = false) {\n let condition;\n if (fromSummary) {\n if (mergedSummary) {\n condition = val => Array.isArray(val);\n }\n else {\n condition = val => Array.isArray(val) && val.length === 1;\n }\n }\n else {\n condition = _.isDefined\n }\n if (condition(obj[key])) {\n context[key] = fromSummary && !mergedSummary ? obj[key][0] : obj[key];\n delete obj[key];\n return true;\n }\n return false;\n },\n\n runAll(migrations, obj, context, summaries) {\n for (let fn in migrations) {\n if (!fn.startsWith('migrate')) {\n migrations[fn](obj, context, summaries);\n }\n }\n },\n\n toUTC(obj, key) {\n if (_.is(obj[key], 'string')) {\n try {\n obj[key] = this.toISOString(obj[key]);\n return true;\n } catch (error) { }\n }\n delete obj[key];\n return false;\n },\n\n toISOString(date) {\n if (!(date instanceof Date)) {\n date = new Date(date);\n }\n return date.toISOString().replace(/\\.0+/, ''); // Don't export milliseconds if not needed\n },\n\n formatString(obj, key, format) {\n const formatter = value => {\n if (_.is(value, ['string', 'number'])) {\n return format.replaceAll('{}', value);\n }\n return value;\n };\n if (Array.isArray(obj[key])) {\n obj[key] = obj[key].map(formatter);\n }\n else {\n obj[key] = formatter(obj[key]);\n }\n }\n\n};\n\nvar Checksum = {\n\n multihash: null,\n\n hexToUint8(hexString) {\n if (hexString.length === 0 || hexString.length % 2 !== 0) {\n throw new Error(`The string \"${hexString}\" is not valid hex.`)\n }\n return new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));\n },\n\n uint8ToHex(bytes) {\n return bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n },\n\n toMultihash(obj, key, algo) {\n if (!Checksum.multihash || !_.is(obj[key], 'string')) {\n return false;\n }\n try {\n const encoded = Checksum.multihash.encode(Checksum.hexToUint8(obj[key]), algo);\n obj[key] = Checksum.uint8ToHex(encoded);\n return true;\n } catch (error) {\n console.warn(error);\n return false;\n }\n }\n\n};\n\nvar Catalog = {\n\n migrate(catalog, updateVersionNumber = true) {\n V.set(catalog);\n if (updateVersionNumber) {\n catalog.stac_version = LATEST_VERSION;\n }\n catalog.type = 'Catalog';\n\n _.ensure(catalog, 'stac_extensions', []) && DONE;\n V.before('1.0.0-rc.1') && _.migrateExtensionShortnames(catalog) && DONE;\n\n _.ensure(catalog, 'id', '') && DONE;\n _.ensure(catalog, 'description', '') && DONE;\n _.ensure(catalog, 'links', []) && DONE;\n\n _.runAll(Catalog, catalog, catalog);\n\n V.before('0.8.0') && _.populateExtensions(catalog, 'catalog') && DONE;\n\n return catalog;\n },\n\n};\n\nvar Collection = {\n\n migrate(collection, updateVersionNumber = true) {\n Catalog.migrate(collection, updateVersionNumber); // Migrates stac_version, stac_extensions, id, title, description, links\n collection.type = 'Collection';\n\n V.before('1.0.0-rc.1') && _.migrateExtensionShortnames(collection) && DONE;\n\n _.ensure(collection, 'license', 'other') && DONE;\n _.ensure(collection, 'extent', {\n spatial: {\n bbox: []\n },\n temporal: {\n interval: []\n }\n }) && DONE;\n\n _.runAll(Collection, collection, collection);\n\n // Migrate Commons extension - part 3\n if (_.isObject(collection.properties)) {\n _.removeFromArray(collection, 'stac_extensions', 'commons') && DONE;\n delete collection.properties;\n }\n\n V.before('0.8.0') && _.populateExtensions(collection, 'collection') && DONE;\n V.before('1.0.0-beta.1') && _.mapValues(collection, 'stac_extensions', ['assets'], ['item-assets']) && DONE;\n\n return collection;\n },\n\n extent(collection) {\n _.ensure(collection, \"extent\", {});\n\n if (V.before('0.8.0')) {\n // Restructure spatial extent\n if (Array.isArray(collection.extent.spatial)) {\n collection.extent.spatial = {\n bbox: [\n collection.extent.spatial\n ]\n };\n }\n // Restructure temporal extent\n if (Array.isArray(collection.extent.temporal)) {\n collection.extent.temporal = {\n interval: [\n collection.extent.temporal\n ]\n };\n }\n }\n\n _.ensure(collection.extent, \"spatial\", {});\n _.ensure(collection.extent.spatial, \"bbox\", []);\n _.ensure(collection.extent, \"temporal\", {});\n _.ensure(collection.extent.temporal, \"interval\", []);\n\n if (V.before('1.0.0-rc.3')) {\n // The first extent in a Collection is always the overall extent, followed by more specific extents.\n if (collection.extent.temporal.interval.length > 1) {\n let min, max;\n for (let interval of collection.extent.temporal.interval) {\n if (interval[0] === null) {\n min = null;\n }\n else if (typeof interval[0] === 'string' && min !== null) {\n try {\n let start = new Date(interval[0]);\n if (typeof min === 'undefined' || start < min) {\n min = start;\n }\n } catch (error) { }\n }\n\n if (interval[1] === null) {\n max = null;\n }\n else if (typeof interval[1] === 'string' && max !== null) {\n try {\n let end = new Date(interval[1]);\n if (typeof max === 'undefined' || end > max) {\n max = end;\n }\n } catch (error) { }\n }\n }\n collection.extent.temporal.interval.unshift([\n min ? _.toISOString(min) : null,\n max ? _.toISOString(max) : null\n ]);\n }\n if (collection.extent.spatial.bbox.length > 1) {\n let count = collection.extent.spatial.bbox.reduce((val, bbox) => Array.isArray(bbox) ? Math.max(bbox.length, val) : val, 4);\n if (count >= 4) {\n let union = new Array(count).fill(null);\n let middle = count / 2;\n for (let bbox of collection.extent.spatial.bbox) {\n if (!Array.isArray(bbox) || bbox.length < 4) {\n break;\n }\n for (let i in bbox) {\n let c = bbox[i];\n if (union[i] === null) {\n union[i] = c;\n }\n else if (i < middle) {\n union[i] = Math.min(c, union[i]);\n }\n else {\n union[i] = Math.max(c, union[i]);\n }\n\n }\n }\n if (union.findIndex(c => c === null) === -1) {\n collection.extent.spatial.bbox.unshift(union);\n }\n }\n }\n }\n },\n\n collectionAssets(collection) {\n V.before('1.0.0-rc.1') && _.removeExtension(collection, 'collection-assets') && DONE;\n\n Asset.migrateAll(collection);\n },\n\n itemAsset(collection) {\n V.before('1.0.0-beta.2') && _.rename(collection, 'item_assets', 'assets');\n\n _.removeExtension(collection, SCHEMAS['item-assets']) && DONE;\n\n Asset.migrateAll(collection, 'item_assets');\n },\n\n summaries(collection) {\n _.ensure(collection, 'summaries', {});\n\n // other_properties: An early version of the Collection summaries with a similar structure\n // Was mostly used in standalone collections from openEO and GEE. Move other_properties to summaries.\n if (V.before('0.8.0') && _.isObject(collection.other_properties)) {\n for (let key in collection.other_properties) {\n let prop = collection.other_properties[key];\n if (Array.isArray(prop.extent) && prop.extent.length === 2) {\n collection.summaries[key] = {\n minimum: prop.extent[0],\n maximum: prop.extent[1],\n };\n }\n else if (Array.isArray(prop.values)) {\n if (prop.values.filter(v => Array.isArray(v)).length === prop.values.length) {\n // If it is an array of arrays, merge the arrays\n collection.summaries[key] = prop.values.reduce((a, b) => a.concat(b), []);\n }\n else {\n collection.summaries[key] = prop.values;\n }\n }\n }\n delete collection.other_properties;\n }\n\n // Migrate Commons extension - part 2\n // Move properties to (single element) summaries if the Collection is standalone\n // see also https://github.com/stac-utils/stac-migrate/issues/3\n if (V.before('1.0.0-beta.1') && _.isObject(collection.properties) && !collection.links.find(link => ['child', 'item'].includes(link.rel))) {\n for (let key in collection.properties) {\n let value = collection.properties[key];\n if (!Array.isArray(value)) {\n value = [value];\n }\n collection.summaries[key] = value;\n }\n }\n\n if (V.before('1.0.0-rc.1')) {\n _.mapObject(collection.summaries, val => {\n _.rename(val, 'min', 'minimum') && DONE;\n _.rename(val, 'max', 'maximum') && DONE;\n return val;\n });\n }\n\n // now we can work on all summaries and migrate them\n Fields.migrate(collection.summaries, collection, true);\n\n // Some fields should usually be on root-level if there's only one element\n _.moveTo(collection.summaries, 'sci:doi', collection, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n _.moveTo(collection.summaries, 'sci:publications', collection, true, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n _.moveTo(collection.summaries, 'sci:citation', collection, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n _.moveTo(collection.summaries, 'cube:dimensions', collection, true) && _.addExtension(collection, SCHEMAS.datacube) && DONE;\n\n // Remove summary field if empty\n if (Object.keys(collection.summaries).length === 0) {\n delete collection.summaries;\n }\n }\n\n};\n\nvar Item = {\n\n migrate(item, collection = null, updateVersionNumber = true) {\n V.set(item);\n if (updateVersionNumber) {\n item.stac_version = LATEST_VERSION;\n }\n\n _.ensure(item, 'stac_extensions', []) && DONE;\n V.before('1.0.0-rc.1') && _.migrateExtensionShortnames(item) && DONE;\n\n _.ensure(item, 'id', '') && DONE;\n _.ensure(item, 'type', 'Feature') && DONE;\n if (!_.isObject(item.geometry)) {\n item.geometry = null;\n }\n if (item.geometry !== null) {\n _.ensure(item, 'bbox', []) && DONE;\n }\n _.ensure(item, 'properties', {}) && DONE;\n _.ensure(item, 'links', []) && DONE;\n _.ensure(item, 'assets', {}) && DONE;\n\n // Migrate Commons extension - part 1\n let commons = false;\n if (_.isObject(collection) && _.isObject(collection.properties)) {\n _.removeFromArray(item, 'stac_extensions', 'commons');\n item.properties = Object.assign({}, collection.properties, item.properties);\n commons = true;\n }\n\n _.runAll(Item, item, item);\n\n Fields.migrate(item.properties, item);\n\n Asset.migrateAll(item);\n\n // Also populate extensions if commons has been implemented\n (V.before('0.8.0') || commons) && _.populateExtensions(item, 'item') && DONE;\n\n return item;\n }\n\n};\n\nvar CollectionCollection = {\n\n migrate(object, updateVersionNumber = true) {\n _.ensure(object, 'collections', []) && DONE;\n _.ensure(object, 'links', []) && DONE;\n\n _.runAll(CollectionCollection, object, object);\n\n object.collections = object.collections.map(collection => Collection.migrate(collection, updateVersionNumber));\n\n return object;\n },\n\n};\n\nvar ItemCollection = {\n\n migrate(itemCollection, updateVersionNumber = true) {\n _.ensure(itemCollection, 'type', 'FeatureCollection') && DONE;\n _.ensure(itemCollection, 'features', []) && DONE;\n _.ensure(itemCollection, 'links', []) && DONE;\n\n _.runAll(ItemCollection, itemCollection, itemCollection);\n\n itemCollection.features = itemCollection.features.map(feature => Item.migrate(feature, null, updateVersionNumber));\n\n return itemCollection;\n },\n\n};\n\nvar Asset = {\n\n migrateAll(context, field = 'assets') {\n for (let key in context[field]) {\n Asset.migrate(context[field][key], context);\n }\n },\n\n migrate(asset, context) {\n _.runAll(Asset, asset, context);\n\n Fields.migrate(asset, context);\n\n return asset;\n },\n\n mediaTypes(asset) {\n _.is(asset.type, 'string') && _.mapValues(\n asset, 'type',\n ['image/vnd.stac.geotiff', 'image/vnd.stac.geotiff; cloud-optimized=true'],\n ['image/tiff; application=geotiff', 'image/tiff; application=geotiff; profile=cloud-optimized']\n );\n }\n\n};\n\nvar Band = {\n\n migrateAll(obj, context) {\n\n if (V.before('1.0.0')) { // Not sure when the index-based bands were removed\n const bands = _.isObject(context.properties) && Array.isArray(context.properties.bands) ? context.properties.bands : [];\n if (Array.isArray(obj['eo:bands'])) {\n for (let i in obj['eo:bands']) {\n let band = obj['eo:bands'][i];\n if (_.is(band, 'number') && _.isObject(bands[band])) {\n band = bands[band];\n }\n if (!_.isObject(band)) {\n band = {}; // \"Fix\" invalid band index\n }\n obj['eo:bands'][i] = band;\n }\n }\n }\n\n if (V.before(\"1.1.0-beta.1\") && (Array.isArray(obj[\"raster:bands\"]) || Array.isArray(obj[\"eo:bands\"]))) {\n _.ensure(obj, \"bands\", []);\n\n const raster = obj[\"raster:bands\"] || [];\n const eo = obj[\"eo:bands\"] || [];\n const length = Math.max(raster.length, eo.length);\n for (let i = 0; i < length; i++) {\n _.ensure(obj.bands, i, {});\n Object.assign(obj.bands[i], raster[i], eo[i]);\n obj.bands[i] = Band.migrate(obj.bands[i], context);\n }\n\n delete obj[\"raster:bands\"];\n delete obj[\"eo:bands\"];\n }\n\n },\n\n migrate(band, context) {\n _.runAll(Band, band, context);\n\n Fields.migrate(band, context);\n\n return band;\n },\n\n eo(band) {\n if (V.before('2.0.0-beta.1', 'eo')) {\n _.rename(band, 'common_name', 'eo:common_name') && DONE;\n _.rename(band, 'center_wavelength', 'eo:center_wavelength') && DONE;\n _.rename(band, 'full_width_half_max', 'eo:full_width_half_max') && DONE;\n _.rename(band, 'solar_illumination', 'eo:solar_illumination') && DONE;\n }\n },\n\n raster(band) {\n if (V.before('2.0.0-beta.1', 'raster')) {\n _.rename(band, 'sampling', 'raster:sampling') && DONE;\n _.rename(band, 'bits_per_sample', 'raster:bits_per_sample') && DONE;\n _.rename(band, 'spatial_resolution', 'raster:spatial_resolution') && DONE;\n _.rename(band, 'scale', 'raster:scale') && DONE;\n _.rename(band, 'offset', 'raster:offset') && DONE;\n _.rename(band, 'histogram', 'raster:histogram') && DONE;\n }\n }\n\n};\n\nvar Fields = {\n\n migrate(obj, context, summaries = false) {\n _.runAll(Fields, obj, context, summaries);\n\n return obj;\n },\n\n _commonMetadata(obj, context) {\n // Timestamps must be always in UTC\n // datetime, start_datetime and end_datetime already required UTC before\n if (V.before('1.0.0-rc.3')) {\n _.toUTC(obj, 'created') && DONE;\n _.toUTC(obj, 'updated') && DONE;\n }\n\n Band.migrateAll(obj, context);\n },\n\n _timestamps(obj, context) {\n // Timestamps must be always in UTC\n _.toUTC(obj, 'published') && DONE;\n _.toUTC(obj, 'expires') && DONE;\n _.toUTC(obj, 'unpublished') && DONE;\n\n _.upgradeExtension(context, SCHEMAS.timestamps);\n },\n\n _versioningIndicator(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.version);\n },\n\n checksum(obj, context) {\n if (V.before('0.9.0') && Checksum.multihash) {\n _.rename(obj, 'checksum:md5', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'md5') && DONE;\n _.rename(obj, 'checksum:sha1', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha1') && DONE;\n // We assume sha2/3-256 although that may fail in some cases and other lengths are chosen\n // Never seen this implemtned in the wild, so let's try this until another use case comes up\n _.rename(obj, 'checksum:sha2', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha2-256') && DONE;\n _.rename(obj, 'checksum:sha3', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha3-256') && DONE;\n }\n\n V.before('1.0.0-rc.1') && _.rename(obj, 'checksum:multihash', 'file:checksum') && _.addExtension(context, SCHEMAS.file) && DONE;\n\n _.removeExtension(context, 'checksum');\n },\n\n classification(obj, context) {\n if (V.before('1.1.0', 'classification')) {\n _.forAll(obj, 'classification:classes', o => _.rename(o, 'color-hint', 'color_hint')) && DONE;\n }\n if (V.before('2.0.0', 'classification')) {\n _.forAll(obj, 'classification:classes', o => _.ensure(o, 'name', o.description)) && DONE;\n }\n\n _.upgradeExtension(context, SCHEMAS.classification);\n },\n\n cube(obj, context) {\n // We'd need to convert proj strings to something else for v1.0 -> v2.0, but that's unfeasible here.\n // Nothing else to do here.\n\n _.upgradeExtension(context, SCHEMAS.datacube);\n },\n\n dtr(obj, context) {\n if (V.before('0.9.0')) {\n _.rename(obj, 'dtr:start_datetime', 'start_datetime') && DONE;\n _.rename(obj, 'dtr:end_datetime', 'end_datetime') && DONE;\n _.removeExtension(context, 'datetime-range') && DONE;\n }\n },\n\n eo(obj, context) {\n if (V.before('0.9.0')) {\n _.rename(obj, 'eo:epsg', 'proj:epsg') && _.addExtension(context, SCHEMAS.projection) && DONE;\n _.rename(obj, 'eo:platform', 'platform') && DONE;\n _.rename(obj, 'eo:instrument', 'instruments') && _.toArray(obj, 'instruments') && DONE;\n _.rename(obj, 'eo:constellation', 'constellation') && DONE;\n _.rename(obj, 'eo:off_nadir', 'view:off_nadir') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'eo:azimuth', 'view:azimuth') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'eo:incidence_angle', 'view:incidence_angle') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'eo:sun_azimuth', 'view:sun_azimuth') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'eo:sun_elevation', 'view:sun_elevation') && _.addExtension(context, SCHEMAS.view) && DONE;\n }\n\n V.before('1.0.0-beta.1') && _.rename(obj, 'eo:gsd', 'gsd') && DONE;\n\n _.upgradeExtension(context, SCHEMAS.eo);\n },\n\n file(obj, context, summaries) {\n _.rename(obj, 'file:bits_per_sample', 'raster:bits_per_sample') && _.addExtension(context, SCHEMAS.raster) && DONE;\n _.rename(obj, 'file:data_type', 'data_type') && _.addExtension(context, SCHEMAS.raster) && DONE;\n _.rename(obj, 'file:unit', 'unit') && _.addExtension(context, SCHEMAS.raster) && DONE;\n\n if (Array.isArray(obj['file:nodata']) && obj['file:nodata'].length > 1) {\n // In case of more than one no-data value we need to create a custom property\n // as there's no alternative for multiple no-data values yet\n _.copy(obj, 'file:nodata', 'nodata:values') && DONE;\n }\n _.rename(obj, 'file:nodata', 'nodata') && !summaries && _.pickFirst(obj, 'nodata') && DONE;\n _.upgradeExtension(context, SCHEMAS.file);\n },\n\n label(obj, context) {\n // Migrate 0.8.0-rc1 non-pluralized forms\n if (V.before('0.8.0')) {\n _.rename(obj, 'label:property', 'label:properties') && DONE;\n _.rename(obj, 'label:task', 'label:tasks') && DONE;\n _.rename(obj, 'label:overview', 'label:overviews') && _.toArray(obj, 'label:overviews') && DONE;\n _.rename(obj, 'label:method', 'label:methods') && DONE;\n _.toArray(obj, 'label:classes') && DONE;\n }\n\n _.upgradeExtension(context, SCHEMAS.label);\n },\n\n pc(obj, context) {\n V.before('0.8.0') && _.rename(obj, 'pc:schema', 'pc:schemas') && DONE;\n\n _.upgradeExtension(context, SCHEMAS.pointcloud);\n },\n\n processing(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.processing);\n },\n\n proj(obj, context) {\n _.rename(obj, 'proj:epsg', 'proj:code') && _.formatString(obj, 'proj:code', 'EPSG:{}') && DONE;\n\n _.upgradeExtension(context, SCHEMAS.projection);\n },\n\n raster(obj, context) {\n _.upgradeExtension(context, SCHEMAS.raster);\n },\n\n sar(obj, context, summary) {\n // Which version have they been (re)moved?\n _.rename(obj, 'sar:incidence_angle', 'view:incidence_angle') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'sar:pass_direction', 'sat:orbit_state') && _.mapValues(obj, 'sat:orbit_state', [null], ['geostationary']) && _.addExtension(context, SCHEMAS.sat) && DONE;\n\n if (V.before('0.7.0')) {\n _.flattenArray(obj, 'sar:resolution', ['sar:resolution_range', 'sar:resolution_azimuth'], summary) && DONE;\n _.flattenArray(obj, 'sar:pixel_spacing', ['sar:pixel_spacing_range', 'sar:pixel_spacing_azimuth'], summary) && DONE;\n _.flattenArray(obj, 'sar:looks', ['sar:looks_range', 'sar:looks_azimuth', 'sar:looks_equivalent_number'], summary) && DONE;\n _.rename(obj, 'sar:off_nadir', 'view:off_nadir') && _.addExtension(context, SCHEMAS.view) && DONE;\n }\n\n if (V.before('0.9.0')) {\n _.rename(obj, 'sar:platform', 'platform') && DONE;\n _.rename(obj, 'sar:instrument', 'instruments') && _.toArray(obj, 'instruments') && DONE;\n _.rename(obj, 'sar:constellation', 'constellation') && DONE;\n _.rename(obj, 'sar:type', 'sar:product_type') && DONE;\n _.rename(obj, 'sar:polarization', 'sar:polarizations') && DONE;\n _.flattenOneElementArray(obj, 'sar:absolute_orbit', summary) && _.rename(obj, 'sar:absolute_orbit', 'sat:absolute_orbit') && _.addExtension(context, SCHEMAS.sat) && DONE;\n _.flattenOneElementArray(obj, 'sar:relative_orbit', summary) && _.rename(obj, 'sar:relative_orbit', 'sat:relative_orbit') && _.addExtension(context, SCHEMAS.sat) && DONE;\n }\n\n _.upgradeExtension(context, SCHEMAS.sar);\n },\n\n sat(obj, context) {\n // Migrate 0.9.0-rc _angle suffixes\n if (V.before('0.9.0')) {\n _.rename(obj, 'sat:off_nadir_angle', 'sat:off_nadir') && DONE;\n _.rename(obj, 'sat:azimuth_angle', 'sat:azimuth') && DONE;\n _.rename(obj, 'sat:sun_azimuth_angle', 'sat:sun_azimuth') && DONE;\n _.rename(obj, 'sat:sun_elevation_angle', 'sat:sun_elevation') && DONE;\n }\n\n _.upgradeExtension(context, SCHEMAS.sat);\n },\n\n sci(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.scientific);\n },\n\n item(obj) { // Single Item\n if (V.before('0.8.0')) {\n _.rename(obj, 'item:license', 'license') && DONE;\n _.rename(obj, 'item:providers', 'providers') && DONE;\n // No need to remove the extension from stac_extensions as it was not available before 0.8.0\n }\n },\n\n table(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.table);\n },\n\n view(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.view);\n }\n\n};\n\nvar Migrate = {\n\n item(item, collection = null, updateVersionNumber = true) {\n return Item.migrate(item, collection, updateVersionNumber);\n },\n\n catalog(catalog, updateVersionNumber = true) {\n return Catalog.migrate(catalog, updateVersionNumber);\n },\n\n collection(collection, updateVersionNumber = true) {\n return Collection.migrate(collection, updateVersionNumber);\n },\n\n collectionCollection(collections, updateVersionNumber = true) {\n return CollectionCollection.migrate(collections, updateVersionNumber);\n },\n\n itemCollection(itemCollection, updateVersionNumber = true) {\n return ItemCollection.migrate(itemCollection, updateVersionNumber);\n },\n\n stac(object, updateVersionNumber = true) {\n if (object.type === 'Feature') {\n return Migrate.item(object, null, updateVersionNumber);\n }\n else if (object.type === 'FeatureCollection') {\n return Migrate.itemCollection(object, updateVersionNumber);\n }\n else if (object.type === 'Collection' || (!object.type && _.isDefined(object.extent) && _.isDefined(object.license))) {\n return Migrate.collection(object, updateVersionNumber);\n }\n else if (!object.type && Array.isArray(object.collections)) {\n return Migrate.collectionCollection(object, updateVersionNumber);\n }\n else {\n return Migrate.catalog(object, updateVersionNumber);\n }\n },\n\n enableMultihash(multihash) {\n Checksum.multihash = multihash;\n }\n\n};\n\nmodule.exports = Migrate;\n","/* global define */\n(function (root, factory) {\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.compareVersions = factory();\n }\n}(this, function () {\n\n var semver = /^v?(?:\\d+)(\\.(?:[x*]|\\d+)(\\.(?:[x*]|\\d+)(\\.(?:[x*]|\\d+))?(?:-[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\n\n function indexOrEnd(str, q) {\n return str.indexOf(q) === -1 ? str.length : str.indexOf(q);\n }\n\n function split(v) {\n var c = v.replace(/^v/, '').replace(/\\+.*$/, '');\n var patchIndex = indexOrEnd(c, '-');\n var arr = c.substring(0, patchIndex).split('.');\n arr.push(c.substring(patchIndex + 1));\n return arr;\n }\n\n function tryParse(v) {\n return isNaN(Number(v)) ? v : Number(v);\n }\n\n function validate(version) {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n if (!semver.test(version)) {\n throw new Error('Invalid argument not valid semver (\\''+version+'\\' received)');\n }\n }\n\n function compareVersions(v1, v2) {\n [v1, v2].forEach(validate);\n\n var s1 = split(v1);\n var s2 = split(v2);\n\n for (var i = 0; i < Math.max(s1.length - 1, s2.length - 1); i++) {\n var n1 = parseInt(s1[i] || 0, 10);\n var n2 = parseInt(s2[i] || 0, 10);\n\n if (n1 > n2) return 1;\n if (n2 > n1) return -1;\n }\n\n var sp1 = s1[s1.length - 1];\n var sp2 = s2[s2.length - 1];\n\n if (sp1 && sp2) {\n var p1 = sp1.split('.').map(tryParse);\n var p2 = sp2.split('.').map(tryParse);\n\n for (i = 0; i < Math.max(p1.length, p2.length); i++) {\n if (p1[i] === undefined || typeof p2[i] === 'string' && typeof p1[i] === 'number') return -1;\n if (p2[i] === undefined || typeof p1[i] === 'string' && typeof p2[i] === 'number') return 1;\n\n if (p1[i] > p2[i]) return 1;\n if (p2[i] > p1[i]) return -1;\n }\n } else if (sp1 || sp2) {\n return sp1 ? -1 : 1;\n }\n\n return 0;\n };\n\n var allowedOperators = [\n '>',\n '>=',\n '=',\n '<',\n '<='\n ];\n\n var operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1]\n };\n\n function validateOperator(op) {\n if (typeof op !== 'string') {\n throw new TypeError('Invalid operator type, expected string but got ' + typeof op);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new TypeError('Invalid operator, expected one of ' + allowedOperators.join('|'));\n }\n }\n\n compareVersions.validate = function(version) {\n return typeof version === 'string' && semver.test(version);\n }\n\n compareVersions.compare = function (v1, v2, operator) {\n // Validate operator\n validateOperator(operator);\n\n // since result of compareVersions can only be -1 or 0 or 1\n // a simple map can be used to replace switch\n var res = compareVersions(v1, v2);\n return operatorResMap[operator].indexOf(res) > -1;\n }\n\n return compareVersions;\n}));\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('.').listGetNode} */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\tfor (; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tcurr.next = /** @type {NonNullable} */ (list.next);\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('.').listGet} */\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('.').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('.').ListNode} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('.').listHas} */\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @type {WeakMap} */ var $wm;\n\t/** @type {Map} */ var $m;\n\t/** @type {import('.').RootNode} */ var $o;\n\n\t/** @type {import('.').Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.URI = global.URI || {})));\n}(this, (function (exports) { 'use strict';\n\nfunction merge() {\n for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) {\n sets[_key] = arguments[_key];\n }\n\n if (sets.length > 1) {\n sets[0] = sets[0].slice(0, -1);\n var xl = sets.length - 1;\n for (var x = 1; x < xl; ++x) {\n sets[x] = sets[x].slice(1, -1);\n }\n sets[xl] = sets[xl].slice(1);\n return sets.join('');\n } else {\n return sets[0];\n }\n}\nfunction subexp(str) {\n return \"(?:\" + str + \")\";\n}\nfunction typeOf(o) {\n return o === undefined ? \"undefined\" : o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase();\n}\nfunction toUpperCase(str) {\n return str.toUpperCase();\n}\nfunction toArray(obj) {\n return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : [];\n}\nfunction assign(target, source) {\n var obj = target;\n if (source) {\n for (var key in source) {\n obj[key] = source[key];\n }\n }\n return obj;\n}\n\nfunction buildExps(isIRI) {\n var ALPHA$$ = \"[A-Za-z]\",\n CR$ = \"[\\\\x0D]\",\n DIGIT$$ = \"[0-9]\",\n DQUOTE$$ = \"[\\\\x22]\",\n HEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"),\n //case-insensitive\n LF$$ = \"[\\\\x0A]\",\n SP$$ = \"[\\\\x20]\",\n PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)),\n //expanded\n GEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n SUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n UCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\",\n //subset, excludes bidi control characters\n IPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\",\n //subset\n UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n USERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n DEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n DEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$),\n //relaxed parsing rules\n IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n H16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n LS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n IPV6ADDRESS1$ = subexp(subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$),\n // 6( h16 \":\" ) ls32\n IPV6ADDRESS2$ = subexp(\"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$),\n // \"::\" 5( h16 \":\" ) ls32\n IPV6ADDRESS3$ = subexp(subexp(H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$),\n //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$),\n //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$),\n //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$),\n //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$),\n //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$),\n //[ *5( h16 \":\" ) h16 ] \"::\" h16\n IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\"),\n //[ *6( h16 \":\" ) h16 ] \"::\"\n IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n ZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"),\n //RFC 6874\n IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$),\n //RFC 6874\n IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$),\n //RFC 6874, with relaxed parsing rules\n IPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n IP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"),\n //RFC 6874\n REG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n HOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n PORT$ = subexp(DIGIT$$ + \"*\"),\n AUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n PCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n SEGMENT$ = subexp(PCHAR$ + \"*\"),\n SEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n PATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n PATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"),\n //simplified\n PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$),\n //simplified\n PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$),\n //simplified\n PATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n PATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n QUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n FRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n HIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n RELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n RELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n URI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n ABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n GENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n RELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n ABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n SAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n AUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\";\n return {\n NOT_SCHEME: new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n NOT_USERINFO: new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_HOST: new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH: new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH_NOSCHEME: new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_QUERY: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n NOT_FRAGMENT: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n ESCAPE: new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n UNRESERVED: new RegExp(UNRESERVED$$, \"g\"),\n OTHER_CHARS: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n PCT_ENCODED: new RegExp(PCT_ENCODED$, \"g\"),\n IPV4ADDRESS: new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n IPV6ADDRESS: new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n };\n}\nvar URI_PROTOCOL = buildExps(false);\n\nvar IRI_PROTOCOL = buildExps(true);\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/** Highest positive signed 32-bit float value */\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nvar regexPunycode = /^xn--/;\nvar regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nvar regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nvar errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error$1(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tvar result = [];\n\tvar length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tvar parts = string.split('@');\n\tvar result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tvar labels = string.split('.');\n\tvar encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tvar output = [];\n\tvar counter = 0;\n\tvar length = string.length;\n\twhile (counter < length) {\n\t\tvar value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tvar extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t// Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nvar ucs2encode = function ucs2encode(array) {\n\treturn String.fromCodePoint.apply(String, toConsumableArray(array));\n};\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nvar basicToDigit = function basicToDigit(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nvar digitToBasic = function digitToBasic(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nvar adapt = function adapt(delta, numPoints, firstTime) {\n\tvar k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nvar decode = function decode(input) {\n\t// Don't use UCS-2.\n\tvar output = [];\n\tvar inputLength = input.length;\n\tvar i = 0;\n\tvar n = initialN;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tvar basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (var j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror$1('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tvar oldi = i;\n\t\tfor (var w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror$1('invalid-input');\n\t\t\t}\n\n\t\t\tvar digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tvar baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\t\t}\n\n\t\tvar out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\t}\n\n\treturn String.fromCodePoint.apply(String, output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nvar encode = function encode(input) {\n\tvar output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tvar inputLength = input.length;\n\n\t// Initialize the state.\n\tvar n = initialN;\n\tvar delta = 0;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points.\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar _currentValue2 = _step.value;\n\n\t\t\tif (_currentValue2 < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(_currentValue2));\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\n\tvar basicLength = output.length;\n\tvar handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tvar m = maxInt;\n\t\tvar _iteratorNormalCompletion2 = true;\n\t\tvar _didIteratorError2 = false;\n\t\tvar _iteratorError2 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\tvar currentValue = _step2.value;\n\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow.\n\t\t} catch (err) {\n\t\t\t_didIteratorError2 = true;\n\t\t\t_iteratorError2 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t\t\t\t\t_iterator2.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError2) {\n\t\t\t\t\tthrow _iteratorError2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tvar _iteratorNormalCompletion3 = true;\n\t\tvar _didIteratorError3 = false;\n\t\tvar _iteratorError3 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\tvar _currentValue = _step3.value;\n\n\t\t\t\tif (_currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror$1('overflow');\n\t\t\t\t}\n\t\t\t\tif (_currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\t\tvar q = delta;\n\t\t\t\t\tfor (var k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar qMinusT = q - t;\n\t\t\t\t\t\tvar baseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError3 = true;\n\t\t\t_iteratorError3 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return) {\n\t\t\t\t\t_iterator3.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError3) {\n\t\t\t\t\tthrow _iteratorError3;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nvar toUnicode = function toUnicode(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nvar toASCII = function toASCII(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nvar punycode = {\n\t/**\n * A string representing the current Punycode.js version number.\n * @memberOf punycode\n * @type String\n */\n\t'version': '2.1.0',\n\t/**\n * An object of methods to convert from JavaScript's internal character\n * representation (UCS-2) to Unicode code points, and back.\n * @see \n * @memberOf punycode\n * @type Object\n */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\n/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author Gary Court\n * @see http://github.com/garycourt/uri-js\n */\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\nvar SCHEMES = {};\nfunction pctEncChar(chr) {\n var c = chr.charCodeAt(0);\n var e = void 0;\n if (c < 16) e = \"%0\" + c.toString(16).toUpperCase();else if (c < 128) e = \"%\" + c.toString(16).toUpperCase();else if (c < 2048) e = \"%\" + (c >> 6 | 192).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();else e = \"%\" + (c >> 12 | 224).toString(16).toUpperCase() + \"%\" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();\n return e;\n}\nfunction pctDecChars(str) {\n var newStr = \"\";\n var i = 0;\n var il = str.length;\n while (i < il) {\n var c = parseInt(str.substr(i + 1, 2), 16);\n if (c < 128) {\n newStr += String.fromCharCode(c);\n i += 3;\n } else if (c >= 194 && c < 224) {\n if (il - i >= 6) {\n var c2 = parseInt(str.substr(i + 4, 2), 16);\n newStr += String.fromCharCode((c & 31) << 6 | c2 & 63);\n } else {\n newStr += str.substr(i, 6);\n }\n i += 6;\n } else if (c >= 224) {\n if (il - i >= 9) {\n var _c = parseInt(str.substr(i + 4, 2), 16);\n var c3 = parseInt(str.substr(i + 7, 2), 16);\n newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63);\n } else {\n newStr += str.substr(i, 9);\n }\n i += 9;\n } else {\n newStr += str.substr(i, 3);\n i += 3;\n }\n }\n return newStr;\n}\nfunction _normalizeComponentEncoding(components, protocol) {\n function decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(protocol.UNRESERVED) ? str : decStr;\n }\n if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n return components;\n}\n\nfunction _stripLeadingZeros(str) {\n return str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\nfunction _normalizeIPv4(host, protocol) {\n var matches = host.match(protocol.IPV4ADDRESS) || [];\n\n var _matches = slicedToArray(matches, 2),\n address = _matches[1];\n\n if (address) {\n return address.split(\".\").map(_stripLeadingZeros).join(\".\");\n } else {\n return host;\n }\n}\nfunction _normalizeIPv6(host, protocol) {\n var matches = host.match(protocol.IPV6ADDRESS) || [];\n\n var _matches2 = slicedToArray(matches, 3),\n address = _matches2[1],\n zone = _matches2[2];\n\n if (address) {\n var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(),\n _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2),\n last = _address$toLowerCase$2[0],\n first = _address$toLowerCase$2[1];\n\n var firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n var lastFields = last.split(\":\").map(_stripLeadingZeros);\n var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n var fieldCount = isLastFieldIPv4Address ? 7 : 8;\n var lastFieldsStart = lastFields.length - fieldCount;\n var fields = Array(fieldCount);\n for (var x = 0; x < fieldCount; ++x) {\n fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n }\n if (isLastFieldIPv4Address) {\n fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n }\n var allZeroFields = fields.reduce(function (acc, field, index) {\n if (!field || field === \"0\") {\n var lastLongest = acc[acc.length - 1];\n if (lastLongest && lastLongest.index + lastLongest.length === index) {\n lastLongest.length++;\n } else {\n acc.push({ index: index, length: 1 });\n }\n }\n return acc;\n }, []);\n var longestZeroFields = allZeroFields.sort(function (a, b) {\n return b.length - a.length;\n })[0];\n var newHost = void 0;\n if (longestZeroFields && longestZeroFields.length > 1) {\n var newFirst = fields.slice(0, longestZeroFields.index);\n var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n newHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n } else {\n newHost = fields.join(\":\");\n }\n if (zone) {\n newHost += \"%\" + zone;\n }\n return newHost;\n } else {\n return host;\n }\n}\nvar URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nvar NO_MATCH_IS_UNDEFINED = \"\".match(/(){0}/)[1] === undefined;\nfunction parse(uriString) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var components = {};\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n if (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n var matches = uriString.match(URI_PARSE);\n if (matches) {\n if (NO_MATCH_IS_UNDEFINED) {\n //store each component\n components.scheme = matches[1];\n components.userinfo = matches[3];\n components.host = matches[4];\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = matches[7];\n components.fragment = matches[8];\n //fix port number\n if (isNaN(components.port)) {\n components.port = matches[5];\n }\n } else {\n //IE FIX for improper RegExp matching\n //store each component\n components.scheme = matches[1] || undefined;\n components.userinfo = uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined;\n components.host = uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined;\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined;\n components.fragment = uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined;\n //fix port number\n if (isNaN(components.port)) {\n components.port = uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined;\n }\n }\n if (components.host) {\n //normalize IP hosts\n components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n }\n //determine reference type\n if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n components.reference = \"same-document\";\n } else if (components.scheme === undefined) {\n components.reference = \"relative\";\n } else if (components.fragment === undefined) {\n components.reference = \"absolute\";\n } else {\n components.reference = \"uri\";\n }\n //check for reference errors\n if (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n components.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n }\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n //if host component is a domain name\n if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) {\n //convert Unicode IDN -> ASCII IDN\n try {\n components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n }\n }\n //convert IRI -> URI\n _normalizeComponentEncoding(components, URI_PROTOCOL);\n } else {\n //normalize encodings\n _normalizeComponentEncoding(components, protocol);\n }\n //perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(components, options);\n }\n } else {\n components.error = components.error || \"URI can not be parsed.\";\n }\n return components;\n}\n\nfunction _recomposeAuthority(components, options) {\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n if (components.userinfo !== undefined) {\n uriTokens.push(components.userinfo);\n uriTokens.push(\"@\");\n }\n if (components.host !== undefined) {\n //normalize IP hosts, add brackets and escape zone separator for IPv6\n uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) {\n return \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\";\n }));\n }\n if (typeof components.port === \"number\" || typeof components.port === \"string\") {\n uriTokens.push(\":\");\n uriTokens.push(String(components.port));\n }\n return uriTokens.length ? uriTokens.join(\"\") : undefined;\n}\n\nvar RDS1 = /^\\.\\.?\\//;\nvar RDS2 = /^\\/\\.(\\/|$)/;\nvar RDS3 = /^\\/\\.\\.(\\/|$)/;\nvar RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\nfunction removeDotSegments(input) {\n var output = [];\n while (input.length) {\n if (input.match(RDS1)) {\n input = input.replace(RDS1, \"\");\n } else if (input.match(RDS2)) {\n input = input.replace(RDS2, \"/\");\n } else if (input.match(RDS3)) {\n input = input.replace(RDS3, \"/\");\n output.pop();\n } else if (input === \".\" || input === \"..\") {\n input = \"\";\n } else {\n var im = input.match(RDS5);\n if (im) {\n var s = im[0];\n input = input.slice(s.length);\n output.push(s);\n } else {\n throw new Error(\"Unexpected dot segment condition\");\n }\n }\n }\n return output.join(\"\");\n}\n\nfunction serialize(components) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n if (components.host) {\n //if host component is an IPv6 address\n if (protocol.IPV6ADDRESS.test(components.host)) {}\n //TODO: normalize IPv6 address as per RFC 5952\n\n //if host component is a domain name\n else if (options.domainHost || schemeHandler && schemeHandler.domainHost) {\n //convert IDN via punycode\n try {\n components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host);\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n }\n }\n //normalize encoding\n _normalizeComponentEncoding(components, protocol);\n if (options.reference !== \"suffix\" && components.scheme) {\n uriTokens.push(components.scheme);\n uriTokens.push(\":\");\n }\n var authority = _recomposeAuthority(components, options);\n if (authority !== undefined) {\n if (options.reference !== \"suffix\") {\n uriTokens.push(\"//\");\n }\n uriTokens.push(authority);\n if (components.path && components.path.charAt(0) !== \"/\") {\n uriTokens.push(\"/\");\n }\n }\n if (components.path !== undefined) {\n var s = components.path;\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s);\n }\n if (authority === undefined) {\n s = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n }\n uriTokens.push(s);\n }\n if (components.query !== undefined) {\n uriTokens.push(\"?\");\n uriTokens.push(components.query);\n }\n if (components.fragment !== undefined) {\n uriTokens.push(\"#\");\n uriTokens.push(components.fragment);\n }\n return uriTokens.join(\"\"); //merge tokens into a string\n}\n\nfunction resolveComponents(base, relative) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var skipNormalization = arguments[3];\n\n var target = {};\n if (!skipNormalization) {\n base = parse(serialize(base, options), options); //normalize base components\n relative = parse(serialize(relative, options), options); //normalize relative components\n }\n options = options || {};\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme;\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (!relative.path) {\n target.path = base.path;\n if (relative.query !== undefined) {\n target.query = relative.query;\n } else {\n target.query = base.query;\n }\n } else {\n if (relative.path.charAt(0) === \"/\") {\n target.path = removeDotSegments(relative.path);\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = \"/\" + relative.path;\n } else if (!base.path) {\n target.path = relative.path;\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n }\n target.path = removeDotSegments(target.path);\n }\n target.query = relative.query;\n }\n //target.authority = base.authority;\n target.userinfo = base.userinfo;\n target.host = base.host;\n target.port = base.port;\n }\n target.scheme = base.scheme;\n }\n target.fragment = relative.fragment;\n return target;\n}\n\nfunction resolve(baseURI, relativeURI, options) {\n var schemelessOptions = assign({ scheme: 'null' }, options);\n return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n}\n\nfunction normalize(uri, options) {\n if (typeof uri === \"string\") {\n uri = serialize(parse(uri, options), options);\n } else if (typeOf(uri) === \"object\") {\n uri = parse(serialize(uri, options), options);\n }\n return uri;\n}\n\nfunction equal(uriA, uriB, options) {\n if (typeof uriA === \"string\") {\n uriA = serialize(parse(uriA, options), options);\n } else if (typeOf(uriA) === \"object\") {\n uriA = serialize(uriA, options);\n }\n if (typeof uriB === \"string\") {\n uriB = serialize(parse(uriB, options), options);\n } else if (typeOf(uriB) === \"object\") {\n uriB = serialize(uriB, options);\n }\n return uriA === uriB;\n}\n\nfunction escapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar);\n}\n\nfunction unescapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars);\n}\n\nvar handler = {\n scheme: \"http\",\n domainHost: true,\n parse: function parse(components, options) {\n //report missing host\n if (!components.host) {\n components.error = components.error || \"HTTP URIs must have a host.\";\n }\n return components;\n },\n serialize: function serialize(components, options) {\n var secure = String(components.scheme).toLowerCase() === \"https\";\n //normalize the default port\n if (components.port === (secure ? 443 : 80) || components.port === \"\") {\n components.port = undefined;\n }\n //normalize the empty path\n if (!components.path) {\n components.path = \"/\";\n }\n //NOTE: We do not parse query strings for HTTP URIs\n //as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n //and not the HTTP spec.\n return components;\n }\n};\n\nvar handler$1 = {\n scheme: \"https\",\n domainHost: handler.domainHost,\n parse: handler.parse,\n serialize: handler.serialize\n};\n\nfunction isSecure(wsComponents) {\n return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n//RFC 6455\nvar handler$2 = {\n scheme: \"ws\",\n domainHost: true,\n parse: function parse(components, options) {\n var wsComponents = components;\n //indicate if the secure flag is set\n wsComponents.secure = isSecure(wsComponents);\n //construct resouce name\n wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');\n wsComponents.path = undefined;\n wsComponents.query = undefined;\n return wsComponents;\n },\n serialize: function serialize(wsComponents, options) {\n //normalize the default port\n if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === \"\") {\n wsComponents.port = undefined;\n }\n //ensure scheme matches secure flag\n if (typeof wsComponents.secure === 'boolean') {\n wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws';\n wsComponents.secure = undefined;\n }\n //reconstruct path from resource name\n if (wsComponents.resourceName) {\n var _wsComponents$resourc = wsComponents.resourceName.split('?'),\n _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2),\n path = _wsComponents$resourc2[0],\n query = _wsComponents$resourc2[1];\n\n wsComponents.path = path && path !== '/' ? path : undefined;\n wsComponents.query = query;\n wsComponents.resourceName = undefined;\n }\n //forbid fragment component\n wsComponents.fragment = undefined;\n return wsComponents;\n }\n};\n\nvar handler$3 = {\n scheme: \"wss\",\n domainHost: handler$2.domainHost,\n parse: handler$2.parse,\n serialize: handler$2.serialize\n};\n\nvar O = {};\nvar isIRI = true;\n//RFC 3986\nvar UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nvar HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nvar PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nvar ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nvar QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nvar VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nvar SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nvar UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nvar PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nvar NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nvar NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nvar NOT_HFVALUE = NOT_HFNAME;\nfunction decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(UNRESERVED) ? str : decStr;\n}\nvar handler$4 = {\n scheme: \"mailto\",\n parse: function parse$$1(components, options) {\n var mailtoComponents = components;\n var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(\",\") : [];\n mailtoComponents.path = undefined;\n if (mailtoComponents.query) {\n var unknownHeaders = false;\n var headers = {};\n var hfields = mailtoComponents.query.split(\"&\");\n for (var x = 0, xl = hfields.length; x < xl; ++x) {\n var hfield = hfields[x].split(\"=\");\n switch (hfield[0]) {\n case \"to\":\n var toAddrs = hfield[1].split(\",\");\n for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) {\n to.push(toAddrs[_x]);\n }\n break;\n case \"subject\":\n mailtoComponents.subject = unescapeComponent(hfield[1], options);\n break;\n case \"body\":\n mailtoComponents.body = unescapeComponent(hfield[1], options);\n break;\n default:\n unknownHeaders = true;\n headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n break;\n }\n }\n if (unknownHeaders) mailtoComponents.headers = headers;\n }\n mailtoComponents.query = undefined;\n for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) {\n var addr = to[_x2].split(\"@\");\n addr[0] = unescapeComponent(addr[0]);\n if (!options.unicodeSupport) {\n //convert Unicode IDN -> ASCII IDN\n try {\n addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n } catch (e) {\n mailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n }\n } else {\n addr[1] = unescapeComponent(addr[1], options).toLowerCase();\n }\n to[_x2] = addr.join(\"@\");\n }\n return mailtoComponents;\n },\n serialize: function serialize$$1(mailtoComponents, options) {\n var components = mailtoComponents;\n var to = toArray(mailtoComponents.to);\n if (to) {\n for (var x = 0, xl = to.length; x < xl; ++x) {\n var toAddr = String(to[x]);\n var atIdx = toAddr.lastIndexOf(\"@\");\n var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n var domain = toAddr.slice(atIdx + 1);\n //convert IDN via punycode\n try {\n domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain);\n } catch (e) {\n components.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n to[x] = localPart + \"@\" + domain;\n }\n components.path = to.join(\",\");\n }\n var headers = mailtoComponents.headers = mailtoComponents.headers || {};\n if (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n if (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n var fields = [];\n for (var name in headers) {\n if (headers[name] !== O[name]) {\n fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + \"=\" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar));\n }\n }\n if (fields.length) {\n components.query = fields.join(\"&\");\n }\n return components;\n }\n};\n\nvar URN_PARSE = /^([^\\:]+)\\:(.*)/;\n//RFC 2141\nvar handler$5 = {\n scheme: \"urn\",\n parse: function parse$$1(components, options) {\n var matches = components.path && components.path.match(URN_PARSE);\n var urnComponents = components;\n if (matches) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = matches[1].toLowerCase();\n var nss = matches[2];\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n urnComponents.nid = nid;\n urnComponents.nss = nss;\n urnComponents.path = undefined;\n if (schemeHandler) {\n urnComponents = schemeHandler.parse(urnComponents, options);\n }\n } else {\n urnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n }\n return urnComponents;\n },\n serialize: function serialize$$1(urnComponents, options) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = urnComponents.nid;\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n if (schemeHandler) {\n urnComponents = schemeHandler.serialize(urnComponents, options);\n }\n var uriComponents = urnComponents;\n var nss = urnComponents.nss;\n uriComponents.path = (nid || options.nid) + \":\" + nss;\n return uriComponents;\n }\n};\n\nvar UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\n//RFC 4122\nvar handler$6 = {\n scheme: \"urn:uuid\",\n parse: function parse(urnComponents, options) {\n var uuidComponents = urnComponents;\n uuidComponents.uuid = uuidComponents.nss;\n uuidComponents.nss = undefined;\n if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n uuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n }\n return uuidComponents;\n },\n serialize: function serialize(uuidComponents, options) {\n var urnComponents = uuidComponents;\n //normalize UUID\n urnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n return urnComponents;\n }\n};\n\nSCHEMES[handler.scheme] = handler;\nSCHEMES[handler$1.scheme] = handler$1;\nSCHEMES[handler$2.scheme] = handler$2;\nSCHEMES[handler$3.scheme] = handler$3;\nSCHEMES[handler$4.scheme] = handler$4;\nSCHEMES[handler$5.scheme] = handler$5;\nSCHEMES[handler$6.scheme] = handler$6;\n\nexports.SCHEMES = SCHEMES;\nexports.pctEncChar = pctEncChar;\nexports.pctDecChars = pctDecChars;\nexports.parse = parse;\nexports.removeDotSegments = removeDotSegments;\nexports.serialize = serialize;\nexports.resolveComponents = resolveComponents;\nexports.resolve = resolve;\nexports.normalize = normalize;\nexports.equal = equal;\nexports.escapeComponent = escapeComponent;\nexports.unescapeComponent = unescapeComponent;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=uri.all.js.map\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode/');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n"],"names":["compareVersions","LATEST_VERSION","SCHEMAS","EXTENSIONS","itemAndCollection","classification","datacube","eo","file","label","pointcloud","processing","projection","raster","sar","sat","scientific","view","version","timestamps","catalog","collection","item","Object","assign","Ext","parseUrl","url","match","id","V","extensions","set","stac","stac_version","Array","isArray","stac_extensions","ext","e","before","compare","comparator","compareTo","_","type","val","is","includes","isDefined","isObject","obj","rename","oldKey","newKey","copy","forAll","key","fn","i","toArray","flattenArray","newKeys","summary","value","flattenOneElementArray","length","removeFromArray","valueToRemove","index","indexOf","splice","pickFirst","ensure","defaultValue","upgradeExtension","context","extension","findIndex","old","addExtension","newExtension","push","sort","removeExtension","oldExtension","migrateExtensionShortnames","oldShortnames","keys","newSchemas","values","mapValues","populateExtensions","objectsToCheck","assets","concat","item_assets","summaries","properties","links","pop","forEach","bands","prefix","oldValues","newValues","map","mapObject","moveTo","fromSummary","mergedSummary","condition","runAll","migrations","startsWith","toUTC","this","toISOString","error","date","Date","replace","formatString","format","formatter","replaceAll","Checksum","multihash","hexToUint8","hexString","Error","Uint8Array","byte","parseInt","uint8ToHex","bytes","reduce","str","toString","padStart","toMultihash","algo","encoded","encode","console","warn","Catalog","migrate","updateVersionNumber","Collection","spatial","bbox","temporal","interval","extent","min","max","start","end","unshift","count","Math","union","fill","middle","c","collectionAssets","Asset","migrateAll","itemAsset","other_properties","prop","minimum","maximum","filter","v","a","b","find","link","rel","Fields","Item","geometry","commons","CollectionCollection","object","collections","ItemCollection","itemCollection","features","feature","field","asset","mediaTypes","Band","band","_commonMetadata","_timestamps","_versioningIndicator","checksum","o","description","cube","dtr","pc","proj","sci","table","Migrate","collectionCollection","license","enableMultihash","module","exports","root","factory","semver","indexOrEnd","q","split","patchIndex","arr","substring","tryParse","isNaN","Number","validate","TypeError","test","v1","v2","s1","s2","n1","n2","sp1","sp2","p1","p2","undefined","allowedOperators","operatorResMap","validateOperator","op","join","operator","res","buffer","Buffer","copyProps","src","dst","SafeBuffer","arg","encodingOrOffset","from","alloc","allocUnsafe","allocUnsafeSlow","prototype","create","size","encoding","buf","SlowBuffer","GetIntrinsic","define","hasDescriptors","gOPD","$TypeError","$floor","loose","arguments","functionLengthIsConfigurable","functionLengthIsWritable","desc","configurable","writable","callBound","inspect","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","curr","prev","next","listGet","objects","node","listSet","listHas","$wm","$m","$o","channel","assert","has","get","Stream","EE","inherits","call","Readable","Writable","Duplex","Transform","PassThrough","finished","pipeline","pipe","dest","options","source","ondata","chunk","write","pause","ondrain","readable","resume","on","_isStdio","onend","onclose","didOnEnd","destroy","onerror","er","cleanup","listenerCount","removeListener","emit","_inheritsLoose","subClass","superClass","constructor","__proto__","codes","createErrorType","code","message","Base","getMessage","arg1","arg2","arg3","NodeError","_Base","name","oneOf","expected","thing","len","String","slice","search","pos","substr","endsWith","this_len","actual","determiner","msg","objectKeys","method","allowHalfOpen","once","_writableState","ended","process","nextTick","onEndNT","self","defineProperty","enumerable","highWaterMark","getBuffer","_readableState","destroyed","_transform","cb","ReadableState","EElistenerCount","emitter","listeners","OurUint8Array","g","window","_uint8ArrayToBuffer","_isUint8Array","isBuffer","debug","debugUtil","debuglog","StringDecoder","createReadableStreamAsyncIterator","BufferList","destroyImpl","_require","getHighWaterMark","_require$codes","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","prependListener","event","_events","stream","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","decoder","read","_read","_destroy","readableAddChunk","addToFront","skipChunkCheck","state","onEofChunk","chunkInvalid","getPrototypeOf","addChunk","maybeReadMore","emitReadable","_undestroy","undestroy","err","isPaused","setEncoding","enc","p","head","content","data","clear","MAX_HWM","computeNewHighWaterMark","n","howMuchToRead","emitReadable_","flow","maybeReadMore_","pipeOnDrain","updateReadableListening","nReadingNextTick","resume_","fromList","ret","shift","first","consume","endReadable","endReadableNT","wState","xs","x","l","nOrig","doRead","pipeOpts","doEnd","stdout","stderr","endFn","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanedUp","onfinish","needDrain","dests","ev","addListener","removeAllListeners","apply","wrap","_this","bind","Symbol","asyncIterator","_fromList","iterable","opts","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","rs","needTransform","writeencoding","transform","flush","_flush","prefinish","done","_write","err2","CorkedRequest","entry","finish","onCorkedFinish","WritableState","internalUtil","deprecate","realHasInstance","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","ending","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","errorEmitted","bufferedRequestCount","corkedRequestsFree","writev","_writev","final","_final","writeAfterEnd","validChunk","decodeChunk","writeOrBuffer","isBuf","newChunk","last","callback","doWrite","onwriteError","finishMaybe","onwriteStateUpdate","needFinish","clearBuffer","afterWrite","onwriteDrain","holder","allBuffers","callFinal","need","rState","endWritable","corkReq","current","out","hasInstance","Function","cork","uncork","setDefaultEncoding","toLowerCase","_Object$setPrototypeO","_defineProperty","_toPropertyKey","_toPrimitive","input","hint","prim","toPrimitive","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","iter","resolve","onReadable","wrapForNext","lastPromise","reject","then","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","setPrototypeOf","Promise","promise","_this2","_Object$create","iterator","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","target","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_require2","custom","copyBuffer","offset","tail","s","hasStrings","_getString","_getBuffer","nb","depth","customInspect","readableDestroyed","writableDestroyed","emitErrorNT","emitCloseNT","emitErrorAndCloseNT","ERR_STREAM_PREMATURE_CLOSE","called","_len","args","_key","noop","isRequest","setHeader","abort","eos","onlegacyfinish","writableEnded","readableEnded","onrequest","req","ERR_MISSING_ARGS","destroyer","closed","to","popCallback","streams","destroys","ERR_INVALID_OPT_VALUE","highWaterMarkFrom","duplexKey","hwm","isFinite","floor","isEncoding","_normalizeEncoding","retried","normalizeEncoding","nenc","text","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","utf8CheckIncomplete","j","utf8CheckExtraBytes","r","utf8Text","total","utf8End","charCodeAt","global","merge","sets","xl","subexp","typeOf","toUpperCase","setInterval","buildExps","isIRI","ALPHA$$","DIGIT$$","HEXDIG$$","PCT_ENCODED$","GEN_DELIMS$$","SUB_DELIMS$$","RESERVED$$","UCSCHAR$$","IPRIVATE$$","UNRESERVED$$","SCHEME$","USERINFO$","DEC_OCTET_RELAXED$","IPV4ADDRESS$","H16$","LS32$","IPV6ADDRESS1$","IPV6ADDRESS2$","IPV6ADDRESS3$","IPV6ADDRESS4$","IPV6ADDRESS5$","IPV6ADDRESS6$","IPV6ADDRESS7$","IPV6ADDRESS8$","IPV6ADDRESS9$","IPV6ADDRESS$","ZONEID$","IPV6ADDRZ_RELAXED$","IPVFUTURE$","IP_LITERAL$","REG_NAME$","HOST$","PORT$","AUTHORITY$","PCHAR$","SEGMENT$","SEGMENT_NZ$","SEGMENT_NZ_NC$","PATH_ABEMPTY$","PATH_ABSOLUTE$","PATH_NOSCHEME$","PATH_ROOTLESS$","PATH_EMPTY$","QUERY$","FRAGMENT$","HIER_PART$","URI$","RELATIVE_PART$","RELATIVE$","NOT_SCHEME","RegExp","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","ESCAPE","UNRESERVED","OTHER_CHARS","PCT_ENCODED","IPV4ADDRESS","IPV6ADDRESS","URI_PROTOCOL","IRI_PROTOCOL","slicedToArray","sliceIterator","_arr","_n","_d","_e","_s","_i","toConsumableArray","arr2","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","stringFromCharCode","fromCharCode","error$1","RangeError","array","result","mapDomain","string","parts","labels","ucs2decode","output","counter","extra","ucs2encode","fromCodePoint","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","decode","inputLength","bias","basic","lastIndexOf","oldi","w","t","baseMinusT","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_currentValue2","return","basicLength","handledCPCount","m","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","currentValue","handledCPCountPlusOne","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_currentValue","qMinusT","toUnicode","toASCII","punycode","SCHEMES","pctEncChar","chr","pctDecChars","newStr","il","c2","_c","c3","_normalizeComponentEncoding","components","protocol","decodeUnreserved","decStr","scheme","userinfo","host","path","query","fragment","_stripLeadingZeros","_normalizeIPv4","matches","_matches","address","_normalizeIPv6","_matches2","zone","_address$toLowerCase$","reverse","_address$toLowerCase$2","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","fields","allZeroFields","acc","lastLongest","longestZeroFields","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","parse","uriString","iri","reference","port","schemeHandler","unicodeSupport","domainHost","_recomposeAuthority","uriTokens","$1","$2","RDS1","RDS2","RDS3","RDS5","removeDotSegments","im","serialize","authority","charAt","absolutePath","resolveComponents","relative","skipNormalization","tolerant","baseURI","relativeURI","schemelessOptions","normalize","uri","equal","uriA","uriB","escapeComponent","unescapeComponent","handler","secure","handler$1","isSecure","wsComponents","handler$2","resourceName","_wsComponents$resourc","_wsComponents$resourc2","handler$3","O","ATEXT$$","QTEXT$$","VCHAR$$","SOME_DELIMS$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","handler$4","mailtoComponents","unknownHeaders","headers","hfields","hfield","toAddrs","_x","_xl","subject","body","_x2","_xl2","addr","toAddr","atIdx","localPart","domain","URN_PARSE","handler$5","urnComponents","nid","nss","urnScheme","uriComponents","UUID","handler$6","uuidComponents","uuid","nodeType","freeGlobal","Url","slashes","auth","hostname","hash","pathname","href","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","javascript","hostlessProtocol","slashedProtocol","http","https","ftp","gopher","querystring","urlParse","parseQueryString","slashesDenoteHost","u","urlFormat","urlResolve","urlResolveObject","resolveObject","queryIndex","splitter","uSplit","slashRegex","rest","trim","simplePath","exec","proto","lowerProto","atSign","hostEnd","hec","decodeURIComponent","parseHost","ipv6Hostname","hostparts","part","newpart","validParts","notHost","bit","h","ae","esc","encodeURIComponent","escape","qm","stringify","arrayFormat","addQueryPrefix","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","up","isAbsolute"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-vendors-8cbd2506.a42b4cb3.js.map b/js/chunk-vendors-8cbd2506.a42b4cb3.js.map deleted file mode 100644 index b2062157..00000000 --- a/js/chunk-vendors-8cbd2506.a42b4cb3.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/chunk-vendors-8cbd2506.a42b4cb3.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/@radiantearth/stac-migrate/migrate.js","webpack://@openeo/web-editor/./node_modules/safe-buffer/index.js","webpack://@openeo/web-editor/./node_modules/set-function-length/index.js","webpack://@openeo/web-editor/./node_modules/side-channel/index.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/index.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js","webpack://@openeo/web-editor/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://@openeo/web-editor/./node_modules/string_decoder/lib/string_decoder.js","webpack://@openeo/web-editor/./node_modules/uri-js/dist/es5/uri.all.js","webpack://@openeo/web-editor/./node_modules/url/node_modules/punycode/punycode.js","webpack://@openeo/web-editor/./node_modules/url/url.js"],"sourcesContent":["// Migration rules partly based on PySTAC and @openeo/js-commons,\n// see https://github.com/stac-utils/pystac/tree/v0.5.4/pystac/serialization/migrate.py\n// and https://github.com/Open-EO/openeo-js-commons/tree/v1.2.0/src/migrate/collections.js\n\nvar compareVersions = require('compare-versions');\n\nconst LATEST_VERSION = '1.1.0-beta.1';\nconst DONE = true; // This is used to verify in code coverage whether something has been used or not\nconst SCHEMAS = {\n 'classification': 'https://stac-extensions.github.io/classification/v2.0.0/schema.json',\n 'datacube': 'https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n 'eo': 'https://stac-extensions.github.io/eo/v2.0.0-beta.1/schema.json',\n 'file': 'https://stac-extensions.github.io/file/v2.1.0/schema.json',\n 'item-assets': 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n 'label': 'https://stac-extensions.github.io/label/v1.0.1/schema.json',\n 'pointcloud': 'https://stac-extensions.github.io/pointcloud/v1.0.0/schema.json',\n 'processing': 'https://stac-extensions.github.io/processing/v1.2.0/schema.json',\n 'projection': 'https://stac-extensions.github.io/projection/v2.0.0/schema.json',\n 'raster': 'https://stac-extensions.github.io/raster/v2.0.0-beta.1/schema.json',\n 'sar': 'https://stac-extensions.github.io/sar/v1.0.0/schema.json',\n 'sat': 'https://stac-extensions.github.io/sat/v1.0.0/schema.json',\n 'scientific': 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n 'table': 'https://stac-extensions.github.io/table/v1.2.0/schema.json',\n 'timestamps': 'https://stac-extensions.github.io/timestamps/v1.1.0/schema.json',\n 'version': 'https://stac-extensions.github.io/version/v1.2.0/schema.json',\n 'view': 'https://stac-extensions.github.io/view/v1.0.0/schema.json'\n};\nconst EXTENSIONS = {\n // Add a : at the end to indicate it has a prefix, otherwise list all fields separately (see version extension for example).\n itemAndCollection: {\n // with prefix\n 'classification:': SCHEMAS.classification,\n 'cube:': SCHEMAS.datacube,\n 'eo:': SCHEMAS.eo,\n 'file:': SCHEMAS.file,\n 'label:': SCHEMAS.label,\n 'pc:': SCHEMAS.pointcloud,\n 'processing:': SCHEMAS.processing,\n 'proj:': SCHEMAS.projection,\n 'raster:': SCHEMAS.raster,\n 'sar:': SCHEMAS.sar,\n 'sat:': SCHEMAS.sat,\n 'sci:': SCHEMAS.scientific,\n 'view:': SCHEMAS.view,\n // without prefix\n 'version': SCHEMAS.version,\n 'deprecated': SCHEMAS.version,\n 'published': SCHEMAS.timestamps,\n 'expires': SCHEMAS.timestamps,\n 'unpublished': SCHEMAS.timestamps\n },\n catalog: {\n // None yet\n },\n collection: {\n // None yet\n },\n item: {\n // None yet\n },\n};\nEXTENSIONS.collection = Object.assign(EXTENSIONS.collection, EXTENSIONS.itemAndCollection);\nEXTENSIONS.item = Object.assign(EXTENSIONS.item, EXTENSIONS.itemAndCollection);\n\nvar Ext = {\n parseUrl(url) {\n let match = url.match(/^https?:\\/\\/stac-extensions.github.io\\/([^\\/]+)\\/v([^\\/]+)\\/[^.]+.json$/i);\n if (match) {\n return {\n id: match[1],\n version: match[2]\n };\n }\n }\n};\n\nvar V = {\n version: LATEST_VERSION,\n extensions: {},\n\n set(stac) {\n if (typeof stac.stac_version !== 'string') {\n V.version = '0.6.0'; // Assume the worst case, it doesn't seem there's a clear indicator for 0.7.0\n }\n else {\n V.version = stac.stac_version;\n }\n\n if (Array.isArray(stac.stac_extensions)) {\n for (let ext of stac.stac_extensions) {\n let e = Ext.parseUrl(ext);\n if (e) {\n V.extensions[e.id] = e.version;\n }\n }\n }\n },\n\n before(version, ext = null) {\n return V.compare('<', version, ext);\n },\n\n compare(comparator, version, ext = null) {\n let compareTo = ext ? V.extensions[ext] : V.version;\n if (typeof compareTo === 'undefined') {\n return false;\n }\n else {\n return compareVersions.compare(compareTo, version, comparator);\n }\n }\n\n};\n\nvar _ = {\n\n type(val) {\n let type = typeof val;\n if (type === 'object') {\n if (val === null) {\n return 'null';\n }\n else if (Array.isArray(val)) {\n return 'array';\n }\n }\n return type;\n },\n\n is(val, type) {\n if (Array.isArray(type)) {\n return type.includes(_.type(val));\n }\n else {\n return _.type(val) === type;\n }\n },\n\n isDefined(val) {\n return (typeof val !== 'undefined');\n },\n\n isObject(obj) {\n return (typeof obj === 'object' && obj === Object(obj) && !Array.isArray(obj));\n },\n\n rename(obj, oldKey, newKey) {\n if (typeof obj[oldKey] !== 'undefined' && typeof obj[newKey] === 'undefined') {\n obj[newKey] = obj[oldKey];\n delete obj[oldKey];\n return true;\n }\n return false;\n },\n\n copy(obj, oldKey, newKey) {\n if (typeof obj[oldKey] !== 'undefined' && typeof obj[newKey] === 'undefined') {\n obj[newKey] = obj[oldKey];\n return true;\n }\n return false;\n },\n\n forAll(obj, key, fn) {\n if (obj[key] && typeof obj[key] === 'object') {\n for (let i in obj[key]) {\n fn(obj[key][i]);\n }\n }\n },\n\n toArray(obj, key) {\n if (typeof obj[key] !== 'undefined' && !Array.isArray(obj[key])) {\n obj[key] = [obj[key]];\n return true;\n }\n return false;\n },\n\n flattenArray(obj, key, newKeys, summary = false) {\n if (Array.isArray(obj[key])) {\n for (let i in obj[key]) {\n if (typeof newKeys[i] === 'string') {\n let value = obj[key][i];\n obj[newKeys[i]] = summary ? [value] : value;\n }\n }\n delete obj[key];\n return true;\n }\n return false;\n },\n\n flattenOneElementArray(obj, key, summary = false) {\n if (!summary && Array.isArray(obj[key])) {\n if (obj[key].length === 1) {\n obj[key] = obj[key][0];\n return true;\n }\n else {\n return false; // It's still an array and we don't know which element to choose\n }\n }\n return true; // It's already a single element\n },\n\n removeFromArray(obj, key, valueToRemove) {\n if (Array.isArray(obj[key])) {\n let index = obj[key].indexOf(valueToRemove);\n if (index > -1) {\n obj[key].splice(index, 1);\n }\n return true;\n }\n return false;\n },\n\n pickFirst(obj, key) {\n if (Array.isArray(obj[key]) && obj[key].length > 0) {\n obj[key] = obj[key][0];\n return true;\n }\n else {\n delete obj[key];\n return false;\n }\n },\n\n ensure(obj, key, defaultValue) {\n if (_.type(defaultValue) !== _.type(obj[key])) {\n obj[key] = defaultValue;\n }\n return true;\n },\n\n upgradeExtension(context, extension) {\n let { id, version } = Ext.parseUrl(extension);\n let index = context.stac_extensions.findIndex(url => {\n let old = Ext.parseUrl(url);\n return (old && old.id === id && compareVersions.compare(old.version, version, '<'));\n });\n if (index !== -1) {\n context.stac_extensions[index] = extension;\n return true;\n }\n else {\n return false;\n }\n },\n\n addExtension(context, newExtension) {\n let { id, version } = Ext.parseUrl(newExtension);\n let index = context.stac_extensions.findIndex(url => {\n if (url === newExtension) {\n return true;\n }\n let old = Ext.parseUrl(url);\n if (old && old.id === id && compareVersions.compare(old.version, version, '<')) {\n return true;\n }\n return false;\n });\n if (index === -1) {\n context.stac_extensions.push(newExtension);\n }\n else {\n context.stac_extensions[index] = newExtension;\n }\n\n context.stac_extensions.sort();\n return true;\n },\n\n removeExtension(context, oldExtension) {\n return _.removeFromArray(context, 'stac_extensions', oldExtension);\n },\n\n migrateExtensionShortnames(context) {\n let oldShortnames = Object.keys(SCHEMAS);\n let newSchemas = Object.values(SCHEMAS);\n return _.mapValues(context, 'stac_extensions', oldShortnames, newSchemas);\n },\n\n populateExtensions(context, type) {\n let objectsToCheck = [];\n if (type == 'catalog' || type == 'collection') {\n objectsToCheck.push(context);\n }\n if ((type == 'item' || type == 'collection') && _.isObject(context.assets)) {\n objectsToCheck = objectsToCheck.concat(Object.values(context.assets));\n }\n if (type == 'collection' && _.isObject(context.item_assets)) {\n objectsToCheck = objectsToCheck.concat(Object.values(context.item_assets));\n }\n if (type == 'collection' && _.isObject(context.summaries)) {\n objectsToCheck.push(context.summaries);\n }\n if (type == 'item' && _.isObject(context.properties)) {\n objectsToCheck.push(context.properties);\n }\n objectsToCheck.push(context.links);\n\n let obj;\n while(obj = objectsToCheck.pop()) {\n Object.keys(obj).forEach(key => {\n // Add additional objects to check\n if (Array.isArray(obj.bands)) {\n objectsToCheck = objectsToCheck.concat(obj.bands);\n }\n\n // Check for fields with extension prefixes\n let prefix = key.match(/^(\\w+:|[^:]+$)/i);\n if (Array.isArray(prefix)) {\n let ext = EXTENSIONS[type][prefix[0]];\n _.is(ext, 'string') && _.addExtension(context, ext) && DONE;\n }\n });\n }\n },\n\n mapValues(obj, key, oldValues, newValues) {\n let fn = value => {\n let index = oldValues.indexOf(value);\n if (index >= 0) {\n return newValues[index];\n }\n return value;\n };\n if (Array.isArray(obj[key])) {\n obj[key] = obj[key].map(fn);\n }\n else if (typeof obj[key] !== 'undefined') {\n obj[key] = fn(obj[key]);\n }\n return true;\n },\n\n mapObject(obj, fn) {\n for (let key in obj) {\n obj[key] = fn(obj[key], key);\n }\n },\n\n moveTo(obj, key, context, fromSummary = false, mergedSummary = false) {\n let condition;\n if (fromSummary) {\n if (mergedSummary) {\n condition = val => Array.isArray(val);\n }\n else {\n condition = val => Array.isArray(val) && val.length === 1;\n }\n }\n else {\n condition = _.isDefined\n }\n if (condition(obj[key])) {\n context[key] = fromSummary && !mergedSummary ? obj[key][0] : obj[key];\n delete obj[key];\n return true;\n }\n return false;\n },\n\n runAll(migrations, obj, context, summaries) {\n for (let fn in migrations) {\n if (!fn.startsWith('migrate')) {\n migrations[fn](obj, context, summaries);\n }\n }\n },\n\n toUTC(obj, key) {\n if (_.is(obj[key], 'string')) {\n try {\n obj[key] = this.toISOString(obj[key]);\n return true;\n } catch (error) { }\n }\n delete obj[key];\n return false;\n },\n\n toISOString(date) {\n if (!(date instanceof Date)) {\n date = new Date(date);\n }\n return date.toISOString().replace(/\\.0+/, ''); // Don't export milliseconds if not needed\n },\n\n formatString(obj, key, format) {\n const formatter = value => {\n if (_.is(value, ['string', 'number'])) {\n return format.replaceAll('{}', value);\n }\n return value;\n };\n if (Array.isArray(obj[key])) {\n obj[key] = obj[key].map(formatter);\n }\n else {\n obj[key] = formatter(obj[key]);\n }\n }\n\n};\n\nvar Checksum = {\n\n multihash: null,\n\n hexToUint8(hexString) {\n if (hexString.length === 0 || hexString.length % 2 !== 0) {\n throw new Error(`The string \"${hexString}\" is not valid hex.`)\n }\n return new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));\n },\n\n uint8ToHex(bytes) {\n return bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n },\n\n toMultihash(obj, key, algo) {\n if (!Checksum.multihash || !_.is(obj[key], 'string')) {\n return false;\n }\n try {\n const encoded = Checksum.multihash.encode(Checksum.hexToUint8(obj[key]), algo);\n obj[key] = Checksum.uint8ToHex(encoded);\n return true;\n } catch (error) {\n console.warn(error);\n return false;\n }\n }\n\n};\n\nvar Catalog = {\n\n migrate(catalog, updateVersionNumber = true) {\n V.set(catalog);\n if (updateVersionNumber) {\n catalog.stac_version = LATEST_VERSION;\n }\n catalog.type = 'Catalog';\n\n _.ensure(catalog, 'stac_extensions', []) && DONE;\n V.before('1.0.0-rc.1') && _.migrateExtensionShortnames(catalog) && DONE;\n\n _.ensure(catalog, 'id', '') && DONE;\n _.ensure(catalog, 'description', '') && DONE;\n _.ensure(catalog, 'links', []) && DONE;\n\n _.runAll(Catalog, catalog, catalog);\n\n V.before('0.8.0') && _.populateExtensions(catalog, 'catalog') && DONE;\n\n return catalog;\n },\n\n};\n\nvar Collection = {\n\n migrate(collection, updateVersionNumber = true) {\n Catalog.migrate(collection, updateVersionNumber); // Migrates stac_version, stac_extensions, id, title, description, links\n collection.type = 'Collection';\n\n V.before('1.0.0-rc.1') && _.migrateExtensionShortnames(collection) && DONE;\n\n _.ensure(collection, 'license', 'other') && DONE;\n _.ensure(collection, 'extent', {\n spatial: {\n bbox: []\n },\n temporal: {\n interval: []\n }\n }) && DONE;\n\n _.runAll(Collection, collection, collection);\n\n // Migrate Commons extension - part 3\n if (_.isObject(collection.properties)) {\n _.removeFromArray(collection, 'stac_extensions', 'commons') && DONE;\n delete collection.properties;\n }\n\n V.before('0.8.0') && _.populateExtensions(collection, 'collection') && DONE;\n V.before('1.0.0-beta.1') && _.mapValues(collection, 'stac_extensions', ['assets'], ['item-assets']) && DONE;\n\n return collection;\n },\n\n extent(collection) {\n _.ensure(collection, \"extent\", {});\n\n if (V.before('0.8.0')) {\n // Restructure spatial extent\n if (Array.isArray(collection.extent.spatial)) {\n collection.extent.spatial = {\n bbox: [\n collection.extent.spatial\n ]\n };\n }\n // Restructure temporal extent\n if (Array.isArray(collection.extent.temporal)) {\n collection.extent.temporal = {\n interval: [\n collection.extent.temporal\n ]\n };\n }\n }\n\n _.ensure(collection.extent, \"spatial\", {});\n _.ensure(collection.extent.spatial, \"bbox\", []);\n _.ensure(collection.extent, \"temporal\", {});\n _.ensure(collection.extent.temporal, \"interval\", []);\n\n if (V.before('1.0.0-rc.3')) {\n // The first extent in a Collection is always the overall extent, followed by more specific extents.\n if (collection.extent.temporal.interval.length > 1) {\n let min, max;\n for (let interval of collection.extent.temporal.interval) {\n if (interval[0] === null) {\n min = null;\n }\n else if (typeof interval[0] === 'string' && min !== null) {\n try {\n let start = new Date(interval[0]);\n if (typeof min === 'undefined' || start < min) {\n min = start;\n }\n } catch (error) { }\n }\n\n if (interval[1] === null) {\n max = null;\n }\n else if (typeof interval[1] === 'string' && max !== null) {\n try {\n let end = new Date(interval[1]);\n if (typeof max === 'undefined' || end > max) {\n max = end;\n }\n } catch (error) { }\n }\n }\n collection.extent.temporal.interval.unshift([\n min ? _.toISOString(min) : null,\n max ? _.toISOString(max) : null\n ]);\n }\n if (collection.extent.spatial.bbox.length > 1) {\n let count = collection.extent.spatial.bbox.reduce((val, bbox) => Array.isArray(bbox) ? Math.max(bbox.length, val) : val, 4);\n if (count >= 4) {\n let union = new Array(count).fill(null);\n let middle = count / 2;\n for (let bbox of collection.extent.spatial.bbox) {\n if (!Array.isArray(bbox) || bbox.length < 4) {\n break;\n }\n for (let i in bbox) {\n let c = bbox[i];\n if (union[i] === null) {\n union[i] = c;\n }\n else if (i < middle) {\n union[i] = Math.min(c, union[i]);\n }\n else {\n union[i] = Math.max(c, union[i]);\n }\n\n }\n }\n if (union.findIndex(c => c === null) === -1) {\n collection.extent.spatial.bbox.unshift(union);\n }\n }\n }\n }\n },\n\n collectionAssets(collection) {\n V.before('1.0.0-rc.1') && _.removeExtension(collection, 'collection-assets') && DONE;\n\n Asset.migrateAll(collection);\n },\n\n itemAsset(collection) {\n V.before('1.0.0-beta.2') && _.rename(collection, 'item_assets', 'assets');\n\n _.removeExtension(collection, SCHEMAS['item-assets']) && DONE;\n\n Asset.migrateAll(collection, 'item_assets');\n },\n\n summaries(collection) {\n _.ensure(collection, 'summaries', {});\n\n // other_properties: An early version of the Collection summaries with a similar structure\n // Was mostly used in standalone collections from openEO and GEE. Move other_properties to summaries.\n if (V.before('0.8.0') && _.isObject(collection.other_properties)) {\n for (let key in collection.other_properties) {\n let prop = collection.other_properties[key];\n if (Array.isArray(prop.extent) && prop.extent.length === 2) {\n collection.summaries[key] = {\n minimum: prop.extent[0],\n maximum: prop.extent[1],\n };\n }\n else if (Array.isArray(prop.values)) {\n if (prop.values.filter(v => Array.isArray(v)).length === prop.values.length) {\n // If it is an array of arrays, merge the arrays\n collection.summaries[key] = prop.values.reduce((a, b) => a.concat(b), []);\n }\n else {\n collection.summaries[key] = prop.values;\n }\n }\n }\n delete collection.other_properties;\n }\n\n // Migrate Commons extension - part 2\n // Move properties to (single element) summaries if the Collection is standalone\n // see also https://github.com/stac-utils/stac-migrate/issues/3\n if (V.before('1.0.0-beta.1') && _.isObject(collection.properties) && !collection.links.find(link => ['child', 'item'].includes(link.rel))) {\n for (let key in collection.properties) {\n let value = collection.properties[key];\n if (!Array.isArray(value)) {\n value = [value];\n }\n collection.summaries[key] = value;\n }\n }\n\n if (V.before('1.0.0-rc.1')) {\n _.mapObject(collection.summaries, val => {\n _.rename(val, 'min', 'minimum') && DONE;\n _.rename(val, 'max', 'maximum') && DONE;\n return val;\n });\n }\n\n // now we can work on all summaries and migrate them\n Fields.migrate(collection.summaries, collection, true);\n\n // Some fields should usually be on root-level if there's only one element\n _.moveTo(collection.summaries, 'sci:doi', collection, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n _.moveTo(collection.summaries, 'sci:publications', collection, true, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n _.moveTo(collection.summaries, 'sci:citation', collection, true) && _.addExtension(collection, SCHEMAS.scientific) && DONE;\n _.moveTo(collection.summaries, 'cube:dimensions', collection, true) && _.addExtension(collection, SCHEMAS.datacube) && DONE;\n\n // Remove summary field if empty\n if (Object.keys(collection.summaries).length === 0) {\n delete collection.summaries;\n }\n }\n\n};\n\nvar Item = {\n\n migrate(item, collection = null, updateVersionNumber = true) {\n V.set(item);\n if (updateVersionNumber) {\n item.stac_version = LATEST_VERSION;\n }\n\n _.ensure(item, 'stac_extensions', []) && DONE;\n V.before('1.0.0-rc.1') && _.migrateExtensionShortnames(item) && DONE;\n\n _.ensure(item, 'id', '') && DONE;\n _.ensure(item, 'type', 'Feature') && DONE;\n if (!_.isObject(item.geometry)) {\n item.geometry = null;\n }\n if (item.geometry !== null) {\n _.ensure(item, 'bbox', []) && DONE;\n }\n _.ensure(item, 'properties', {}) && DONE;\n _.ensure(item, 'links', []) && DONE;\n _.ensure(item, 'assets', {}) && DONE;\n\n // Migrate Commons extension - part 1\n let commons = false;\n if (_.isObject(collection) && _.isObject(collection.properties)) {\n _.removeFromArray(item, 'stac_extensions', 'commons');\n item.properties = Object.assign({}, collection.properties, item.properties);\n commons = true;\n }\n\n _.runAll(Item, item, item);\n\n Fields.migrate(item.properties, item);\n\n Asset.migrateAll(item);\n\n // Also populate extensions if commons has been implemented\n (V.before('0.8.0') || commons) && _.populateExtensions(item, 'item') && DONE;\n\n return item;\n }\n\n};\n\nvar CollectionCollection = {\n\n migrate(object, updateVersionNumber = true) {\n _.ensure(object, 'collections', []) && DONE;\n _.ensure(object, 'links', []) && DONE;\n\n _.runAll(CollectionCollection, object, object);\n\n object.collections = object.collections.map(collection => Collection.migrate(collection, updateVersionNumber));\n\n return object;\n },\n\n};\n\nvar ItemCollection = {\n\n migrate(itemCollection, updateVersionNumber = true) {\n _.ensure(itemCollection, 'type', 'FeatureCollection') && DONE;\n _.ensure(itemCollection, 'features', []) && DONE;\n _.ensure(itemCollection, 'links', []) && DONE;\n\n _.runAll(ItemCollection, itemCollection, itemCollection);\n\n itemCollection.features = itemCollection.features.map(feature => Item.migrate(feature, null, updateVersionNumber));\n\n return itemCollection;\n },\n\n};\n\nvar Asset = {\n\n migrateAll(context, field = 'assets') {\n for (let key in context[field]) {\n Asset.migrate(context[field][key], context);\n }\n },\n\n migrate(asset, context) {\n _.runAll(Asset, asset, context);\n\n Fields.migrate(asset, context);\n\n return asset;\n },\n\n mediaTypes(asset) {\n _.is(asset.type, 'string') && _.mapValues(\n asset, 'type',\n ['image/vnd.stac.geotiff', 'image/vnd.stac.geotiff; cloud-optimized=true'],\n ['image/tiff; application=geotiff', 'image/tiff; application=geotiff; profile=cloud-optimized']\n );\n }\n\n};\n\nvar Band = {\n\n migrateAll(obj, context) {\n\n if (V.before('1.0.0')) { // Not sure when the index-based bands were removed\n const bands = _.isObject(context.properties) && Array.isArray(context.properties.bands) ? context.properties.bands : [];\n if (Array.isArray(obj['eo:bands'])) {\n for (let i in obj['eo:bands']) {\n let band = obj['eo:bands'][i];\n if (_.is(band, 'number') && _.isObject(bands[band])) {\n band = bands[band];\n }\n if (!_.isObject(band)) {\n band = {}; // \"Fix\" invalid band index\n }\n obj['eo:bands'][i] = band;\n }\n }\n }\n\n if (V.before(\"1.1.0-beta.1\") && (Array.isArray(obj[\"raster:bands\"]) || Array.isArray(obj[\"eo:bands\"]))) {\n _.ensure(obj, \"bands\", []);\n\n const raster = obj[\"raster:bands\"] || [];\n const eo = obj[\"eo:bands\"] || [];\n const length = Math.max(raster.length, eo.length);\n for (let i = 0; i < length; i++) {\n _.ensure(obj.bands, i, {});\n Object.assign(obj.bands[i], raster[i], eo[i]);\n obj.bands[i] = Band.migrate(obj.bands[i], context);\n }\n\n delete obj[\"raster:bands\"];\n delete obj[\"eo:bands\"];\n }\n\n },\n\n migrate(band, context) {\n _.runAll(Band, band, context);\n\n Fields.migrate(band, context);\n\n return band;\n },\n\n eo(band) {\n if (V.before('2.0.0-beta.1', 'eo')) {\n _.rename(band, 'common_name', 'eo:common_name') && DONE;\n _.rename(band, 'center_wavelength', 'eo:center_wavelength') && DONE;\n _.rename(band, 'full_width_half_max', 'eo:full_width_half_max') && DONE;\n _.rename(band, 'solar_illumination', 'eo:solar_illumination') && DONE;\n }\n },\n\n raster(band) {\n if (V.before('2.0.0-beta.1', 'raster')) {\n _.rename(band, 'sampling', 'raster:sampling') && DONE;\n _.rename(band, 'bits_per_sample', 'raster:bits_per_sample') && DONE;\n _.rename(band, 'spatial_resolution', 'raster:spatial_resolution') && DONE;\n _.rename(band, 'scale', 'raster:scale') && DONE;\n _.rename(band, 'offset', 'raster:offset') && DONE;\n _.rename(band, 'histogram', 'raster:histogram') && DONE;\n }\n }\n\n};\n\nvar Fields = {\n\n migrate(obj, context, summaries = false) {\n _.runAll(Fields, obj, context, summaries);\n\n return obj;\n },\n\n _commonMetadata(obj, context) {\n // Timestamps must be always in UTC\n // datetime, start_datetime and end_datetime already required UTC before\n if (V.before('1.0.0-rc.3')) {\n _.toUTC(obj, 'created') && DONE;\n _.toUTC(obj, 'updated') && DONE;\n }\n\n Band.migrateAll(obj, context);\n },\n\n _timestamps(obj, context) {\n // Timestamps must be always in UTC\n _.toUTC(obj, 'published') && DONE;\n _.toUTC(obj, 'expires') && DONE;\n _.toUTC(obj, 'unpublished') && DONE;\n\n _.upgradeExtension(context, SCHEMAS.timestamps);\n },\n\n _versioningIndicator(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.version);\n },\n\n checksum(obj, context) {\n if (V.before('0.9.0') && Checksum.multihash) {\n _.rename(obj, 'checksum:md5', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'md5') && DONE;\n _.rename(obj, 'checksum:sha1', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha1') && DONE;\n // We assume sha2/3-256 although that may fail in some cases and other lengths are chosen\n // Never seen this implemtned in the wild, so let's try this until another use case comes up\n _.rename(obj, 'checksum:sha2', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha2-256') && DONE;\n _.rename(obj, 'checksum:sha3', 'checksum:multihash') && Checksum.toMultihash(obj, 'checksum:multihash', 'sha3-256') && DONE;\n }\n\n V.before('1.0.0-rc.1') && _.rename(obj, 'checksum:multihash', 'file:checksum') && _.addExtension(context, SCHEMAS.file) && DONE;\n\n _.removeExtension(context, 'checksum');\n },\n\n classification(obj, context) {\n if (V.before('1.1.0', 'classification')) {\n _.forAll(obj, 'classification:classes', o => _.rename(o, 'color-hint', 'color_hint')) && DONE;\n }\n if (V.before('2.0.0', 'classification')) {\n _.forAll(obj, 'classification:classes', o => _.ensure(o, 'name', o.description)) && DONE;\n }\n\n _.upgradeExtension(context, SCHEMAS.classification);\n },\n\n cube(obj, context) {\n // We'd need to convert proj strings to something else for v1.0 -> v2.0, but that's unfeasible here.\n // Nothing else to do here.\n\n _.upgradeExtension(context, SCHEMAS.datacube);\n },\n\n dtr(obj, context) {\n if (V.before('0.9.0')) {\n _.rename(obj, 'dtr:start_datetime', 'start_datetime') && DONE;\n _.rename(obj, 'dtr:end_datetime', 'end_datetime') && DONE;\n _.removeExtension(context, 'datetime-range') && DONE;\n }\n },\n\n eo(obj, context) {\n if (V.before('0.9.0')) {\n _.rename(obj, 'eo:epsg', 'proj:epsg') && _.addExtension(context, SCHEMAS.projection) && DONE;\n _.rename(obj, 'eo:platform', 'platform') && DONE;\n _.rename(obj, 'eo:instrument', 'instruments') && _.toArray(obj, 'instruments') && DONE;\n _.rename(obj, 'eo:constellation', 'constellation') && DONE;\n _.rename(obj, 'eo:off_nadir', 'view:off_nadir') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'eo:azimuth', 'view:azimuth') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'eo:incidence_angle', 'view:incidence_angle') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'eo:sun_azimuth', 'view:sun_azimuth') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'eo:sun_elevation', 'view:sun_elevation') && _.addExtension(context, SCHEMAS.view) && DONE;\n }\n\n V.before('1.0.0-beta.1') && _.rename(obj, 'eo:gsd', 'gsd') && DONE;\n\n _.upgradeExtension(context, SCHEMAS.eo);\n },\n\n file(obj, context, summaries) {\n _.rename(obj, 'file:bits_per_sample', 'raster:bits_per_sample') && _.addExtension(context, SCHEMAS.raster) && DONE;\n _.rename(obj, 'file:data_type', 'data_type') && _.addExtension(context, SCHEMAS.raster) && DONE;\n _.rename(obj, 'file:unit', 'unit') && _.addExtension(context, SCHEMAS.raster) && DONE;\n\n if (Array.isArray(obj['file:nodata']) && obj['file:nodata'].length > 1) {\n // In case of more than one no-data value we need to create a custom property\n // as there's no alternative for multiple no-data values yet\n _.copy(obj, 'file:nodata', 'nodata:values') && DONE;\n }\n _.rename(obj, 'file:nodata', 'nodata') && !summaries && _.pickFirst(obj, 'nodata') && DONE;\n _.upgradeExtension(context, SCHEMAS.file);\n },\n\n label(obj, context) {\n // Migrate 0.8.0-rc1 non-pluralized forms\n if (V.before('0.8.0')) {\n _.rename(obj, 'label:property', 'label:properties') && DONE;\n _.rename(obj, 'label:task', 'label:tasks') && DONE;\n _.rename(obj, 'label:overview', 'label:overviews') && _.toArray(obj, 'label:overviews') && DONE;\n _.rename(obj, 'label:method', 'label:methods') && DONE;\n _.toArray(obj, 'label:classes') && DONE;\n }\n\n _.upgradeExtension(context, SCHEMAS.label);\n },\n\n pc(obj, context) {\n V.before('0.8.0') && _.rename(obj, 'pc:schema', 'pc:schemas') && DONE;\n\n _.upgradeExtension(context, SCHEMAS.pointcloud);\n },\n\n processing(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.processing);\n },\n\n proj(obj, context) {\n _.rename(obj, 'proj:epsg', 'proj:code') && _.formatString(obj, 'proj:code', 'EPSG:{}') && DONE;\n\n _.upgradeExtension(context, SCHEMAS.projection);\n },\n\n raster(obj, context) {\n _.upgradeExtension(context, SCHEMAS.raster);\n },\n\n sar(obj, context, summary) {\n // Which version have they been (re)moved?\n _.rename(obj, 'sar:incidence_angle', 'view:incidence_angle') && _.addExtension(context, SCHEMAS.view) && DONE;\n _.rename(obj, 'sar:pass_direction', 'sat:orbit_state') && _.mapValues(obj, 'sat:orbit_state', [null], ['geostationary']) && _.addExtension(context, SCHEMAS.sat) && DONE;\n\n if (V.before('0.7.0')) {\n _.flattenArray(obj, 'sar:resolution', ['sar:resolution_range', 'sar:resolution_azimuth'], summary) && DONE;\n _.flattenArray(obj, 'sar:pixel_spacing', ['sar:pixel_spacing_range', 'sar:pixel_spacing_azimuth'], summary) && DONE;\n _.flattenArray(obj, 'sar:looks', ['sar:looks_range', 'sar:looks_azimuth', 'sar:looks_equivalent_number'], summary) && DONE;\n _.rename(obj, 'sar:off_nadir', 'view:off_nadir') && _.addExtension(context, SCHEMAS.view) && DONE;\n }\n\n if (V.before('0.9.0')) {\n _.rename(obj, 'sar:platform', 'platform') && DONE;\n _.rename(obj, 'sar:instrument', 'instruments') && _.toArray(obj, 'instruments') && DONE;\n _.rename(obj, 'sar:constellation', 'constellation') && DONE;\n _.rename(obj, 'sar:type', 'sar:product_type') && DONE;\n _.rename(obj, 'sar:polarization', 'sar:polarizations') && DONE;\n _.flattenOneElementArray(obj, 'sar:absolute_orbit', summary) && _.rename(obj, 'sar:absolute_orbit', 'sat:absolute_orbit') && _.addExtension(context, SCHEMAS.sat) && DONE;\n _.flattenOneElementArray(obj, 'sar:relative_orbit', summary) && _.rename(obj, 'sar:relative_orbit', 'sat:relative_orbit') && _.addExtension(context, SCHEMAS.sat) && DONE;\n }\n\n _.upgradeExtension(context, SCHEMAS.sar);\n },\n\n sat(obj, context) {\n // Migrate 0.9.0-rc _angle suffixes\n if (V.before('0.9.0')) {\n _.rename(obj, 'sat:off_nadir_angle', 'sat:off_nadir') && DONE;\n _.rename(obj, 'sat:azimuth_angle', 'sat:azimuth') && DONE;\n _.rename(obj, 'sat:sun_azimuth_angle', 'sat:sun_azimuth') && DONE;\n _.rename(obj, 'sat:sun_elevation_angle', 'sat:sun_elevation') && DONE;\n }\n\n _.upgradeExtension(context, SCHEMAS.sat);\n },\n\n sci(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.scientific);\n },\n\n item(obj) { // Single Item\n if (V.before('0.8.0')) {\n _.rename(obj, 'item:license', 'license') && DONE;\n _.rename(obj, 'item:providers', 'providers') && DONE;\n // No need to remove the extension from stac_extensions as it was not available before 0.8.0\n }\n },\n\n table(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.table);\n },\n\n view(obj, context) {\n // Nothing to do\n\n _.upgradeExtension(context, SCHEMAS.view);\n }\n\n};\n\nvar Migrate = {\n\n item(item, collection = null, updateVersionNumber = true) {\n return Item.migrate(item, collection, updateVersionNumber);\n },\n\n catalog(catalog, updateVersionNumber = true) {\n return Catalog.migrate(catalog, updateVersionNumber);\n },\n\n collection(collection, updateVersionNumber = true) {\n return Collection.migrate(collection, updateVersionNumber);\n },\n\n collectionCollection(collections, updateVersionNumber = true) {\n return CollectionCollection.migrate(collections, updateVersionNumber);\n },\n\n itemCollection(itemCollection, updateVersionNumber = true) {\n return ItemCollection.migrate(itemCollection, updateVersionNumber);\n },\n\n stac(object, updateVersionNumber = true) {\n if (object.type === 'Feature') {\n return Migrate.item(object, null, updateVersionNumber);\n }\n else if (object.type === 'FeatureCollection') {\n return Migrate.itemCollection(object, updateVersionNumber);\n }\n else if (object.type === 'Collection' || (!object.type && _.isDefined(object.extent) && _.isDefined(object.license))) {\n return Migrate.collection(object, updateVersionNumber);\n }\n else if (!object.type && Array.isArray(object.collections)) {\n return Migrate.collectionCollection(object, updateVersionNumber);\n }\n else {\n return Migrate.catalog(object, updateVersionNumber);\n }\n },\n\n enableMultihash(multihash) {\n Checksum.multihash = multihash;\n }\n\n};\n\nmodule.exports = Migrate;\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('.').listGetNode} */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\tfor (; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tcurr.next = /** @type {NonNullable} */ (list.next);\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('.').listGet} */\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('.').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('.').ListNode} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('.').listHas} */\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @type {WeakMap} */ var $wm;\n\t/** @type {Map} */ var $m;\n\t/** @type {import('.').RootNode} */ var $o;\n\n\t/** @type {import('.').Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.URI = global.URI || {})));\n}(this, (function (exports) { 'use strict';\n\nfunction merge() {\n for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) {\n sets[_key] = arguments[_key];\n }\n\n if (sets.length > 1) {\n sets[0] = sets[0].slice(0, -1);\n var xl = sets.length - 1;\n for (var x = 1; x < xl; ++x) {\n sets[x] = sets[x].slice(1, -1);\n }\n sets[xl] = sets[xl].slice(1);\n return sets.join('');\n } else {\n return sets[0];\n }\n}\nfunction subexp(str) {\n return \"(?:\" + str + \")\";\n}\nfunction typeOf(o) {\n return o === undefined ? \"undefined\" : o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase();\n}\nfunction toUpperCase(str) {\n return str.toUpperCase();\n}\nfunction toArray(obj) {\n return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : [];\n}\nfunction assign(target, source) {\n var obj = target;\n if (source) {\n for (var key in source) {\n obj[key] = source[key];\n }\n }\n return obj;\n}\n\nfunction buildExps(isIRI) {\n var ALPHA$$ = \"[A-Za-z]\",\n CR$ = \"[\\\\x0D]\",\n DIGIT$$ = \"[0-9]\",\n DQUOTE$$ = \"[\\\\x22]\",\n HEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"),\n //case-insensitive\n LF$$ = \"[\\\\x0A]\",\n SP$$ = \"[\\\\x20]\",\n PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)),\n //expanded\n GEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n SUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n UCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\",\n //subset, excludes bidi control characters\n IPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\",\n //subset\n UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n USERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n DEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n DEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$),\n //relaxed parsing rules\n IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n H16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n LS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n IPV6ADDRESS1$ = subexp(subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$),\n // 6( h16 \":\" ) ls32\n IPV6ADDRESS2$ = subexp(\"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$),\n // \"::\" 5( h16 \":\" ) ls32\n IPV6ADDRESS3$ = subexp(subexp(H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$),\n //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$),\n //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$),\n //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$),\n //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$),\n //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$),\n //[ *5( h16 \":\" ) h16 ] \"::\" h16\n IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\"),\n //[ *6( h16 \":\" ) h16 ] \"::\"\n IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n ZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"),\n //RFC 6874\n IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$),\n //RFC 6874\n IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$),\n //RFC 6874, with relaxed parsing rules\n IPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n IP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"),\n //RFC 6874\n REG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n HOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n PORT$ = subexp(DIGIT$$ + \"*\"),\n AUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n PCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n SEGMENT$ = subexp(PCHAR$ + \"*\"),\n SEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n PATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n PATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"),\n //simplified\n PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$),\n //simplified\n PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$),\n //simplified\n PATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n PATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n QUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n FRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n HIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n RELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n RELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n URI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n ABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n GENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n RELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n ABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n SAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n AUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\";\n return {\n NOT_SCHEME: new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n NOT_USERINFO: new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_HOST: new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH: new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH_NOSCHEME: new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_QUERY: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n NOT_FRAGMENT: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n ESCAPE: new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n UNRESERVED: new RegExp(UNRESERVED$$, \"g\"),\n OTHER_CHARS: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n PCT_ENCODED: new RegExp(PCT_ENCODED$, \"g\"),\n IPV4ADDRESS: new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n IPV6ADDRESS: new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n };\n}\nvar URI_PROTOCOL = buildExps(false);\n\nvar IRI_PROTOCOL = buildExps(true);\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/** Highest positive signed 32-bit float value */\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nvar regexPunycode = /^xn--/;\nvar regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nvar regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nvar errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error$1(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tvar result = [];\n\tvar length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tvar parts = string.split('@');\n\tvar result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tvar labels = string.split('.');\n\tvar encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tvar output = [];\n\tvar counter = 0;\n\tvar length = string.length;\n\twhile (counter < length) {\n\t\tvar value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tvar extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t// Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nvar ucs2encode = function ucs2encode(array) {\n\treturn String.fromCodePoint.apply(String, toConsumableArray(array));\n};\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nvar basicToDigit = function basicToDigit(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nvar digitToBasic = function digitToBasic(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nvar adapt = function adapt(delta, numPoints, firstTime) {\n\tvar k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nvar decode = function decode(input) {\n\t// Don't use UCS-2.\n\tvar output = [];\n\tvar inputLength = input.length;\n\tvar i = 0;\n\tvar n = initialN;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tvar basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (var j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror$1('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tvar oldi = i;\n\t\tfor (var w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror$1('invalid-input');\n\t\t\t}\n\n\t\t\tvar digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tvar baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\t\t}\n\n\t\tvar out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\t}\n\n\treturn String.fromCodePoint.apply(String, output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nvar encode = function encode(input) {\n\tvar output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tvar inputLength = input.length;\n\n\t// Initialize the state.\n\tvar n = initialN;\n\tvar delta = 0;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points.\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar _currentValue2 = _step.value;\n\n\t\t\tif (_currentValue2 < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(_currentValue2));\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\n\tvar basicLength = output.length;\n\tvar handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tvar m = maxInt;\n\t\tvar _iteratorNormalCompletion2 = true;\n\t\tvar _didIteratorError2 = false;\n\t\tvar _iteratorError2 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\tvar currentValue = _step2.value;\n\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow.\n\t\t} catch (err) {\n\t\t\t_didIteratorError2 = true;\n\t\t\t_iteratorError2 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t\t\t\t\t_iterator2.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError2) {\n\t\t\t\t\tthrow _iteratorError2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tvar _iteratorNormalCompletion3 = true;\n\t\tvar _didIteratorError3 = false;\n\t\tvar _iteratorError3 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\tvar _currentValue = _step3.value;\n\n\t\t\t\tif (_currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror$1('overflow');\n\t\t\t\t}\n\t\t\t\tif (_currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\t\tvar q = delta;\n\t\t\t\t\tfor (var k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar qMinusT = q - t;\n\t\t\t\t\t\tvar baseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError3 = true;\n\t\t\t_iteratorError3 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return) {\n\t\t\t\t\t_iterator3.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError3) {\n\t\t\t\t\tthrow _iteratorError3;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nvar toUnicode = function toUnicode(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nvar toASCII = function toASCII(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nvar punycode = {\n\t/**\n * A string representing the current Punycode.js version number.\n * @memberOf punycode\n * @type String\n */\n\t'version': '2.1.0',\n\t/**\n * An object of methods to convert from JavaScript's internal character\n * representation (UCS-2) to Unicode code points, and back.\n * @see \n * @memberOf punycode\n * @type Object\n */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\n/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author Gary Court\n * @see http://github.com/garycourt/uri-js\n */\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\nvar SCHEMES = {};\nfunction pctEncChar(chr) {\n var c = chr.charCodeAt(0);\n var e = void 0;\n if (c < 16) e = \"%0\" + c.toString(16).toUpperCase();else if (c < 128) e = \"%\" + c.toString(16).toUpperCase();else if (c < 2048) e = \"%\" + (c >> 6 | 192).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();else e = \"%\" + (c >> 12 | 224).toString(16).toUpperCase() + \"%\" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();\n return e;\n}\nfunction pctDecChars(str) {\n var newStr = \"\";\n var i = 0;\n var il = str.length;\n while (i < il) {\n var c = parseInt(str.substr(i + 1, 2), 16);\n if (c < 128) {\n newStr += String.fromCharCode(c);\n i += 3;\n } else if (c >= 194 && c < 224) {\n if (il - i >= 6) {\n var c2 = parseInt(str.substr(i + 4, 2), 16);\n newStr += String.fromCharCode((c & 31) << 6 | c2 & 63);\n } else {\n newStr += str.substr(i, 6);\n }\n i += 6;\n } else if (c >= 224) {\n if (il - i >= 9) {\n var _c = parseInt(str.substr(i + 4, 2), 16);\n var c3 = parseInt(str.substr(i + 7, 2), 16);\n newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63);\n } else {\n newStr += str.substr(i, 9);\n }\n i += 9;\n } else {\n newStr += str.substr(i, 3);\n i += 3;\n }\n }\n return newStr;\n}\nfunction _normalizeComponentEncoding(components, protocol) {\n function decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(protocol.UNRESERVED) ? str : decStr;\n }\n if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n return components;\n}\n\nfunction _stripLeadingZeros(str) {\n return str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\nfunction _normalizeIPv4(host, protocol) {\n var matches = host.match(protocol.IPV4ADDRESS) || [];\n\n var _matches = slicedToArray(matches, 2),\n address = _matches[1];\n\n if (address) {\n return address.split(\".\").map(_stripLeadingZeros).join(\".\");\n } else {\n return host;\n }\n}\nfunction _normalizeIPv6(host, protocol) {\n var matches = host.match(protocol.IPV6ADDRESS) || [];\n\n var _matches2 = slicedToArray(matches, 3),\n address = _matches2[1],\n zone = _matches2[2];\n\n if (address) {\n var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(),\n _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2),\n last = _address$toLowerCase$2[0],\n first = _address$toLowerCase$2[1];\n\n var firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n var lastFields = last.split(\":\").map(_stripLeadingZeros);\n var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n var fieldCount = isLastFieldIPv4Address ? 7 : 8;\n var lastFieldsStart = lastFields.length - fieldCount;\n var fields = Array(fieldCount);\n for (var x = 0; x < fieldCount; ++x) {\n fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n }\n if (isLastFieldIPv4Address) {\n fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n }\n var allZeroFields = fields.reduce(function (acc, field, index) {\n if (!field || field === \"0\") {\n var lastLongest = acc[acc.length - 1];\n if (lastLongest && lastLongest.index + lastLongest.length === index) {\n lastLongest.length++;\n } else {\n acc.push({ index: index, length: 1 });\n }\n }\n return acc;\n }, []);\n var longestZeroFields = allZeroFields.sort(function (a, b) {\n return b.length - a.length;\n })[0];\n var newHost = void 0;\n if (longestZeroFields && longestZeroFields.length > 1) {\n var newFirst = fields.slice(0, longestZeroFields.index);\n var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n newHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n } else {\n newHost = fields.join(\":\");\n }\n if (zone) {\n newHost += \"%\" + zone;\n }\n return newHost;\n } else {\n return host;\n }\n}\nvar URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nvar NO_MATCH_IS_UNDEFINED = \"\".match(/(){0}/)[1] === undefined;\nfunction parse(uriString) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var components = {};\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n if (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n var matches = uriString.match(URI_PARSE);\n if (matches) {\n if (NO_MATCH_IS_UNDEFINED) {\n //store each component\n components.scheme = matches[1];\n components.userinfo = matches[3];\n components.host = matches[4];\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = matches[7];\n components.fragment = matches[8];\n //fix port number\n if (isNaN(components.port)) {\n components.port = matches[5];\n }\n } else {\n //IE FIX for improper RegExp matching\n //store each component\n components.scheme = matches[1] || undefined;\n components.userinfo = uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined;\n components.host = uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined;\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined;\n components.fragment = uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined;\n //fix port number\n if (isNaN(components.port)) {\n components.port = uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined;\n }\n }\n if (components.host) {\n //normalize IP hosts\n components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n }\n //determine reference type\n if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n components.reference = \"same-document\";\n } else if (components.scheme === undefined) {\n components.reference = \"relative\";\n } else if (components.fragment === undefined) {\n components.reference = \"absolute\";\n } else {\n components.reference = \"uri\";\n }\n //check for reference errors\n if (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n components.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n }\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n //if host component is a domain name\n if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) {\n //convert Unicode IDN -> ASCII IDN\n try {\n components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n }\n }\n //convert IRI -> URI\n _normalizeComponentEncoding(components, URI_PROTOCOL);\n } else {\n //normalize encodings\n _normalizeComponentEncoding(components, protocol);\n }\n //perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(components, options);\n }\n } else {\n components.error = components.error || \"URI can not be parsed.\";\n }\n return components;\n}\n\nfunction _recomposeAuthority(components, options) {\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n if (components.userinfo !== undefined) {\n uriTokens.push(components.userinfo);\n uriTokens.push(\"@\");\n }\n if (components.host !== undefined) {\n //normalize IP hosts, add brackets and escape zone separator for IPv6\n uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) {\n return \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\";\n }));\n }\n if (typeof components.port === \"number\" || typeof components.port === \"string\") {\n uriTokens.push(\":\");\n uriTokens.push(String(components.port));\n }\n return uriTokens.length ? uriTokens.join(\"\") : undefined;\n}\n\nvar RDS1 = /^\\.\\.?\\//;\nvar RDS2 = /^\\/\\.(\\/|$)/;\nvar RDS3 = /^\\/\\.\\.(\\/|$)/;\nvar RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\nfunction removeDotSegments(input) {\n var output = [];\n while (input.length) {\n if (input.match(RDS1)) {\n input = input.replace(RDS1, \"\");\n } else if (input.match(RDS2)) {\n input = input.replace(RDS2, \"/\");\n } else if (input.match(RDS3)) {\n input = input.replace(RDS3, \"/\");\n output.pop();\n } else if (input === \".\" || input === \"..\") {\n input = \"\";\n } else {\n var im = input.match(RDS5);\n if (im) {\n var s = im[0];\n input = input.slice(s.length);\n output.push(s);\n } else {\n throw new Error(\"Unexpected dot segment condition\");\n }\n }\n }\n return output.join(\"\");\n}\n\nfunction serialize(components) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n if (components.host) {\n //if host component is an IPv6 address\n if (protocol.IPV6ADDRESS.test(components.host)) {}\n //TODO: normalize IPv6 address as per RFC 5952\n\n //if host component is a domain name\n else if (options.domainHost || schemeHandler && schemeHandler.domainHost) {\n //convert IDN via punycode\n try {\n components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host);\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n }\n }\n //normalize encoding\n _normalizeComponentEncoding(components, protocol);\n if (options.reference !== \"suffix\" && components.scheme) {\n uriTokens.push(components.scheme);\n uriTokens.push(\":\");\n }\n var authority = _recomposeAuthority(components, options);\n if (authority !== undefined) {\n if (options.reference !== \"suffix\") {\n uriTokens.push(\"//\");\n }\n uriTokens.push(authority);\n if (components.path && components.path.charAt(0) !== \"/\") {\n uriTokens.push(\"/\");\n }\n }\n if (components.path !== undefined) {\n var s = components.path;\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s);\n }\n if (authority === undefined) {\n s = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n }\n uriTokens.push(s);\n }\n if (components.query !== undefined) {\n uriTokens.push(\"?\");\n uriTokens.push(components.query);\n }\n if (components.fragment !== undefined) {\n uriTokens.push(\"#\");\n uriTokens.push(components.fragment);\n }\n return uriTokens.join(\"\"); //merge tokens into a string\n}\n\nfunction resolveComponents(base, relative) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var skipNormalization = arguments[3];\n\n var target = {};\n if (!skipNormalization) {\n base = parse(serialize(base, options), options); //normalize base components\n relative = parse(serialize(relative, options), options); //normalize relative components\n }\n options = options || {};\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme;\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (!relative.path) {\n target.path = base.path;\n if (relative.query !== undefined) {\n target.query = relative.query;\n } else {\n target.query = base.query;\n }\n } else {\n if (relative.path.charAt(0) === \"/\") {\n target.path = removeDotSegments(relative.path);\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = \"/\" + relative.path;\n } else if (!base.path) {\n target.path = relative.path;\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n }\n target.path = removeDotSegments(target.path);\n }\n target.query = relative.query;\n }\n //target.authority = base.authority;\n target.userinfo = base.userinfo;\n target.host = base.host;\n target.port = base.port;\n }\n target.scheme = base.scheme;\n }\n target.fragment = relative.fragment;\n return target;\n}\n\nfunction resolve(baseURI, relativeURI, options) {\n var schemelessOptions = assign({ scheme: 'null' }, options);\n return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n}\n\nfunction normalize(uri, options) {\n if (typeof uri === \"string\") {\n uri = serialize(parse(uri, options), options);\n } else if (typeOf(uri) === \"object\") {\n uri = parse(serialize(uri, options), options);\n }\n return uri;\n}\n\nfunction equal(uriA, uriB, options) {\n if (typeof uriA === \"string\") {\n uriA = serialize(parse(uriA, options), options);\n } else if (typeOf(uriA) === \"object\") {\n uriA = serialize(uriA, options);\n }\n if (typeof uriB === \"string\") {\n uriB = serialize(parse(uriB, options), options);\n } else if (typeOf(uriB) === \"object\") {\n uriB = serialize(uriB, options);\n }\n return uriA === uriB;\n}\n\nfunction escapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar);\n}\n\nfunction unescapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars);\n}\n\nvar handler = {\n scheme: \"http\",\n domainHost: true,\n parse: function parse(components, options) {\n //report missing host\n if (!components.host) {\n components.error = components.error || \"HTTP URIs must have a host.\";\n }\n return components;\n },\n serialize: function serialize(components, options) {\n var secure = String(components.scheme).toLowerCase() === \"https\";\n //normalize the default port\n if (components.port === (secure ? 443 : 80) || components.port === \"\") {\n components.port = undefined;\n }\n //normalize the empty path\n if (!components.path) {\n components.path = \"/\";\n }\n //NOTE: We do not parse query strings for HTTP URIs\n //as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n //and not the HTTP spec.\n return components;\n }\n};\n\nvar handler$1 = {\n scheme: \"https\",\n domainHost: handler.domainHost,\n parse: handler.parse,\n serialize: handler.serialize\n};\n\nfunction isSecure(wsComponents) {\n return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n//RFC 6455\nvar handler$2 = {\n scheme: \"ws\",\n domainHost: true,\n parse: function parse(components, options) {\n var wsComponents = components;\n //indicate if the secure flag is set\n wsComponents.secure = isSecure(wsComponents);\n //construct resouce name\n wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');\n wsComponents.path = undefined;\n wsComponents.query = undefined;\n return wsComponents;\n },\n serialize: function serialize(wsComponents, options) {\n //normalize the default port\n if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === \"\") {\n wsComponents.port = undefined;\n }\n //ensure scheme matches secure flag\n if (typeof wsComponents.secure === 'boolean') {\n wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws';\n wsComponents.secure = undefined;\n }\n //reconstruct path from resource name\n if (wsComponents.resourceName) {\n var _wsComponents$resourc = wsComponents.resourceName.split('?'),\n _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2),\n path = _wsComponents$resourc2[0],\n query = _wsComponents$resourc2[1];\n\n wsComponents.path = path && path !== '/' ? path : undefined;\n wsComponents.query = query;\n wsComponents.resourceName = undefined;\n }\n //forbid fragment component\n wsComponents.fragment = undefined;\n return wsComponents;\n }\n};\n\nvar handler$3 = {\n scheme: \"wss\",\n domainHost: handler$2.domainHost,\n parse: handler$2.parse,\n serialize: handler$2.serialize\n};\n\nvar O = {};\nvar isIRI = true;\n//RFC 3986\nvar UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nvar HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nvar PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nvar ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nvar QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nvar VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nvar SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nvar UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nvar PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nvar NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nvar NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nvar NOT_HFVALUE = NOT_HFNAME;\nfunction decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(UNRESERVED) ? str : decStr;\n}\nvar handler$4 = {\n scheme: \"mailto\",\n parse: function parse$$1(components, options) {\n var mailtoComponents = components;\n var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(\",\") : [];\n mailtoComponents.path = undefined;\n if (mailtoComponents.query) {\n var unknownHeaders = false;\n var headers = {};\n var hfields = mailtoComponents.query.split(\"&\");\n for (var x = 0, xl = hfields.length; x < xl; ++x) {\n var hfield = hfields[x].split(\"=\");\n switch (hfield[0]) {\n case \"to\":\n var toAddrs = hfield[1].split(\",\");\n for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) {\n to.push(toAddrs[_x]);\n }\n break;\n case \"subject\":\n mailtoComponents.subject = unescapeComponent(hfield[1], options);\n break;\n case \"body\":\n mailtoComponents.body = unescapeComponent(hfield[1], options);\n break;\n default:\n unknownHeaders = true;\n headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n break;\n }\n }\n if (unknownHeaders) mailtoComponents.headers = headers;\n }\n mailtoComponents.query = undefined;\n for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) {\n var addr = to[_x2].split(\"@\");\n addr[0] = unescapeComponent(addr[0]);\n if (!options.unicodeSupport) {\n //convert Unicode IDN -> ASCII IDN\n try {\n addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n } catch (e) {\n mailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n }\n } else {\n addr[1] = unescapeComponent(addr[1], options).toLowerCase();\n }\n to[_x2] = addr.join(\"@\");\n }\n return mailtoComponents;\n },\n serialize: function serialize$$1(mailtoComponents, options) {\n var components = mailtoComponents;\n var to = toArray(mailtoComponents.to);\n if (to) {\n for (var x = 0, xl = to.length; x < xl; ++x) {\n var toAddr = String(to[x]);\n var atIdx = toAddr.lastIndexOf(\"@\");\n var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n var domain = toAddr.slice(atIdx + 1);\n //convert IDN via punycode\n try {\n domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain);\n } catch (e) {\n components.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n to[x] = localPart + \"@\" + domain;\n }\n components.path = to.join(\",\");\n }\n var headers = mailtoComponents.headers = mailtoComponents.headers || {};\n if (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n if (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n var fields = [];\n for (var name in headers) {\n if (headers[name] !== O[name]) {\n fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + \"=\" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar));\n }\n }\n if (fields.length) {\n components.query = fields.join(\"&\");\n }\n return components;\n }\n};\n\nvar URN_PARSE = /^([^\\:]+)\\:(.*)/;\n//RFC 2141\nvar handler$5 = {\n scheme: \"urn\",\n parse: function parse$$1(components, options) {\n var matches = components.path && components.path.match(URN_PARSE);\n var urnComponents = components;\n if (matches) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = matches[1].toLowerCase();\n var nss = matches[2];\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n urnComponents.nid = nid;\n urnComponents.nss = nss;\n urnComponents.path = undefined;\n if (schemeHandler) {\n urnComponents = schemeHandler.parse(urnComponents, options);\n }\n } else {\n urnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n }\n return urnComponents;\n },\n serialize: function serialize$$1(urnComponents, options) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = urnComponents.nid;\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n if (schemeHandler) {\n urnComponents = schemeHandler.serialize(urnComponents, options);\n }\n var uriComponents = urnComponents;\n var nss = urnComponents.nss;\n uriComponents.path = (nid || options.nid) + \":\" + nss;\n return uriComponents;\n }\n};\n\nvar UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\n//RFC 4122\nvar handler$6 = {\n scheme: \"urn:uuid\",\n parse: function parse(urnComponents, options) {\n var uuidComponents = urnComponents;\n uuidComponents.uuid = uuidComponents.nss;\n uuidComponents.nss = undefined;\n if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n uuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n }\n return uuidComponents;\n },\n serialize: function serialize(uuidComponents, options) {\n var urnComponents = uuidComponents;\n //normalize UUID\n urnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n return urnComponents;\n }\n};\n\nSCHEMES[handler.scheme] = handler;\nSCHEMES[handler$1.scheme] = handler$1;\nSCHEMES[handler$2.scheme] = handler$2;\nSCHEMES[handler$3.scheme] = handler$3;\nSCHEMES[handler$4.scheme] = handler$4;\nSCHEMES[handler$5.scheme] = handler$5;\nSCHEMES[handler$6.scheme] = handler$6;\n\nexports.SCHEMES = SCHEMES;\nexports.pctEncChar = pctEncChar;\nexports.pctDecChars = pctDecChars;\nexports.parse = parse;\nexports.removeDotSegments = removeDotSegments;\nexports.serialize = serialize;\nexports.resolveComponents = resolveComponents;\nexports.resolve = resolve;\nexports.normalize = normalize;\nexports.equal = equal;\nexports.escapeComponent = escapeComponent;\nexports.unescapeComponent = unescapeComponent;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=uri.all.js.map\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode/');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n"],"names":["compareVersions","LATEST_VERSION","SCHEMAS","EXTENSIONS","itemAndCollection","classification","datacube","eo","file","label","pointcloud","processing","projection","raster","sar","sat","scientific","view","version","timestamps","catalog","collection","item","Object","assign","Ext","parseUrl","url","match","id","V","extensions","set","stac","stac_version","Array","isArray","stac_extensions","ext","e","before","compare","comparator","compareTo","_","type","val","is","includes","isDefined","isObject","obj","rename","oldKey","newKey","copy","forAll","key","fn","i","toArray","flattenArray","newKeys","summary","value","flattenOneElementArray","length","removeFromArray","valueToRemove","index","indexOf","splice","pickFirst","ensure","defaultValue","upgradeExtension","context","extension","findIndex","old","addExtension","newExtension","push","sort","removeExtension","oldExtension","migrateExtensionShortnames","oldShortnames","keys","newSchemas","values","mapValues","populateExtensions","objectsToCheck","assets","concat","item_assets","summaries","properties","links","pop","forEach","bands","prefix","oldValues","newValues","map","mapObject","moveTo","fromSummary","mergedSummary","condition","runAll","migrations","startsWith","toUTC","this","toISOString","error","date","Date","replace","formatString","format","formatter","replaceAll","Checksum","multihash","hexToUint8","hexString","Error","Uint8Array","byte","parseInt","uint8ToHex","bytes","reduce","str","toString","padStart","toMultihash","algo","encoded","encode","console","warn","Catalog","migrate","updateVersionNumber","Collection","spatial","bbox","temporal","interval","extent","min","max","start","end","unshift","count","Math","union","fill","middle","c","collectionAssets","Asset","migrateAll","itemAsset","other_properties","prop","minimum","maximum","filter","v","a","b","find","link","rel","Fields","Item","geometry","commons","CollectionCollection","object","collections","ItemCollection","itemCollection","features","feature","field","asset","mediaTypes","Band","band","_commonMetadata","_timestamps","_versioningIndicator","checksum","o","description","cube","dtr","pc","proj","sci","table","Migrate","collectionCollection","license","enableMultihash","module","exports","buffer","Buffer","copyProps","src","dst","SafeBuffer","arg","encodingOrOffset","from","alloc","allocUnsafe","allocUnsafeSlow","prototype","create","TypeError","size","encoding","buf","undefined","SlowBuffer","GetIntrinsic","define","hasDescriptors","gOPD","$TypeError","$floor","loose","arguments","functionLengthIsConfigurable","functionLengthIsWritable","desc","configurable","writable","callBound","inspect","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","curr","prev","next","listGet","objects","node","listSet","listHas","$wm","$m","$o","channel","assert","has","get","Stream","EE","inherits","call","Readable","Writable","Duplex","Transform","PassThrough","finished","pipeline","pipe","dest","options","source","ondata","chunk","write","pause","ondrain","readable","resume","on","_isStdio","onend","onclose","didOnEnd","destroy","onerror","er","cleanup","listenerCount","removeListener","emit","_inheritsLoose","subClass","superClass","constructor","__proto__","codes","createErrorType","code","message","Base","getMessage","arg1","arg2","arg3","NodeError","_Base","name","oneOf","expected","thing","len","String","slice","join","search","pos","substr","endsWith","this_len","substring","actual","determiner","msg","objectKeys","method","allowHalfOpen","once","_writableState","ended","process","nextTick","onEndNT","self","defineProperty","enumerable","highWaterMark","getBuffer","_readableState","destroyed","_transform","cb","ReadableState","EElistenerCount","emitter","listeners","OurUint8Array","g","window","_uint8ArrayToBuffer","_isUint8Array","isBuffer","debug","debugUtil","debuglog","StringDecoder","createReadableStreamAsyncIterator","BufferList","destroyImpl","_require","getHighWaterMark","_require$codes","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","prependListener","event","_events","stream","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","decoder","read","_read","_destroy","readableAddChunk","addToFront","skipChunkCheck","state","onEofChunk","chunkInvalid","getPrototypeOf","addChunk","maybeReadMore","emitReadable","_undestroy","undestroy","err","isPaused","setEncoding","enc","p","head","content","data","clear","MAX_HWM","computeNewHighWaterMark","n","howMuchToRead","emitReadable_","flow","maybeReadMore_","pipeOnDrain","updateReadableListening","nReadingNextTick","resume_","fromList","ret","shift","first","consume","endReadable","endReadableNT","wState","xs","x","l","nOrig","doRead","pipeOpts","doEnd","stdout","stderr","endFn","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanedUp","onfinish","needDrain","dests","ev","res","addListener","removeAllListeners","apply","wrap","_this","bind","Symbol","asyncIterator","_fromList","iterable","opts","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","rs","needTransform","writeencoding","transform","flush","_flush","prefinish","done","_write","err2","CorkedRequest","entry","finish","onCorkedFinish","WritableState","internalUtil","deprecate","realHasInstance","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","ending","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","errorEmitted","bufferedRequestCount","corkedRequestsFree","writev","_writev","final","_final","writeAfterEnd","validChunk","decodeChunk","writeOrBuffer","isBuf","newChunk","last","callback","doWrite","onwriteError","finishMaybe","onwriteStateUpdate","needFinish","clearBuffer","afterWrite","onwriteDrain","holder","allBuffers","callFinal","need","rState","endWritable","corkReq","current","out","hasInstance","Function","cork","uncork","setDefaultEncoding","toLowerCase","_Object$setPrototypeO","_defineProperty","_toPropertyKey","_toPrimitive","input","hint","prim","toPrimitive","Number","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","iter","resolve","onReadable","wrapForNext","lastPromise","reject","then","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","setPrototypeOf","Promise","promise","_this2","_Object$create","iterator","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","target","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_require2","custom","copyBuffer","offset","tail","s","hasStrings","_getString","_getBuffer","nb","depth","customInspect","readableDestroyed","writableDestroyed","emitErrorNT","emitCloseNT","emitErrorAndCloseNT","ERR_STREAM_PREMATURE_CLOSE","called","_len","args","_key","noop","isRequest","setHeader","abort","eos","onlegacyfinish","writableEnded","readableEnded","onrequest","req","ERR_MISSING_ARGS","destroyer","closed","to","popCallback","streams","destroys","ERR_INVALID_OPT_VALUE","highWaterMarkFrom","duplexKey","hwm","isFinite","floor","isEncoding","_normalizeEncoding","retried","normalizeEncoding","nenc","text","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","utf8CheckIncomplete","j","utf8CheckExtraBytes","r","utf8Text","total","utf8End","charCodeAt","global","factory","merge","sets","xl","subexp","typeOf","split","toUpperCase","setInterval","buildExps","isIRI","ALPHA$$","DIGIT$$","HEXDIG$$","PCT_ENCODED$","GEN_DELIMS$$","SUB_DELIMS$$","RESERVED$$","UCSCHAR$$","IPRIVATE$$","UNRESERVED$$","SCHEME$","USERINFO$","DEC_OCTET_RELAXED$","IPV4ADDRESS$","H16$","LS32$","IPV6ADDRESS1$","IPV6ADDRESS2$","IPV6ADDRESS3$","IPV6ADDRESS4$","IPV6ADDRESS5$","IPV6ADDRESS6$","IPV6ADDRESS7$","IPV6ADDRESS8$","IPV6ADDRESS9$","IPV6ADDRESS$","ZONEID$","IPV6ADDRZ_RELAXED$","IPVFUTURE$","IP_LITERAL$","REG_NAME$","HOST$","PORT$","AUTHORITY$","PCHAR$","SEGMENT$","SEGMENT_NZ$","SEGMENT_NZ_NC$","PATH_ABEMPTY$","PATH_ABSOLUTE$","PATH_NOSCHEME$","PATH_ROOTLESS$","PATH_EMPTY$","QUERY$","FRAGMENT$","HIER_PART$","URI$","RELATIVE_PART$","RELATIVE$","NOT_SCHEME","RegExp","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","ESCAPE","UNRESERVED","OTHER_CHARS","PCT_ENCODED","IPV4ADDRESS","IPV6ADDRESS","URI_PROTOCOL","IRI_PROTOCOL","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","toConsumableArray","arr2","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","stringFromCharCode","fromCharCode","error$1","RangeError","array","result","mapDomain","string","parts","labels","ucs2decode","output","counter","extra","ucs2encode","fromCodePoint","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","decode","inputLength","bias","basic","lastIndexOf","oldi","w","t","baseMinusT","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_currentValue2","return","basicLength","handledCPCount","m","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","currentValue","handledCPCountPlusOne","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_currentValue","q","qMinusT","toUnicode","test","toASCII","punycode","SCHEMES","pctEncChar","chr","pctDecChars","newStr","il","c2","_c","c3","_normalizeComponentEncoding","components","protocol","decodeUnreserved","decStr","scheme","userinfo","host","path","query","fragment","_stripLeadingZeros","_normalizeIPv4","matches","_matches","address","_normalizeIPv6","_matches2","zone","_address$toLowerCase$","reverse","_address$toLowerCase$2","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","fields","allZeroFields","acc","lastLongest","longestZeroFields","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","parse","uriString","iri","reference","port","isNaN","schemeHandler","unicodeSupport","domainHost","_recomposeAuthority","uriTokens","$1","$2","RDS1","RDS2","RDS3","RDS5","removeDotSegments","im","serialize","authority","charAt","absolutePath","resolveComponents","relative","skipNormalization","tolerant","baseURI","relativeURI","schemelessOptions","normalize","uri","equal","uriA","uriB","escapeComponent","unescapeComponent","handler","secure","handler$1","isSecure","wsComponents","handler$2","resourceName","_wsComponents$resourc","_wsComponents$resourc2","handler$3","O","ATEXT$$","QTEXT$$","VCHAR$$","SOME_DELIMS$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","handler$4","mailtoComponents","unknownHeaders","headers","hfields","hfield","toAddrs","_x","_xl","subject","body","_x2","_xl2","addr","toAddr","atIdx","localPart","domain","URN_PARSE","handler$5","urnComponents","nid","nss","urnScheme","uriComponents","UUID","handler$6","uuidComponents","uuid","nodeType","freeGlobal","Url","slashes","auth","hostname","hash","pathname","href","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","javascript","hostlessProtocol","slashedProtocol","http","https","ftp","gopher","querystring","urlParse","parseQueryString","slashesDenoteHost","u","urlFormat","urlResolve","urlResolveObject","resolveObject","queryIndex","splitter","uSplit","slashRegex","rest","trim","simplePath","exec","proto","lowerProto","atSign","hostEnd","hec","decodeURIComponent","parseHost","ipv6Hostname","hostparts","part","newpart","validParts","notHost","bit","h","ae","esc","encodeURIComponent","escape","qm","stringify","arrayFormat","addQueryPrefix","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","up","isAbsolute"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-vendors-aacc2dbb.7ed4be52.js b/js/chunk-vendors-aacc2dbb.7ed4be52.js deleted file mode 100644 index 14e4e401..00000000 --- a/js/chunk-vendors-aacc2dbb.7ed4be52.js +++ /dev/null @@ -1,13 +0,0 @@ -(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[2475],{48287:(t,e,r)=>{"use strict"; -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */const n=r(67526),i=r(251),o="function"===typeof Symbol&&"function"===typeof Symbol["for"]?Symbol["for"]("nodejs.util.inspect.custom"):null;e.Buffer=h,e.SlowBuffer=E,e.INSPECT_MAX_BYTES=50;const f=2147483647;function s(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}function u(t){if(t>f)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,h.prototype),e}function h(t,e,r){if("number"===typeof t){if("string"===typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return a(t,e,r)}function a(t,e,r){if("string"===typeof t)return y(t,e);if(ArrayBuffer.isView(t))return w(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(ft(t,ArrayBuffer)||t&&ft(t.buffer,ArrayBuffer))return d(t,e,r);if("undefined"!==typeof SharedArrayBuffer&&(ft(t,SharedArrayBuffer)||t&&ft(t.buffer,SharedArrayBuffer)))return d(t,e,r);if("number"===typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return h.from(n,e,r);const i=b(t);if(i)return i;if("undefined"!==typeof Symbol&&null!=Symbol.toPrimitive&&"function"===typeof t[Symbol.toPrimitive])return h.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function p(t){if("number"!==typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function c(t,e,r){return p(t),t<=0?u(t):void 0!==e?"string"===typeof r?u(t).fill(e,r):u(t).fill(e):u(t)}function l(t){return p(t),u(t<0?0:0|m(t))}function y(t,e){if("string"===typeof e&&""!==e||(e="utf8"),!h.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|B(t,e);let n=u(r);const i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}function g(t){const e=t.length<0?0:0|m(t.length),r=u(e);for(let n=0;n=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return 0|t}function E(t){return+t!=t&&(t=0),h.alloc(+t)}function B(t,e){if(h.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||ft(t,ArrayBuffer))return t.byteLength;if("string"!==typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return et(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return it(t).length;default:if(i)return n?-1:et(t).length;e=(""+e).toLowerCase(),i=!0}}function v(t,e,r){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,e>>>=0,r<=e)return"";t||(t="utf8");while(1)switch(t){case"hex":return j(this,e,r);case"utf8":case"utf-8":return $(this,e,r);case"ascii":return C(this,e,r);case"latin1":case"binary":return P(this,e,r);case"base64":return L(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function I(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function A(t,e,r,n,i){if(0===t.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,st(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"===typeof e&&(e=h.from(e,n)),h.isBuffer(e))return 0===e.length?-1:U(t,e,r,n,i);if("number"===typeof e)return e&=255,"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):U(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function U(t,e,r,n,i){let o,f=1,s=t.length,u=e.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;f=2,s/=2,u/=2,r/=2}function h(t,e){return 1===f?t[e]:t.readUInt16BE(e*f)}if(i){let n=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){let r=!0;for(let n=0;ni&&(n=i)):n=i;const o=e.length;let f;for(n>o/2&&(n=o/2),f=0;f239?4:e>223?3:e>191?2:1;if(i+f<=r){let r,n,s,u;switch(f){case 1:e<128&&(o=e);break;case 2:r=t[i+1],128===(192&r)&&(u=(31&e)<<6|63&r,u>127&&(o=u));break;case 3:r=t[i+1],n=t[i+2],128===(192&r)&&128===(192&n)&&(u=(15&e)<<12|(63&r)<<6|63&n,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:r=t[i+1],n=t[i+2],s=t[i+3],128===(192&r)&&128===(192&n)&&128===(192&s)&&(u=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&s,u>65535&&u<1114112&&(o=u))}}null===o?(o=65533,f=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=f}return k(n)}e.kMaxLength=f,h.TYPED_ARRAY_SUPPORT=s(),h.TYPED_ARRAY_SUPPORT||"undefined"===typeof console||"function"!==typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(h.prototype,"parent",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.buffer}}),Object.defineProperty(h.prototype,"offset",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.byteOffset}}),h.poolSize=8192,h.from=function(t,e,r){return a(t,e,r)},Object.setPrototypeOf(h.prototype,Uint8Array.prototype),Object.setPrototypeOf(h,Uint8Array),h.alloc=function(t,e,r){return c(t,e,r)},h.allocUnsafe=function(t){return l(t)},h.allocUnsafeSlow=function(t){return l(t)},h.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==h.prototype},h.compare=function(t,e){if(ft(t,Uint8Array)&&(t=h.from(t,t.offset,t.byteLength)),ft(e,Uint8Array)&&(e=h.from(e,e.offset,e.byteLength)),!h.isBuffer(t)||!h.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,n=e.length;for(let i=0,o=Math.min(r,n);in.length?(h.isBuffer(e)||(e=h.from(e)),e.copy(n,i)):Uint8Array.prototype.set.call(n,e,i);else{if(!h.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(n,i)}i+=e.length}return n},h.byteLength=B,h.prototype._isBuffer=!0,h.prototype.swap16=function(){const t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;er&&(t+=" ... "),""},o&&(h.prototype[o]=h.prototype.inspect),h.prototype.compare=function(t,e,r,n,i){if(ft(t,Uint8Array)&&(t=h.from(t,t.offset,t.byteLength)),!h.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;let o=i-n,f=r-e;const s=Math.min(o,f),u=this.slice(n,i),a=t.slice(e,r);for(let h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return T(this,t,e,r);case"utf8":case"utf-8":return R(this,t,e,r);case"ascii":case"latin1":case"binary":return O(this,t,e,r);case"base64":return x(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const S=4096;function k(t){const e=t.length;if(e<=S)return String.fromCharCode.apply(String,t);let r="",n=0;while(nn)&&(r=n);let i="";for(let o=e;or)throw new RangeError("Trying to access beyond buffer length")}function z(t,e,r,n,i,o){if(!h.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function F(t,e,r,n,i){X(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let f=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,r}function D(t,e,r,n,i){X(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let f=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=f,f>>=8,t[r+2]=f,f>>=8,t[r+1]=f,f>>=8,t[r]=f,r+8}function Y(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,o){return e=+e,r>>>=0,o||Y(t,e,r,4,34028234663852886e22,-34028234663852886e22),i.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,o){return e=+e,r>>>=0,o||Y(t,e,r,8,17976931348623157e292,-17976931348623157e292),i.write(t,e,r,n,52,8),r+8}h.prototype.slice=function(t,e){const r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),e>>=0,e>>>=0,r||M(t,e,this.length);let n=this[t],i=1,o=0;while(++o>>=0,e>>>=0,r||M(t,e,this.length);let n=this[t+--e],i=1;while(e>0&&(i*=256))n+=this[t+--e]*i;return n},h.prototype.readUint8=h.prototype.readUInt8=function(t,e){return t>>>=0,e||M(t,1,this.length),this[t]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(t,e){return t>>>=0,e||M(t,2,this.length),this[t]|this[t+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(t,e){return t>>>=0,e||M(t,2,this.length),this[t]<<8|this[t+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(t,e){return t>>>=0,e||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(t,e){return t>>>=0,e||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},h.prototype.readBigUInt64LE=ht((function(t){t>>>=0,J(t,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const n=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,J(t,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const n=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<>>=0,e>>>=0,r||M(t,e,this.length);let n=this[t],i=1,o=0;while(++o=i&&(n-=Math.pow(2,8*e)),n},h.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||M(t,e,this.length);let n=e,i=1,o=this[t+--n];while(n>0&&(i*=256))o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},h.prototype.readInt8=function(t,e){return t>>>=0,e||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},h.prototype.readInt16LE=function(t,e){t>>>=0,e||M(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt16BE=function(t,e){t>>>=0,e||M(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt32LE=function(t,e){return t>>>=0,e||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},h.prototype.readInt32BE=function(t,e){return t>>>=0,e||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},h.prototype.readBigInt64LE=ht((function(t){t>>>=0,J(t,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const n=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(n)<>>=0,J(t,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const n=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(n)<>>=0,e||M(t,4,this.length),i.read(this,t,!0,23,4)},h.prototype.readFloatBE=function(t,e){return t>>>=0,e||M(t,4,this.length),i.read(this,t,!1,23,4)},h.prototype.readDoubleLE=function(t,e){return t>>>=0,e||M(t,8,this.length),i.read(this,t,!0,52,8)},h.prototype.readDoubleBE=function(t,e){return t>>>=0,e||M(t,8,this.length),i.read(this,t,!1,52,8)},h.prototype.writeUintLE=h.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){const n=Math.pow(2,8*r)-1;z(this,t,e,r,n,0)}let i=1,o=0;this[e]=255&t;while(++o>>=0,r>>>=0,!n){const n=Math.pow(2,8*r)-1;z(this,t,e,r,n,0)}let i=r-1,o=1;this[e+i]=255&t;while(--i>=0&&(o*=256))this[e+i]=t/o&255;return e+r},h.prototype.writeUint8=h.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,255,0),this[e]=255&t,e+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigUInt64LE=ht((function(t,e=0){return F(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeBigUInt64BE=ht((function(t,e=0){return D(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);z(this,t,e,r,n-1,-n)}let i=0,o=1,f=0;this[e]=255&t;while(++i>>=0,!n){const n=Math.pow(2,8*r-1);z(this,t,e,r,n-1,-n)}let i=r-1,o=1,f=0;this[e+i]=255&t;while(--i>=0&&(o*=256))t<0&&0===f&&0!==this[e+i+1]&&(f=1),this[e+i]=(t/o|0)-f&255;return e+r},h.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},h.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},h.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigInt64LE=ht((function(t,e=0){return F(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeBigInt64BE=ht((function(t,e=0){return D(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},h.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},h.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},h.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},h.prototype.copy=function(t,e,r,n){if(!h.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"===typeof t)for(i=e;i=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function W(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}function X(t,e,r,n,i,o){if(t>r||t3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(o+1)}${n}`:`>= -(2${n} ** ${8*(o+1)-1}${n}) and < 2 ** ${8*(o+1)-1}${n}`:`>= ${e}${n} and <= ${r}${n}`,new Z.ERR_OUT_OF_RANGE("value",i,t)}W(n,i,o)}function J(t,e){if("number"!==typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}V("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),V("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),V("ERR_OUT_OF_RANGE",(function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=H(String(r)):"bigint"===typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=H(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n}),RangeError);const Q=/[^+/0-9A-Za-z-_]/g;function tt(t){if(t=t.split("=")[0],t=t.trim().replace(Q,""),t.length<2)return"";while(t.length%4!==0)t+="=";return t}function et(t,e){let r;e=e||1/0;const n=t.length;let i=null;const o=[];for(let f=0;f55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(f+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function rt(t){const e=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n)}return o}function it(t){return n.toByteArray(tt(t))}function ot(t,e,r,n){let i;for(i=0;i=e.length||i>=t.length)break;e[i+r]=t[i]}return i}function ft(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function st(t){return t!==t}const ut=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function ht(t){return"undefined"===typeof BigInt?at:t}function at(){throw new Error("BigInt not supported")}},38075:(t,e,r)=>{"use strict";var n=r(70453),i=r(10487),o=i(n("String.prototype.indexOf"));t.exports=function(t,e){var r=n(t,!!e);return"function"===typeof r&&o(t,".prototype.")>-1?i(r):r}},10487:(t,e,r)=>{"use strict";var n=r(66743),i=r(70453),o=r(96897),f=r(69675),s=i("%Function.prototype.apply%"),u=i("%Function.prototype.call%"),h=i("%Reflect.apply%",!0)||n.call(u,s),a=r(30655),p=i("%Math.max%");t.exports=function(t){if("function"!==typeof t)throw new f("a function is required");var e=h(n,u,arguments);return o(e,1+p(0,t.length-(arguments.length-1)),!0)};var c=function(){return h(n,s,arguments)};a?a(t.exports,"apply",{value:c}):t.exports.apply=c},36246:function(t,e){var r,n,i;(function(o,f){n=[],r=f,i="function"===typeof r?r.apply(e,n):r,void 0===i||(t.exports=i)})(0,(function(){var t=/^v?(?:\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+))?(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;function e(t,e){return-1===t.indexOf(e)?t.length:t.indexOf(e)}function r(t){var r=t.replace(/^v/,"").replace(/\+.*$/,""),n=e(r,"-"),i=r.substring(0,n).split(".");return i.push(r.substring(n+1)),i}function n(t){return isNaN(Number(t))?t:Number(t)}function i(e){if("string"!==typeof e)throw new TypeError("Invalid argument expected string");if(!t.test(e))throw new Error("Invalid argument not valid semver ('"+e+"' received)")}function o(t,e){[t,e].forEach(i);for(var o=r(t),f=r(e),s=0;sh)return 1;if(h>u)return-1}var a=o[o.length-1],p=f[f.length-1];if(a&&p){var c=a.split(".").map(n),l=p.split(".").map(n);for(s=0;sl[s])return 1;if(l[s]>c[s])return-1}}else if(a||p)return a?-1:1;return 0}var f=[">",">=","=","<","<="],s={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]};function u(t){if("string"!==typeof t)throw new TypeError("Invalid operator type, expected string but got "+typeof t);if(-1===f.indexOf(t))throw new TypeError("Invalid operator, expected one of "+f.join("|"))}return o.validate=function(e){return"string"===typeof e&&t.test(e)},o.compare=function(t,e,r){u(r);var n=o(t,e);return s[r].indexOf(n)>-1},o}))},58597:(t,e)=>{"use strict"; -/*! - * content-type - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */var r=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,n=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,i=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,o=/\\([\u000b\u0020-\u00ff])/g,f=/([\\"])/g,s=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function u(t){if(!t||"object"!==typeof t)throw new TypeError("argument obj is required");var e=t.parameters,r=t.type;if(!r||!s.test(r))throw new TypeError("invalid type");var n=r;if(e&&"object"===typeof e)for(var o,f=Object.keys(e).sort(),u=0;u0&&!n.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(f,"\\$1")+'"'}function c(t){this.parameters=Object.create(null),this.type=t}e.format=u,e.parse=h}}]); -//# sourceMappingURL=chunk-vendors-aacc2dbb.7ed4be52.js.map \ No newline at end of file diff --git a/js/chunk-vendors-aacc2dbb.7ed4be52.js.map b/js/chunk-vendors-aacc2dbb.7ed4be52.js.map deleted file mode 100644 index 4b43c0bd..00000000 --- a/js/chunk-vendors-aacc2dbb.7ed4be52.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/chunk-vendors-aacc2dbb.7ed4be52.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/buffer/index.js","webpack://@openeo/web-editor/./node_modules/call-bind/callBound.js","webpack://@openeo/web-editor/./node_modules/call-bind/index.js","webpack://@openeo/web-editor/./node_modules/compare-versions/index.js","webpack://@openeo/web-editor/./node_modules/content-type/index.js"],"sourcesContent":["/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","/* global define */\n(function (root, factory) {\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.compareVersions = factory();\n }\n}(this, function () {\n\n var semver = /^v?(?:\\d+)(\\.(?:[x*]|\\d+)(\\.(?:[x*]|\\d+)(\\.(?:[x*]|\\d+))?(?:-[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\n\n function indexOrEnd(str, q) {\n return str.indexOf(q) === -1 ? str.length : str.indexOf(q);\n }\n\n function split(v) {\n var c = v.replace(/^v/, '').replace(/\\+.*$/, '');\n var patchIndex = indexOrEnd(c, '-');\n var arr = c.substring(0, patchIndex).split('.');\n arr.push(c.substring(patchIndex + 1));\n return arr;\n }\n\n function tryParse(v) {\n return isNaN(Number(v)) ? v : Number(v);\n }\n\n function validate(version) {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n if (!semver.test(version)) {\n throw new Error('Invalid argument not valid semver (\\''+version+'\\' received)');\n }\n }\n\n function compareVersions(v1, v2) {\n [v1, v2].forEach(validate);\n\n var s1 = split(v1);\n var s2 = split(v2);\n\n for (var i = 0; i < Math.max(s1.length - 1, s2.length - 1); i++) {\n var n1 = parseInt(s1[i] || 0, 10);\n var n2 = parseInt(s2[i] || 0, 10);\n\n if (n1 > n2) return 1;\n if (n2 > n1) return -1;\n }\n\n var sp1 = s1[s1.length - 1];\n var sp2 = s2[s2.length - 1];\n\n if (sp1 && sp2) {\n var p1 = sp1.split('.').map(tryParse);\n var p2 = sp2.split('.').map(tryParse);\n\n for (i = 0; i < Math.max(p1.length, p2.length); i++) {\n if (p1[i] === undefined || typeof p2[i] === 'string' && typeof p1[i] === 'number') return -1;\n if (p2[i] === undefined || typeof p1[i] === 'string' && typeof p2[i] === 'number') return 1;\n\n if (p1[i] > p2[i]) return 1;\n if (p2[i] > p1[i]) return -1;\n }\n } else if (sp1 || sp2) {\n return sp1 ? -1 : 1;\n }\n\n return 0;\n };\n\n var allowedOperators = [\n '>',\n '>=',\n '=',\n '<',\n '<='\n ];\n\n var operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1]\n };\n\n function validateOperator(op) {\n if (typeof op !== 'string') {\n throw new TypeError('Invalid operator type, expected string but got ' + typeof op);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new TypeError('Invalid operator, expected one of ' + allowedOperators.join('|'));\n }\n }\n\n compareVersions.validate = function(version) {\n return typeof version === 'string' && semver.test(version);\n }\n\n compareVersions.compare = function (v1, v2, operator) {\n // Validate operator\n validateOperator(operator);\n\n // since result of compareVersions can only be -1 or 0 or 1\n // a simple map can be used to replace switch\n var res = compareVersions(v1, v2);\n return operatorResMap[operator].indexOf(res) > -1;\n }\n\n return compareVersions;\n}));\n","/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nvar PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *(\"(?:[\\u000b\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\u000b\\u0020-\\u00ff])*\"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g // eslint-disable-line no-control-regex\nvar TEXT_REGEXP = /^[\\u000b\\u0020-\\u007e\\u0080-\\u00ff]+$/ // eslint-disable-line no-control-regex\nvar TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nvar QESC_REGEXP = /\\\\([\\u000b\\u0020-\\u00ff])/g // eslint-disable-line no-control-regex\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6\n */\nvar QUOTE_REGEXP = /([\\\\\"])/g\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nvar TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * Module exports.\n * @public\n */\n\nexports.format = format\nexports.parse = parse\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var parameters = obj.parameters\n var type = obj.type\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n var string = type\n\n // append parameters\n if (parameters && typeof parameters === 'object') {\n var param\n var params = Object.keys(parameters).sort()\n\n for (var i = 0; i < params.length; i++) {\n param = params[i]\n\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError('invalid parameter name')\n }\n\n string += '; ' + param + '=' + qstring(parameters[param])\n }\n }\n\n return string\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} string\n * @return {Object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n // support req/res-like objects as argument\n var header = typeof string === 'object'\n ? getcontenttype(string)\n : string\n\n if (typeof header !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var index = header.indexOf(';')\n var type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (!TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid media type')\n }\n\n var obj = new ContentType(type.toLowerCase())\n\n // parse parameters\n if (index !== -1) {\n var key\n var match\n var value\n\n PARAM_REGEXP.lastIndex = index\n\n while ((match = PARAM_REGEXP.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value.charCodeAt(0) === 0x22 /* \" */) {\n // remove quotes\n value = value.slice(1, -1)\n\n // remove escapes\n if (value.indexOf('\\\\') !== -1) {\n value = value.replace(QESC_REGEXP, '$1')\n }\n }\n\n obj.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n }\n\n return obj\n}\n\n/**\n * Get content-type from req/res objects.\n *\n * @param {object}\n * @return {Object}\n * @private\n */\n\nfunction getcontenttype (obj) {\n var header\n\n if (typeof obj.getHeader === 'function') {\n // res-like\n header = obj.getHeader('content-type')\n } else if (typeof obj.headers === 'object') {\n // req-like\n header = obj.headers && obj.headers['content-type']\n }\n\n if (typeof header !== 'string') {\n throw new TypeError('content-type header is missing from object')\n }\n\n return header\n}\n\n/**\n * Quote a string if necessary.\n *\n * @param {string} val\n * @return {string}\n * @private\n */\n\nfunction qstring (val) {\n var str = String(val)\n\n // no need to quote tokens\n if (TOKEN_REGEXP.test(str)) {\n return str\n }\n\n if (str.length > 0 && !TEXT_REGEXP.test(str)) {\n throw new TypeError('invalid parameter value')\n }\n\n return '\"' + str.replace(QUOTE_REGEXP, '\\\\$1') + '\"'\n}\n\n/**\n * Class to represent a content type.\n * @private\n */\nfunction ContentType (type) {\n this.parameters = Object.create(null)\n this.type = type\n}\n"],"names":["base64","ieee754","customInspectSymbol","Symbol","exports","Buffer","SlowBuffer","INSPECT_MAX_BYTES","K_MAX_LENGTH","typedArraySupport","arr","Uint8Array","proto","foo","Object","setPrototypeOf","prototype","e","createBuffer","length","RangeError","buf","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","fromString","ArrayBuffer","isView","fromArrayView","isInstance","buffer","fromArrayBuffer","SharedArrayBuffer","valueOf","b","fromObject","toPrimitive","assertSize","size","alloc","fill","encoding","undefined","checked","string","isEncoding","byteLength","actual","write","slice","fromArrayLike","array","i","arrayView","copy","byteOffset","obj","isBuffer","len","numberIsNaN","type","Array","isArray","data","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","indexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","fromByteArray","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","push","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","console","error","defineProperty","enumerable","get","poolSize","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","apply","toLocaleString","equals","inspect","str","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","Error","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","lo","BigInt","hi","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","maxBytes","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","code","charCodeAt","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","checkBounds","range","ERR_OUT_OF_RANGE","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","base64clean","split","units","Infinity","leadSurrogate","byteArray","c","toByteArray","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","GetIntrinsic","callBind","$indexOf","module","allowMissing","intrinsic","bind","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","func","applyBind","root","factory","semver","indexOrEnd","q","v","patchIndex","substring","tryParse","isNaN","validate","version","test","compareVersions","v1","v2","forEach","s1","s2","n1","n2","sp1","sp2","p1","map","p2","allowedOperators","operatorResMap","validateOperator","op","join","operator","PARAM_REGEXP","TEXT_REGEXP","TOKEN_REGEXP","QESC_REGEXP","QUOTE_REGEXP","TYPE_REGEXP","format","parameters","param","params","keys","sort","qstring","parse","header","getcontenttype","index","ContentType","key","match","lastIndex","exec","getHeader","headers","create"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-vendors-aacc2dbb.bd3ac924.js b/js/chunk-vendors-aacc2dbb.bd3ac924.js new file mode 100644 index 00000000..8f903f3f --- /dev/null +++ b/js/chunk-vendors-aacc2dbb.bd3ac924.js @@ -0,0 +1,15 @@ +"use strict";(globalThis["webpackChunk_openeo_web_editor"]=globalThis["webpackChunk_openeo_web_editor"]||[]).push([[2475],{48287:(t,e,r)=>{ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +const n=r(67526),i=r(251),o="function"===typeof Symbol&&"function"===typeof Symbol["for"]?Symbol["for"]("nodejs.util.inspect.custom"):null;e.Buffer=h,e.SlowBuffer=E,e.INSPECT_MAX_BYTES=50;const f=2147483647;function s(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}function u(t){if(t>f)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,h.prototype),e}function h(t,e,r){if("number"===typeof t){if("string"===typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return a(t,e,r)}function a(t,e,r){if("string"===typeof t)return y(t,e);if(ArrayBuffer.isView(t))return d(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(ft(t,ArrayBuffer)||t&&ft(t.buffer,ArrayBuffer))return w(t,e,r);if("undefined"!==typeof SharedArrayBuffer&&(ft(t,SharedArrayBuffer)||t&&ft(t.buffer,SharedArrayBuffer)))return w(t,e,r);if("number"===typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return h.from(n,e,r);const i=b(t);if(i)return i;if("undefined"!==typeof Symbol&&null!=Symbol.toPrimitive&&"function"===typeof t[Symbol.toPrimitive])return h.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function c(t){if("number"!==typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function p(t,e,r){return c(t),t<=0?u(t):void 0!==e?"string"===typeof r?u(t).fill(e,r):u(t).fill(e):u(t)}function l(t){return c(t),u(t<0?0:0|m(t))}function y(t,e){if("string"===typeof e&&""!==e||(e="utf8"),!h.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|B(t,e);let n=u(r);const i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}function g(t){const e=t.length<0?0:0|m(t.length),r=u(e);for(let n=0;n=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return 0|t}function E(t){return+t!=t&&(t=0),h.alloc(+t)}function B(t,e){if(h.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||ft(t,ArrayBuffer))return t.byteLength;if("string"!==typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return et(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return it(t).length;default:if(i)return n?-1:et(t).length;e=(""+e).toLowerCase(),i=!0}}function v(t,e,r){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,e>>>=0,r<=e)return"";t||(t="utf8");while(1)switch(t){case"hex":return z(this,e,r);case"utf8":case"utf-8":return L(this,e,r);case"ascii":return C(this,e,r);case"latin1":case"binary":return j(this,e,r);case"base64":return $(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function I(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function A(t,e,r,n,i){if(0===t.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,st(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"===typeof e&&(e=h.from(e,n)),h.isBuffer(e))return 0===e.length?-1:U(t,e,r,n,i);if("number"===typeof e)return e&=255,"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):U(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function U(t,e,r,n,i){let o,f=1,s=t.length,u=e.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;f=2,s/=2,u/=2,r/=2}function h(t,e){return 1===f?t[e]:t.readUInt16BE(e*f)}if(i){let n=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){let r=!0;for(let n=0;ni&&(n=i)):n=i;const o=e.length;let f;for(n>o/2&&(n=o/2),f=0;f239?4:e>223?3:e>191?2:1;if(i+f<=r){let r,n,s,u;switch(f){case 1:e<128&&(o=e);break;case 2:r=t[i+1],128===(192&r)&&(u=(31&e)<<6|63&r,u>127&&(o=u));break;case 3:r=t[i+1],n=t[i+2],128===(192&r)&&128===(192&n)&&(u=(15&e)<<12|(63&r)<<6|63&n,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:r=t[i+1],n=t[i+2],s=t[i+3],128===(192&r)&&128===(192&n)&&128===(192&s)&&(u=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&s,u>65535&&u<1114112&&(o=u))}}null===o?(o=65533,f=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=f}return k(n)}e.kMaxLength=f,h.TYPED_ARRAY_SUPPORT=s(),h.TYPED_ARRAY_SUPPORT||"undefined"===typeof console||"function"!==typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(h.prototype,"parent",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.buffer}}),Object.defineProperty(h.prototype,"offset",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.byteOffset}}),h.poolSize=8192,h.from=function(t,e,r){return a(t,e,r)},Object.setPrototypeOf(h.prototype,Uint8Array.prototype),Object.setPrototypeOf(h,Uint8Array),h.alloc=function(t,e,r){return p(t,e,r)},h.allocUnsafe=function(t){return l(t)},h.allocUnsafeSlow=function(t){return l(t)},h.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==h.prototype},h.compare=function(t,e){if(ft(t,Uint8Array)&&(t=h.from(t,t.offset,t.byteLength)),ft(e,Uint8Array)&&(e=h.from(e,e.offset,e.byteLength)),!h.isBuffer(t)||!h.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,n=e.length;for(let i=0,o=Math.min(r,n);in.length?(h.isBuffer(e)||(e=h.from(e)),e.copy(n,i)):Uint8Array.prototype.set.call(n,e,i);else{if(!h.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(n,i)}i+=e.length}return n},h.byteLength=B,h.prototype._isBuffer=!0,h.prototype.swap16=function(){const t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;er&&(t+=" ... "),""},o&&(h.prototype[o]=h.prototype.inspect),h.prototype.compare=function(t,e,r,n,i){if(ft(t,Uint8Array)&&(t=h.from(t,t.offset,t.byteLength)),!h.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;let o=i-n,f=r-e;const s=Math.min(o,f),u=this.slice(n,i),a=t.slice(e,r);for(let h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return T(this,t,e,r);case"utf8":case"utf-8":return R(this,t,e,r);case"ascii":case"latin1":case"binary":return O(this,t,e,r);case"base64":return x(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const S=4096;function k(t){const e=t.length;if(e<=S)return String.fromCharCode.apply(String,t);let r="",n=0;while(nn)&&(r=n);let i="";for(let o=e;or)throw new RangeError("Trying to access beyond buffer length")}function F(t,e,r,n,i,o){if(!h.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function M(t,e,r,n,i){W(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let f=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,r}function Z(t,e,r,n,i){W(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let f=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=f,f>>=8,t[r+2]=f,f>>=8,t[r+1]=f,f>>=8,t[r]=f,r+8}function D(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Y(t,e,r,n,o){return e=+e,r>>>=0,o||D(t,e,r,4,34028234663852886e22,-34028234663852886e22),i.write(t,e,r,n,23,4),r+4}function q(t,e,r,n,o){return e=+e,r>>>=0,o||D(t,e,r,8,17976931348623157e292,-17976931348623157e292),i.write(t,e,r,n,52,8),r+8}h.prototype.slice=function(t,e){const r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);let n=this[t],i=1,o=0;while(++o>>=0,e>>>=0,r||N(t,e,this.length);let n=this[t+--e],i=1;while(e>0&&(i*=256))n+=this[t+--e]*i;return n},h.prototype.readUint8=h.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},h.prototype.readBigUInt64LE=ht((function(t){t>>>=0,J(t,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const n=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,J(t,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const n=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);let n=this[t],i=1,o=0;while(++o=i&&(n-=Math.pow(2,8*e)),n},h.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);let n=e,i=1,o=this[t+--n];while(n>0&&(i*=256))o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},h.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},h.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},h.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},h.prototype.readBigInt64LE=ht((function(t){t>>>=0,J(t,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const n=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(n)<>>=0,J(t,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const n=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),i.read(this,t,!0,23,4)},h.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),i.read(this,t,!1,23,4)},h.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),i.read(this,t,!0,52,8)},h.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),i.read(this,t,!1,52,8)},h.prototype.writeUintLE=h.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){const n=Math.pow(2,8*r)-1;F(this,t,e,r,n,0)}let i=1,o=0;this[e]=255&t;while(++o>>=0,r>>>=0,!n){const n=Math.pow(2,8*r)-1;F(this,t,e,r,n,0)}let i=r-1,o=1;this[e+i]=255&t;while(--i>=0&&(o*=256))this[e+i]=t/o&255;return e+r},h.prototype.writeUint8=h.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,1,255,0),this[e]=255&t,e+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigUInt64LE=ht((function(t,e=0){return M(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeBigUInt64BE=ht((function(t,e=0){return Z(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);F(this,t,e,r,n-1,-n)}let i=0,o=1,f=0;this[e]=255&t;while(++i>>=0,!n){const n=Math.pow(2,8*r-1);F(this,t,e,r,n-1,-n)}let i=r-1,o=1,f=0;this[e+i]=255&t;while(--i>=0&&(o*=256))t<0&&0===f&&0!==this[e+i+1]&&(f=1),this[e+i]=(t/o|0)-f&255;return e+r},h.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},h.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},h.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||F(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigInt64LE=ht((function(t,e=0){return M(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeBigInt64BE=ht((function(t,e=0){return Z(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeFloatLE=function(t,e,r){return Y(this,t,e,!0,r)},h.prototype.writeFloatBE=function(t,e,r){return Y(this,t,e,!1,r)},h.prototype.writeDoubleLE=function(t,e,r){return q(this,t,e,!0,r)},h.prototype.writeDoubleBE=function(t,e,r){return q(this,t,e,!1,r)},h.prototype.copy=function(t,e,r,n){if(!h.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"===typeof t)for(i=e;i=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function H(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}function W(t,e,r,n,i,o){if(t>r||t3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(o+1)}${n}`:`>= -(2${n} ** ${8*(o+1)-1}${n}) and < 2 ** ${8*(o+1)-1}${n}`:`>= ${e}${n} and <= ${r}${n}`,new G.ERR_OUT_OF_RANGE("value",i,t)}H(n,i,o)}function J(t,e){if("number"!==typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new G.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}V("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),V("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),V("ERR_OUT_OF_RANGE",(function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=X(String(r)):"bigint"===typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=X(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n}),RangeError);const Q=/[^+/0-9A-Za-z-_]/g;function tt(t){if(t=t.split("=")[0],t=t.trim().replace(Q,""),t.length<2)return"";while(t.length%4!==0)t+="=";return t}function et(t,e){let r;e=e||1/0;const n=t.length;let i=null;const o=[];for(let f=0;f55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(f+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function rt(t){const e=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n)}return o}function it(t){return n.toByteArray(tt(t))}function ot(t,e,r,n){let i;for(i=0;i=e.length||i>=t.length)break;e[i+r]=t[i]}return i}function ft(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function st(t){return t!==t}const ut=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function ht(t){return"undefined"===typeof BigInt?at:t}function at(){throw new Error("BigInt not supported")}},38075:(t,e,r)=>{var n=r(70453),i=r(10487),o=i(n("String.prototype.indexOf"));t.exports=function(t,e){var r=n(t,!!e);return"function"===typeof r&&o(t,".prototype.")>-1?i(r):r}},10487:(t,e,r)=>{var n=r(66743),i=r(70453),o=r(96897),f=r(69675),s=i("%Function.prototype.apply%"),u=i("%Function.prototype.call%"),h=i("%Reflect.apply%",!0)||n.call(u,s),a=r(30655),c=i("%Math.max%");t.exports=function(t){if("function"!==typeof t)throw new f("a function is required");var e=h(n,u,arguments);return o(e,1+c(0,t.length-(arguments.length-1)),!0)};var p=function(){return h(n,s,arguments)};a?a(t.exports,"apply",{value:p}):t.exports.apply=p},19396:(t,e,r)=>{r.r(e),r.d(e,{compare:()=>c,compareVersions:()=>a,satisfies:()=>g,validate:()=>d,validateStrict:()=>w});const n=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,i=t=>{if("string"!==typeof t)throw new TypeError("Invalid argument expected string");const e=t.match(n);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},o=t=>"*"===t||"x"===t||"X"===t,f=t=>{const e=parseInt(t,10);return isNaN(e)?t:e},s=(t,e)=>typeof t!==typeof e?[String(t),String(e)]:[t,e],u=(t,e)=>{if(o(t)||o(e))return 0;const[r,n]=s(f(t),f(e));return r>n?1:r{for(let r=0;r{const r=i(t),n=i(e),o=r.pop(),f=n.pop(),s=h(r,n);return 0!==s?s:o&&f?h(o.split("."),f.split(".")):o||f?o?-1:1:0},c=(t,e,r)=>{y(r);const n=a(t,e);return p[r].includes(n)},p={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},l=Object.keys(p),y=t=>{if("string"!==typeof t)throw new TypeError("Invalid operator type, expected string but got "+typeof t);if(-1===l.indexOf(t))throw new Error(`Invalid operator, expected one of ${l.join("|")}`)},g=(t,e)=>{if(e=e.replace(/([><=]+)\s+/g,"$1"),e.includes("||"))return e.split("||").some((e=>g(t,e)));if(e.includes(" - ")){const[r,n]=e.split(" - ",2);return g(t,`>=${r} <=${n}`)}if(e.includes(" "))return e.trim().replace(/\s{2,}/g," ").split(" ").every((e=>g(t,e)));const r=e.match(/^([<>=~^]+)/),n=r?r[1]:"=";if("^"!==n&&"~"!==n)return c(t,e,n);const[o,f,s,,u]=i(t),[a,p,l,,y]=i(e),d=[o,f,s],w=[a,null!==p&&void 0!==p?p:"x",null!==l&&void 0!==l?l:"x"];if(y){if(!u)return!1;if(0!==h(d,w))return!1;if(-1===h(u.split("."),y.split(".")))return!1}const b=w.findIndex((t=>"0"!==t))+1,m="~"===n?2:b>1?b:1;return 0===h(d.slice(0,m),w.slice(0,m))&&-1!==h(d.slice(m),w.slice(m))},d=t=>"string"===typeof t&&/^[v\d]/.test(t)&&n.test(t),w=t=>"string"===typeof t&&/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/.test(t)},58597:(t,e)=>{ +/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ +var r=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,n=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,i=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,o=/\\([\u000b\u0020-\u00ff])/g,f=/([\\"])/g,s=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function u(t){if(!t||"object"!==typeof t)throw new TypeError("argument obj is required");var e=t.parameters,r=t.type;if(!r||!s.test(r))throw new TypeError("invalid type");var n=r;if(e&&"object"===typeof e)for(var o,f=Object.keys(e).sort(),u=0;u0&&!n.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(f,"\\$1")+'"'}function p(t){this.parameters=Object.create(null),this.type=t}e.format=u,e.parse=h}}]); +//# sourceMappingURL=chunk-vendors-aacc2dbb.bd3ac924.js.map \ No newline at end of file diff --git a/js/chunk-vendors-aacc2dbb.bd3ac924.js.map b/js/chunk-vendors-aacc2dbb.bd3ac924.js.map new file mode 100644 index 00000000..cd412026 --- /dev/null +++ b/js/chunk-vendors-aacc2dbb.bd3ac924.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/chunk-vendors-aacc2dbb.bd3ac924.js","mappings":"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","sources":["webpack://@openeo/web-editor/./node_modules/buffer/index.js","webpack://@openeo/web-editor/./node_modules/call-bind/callBound.js","webpack://@openeo/web-editor/./node_modules/call-bind/index.js","webpack://@openeo/web-editor/./node_modules/compare-versions/lib/esm/utils.js","webpack://@openeo/web-editor/./node_modules/compare-versions/lib/esm/compareVersions.js","webpack://@openeo/web-editor/./node_modules/compare-versions/lib/esm/compare.js","webpack://@openeo/web-editor/./node_modules/compare-versions/lib/esm/satisfies.js","webpack://@openeo/web-editor/./node_modules/compare-versions/lib/esm/validate.js","webpack://@openeo/web-editor/./node_modules/content-type/index.js"],"sourcesContent":["/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","export const semver = /^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\-]+(?:\\.[\\da-z\\-]+)*))?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\nexport const validateAndParse = (version) => {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n const match = version.match(semver);\n if (!match) {\n throw new Error(`Invalid argument not valid semver ('${version}' received)`);\n }\n match.shift();\n return match;\n};\nconst isWildcard = (s) => s === '*' || s === 'x' || s === 'X';\nconst tryParse = (v) => {\n const n = parseInt(v, 10);\n return isNaN(n) ? v : n;\n};\nconst forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];\nconst compareStrings = (a, b) => {\n if (isWildcard(a) || isWildcard(b))\n return 0;\n const [ap, bp] = forceType(tryParse(a), tryParse(b));\n if (ap > bp)\n return 1;\n if (ap < bp)\n return -1;\n return 0;\n};\nexport const compareSegments = (a, b) => {\n for (let i = 0; i < Math.max(a.length, b.length); i++) {\n const r = compareStrings(a[i] || '0', b[i] || '0');\n if (r !== 0)\n return r;\n }\n return 0;\n};\n//# sourceMappingURL=utils.js.map","import { compareSegments, validateAndParse } from './utils.js';\n/**\n * Compare [semver](https://semver.org/) version strings to find greater, equal or lesser.\n * This library supports the full semver specification, including comparing versions with different number of digits like `1.0.0`, `1.0`, `1`, and pre-release versions like `1.0.0-alpha`.\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\n */\nexport const compareVersions = (v1, v2) => {\n // validate input and split into segments\n const n1 = validateAndParse(v1);\n const n2 = validateAndParse(v2);\n // pop off the patch\n const p1 = n1.pop();\n const p2 = n2.pop();\n // validate numbers\n const r = compareSegments(n1, n2);\n if (r !== 0)\n return r;\n // validate pre-release\n if (p1 && p2) {\n return compareSegments(p1.split('.'), p2.split('.'));\n }\n else if (p1 || p2) {\n return p1 ? -1 : 1;\n }\n return 0;\n};\n//# sourceMappingURL=compareVersions.js.map","import { compareVersions } from './compareVersions.js';\n/**\n * Compare [semver](https://semver.org/) version strings using the specified operator.\n *\n * @param v1 First version to compare\n * @param v2 Second version to compare\n * @param operator Allowed arithmetic operator to use\n * @returns `true` if the comparison between the firstVersion and the secondVersion satisfies the operator, `false` otherwise.\n *\n * @example\n * ```\n * compare('10.1.8', '10.0.4', '>'); // return true\n * compare('10.0.1', '10.0.1', '='); // return true\n * compare('10.1.1', '10.2.2', '<'); // return true\n * compare('10.1.1', '10.2.2', '<='); // return true\n * compare('10.1.1', '10.2.2', '>='); // return false\n * ```\n */\nexport const compare = (v1, v2, operator) => {\n // validate input operator\n assertValidOperator(operator);\n // since result of compareVersions can only be -1 or 0 or 1\n // a simple map can be used to replace switch\n const res = compareVersions(v1, v2);\n return operatorResMap[operator].includes(res);\n};\nconst operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1],\n '!=': [-1, 1],\n};\nconst allowedOperators = Object.keys(operatorResMap);\nconst assertValidOperator = (op) => {\n if (typeof op !== 'string') {\n throw new TypeError(`Invalid operator type, expected string but got ${typeof op}`);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new Error(`Invalid operator, expected one of ${allowedOperators.join('|')}`);\n }\n};\n//# sourceMappingURL=compare.js.map","import { compare } from './compare.js';\nimport { compareSegments, validateAndParse } from './utils.js';\n/**\n * Match [npm semver](https://docs.npmjs.com/cli/v6/using-npm/semver) version range.\n *\n * @param version Version number to match\n * @param range Range pattern for version\n * @returns `true` if the version number is within the range, `false` otherwise.\n *\n * @example\n * ```\n * satisfies('1.1.0', '^1.0.0'); // return true\n * satisfies('1.1.0', '~1.0.0'); // return false\n * ```\n */\nexport const satisfies = (version, range) => {\n // clean input\n range = range.replace(/([><=]+)\\s+/g, '$1');\n // handle multiple comparators\n if (range.includes('||')) {\n return range.split('||').some((r) => satisfies(version, r));\n }\n else if (range.includes(' - ')) {\n const [a, b] = range.split(' - ', 2);\n return satisfies(version, `>=${a} <=${b}`);\n }\n else if (range.includes(' ')) {\n return range\n .trim()\n .replace(/\\s{2,}/g, ' ')\n .split(' ')\n .every((r) => satisfies(version, r));\n }\n // if no range operator then \"=\"\n const m = range.match(/^([<>=~^]+)/);\n const op = m ? m[1] : '=';\n // if gt/lt/eq then operator compare\n if (op !== '^' && op !== '~')\n return compare(version, range, op);\n // else range of either \"~\" or \"^\" is assumed\n const [v1, v2, v3, , vp] = validateAndParse(version);\n const [r1, r2, r3, , rp] = validateAndParse(range);\n const v = [v1, v2, v3];\n const r = [r1, r2 !== null && r2 !== void 0 ? r2 : 'x', r3 !== null && r3 !== void 0 ? r3 : 'x'];\n // validate pre-release\n if (rp) {\n if (!vp)\n return false;\n if (compareSegments(v, r) !== 0)\n return false;\n if (compareSegments(vp.split('.'), rp.split('.')) === -1)\n return false;\n }\n // first non-zero number\n const nonZero = r.findIndex((v) => v !== '0') + 1;\n // pointer to where segments can be >=\n const i = op === '~' ? 2 : nonZero > 1 ? nonZero : 1;\n // before pointer must be equal\n if (compareSegments(v.slice(0, i), r.slice(0, i)) !== 0)\n return false;\n // after pointer must be >=\n if (compareSegments(v.slice(i), r.slice(i)) === -1)\n return false;\n return true;\n};\n//# sourceMappingURL=satisfies.js.map","import { semver } from './utils.js';\n/**\n * Validate [semver](https://semver.org/) version strings.\n *\n * @param version Version number to validate\n * @returns `true` if the version number is a valid semver version number, `false` otherwise.\n *\n * @example\n * ```\n * validate('1.0.0-rc.1'); // return true\n * validate('1.0-rc.1'); // return false\n * validate('foo'); // return false\n * ```\n */\nexport const validate = (version) => typeof version === 'string' && /^[v\\d]/.test(version) && semver.test(version);\n/**\n * Validate [semver](https://semver.org/) version strings strictly. Will not accept wildcards and version ranges.\n *\n * @param version Version number to validate\n * @returns `true` if the version number is a valid semver version number `false` otherwise\n *\n * @example\n * ```\n * validate('1.0.0-rc.1'); // return true\n * validate('1.0-rc.1'); // return false\n * validate('foo'); // return false\n * ```\n */\nexport const validateStrict = (version) => typeof version === 'string' &&\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/.test(version);\n//# sourceMappingURL=validate.js.map","/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nvar PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *(\"(?:[\\u000b\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\u000b\\u0020-\\u00ff])*\"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g // eslint-disable-line no-control-regex\nvar TEXT_REGEXP = /^[\\u000b\\u0020-\\u007e\\u0080-\\u00ff]+$/ // eslint-disable-line no-control-regex\nvar TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nvar QESC_REGEXP = /\\\\([\\u000b\\u0020-\\u00ff])/g // eslint-disable-line no-control-regex\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6\n */\nvar QUOTE_REGEXP = /([\\\\\"])/g\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nvar TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * Module exports.\n * @public\n */\n\nexports.format = format\nexports.parse = parse\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var parameters = obj.parameters\n var type = obj.type\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n var string = type\n\n // append parameters\n if (parameters && typeof parameters === 'object') {\n var param\n var params = Object.keys(parameters).sort()\n\n for (var i = 0; i < params.length; i++) {\n param = params[i]\n\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError('invalid parameter name')\n }\n\n string += '; ' + param + '=' + qstring(parameters[param])\n }\n }\n\n return string\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} string\n * @return {Object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n // support req/res-like objects as argument\n var header = typeof string === 'object'\n ? getcontenttype(string)\n : string\n\n if (typeof header !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var index = header.indexOf(';')\n var type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (!TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid media type')\n }\n\n var obj = new ContentType(type.toLowerCase())\n\n // parse parameters\n if (index !== -1) {\n var key\n var match\n var value\n\n PARAM_REGEXP.lastIndex = index\n\n while ((match = PARAM_REGEXP.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value.charCodeAt(0) === 0x22 /* \" */) {\n // remove quotes\n value = value.slice(1, -1)\n\n // remove escapes\n if (value.indexOf('\\\\') !== -1) {\n value = value.replace(QESC_REGEXP, '$1')\n }\n }\n\n obj.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n }\n\n return obj\n}\n\n/**\n * Get content-type from req/res objects.\n *\n * @param {object}\n * @return {Object}\n * @private\n */\n\nfunction getcontenttype (obj) {\n var header\n\n if (typeof obj.getHeader === 'function') {\n // res-like\n header = obj.getHeader('content-type')\n } else if (typeof obj.headers === 'object') {\n // req-like\n header = obj.headers && obj.headers['content-type']\n }\n\n if (typeof header !== 'string') {\n throw new TypeError('content-type header is missing from object')\n }\n\n return header\n}\n\n/**\n * Quote a string if necessary.\n *\n * @param {string} val\n * @return {string}\n * @private\n */\n\nfunction qstring (val) {\n var str = String(val)\n\n // no need to quote tokens\n if (TOKEN_REGEXP.test(str)) {\n return str\n }\n\n if (str.length > 0 && !TEXT_REGEXP.test(str)) {\n throw new TypeError('invalid parameter value')\n }\n\n return '\"' + str.replace(QUOTE_REGEXP, '\\\\$1') + '\"'\n}\n\n/**\n * Class to represent a content type.\n * @private\n */\nfunction ContentType (type) {\n this.parameters = Object.create(null)\n this.type = type\n}\n"],"names":["base64","ieee754","customInspectSymbol","Symbol","exports","Buffer","SlowBuffer","INSPECT_MAX_BYTES","K_MAX_LENGTH","typedArraySupport","arr","Uint8Array","proto","foo","Object","setPrototypeOf","prototype","e","createBuffer","length","RangeError","buf","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","fromString","ArrayBuffer","isView","fromArrayView","isInstance","buffer","fromArrayBuffer","SharedArrayBuffer","valueOf","b","fromObject","toPrimitive","assertSize","size","alloc","fill","encoding","undefined","checked","string","isEncoding","byteLength","actual","write","slice","fromArrayLike","array","i","arrayView","copy","byteOffset","obj","isBuffer","len","numberIsNaN","type","Array","isArray","data","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","indexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","fromByteArray","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","push","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","console","error","defineProperty","enumerable","get","poolSize","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","apply","toLocaleString","equals","inspect","str","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","Error","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","lo","BigInt","hi","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","maxBytes","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","code","charCodeAt","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","checkBounds","range","ERR_OUT_OF_RANGE","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","base64clean","split","units","Infinity","leadSurrogate","byteArray","c","toByteArray","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","GetIntrinsic","callBind","$indexOf","module","allowMissing","intrinsic","bind","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","func","applyBind","semver","validateAndParse","version","match","shift","isWildcard","s","tryParse","v","isNaN","forceType","compareStrings","ap","bp","compareSegments","r","compareVersions","v1","v2","n1","n2","p1","pop","p2","operator","assertValidOperator","operatorResMap","allowedOperators","keys","op","join","satisfies","some","every","v3","vp","r1","r2","r3","rp","nonZero","findIndex","validate","test","validateStrict","PARAM_REGEXP","TEXT_REGEXP","TOKEN_REGEXP","QESC_REGEXP","QUOTE_REGEXP","TYPE_REGEXP","format","parameters","param","params","sort","qstring","parse","header","getcontenttype","index","ContentType","key","lastIndex","exec","getHeader","headers","create"],"sourceRoot":""} \ No newline at end of file