UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 20 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{926:(e,t,r)=>{r.d(t,{CG:()=>a,Dd:()=>i,Jn:()=>l,Qc:()=>c});var s=r(92602),n=r(84952);const o=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]);function a(e){if(!c(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),r=s.A.apiKeys;if(Array.isArray(r.scopes))for(const e of r.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return r.basemapStyles&&/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i.test(e)?r.basemapStyles:s.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?s.A.apiKey:null}function i(){return null!=s.A.apiKey||null!=s.A.apiKeys.basemapStyles}function l(e,t){return t?c(e):null!=a(e)}function c(e){const t=(0,n.$z)(e,!0);return!!t&&!o.has(t)&&!e.endsWith("/sharing/rest/generateToken")}},2741:(e,t,r)=>{r.d(t,{s:()=>i});var s=r(92602),n=(r(78888),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},56058:(e,t,r)=>{r.d(t,{$x:()=>v,Sx:()=>c,c8:()=>f,gS:()=>w,m3:()=>g,ql:()=>p,tz:()=>h,xW:()=>m});var s=r(92602),n=r(44208),o=r(74887),a=r(84952),i=r(60694),l=r(39131);function c(e,t,r=!1,s){return new Promise(((a,i)=>{if((0,o.G4)(s))return void i(u());let l=()=>{p(),i(new Error(`Unable to load ${t}`))},c=()=>{const t=e;p(),a(t)},d=()=>{if(!e)return;const t=e;p(),t.src="",i(u())};const p=()=>{(0,n.A)("esri-image-decode")||(e.removeEventListener("error",l),e.removeEventListener("load",c)),l=null,c=null,e=null,null!=s&&s.removeEventListener("abort",d),d=null,r&&URL.revokeObjectURL(t)};null!=s&&s.addEventListener("abort",d),(0,n.A)("esri-image-decode")?e.decode().then(c,l):(e.addEventListener("error",l),e.addEventListener("load",c))}))}function u(){try{return new DOMException("Aborted","AbortError")}catch{const e=new Error;return e.name="AbortError",e}}const d="Timeout exceeded";function p(){return new Error(d)}function f(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===d}function h(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,a.$z)(r)??""]=0:(t[(0,a.$z)("http://"+r)??""]=0,t[(0,a.$z)("https://"+r)??""]=0)}function m(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,a.$z)(e);if(r)return r=r.toLowerCase(),!(0,a.FX)(r,(0,a.Xq)())&&t[r]<Date.now()-36e5}return!1}async function g(e){const t=(0,a.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,a.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}const y=new Map;function w(e,t){const r=t?.preferredHost;if(!r||(0,a.FX)(e,`https://${r}`,!0))return;const s=(0,i.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,l.$E)(e))return;const n=s.url.path.toLowerCase();y.has(n)||y.set(n,r)}function v(e){const t=(0,i.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=y.get(t);return r?(0,a.hf)(e,r):e}},60694:(e,t,r)=>{r.d(t,{Fi:()=>u,HZ:()=>y,Jf:()=>g,LS:()=>w,Wo:()=>m,bd:()=>v,cr:()=>f,iz:()=>p,qg:()=>d,yG:()=>h});var s=r(84952),n=r(97159);const o={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},a=Object.values(o),i=new RegExp(`^((?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(.+?)\\/(${a.join("|")}))(?:\\/(?:layers\\/)?(\\d+))?`,"i"),l=new RegExp(`^((?:https?:)?\\/\\/\\S+?\\/([^/\\n]+)\\/(${a.join("|")}))(?:\\/(?:layers\\/)?(\\d+))?`,"i"),c=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function u(e){return i.test(e)}function d(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(i)||t?.path.match(l);if(!r)return null;const[,n,a,c,u]=r,d=a.indexOf("/");return{title:f(-1!==d?a.slice(d+1):a),serverType:o[c.toLowerCase()],sublayer:null!=u&&""!==u?parseInt(u,10):null,url:{path:n}}}function p(e){const t=(0,s.An)(e).path.match(c);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function f(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function h(e,t){const r=[];if(e){const t=d(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=f(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}function m(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),t.endsWith(".arcgis.com")&&(t.startsWith("services")||t.startsWith("tiles")||t.startsWith("features")||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function g(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function y(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=d(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=p(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function w(e,t,r,o,a){(0,n.w)(t,o,"url",a),o.url&&null!=e.layerId&&(o.url=(0,s.fj)(o.url,r,e.layerId.toString()))}function v(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},78888:(e,t,r)=>{r.d(t,{A:()=>m});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(91869),c=r(74887),u=r(84952),d=r(60694),p=r(39131),f=r(926),h=r(56058);async function m(e,t){e instanceof URL&&(e=e.toString()),t?.query instanceof URLSearchParams&&(t.query=(0,u.zf)(t.query.toString().replaceAll("+"," ")));const s=(0,u.DB)(e),n=(0,u.w8)(e);n||s||(e=(0,u.S8)(e));const o={url:e,requestOptions:{...t}},i=e=>({data:e,getAllHeaders:C,getHeader:C,httpStatus:200,requestOptions:o.requestOptions,url:o.url}),p=(0,u.sC)(e,w.internalInterceptors);if(p){const e=await E(p,o);if(null!=e)return i(e)}let f=(0,u.sC)(e);if(f){const e=await E(f,o);if(null!=e)return i(e);f.after||f.error||(f=null)}if(e=o.url,"image"===(t=o.requestOptions).responseType&&((0,a.A)("host-webworker")||(0,a.A)("host-node")))throw x("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),o);if("head"===t.method){if(t.body)throw x("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),o);if(s||n)throw x("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),o)}if(await async function(){(0,a.A)("host-webworker")&&(!g&&globalThis.invokeStaticMessage?g=await r.e(369).then(r.bind(r,40369)):y=!0)}(),g)return g.execute(e,t);const h=new AbortController,m=(0,c.u7)(t,(()=>h.abort())),v={controller:h,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:f,params:o,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},b=t.useRequestQueue?async function(e){const t=function(e){let t,r;return"string"==typeof e?(t=(0,u.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:{origin:t,isHosted:r}}(e.params.url);if(!t)return $(e);const{QueueProcessor:s}=await r.e(563).then(r.bind(r,563)),n=(0,l.tE)(P,t.origin,(()=>{const e=t.isHosted?(0,a.A)("request-queue-concurrency-hosted"):(0,a.A)("request-queue-concurrency-non-hosted");return new s({concurrency:e,process:e=>{if((0,c.G4)(e.params.requestOptions))throw x("",(0,c.NK)("Request canceled"),e.params);return $(e)}})}));return n.push(e)}(v):$(v),S=await b.finally((()=>m?.remove()));return f?.after?.(S),S}let g,y=!1;const w=s.A.request,v="FormData"in globalThis,b=new Set([499,498,403,401]),S=new Set(["COM_0056","COM_0057","SB_0008"]),q=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],C=()=>null,A=Symbol();function O(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||m._corsServers.includes(t)||(0,u.FL)(t)}function x(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:C,getHeader:C,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=A in t?t[A]:t}return n??="Error",(0,c.zf)(t)?(0,c.NK)():new o.A(e,n,a)}async function T(){n.id||await Promise.all([r.e(6285),r.e(7330),r.e(4813),r.e(5122),r.e(6791),r.e(3747),r.e(9331)]).then(r.bind(r,73747))}function k(e){return q.some((t=>t.test(e)))}async function L(e){let t=e.params.url,r=(0,h.$x)(t);const s=e.params.requestOptions,o=e.fetchOptions??{},i=(0,u.w8)(t)||(0,u.DB)(t),l=s.responseType||"json",d=i?0:null!=s.timeout?s.timeout:w.timeout;let f=!1;if(!i){e.useSSL&&(t=(0,u.lM)(t));let i={...s.query};e.credentialToken&&(i.token=e.credentialToken);let l=(0,u.x0)(i);(0,a.A)("esri-url-encodes-apostrophe")&&(l=l.replaceAll("'","%27"));const c=r.length+1+l.length;let d;f="delete"===s.method||"post"===s.method||"put"===s.method||!!s.body||c>w.maxUrlLength;const m=s.useProxy||!!(0,u.zs)(t);if(m){const e=(0,u.s_)(t);d=e.path,!f&&d.length+1+c>w.maxUrlLength&&(f=!0),e.query&&(i={...e.query,...i})}if("HEAD"===o.method&&(f||m)){if(f){if(c>w.maxUrlLength)throw x("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw x("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(m)throw x("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(f?(o.method="delete"===s.method?"DELETE":"put"===s.method?"PUT":"POST",s.body?t=(0,u.a6)(t,i):(o.body=(0,u.x0)(i),o.headers||(o.headers={}),o.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,i),m&&(e.useProxy=!0,t=`${d}?${t}`),i.token&&v&&o.body instanceof FormData&&!(0,p.$E)(t)&&o.body.set("token",i.token),s.hasOwnProperty("withCredentials"))e.withCredentials=s.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(o.credentials="include",(0,h.xW)(t)&&await(0,h.m3)(f?(0,u.a6)(t,i):t)),r=(0,h.$x)(t)}let g,y,b=0,S=!1;d>0&&(b=setTimeout((()=>{S=!0,e.controller.abort()}),d));try{if("native-request-init"===s.responseType)y=o,y.url=r,s.signal?y.signal=s.signal:delete y.signal;else if("image"!==s.responseType||"default"!==o.cache||"GET"!==o.method||f||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(s.headers)||!i&&!e.useProxy&&w.proxyUrl&&!O(t)){if(m._beforeFetch&&await m._beforeFetch(t,o),g=await fetch(r,o),m._afterFetch&&await m._afterFetch(g),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!m._corsServers.includes(t)&&m._corsServers.push(t)}(t),"native"===s.responseType)y=g;else if("HEAD"!==o.method)if(g.ok){switch(l){case"array-buffer":y=await g.arrayBuffer();break;case"blob":case"image":y=await g.blob();break;default:y=await g.text()}if(b&&(clearTimeout(b),b=0),"json"===l||"xml"===l||"document"===l)if(y)switch(l){case"json":y=JSON.parse(y);break;case"xml":y=U(y,"application/xml");break;case"document":y=U(y,"text/html")}else y=null;if(y){if("array-buffer"===l||"blob"===l){const e=g.headers.get("Content-Type");if(e&&/application\/json|text\/plain/i.test(e)&&y["blob"===l?"size":"byteLength"]<=750)try{const e=await new Response(y).json();e.error&&(y=e)}catch{}}"image"===l&&y instanceof Blob&&(y=await R(URL.createObjectURL(y),e,!0))}}else{y=await g.text();try{y=JSON.parse(y)}catch{}}}else y=await R(r,e)}catch(r){if("AbortError"===r.name){if(S)throw(0,h.ql)();throw(0,c.NK)("Request canceled")}if(!(!g&&r instanceof TypeError&&w.proxyUrl)||s.body||"delete"===s.method||"head"===s.method||"post"===s.method||"put"===s.method||e.useProxy||O(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:w.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{b&&clearTimeout(b)}return[g,y]}async function E(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=x("request:interceptor",e,t)}if((s instanceof Error||s instanceof o.A)&&(r=x("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}function U(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}m._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"],m._beforeFetch=void 0,m._afterFetch=void 0;const P=new Map;async function $(e){let t,r;await async function(e){const t=e.params.url,r=e.params.requestOptions,s=e.controller.signal,o=r.body;let a=null,i=null;if(v&&"HTMLFormElement"in globalThis&&(o instanceof FormData?a=o:o instanceof HTMLFormElement&&(a=new FormData(o))),"string"==typeof o&&(i=o),e.fetchOptions={cache:r.cacheBust?"no-cache":"default",credentials:"same-origin",headers:r.headers||{},method:"head"===r.method?"HEAD":"GET",mode:"cors",priority:w.priority,redirect:"follow",signal:s},(a||i)&&(e.fetchOptions.body=a||i),(y||"anonymous"===r.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||r.query?.token||a?.get("token")),!e.hasToken){const s=(0,f.CG)(t);s&&(r.query??={},r.query.token=s,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!k(t)&&!(0,c.G4)(s)){let o;"immediate"===r.authMode?(await T(),o=await n.id.getCredential(t,{signal:s})):"no-prompt"===r.authMode?(await T(),o=await n.id.getCredential(t,{prompt:!1,signal:s}).catch((()=>{}))):n.id&&(o=n.id.findCredential(t)),o&&(e.credential=o,e.credentialToken=o.token,e.useSSL=!!o.ssl)}}(e);try{do{[t,r]=await L(e)}while(!await I(e,t,r))}catch(r){const s=x("request:server",r,e.params,t);throw s.details.ssl=e.useSSL,e.interceptor?.error&&e.interceptor.error(s),s}const s=e.params.url;if(r)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(s)){if(!e.hasToken&&!e.credentialToken&&r.user?.username&&!(0,u.FL)(s)){const e=(0,u.$z)(s,!0);e&&w.trustedServers.push(e)}Array.isArray(r.authorizedCrossOriginNoCorsDomains)&&(0,h.tz)(r.authorizedCrossOriginNoCorsDomains)}else"json"===(e.params.requestOptions.responseType||"json")&&(0,h.gS)(s,r);const o=e.credential;if(o&&n.id){const e=n.id.findServerInfo(o.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,o.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:r,getAllHeaders:t?()=>Array.from(t.headers):C,getHeader:t?e=>t.headers.get(e):C,httpStatus:t?.status??200,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}async function I(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.params.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[A]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[A]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const c=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==c||498===a)&&void 0!==a&&b.has(a)&&!k(e.params.url)&&(403!==a||(!i||!S.has(i))&&(null==l||2===l&&e.credentialToken))){await T();try{const t=await n.id.getCredential(e.params.url,{error:x("request:server",o,e.params),credential:e.credential,prompt:"no-prompt"!==c,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===c)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function R(e,t,r=!1){const s=t.controller.signal,n=new Image;return t.withCredentials?n.crossOrigin="use-credentials":n.crossOrigin="anonymous",n.alt="",n.fetchPriority=w.priority,n.src=e,(0,h.Sx)(n,e,r,s)}},91869:(e,t,r)=>{function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},97159:(e,t,r)=>{r.d(t,{M:()=>w,a:()=>g,b:()=>b,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>c});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&d.test(r)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&u.test(e)?g(e):e}function i(e,t,r=w.YES){if(null==(e=e&&u.test(e)?y(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&r===w.YES&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function c(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const u=/\/items\/([^/]+)\/resources\/(.*)/,d=/^\.\/resources\//;function p(e){const t=e?.match(u)??null;return t?.[1]??null}function f(e){const t=e?.match(u)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function g(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function y(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}var w,v;(v=w||(w={}))[v.YES=0]="YES",v[v.NO=1]="NO";const b=Object.freeze(Object.defineProperty({__proto__:null,get MarkKeep(){return w},ensureMainOnlineDomain:h,fromCDNUrl:y,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:g,toJSON:i,write:c},Symbol.toStringTag,{value:"Module"}))}}]);