define(["./when-cbf8cd21","./Check-35e1a91d","./Math-e66fad2a","./Rectangle-53325d53","./WebGLConstants-95ceb4e9","./PixelFormat-d198afce","./Transforms-00c25a19","./RuntimeError-f4c64df1","./ComponentDatatype-7ee14e67","./GeometryAttribute-0b3418e6","./GeometryAttributes-90846c5f","./AttributeCompression-fd688b33","./GeometryPipeline-eeba9dc9","./EncodedCartesian3-35776b5f","./IndexDatatype-66caba23","./IntersectionTests-fdc68d04","./Plane-353c5ea0","./GeometryOffsetAttribute-84f7eff3","./GeometryInstance-5e3224ad","./arrayRemoveDuplicates-b817241d","./EllipsoidTangentPlane-c89e3523","./ArcType-2b58731c","./EllipsoidRhumbLine-59f604d0","./PolygonPipeline-ae1ebf63","./PolygonGeometryLibrary-5e083c62"],function(E,e,v,c,t,i,A,r,_,G,L,o,T,n,H,a,l,O,C,s,D,x,y,I,w){"use strict";var R=[],S=[];function f(e){var t,i=e.polygonHierarchy,r=E.defaultValue(e.ellipsoid,c.Ellipsoid.WGS84),o=E.defaultValue(e.granularity,v.CesiumMath.RADIANS_PER_DEGREE),n=E.defaultValue(e.perPositionHeight,!1),a=n&&E.defined(e.extrudedHeight),l=E.defaultValue(e.arcType,x.ArcType.GEODESIC),s=E.defaultValue(e.height,0),y=E.defaultValue(e.extrudedHeight,s);a||(t=Math.max(s,y),y=Math.min(s,y),s=t),this._ellipsoid=c.Ellipsoid.clone(r),this._granularity=o,this._height=s,this._extrudedHeight=y,this._arcType=l,this._polygonHierarchy=i,this._perPositionHeight=n,this._perPositionHeightExtrude=a,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=w.PolygonGeometryLibrary.computeHierarchyPackedLength(i)+c.Ellipsoid.packedLength+8}f.pack=function(e,t,i){return i=E.defaultValue(i,0),i=w.PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,i),c.Ellipsoid.pack(e._ellipsoid,t,i),i+=c.Ellipsoid.packedLength,t[i++]=e._height,t[i++]=e._extrudedHeight,t[i++]=e._granularity,t[i++]=e._perPositionHeightExtrude?1:0,t[i++]=e._perPositionHeight?1:0,t[i++]=e._arcType,t[i++]=E.defaultValue(e._offsetAttribute,-1),t[i]=e.packedLength,t};var g=c.Ellipsoid.clone(c.Ellipsoid.UNIT_SPHERE),h={polygonHierarchy:{}};return f.unpack=function(e,t,i){t=E.defaultValue(t,0);var r=w.PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=r.startingIndex,delete r.startingIndex;var o=c.Ellipsoid.unpack(e,t,g);t+=c.Ellipsoid.packedLength;var n=e[t++],a=e[t++],l=e[t++],s=1===e[t++],y=1===e[t++],u=e[t++],p=e[t++],d=e[t];return E.defined(i)||(i=new f(h)),i._polygonHierarchy=r,i._ellipsoid=c.Ellipsoid.clone(o,i._ellipsoid),i._height=n,i._extrudedHeight=a,i._granularity=l,i._perPositionHeight=y,i._perPositionHeightExtrude=s,i._arcType=u,i._offsetAttribute=-1===p?void 0:p,i.packedLength=d,i},f.fromPositions=function(e){return new f({polygonHierarchy:{positions:(e=E.defaultValue(e,E.defaultValue.EMPTY_OBJECT)).positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute})},f.createGeometry=function(e){var t=e._ellipsoid,i=e._granularity,r=e._polygonHierarchy,o=e._perPositionHeight,n=e._arcType,a=w.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(r,!o,t);if(0!==a.length){var l,s,y,u,p,d,c,f=[],g=v.CesiumMath.chordLength(i,t.maximumRadius),h=e._height,m=e._extrudedHeight;if(e._perPositionHeightExtrude||!v.CesiumMath.equalsEpsilon(h,m,0,v.CesiumMath.EPSILON2))for(l=0;l