text: // All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  // See http://js.arcgis.com/3.25/esri/copyright.txt for details.
  //>>built
  define("esri/geometry/Multipoint","dojo/_base/declare dojo/_base/lang dojo/has ../kernel ../lang ../SpatialReference ./Geometry ./Point ./Extent ../srUtils".split(" "),function(b,g,r,h,d,e,t,n,p,u){function f(){}function c(){}e={type:"multipoint",points:null};b=b(t,{declaredClass:"esri.geometry.Multipoint",type:"multipoint",points:null,constructor:function(a){this.points=[];a&&(a.points?d.mixin(this,a):this.spatialReference=a,this.spatialReference&&(this.spatialReference=u.createSpatialReference(this.spatialReference)));
  this.verifySR()},addPoint:function(a){this.clearCache();g.isArray(a)?this.points.push(a):this.points.push([a.x,a.y]);return this},removePoint:function(a){if(this._validateInputs(a))return this.clearCache(),new n(this.points.splice(a,1)[0],this.spatialReference)},getExtent:function(){var a=this.getCacheValue("_extent");if(a)return new p(a);var a=this.points,q=a.length;if(q){var b=a[0],c,k,d=c=b[0],e=k=b[1],f=Math.min,g=Math.max,h=this.spatialReference,m,l;for(l=0;l<q;l++)b=a[l],m=b[0],b=b[1],d=f(d,
  m),e=f(e,b),c=g(c,m),k=g(k,b);a={xmin:d,ymin:e,xmax:c,ymax:k,spatialReference:h?h.toJson():null};this.setCacheValue("_extent",a);return new p(a)}},_validateInputs:function(a){return null===a||0>a||a>=this.points.length?!1:!0},getPoint:function(a){if(this._validateInputs(a))return a=this.points[a],new n(a[0],a[1],this.spatialReference)},setPoint:function(a,b){if(this._validateInputs(a))return this.clearCache(),this.points[a]=[b.x,b.y],this},toJson:function(){var a={points:d.clone2DArray(this.points)},
  b=this.spatialReference;b&&(a.spatialReference=b.toJson());return a}});f.prototype=b.prototype;c.prototype=new f;Object.defineProperty(c.prototype,"points",{get:function(){this._unquantizeFn&&(this._pointsVal=this._unquantizeFn({points:d.clone2DArray(this._pointsVal)}).points,this._unquantizeFn=null);return this._pointsVal},set:function(a){this._pointsVal=a}});c.prototype.setupLazyUnquantization=function(a,b){this._unquantizeFn=a;this._pointsVal=b.points};b.simpleConstructor=f;b.accessorConstructor=
  c;b.defaultProps=e;r("extend-esri")&&(g.setObject("geometry.Multipoint",b,h),h.geometry.defaultMultipoint=e);return b});