// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("../../chunks/tslib.es6 ../../core/jsonMap ../../core/JSONSupport ../../core/unitUtils ../../core/accessorSupport/decorators/property ../../core/accessorSupport/ensureType ../../core/RandomLCG ../../core/has ../../core/accessorSupport/decorators/reader ../../core/accessorSupport/decorators/subclass ../../core/accessorSupport/decorators/writer ../../geometry/Point ../../geometry/SpatialReference ../../geometry/support/aaBoundingRect ../../geometry/support/spatialReferenceUtils ../../geometry/support/webMercatorUtils ./LOD ./TileKey".split(" "), function(k,w,f,B,m,x,G,H,y,C,D,q,z,A,u,E,p,F){var n;w=new w.JSONMap({PNG:"png",PNG8:"png8",PNG24:"png24",PNG32:"png32",JPEG:"jpg",JPG:"jpg",DIB:"dib",TIFF:"tiff",EMF:"emf",PS:"ps",PDF:"pdf",GIF:"gif",SVG:"svg",SVGZ:"svgz",Mixed:"mixed",MIXED:"mixed",LERC:"lerc",LERC2D:"lerc2d",RAW:"raw",pbf:"pbf"});f=n=class extends f.JSONSupport{static create(a={}){const {resolutionFactor:b=1,scales:c,size:d=256,spatialReference:e=z.WebMercator,numLODs:h=24}=a;if(!u.isValid(e)){a=[];if(c)for(var g=0;g{b.push(d.scale);c[d.level]=d});this._set("scales",b);this._set("lods",a);this._initializeUpsampleLevels()}readSize(a,b){return[b.cols,b.rows]}writeSize(a,b){b.cols=a[0];b.rows=a[1]}zoomToScale(a){const b=this.scales;if(0>=a)return b[0];if(a>=b.length-1)return b[b.length-1];const c=Math.floor(a);return b[c]/(b[c]/b[c+ 1])**(a-c)}scaleToZoom(a){const b=this.scales,c=b.length-1;let d=0;for(;da&&hArray.isArray(a)?a:"number"===typeof a?[a,a]:[256,256]})],f.prototype,"size",void 0);k.__decorate([y.reader("size",["rows","cols"])],f.prototype,"readSize",null);k.__decorate([D.writer("size",{cols:{type:x.Integer},rows:{type:x.Integer}})],f.prototype,"writeSize",null);k.__decorate([m.property({type:z,json:{write:!0}})],f.prototype,"spatialReference", void 0);f=n=k.__decorate([C.subclass("esri.layers.support.TileInfo")],f);(function(a){a=a.ExtrapolateOptions||(a.ExtrapolateOptions={});a[a.NONE=0]="NONE";a[a.POWER_OF_TWO=1]="POWER_OF_TWO"})(f||={});return f});